求助,关于ADC0809,卡了很长时间,郁闷啊
毕业设计的一个模块要用51单片机控制ADC0809采样信号。先问一个问题:ADC0809的CLK必须要小于640KHZ吗?是不是因为我用1MHZ所以才出问题?
描述一下我的设计[很常见的接法,就是不通:(],望做过的高手指点:
51的P0口与0809的D0-D7相连,同时接74LS373锁存地址连到0809的ABC端。51的/WR和P2.7通过或非门控制0809的START和ALE。 51的/RD和P2.7通过或非门控制0809的OE端。0809的EOC接51的P3.3口。
我想让ADC0809大约每一秒转换一次,然后数据进51送P1口接发光二极管,以检测其是否能工作。虽然不一定精确,但至少当我给0809一个缓变的正弦波,二极管应该有亮暗变化。
程序如下:MAIN: MOV R7,#0FFH
ADDR: MOV DPTR,#7FF8H(由于用P2.7口控制又是选通0809的INO)
START: MOVX @DPTR,A(启动ADC0809)
DELAY: MOV R6,#10H(稍微延时个20uS)
DJNZ R6,DELAY
CHK: JNB P3.3,CHK(查询EOC信号)
FINISH: MOVX A,@DPTR(读转换结果)
MOV P1,A
ACALL WAIT(控制ADC0809转换频率大致1HZ)
DJNZ R7,ADDR
WAIT: MOV R1,#0FFH
LOOP1: MOV R2,#0FFH
LOOP2: DJNZ R2,LOOP2
DJNZ R1,LOOP1
RET
通过仿真和检测,EOC,START,ALE,OE端都有信号,但A寄存器里始终看不见转换结果。0809的ABC三端的信号有办法检测吗?我怀疑要么问题出在地址锁存上,要么是晶震不对?我做了一切努力,黔驴技穷了,请各位指点迷津啊,谢谢!!!
发表时间:2005年6月2日23:43:24