Tryck på knappen - tänd LED

Tillbaka till startsidan

 

Att tända en lysdiod med en strömbrytare kräver naturligtvis ingen mikroprocessor, men det är en bra idé att bekanta sig med en processor genom att börja med elementära exempel.

Portpinnarna styrs med tre register för varje port. Varje bit i registren styr en pinne.

Programmed använder  PD2  som ingång till Button, och  PB5  som utgång till den inbyggda lysdioden. Genom att aktivera  PD2  inbyggda pullup kan man utesluta R1.

DDRD  &= ~( 1 << PD2 );      // PD2 "0" direction is input
PORTD |=  ( 1 << PD2 );      // "1" activate button pullup resistor 
DDRB  |=  ( 1 << PB5 );      // PB5 "1" LED is output

För att tända "1" LED om Button är tryckt "0" skriver man så här:

if( ( PIND & ( 1 << PD2 ))==0 )  PORTB |= ( 1 << PB5 ); // Button pressed "0" LED "1" on
else   PORTB &= ~( 1 << PB5 );                          // LED "0" off 

Det fullständiga programmet finns här:


Tillbaka till startsidan

 


William Sandqvist    willsandqvist@gmail.com