![Atmel STK511 User Manual Download Page 30](http://html.mh-extra.com/html/atmel/stk511/stk511_user-manual_3003507030.webp)
STK511 Transmitter Board
STK511 User Guide
5-7
4842B–AVR–10/09
LDI
mode,ASK
; TP - Set mode to ASk
RJMP
ISRPinLoop
; TP - Exit button ISR
ISRPinS1:
LDI
R16,0x50
; TP - If S1 pressed first set up WDT to 1/4 sec
OUT
WDTCR,R16
LDI
R16,0x44
; TP - This will start the timer when sei
OUT
WDTCR,R16
; TP - Then set number of interrupts in 30 sec
LDI
WDTcounter, 0x78 ; 0x78=120 - sleep after 0.25x120=30 secs
RJMP
ISRPinLoop
; TP - Exit button ISR when button released
ISRPinS2:
LDI
R16,0x50
; TP - If S2 pressed first set up WDT to 8
sec
OUT
WDTCR,R16
LDI
R16,0x61
; TP - This will start the timer when sei
OUT
WDTCR,R16
; TP - Then set number of interrupts in 30
sec
LDI
WDTcounter, 0x04; 0x04 - sleep after 8x4=32 secs
RJMP
ISRPinLoop
; TP - Exit button ISR when button released
ISRPinLoop:
WDR
; TP - Clear watchdog timer
IN
R16,PINB
; TP - Check for button release
ANDI
R16,0x06
; TP - If either button still pressed, loop
BRNE
ISRPinLoop
; TP - When both buttons released exit ISR
RCALL
Debounce
; TP - Add delay for debounce
ISRPinChgEnd:
LDI
r16, 0x20
OUT
GIFR, r16
; clear Pin Chg Interrupt Flag
; just caused by releasing switch
SEI
; TP - Enable interrupts
OUT
SREG, r31
; restore Status Register
POP
R16
; TP - All functions must have push and pop
statements!
RETI