|
Здравствуйте. Есть такая программа для ATmega8535, проверяю на STK500.
Кнопки подключены к порту А, диоды к порту В.
Предполагалось, что при нажатии 7-й кнопки импульс от этого нажатия поступает на вход ADC7
и измеряется. Затем значения регистров ADCH/L выводятся на диоды с некоторым интервалом времени.
.include "m8535def.inc".org 0
rjmp RESET.org ADCCaddr
rjmp interrupt.MACRO output
com @1
out @0, @1
com @1
.ENDMACRORESET:
ldi r16,low(RAMEND)
out SPL,r16
ldi r16,high(RAMEND)
out SPH,r16ldi r16, 0x47
out ADMUX, r16
ldi r16, (1 << ADEN)|(1 << ADIE)|(1 << ADSC)|(1 << ADFR)|(1 << ADPS0)|(1 << ADPS2)
out ADCSRA, r16ldi r16, 0xFF
out DDRB, r16clr r16
out DDRA, r16
out PORTA, r16
sei
MAIN:
rjmp MAIN
interrupt:
in r20, ADCL
in r21, ADCH
andi r21, 0x03
output PORTB, r20
rcall delay
output PORTB, r21
rcall delay
reti
delay:delay1:
ldi r17, 100
delay2:
ldi r18, 100
delay3:
dec r18
brne delay3
dec r17
brne delay2
dec r19
brne delay1
ret
E-mail: info@telesys.ru