Код: Выделить всё
.include "C:\avrassembler\include\m8def.inc"
.def Temp=R16
.def Temp1=R17
.def Temp2=R18
.def Temp3=R19
.def start=R20
.cseg
.org 0
ldi temp,low(RAMEND)
out SPL,temp
ldi temp,high(RAMEND) ; Stack Pointer = $45F
out SPH,temp
cli ; запретить прерывания5.Настройка аналого-цифрого преобразователя(АЦП)
ldi temp, 0b00100000
out ADMUX, temp
ldi temp, 0b10001011
out ADCSRA, temp
ldi Temp3,0b11111111 ;присвоение константы
out DDRD,Temp3 ;вывод
rcall adc_convert
main:
rcall adc_convert
cpi temp,80
brge ON
OF:
ldi temp3,0b00000000
out PortD,temp3
rjmp main
ON:
ldi temp3,0b01000000
out PortD,temp3
rjmp main
adc_convert:
sbi ADCSRA , ADSC
delay:
sbic ADCSRA , ADSC
rjmp delay
in temp, ADCL ; просто формальность (первым всегда читается ADCL)
in temp, ADCH ; wreg contains result
retвопрос:
cpi temp,80 - лампа не горит,протеус зацикливается на off
cpi temp,150 - лампа горит,протеус зацикливается на on
что не так?


