急求老师!~~~~~
老师我最近编写了一个多通道采样AD转换:程序如下:
.include"m64def.inc"
.org $000
rjmp reset
.org $002a
rjmp ad_int
reset:
ldi r16,$03
out sph,r16
ldi r16,$ff
out spl,r16
ldi r16,$00
sts ddrf,r16;定义F口为输人
ldi r18,$00
out admux,r18;选取A0口,VCC,VREF为参考电压5V
ldi r17,$ed;启动AD,使能AD,自动触发,开中断,分64频
out adcsra,r17
ldi xl,$00
ldi xh,$01;定义SRAM$0100开始
in r21,adcl
in r20,adch;读入AD数据
st x+,r20
st x+,r21
sei
here: rjmp here
ad_int: in r1,sreg;入栈
in r21,adcl
in r20,adch;读入AD数据进SRAM#100
st x+,r20
st x+,r21
ld r24,x
cpi r24,10
brne cc
ldi xl,$00
ldi xh,$01;定义SRAM$0100开始
cc: inc r18
cpi r18,$08
brne bb
ldi r18,$00
bb: out admux,r18;选取下一AD通道,超过通道7就重新采样
cbi adcsra,4
out sreg,r1
reti
我采用mega64芯片的,但采样的值偏差很大?
不知道是不是外部的晶振,怎么检测?
请问老师有何高解??? 高解是从基础开始,认真一步步的打好基础。
页:
[1]