Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру
Глава 14. Режимы энергосбережения и сторожевой таймер I c 1 R1 5,1 к 0,1 +5 8 1 Reset 2 RXD (PDO) 3 ТХD (PD1 ) 4 XTAL2 (РА1 ) 5 XTAL1 (РАО) 6 INTO (PD2) 7 INТ1 (РDЗ) 8 PD4 (TO) 9 PD5 (Т1 ) 1 0 GND Vcc 20 SCK 1 9 MISO 1 8 MOSI 1 7 (ОС1 8) РВ4 1 6 (ОС1А) Р83 1 5 Р82 14 (PCINТ1 ) Р81 13 (PCINTO) Р80 12 PD6 1 1 AТtlny231 3 + 5 8 С2 т 1 .о + 5 8 R2 5,1 к t Кн1 RЗ Рис. 1 4. 1 . К использованию прерывания PCINT для вывода из «сна» ATti пy231 3 . device ATtiny2 3 1 3 ; 4 МГц ( дnя определенности ) . include "tn2 3 1 3de f . inc" . def temp =rl б . def RazrO . def Razrl . def Razr2 r1 7 ; разряды задержки r 1 8 r2 0 ; ============ прерывания rjmp RESET ; Reset Handle . org PCiaddr rjmp ЕХТ PCINT ; External Interrupt Vector Address ; ========== программа ============ . macro Delay2 0 ; процедура задержки до 2 0 с при 4 Мгц ldi Razr2 , @ 0 ; старший байт задержки ldi Razrl , @ 1 ; средний байт задержки ldi Razr0 , @ 2 ;младший байт задержки R suЬ : suЬi Razr0 , 1 sbci Razrl , O sbci Razr2 , 0 brcc R sub . endm ЕХТ PCINT : ; кнопка нажималась или отпускалась nop nop nop 373
Made with FlippingBook
RkJQdWJsaXNoZXIy MTExODQxMg==