Ревич, Ю.В. Программирование микроконтроллеров AVR: от Arduino к ассемблеру

308 Часть 111. Практическое программирование микроконтроллеров AVR R1 5,1 к +5 В 1 Reset (ADC5) РС5 28 С1 2 RXD (ADC4) РС4 27 +5 В То.1 3 ТХD (ADC3) РС3 26 4 1NTO (PD2) (ADC2) РС2 25 +5 В 5 INT1 (PD3) (ADC1 ) РС1 24 6 PD4 (TO) (PCO) ADCO 23 7 Vcc GND 22 R2* С2 8 GND AREF 21 30 к I 1 .o 9 XTAL1 AVCC 20 10 XTAL2 SCK 19 1 1 PD5 (Т1 ) MIS0 1 8 +5 В 1 2 PD6 MOSI 1 7 R4 330 13 PD7 (ОС1 В) РВ2 1 6 14 РВО (0С1А) РВ1 1 5 Led1 ATmega8 Рис. 1 1 .3. Схема автоматического регулятора осlзещения Схеме соответствует программа (листинг 1 1 .4), которую вы также можете найти в архиве по адресу, указанному во введении (файл ADC_l ightness .asm). ; Программ а регулятора освещенности . device AТmega8 ; встроенный 1 MHZ . include "m8def . inc " . def temp = rl б ; рабочий регистр . def RazrO rl7 ; разряды задержки . def Razrl rl 8 . def Razr2 r l 9 . macro Delay8 0 ; процедура задержки до 8 0 с ldi Razr2 , @ 0 ; старший байт задержки ldi Razrl , @ l ; средний байт задержки ldi Razr0 , @ 2 ;мпадший байт задержки R suЬ : suЬi RazrO , l sbci Razrl , O sbci Razr2 , 0 brcc R suЬ . endm . macro ReadADC in tеmр, АDСL ; получаем мпадший ADC cpi temp, l ow ( @ 0 ) ; сравниваем с порогом in temp , ADCH ; старший ADC

RkJQdWJsaXNoZXIy MTExODQxMg==