0
這是我的代碼。我需要在電路板上放置一個上拉電阻,INT0標誌會將我發送到轉換器,然後在PORTB上打印出來。我在PC0上使用ADC0,但它不會工作。 PORTB上只打印一個值。你可以幫我嗎?Atmega328p ADC彙編不轉換
.include "m328pdef.inc"
.org 0x0000 jmp startProgram
.org 0x0002 jmp int0_int
.org 0x002A jmp adcComplete
startProgram:
.org 0x0033
// Configuracion de Stack Pointer y Timer0
ldi R16, High(RAMEND)
out SPH, R16
ldi R16, Low(RAMEND)
out SPL, R16
// Configuracion INT0
ldi r16, 0x02
sts EICRA, R16
ldi r16, 0x01
out EIMSK, R16
sts EIFR, R16
// Configuracion del ADC
ldi R16, 0x60
sts ADMUX, R16
ldi r16, 0xFF
sts ADCSRA, R16
ldi r16, 0x02
sts ADCSRB, R16
ldi r16, 0x01
sts DIDR0, R16
SEI
// Inicializando Puerto B
ldi R16, 0xFF
out DDRB, R16
ldi R16, 0x04
out DDRD, R16
// Rutina de espera del ADC
loop:
rjmp loop
int0_int:
reti
adcComplete:
lds R16, ADCH
cpi R16, 63
brlo low_adc
cpi R16, 127
brlo med_adc
cpi R16, 191
brlo high_adc
cpi R16, 191
brsh full_adc
reti
low_adc:
ldi R17, 0xFF
out PORTB, R17
reti
med_adc:
ldi R17, 0x3F
out PORTB, R17
reti
high_adc:
ldi R17, 0x0F
out PORTB, R17
reti
full_adc:
ldi R17, 0x03
out PORTB, R17
reti
能否請你請你幫個忙,並添加一些意見成爲意義您用於配置外設的值?二進制符號也可以幫助發現錯誤。 – JimmyB 2014-11-24 15:27:54