Код: Выделить всё
.include "C:\Appnotes\m8def.inc"
.def Temp=R16
.def Temp1=R17
.def Temp2=R18
.def Temp3=R19
.def Temp4=R20
.cseg
.org 0
ldi temp,low(RAMEND)
out SPL,temp
ldi temp,high(RAMEND) ; Stack Pointer = $45F
out SPH,temp
cli ; запретить прерывания
ldi temp, 0b10000011 ; Вкл. Ацп, Однокр. преобр., Прерывание запрещено, СК/8 (125 kHz)
out ADCSR, temp
ldi temp, 0b01100000 ; AVcc, Внеш. конд. на Aref, Выравн. по лев. краю, channel 1.23V bg
out ADMUX, temp
ldi Temp3,0b11111111 ;присвоение константы
out DDRD,Temp ;вывод
rcall adc_convert
main:
rcall adc_convert
cpi temp,75
brge OF
ON:
ldi temp3,0b01000000
out PortD,temp3
rjmp main
OF:
ldi temp3,0b00000000
out PortD,temp3
rjmp main
adc_convert:
out ADMUX, temp ; wreg contains channel
sbi ADCSR, ADSC ; Start Convertion
sbic ADCSR , ADSC
rjmp PC-1
in temp, ADCL ; просто формальность (первым всегда читается ADCL)
in temp, ADCH ; wreg contains result
ret

