Embedded Systems Design with the Atmel AVR Microcontroller Part II
Embedded Systems Design with the Atmel AVR Microcontroller Part II
Embedded Systems Design with the Atmel AVR Microcontroller Part II
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
}<br />
}<br />
case 0x02: //CCW<br />
while((PINB & 0x03)==0x02)<br />
{<br />
PORTD = 0x10;<br />
delay(15);<br />
PORTD = 0x00;<br />
delay(1);<br />
PORTD = 0x20;<br />
delay(15);<br />
PORTD = 0x00;<br />
delay(1);<br />
PORTD = 0x40;<br />
delay(15);<br />
PORTD = 0x00;<br />
delay(1);<br />
PORTD = 0x80;<br />
delay(15);<br />
PORTD = 0x00;<br />
delay(1);<br />
break;<br />
7.6. DC MOTOR SPEED AND DIRECTION CONTROL 227<br />
default:; //all o<strong>the</strong>r cases<br />
} //end switch(new_PORTB)<br />
} //end if new_PORTB<br />
old_PORTB=new_PORTB; //update PORTB<br />
//*************************************************************************<br />
//int_timer0_ovf_interrupt(): The Timer0 overflow interrupt is being<br />
//employed as a time base for a master timer for this project. The internal<br />
//oscillator of 8 MHz is divided internally by 8 to provide a 1 MHz time base<br />
//and is divided by 256. The 8-bit Timer0<br />
register (TCNT0) overflows every<br />
//256 counts or every 65.5 ms.<br />
//*************************************************************************