DDRB|= (1<<PORTB1); //Attiny24A(PB1) as Output Pin(to send DATA)
DDRA|= (1<<PORTA7); //Attiny24A(PA7)as Output Pin(for clocking the DATA)
void ClearClock()
{
PORTA &= ~(1 << PA7); // Set PB1 LOW
}
void SetClock()
{
PORTA |= (1 << PA7); // Set PB1 HIGH
}
void ToggleClock()
{
_delay_us(50);
SetClock();
_delay_us(50);
ClearClock();
clockcount++;
}
void SetData()
{
PORTB |= (1 << PB1); // Set PB1 HIGH
}
void ClearData()
{
PORTB &= ~(1 << PB1); // Set PB1 LOW
}
void Send_ObjTemp_8bit(unsigned int data10)
{
int i=7;
do
{
if (((data10 & (1<<i))>>i) == 1)
SetData();
else
ClearData();
ToggleClock();
i=i-1;
}
while (i >= 0);
}
int main( void )
{
DDRB|= (1<<PORTB1); //µC Data_Out
DDRA|= (1<<PORTA7); //µC Clock_In
sei();
setup();
while(1)
{
Send_ObjTemp_8bit(Tobj);
}
}