ADC0809,无法实现AD转换.docVIP

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
ADC0809,无法实现AD转换

ADC0809,无法实现AD转换,大家帮忙看看程序是不是有问题呀? P2.0连接0809的START 和 ALE. ADDA-C全部接地,选通0模拟输入通道 P2.1连接输出使能端OE P2.7连接EOC 查询AD转换是否完毕 程序执行时,EOC一直为低电平,问题出在哪里呀? 谢谢大家帮忙 ORG 000H AJMP MAIN ORG 0030H MAIN: MOV SP,#6FH MOV TMOD,#20H MOV TL1,#0E8H MOV TH1,#0E8H MOV PCON,#00H SETB TR1 MOV SCON, ;采用波特率1200 MOV P2,#00H AD: SETB P2.0 ; NOP NOP NOP CLR P2.0 NOP NOP NOP L00P1: ACALL SEND; SETB P2.7 ;先往P2.7写1,然后读管脚判断是否为1 JNB P2.7,L00P1 ;程序一直在此循环,P2.7一直为低电平 SETB P2.1 ;set OE 1 NOP MOVX A,@R0  ;因为没有接上拉电阻,把P0口当作地址数据分时复用,读转换后的AD码 CLR P2.1 MOV R6,A ACALL SEND AJMP AD SJMP $ ORG 0200H SEND: CLR TI NOP NOP MOV A,R6 MOV SBUF,A LOOP2: JBC TI,LOOP3 AJMP LOOP2 LOOP3: RET END 忘记说了:晶振为11.0592M,ALE信号经过2分频后作为ADC0809的CLOCK输入. 1). ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2). 初始化时,使ST和OE信号全为低电平。 (3). 送要转换的哪一通道的地址到A,B,C端口上。 (4). 在ST端给出一个至少有100ns宽的正脉冲信号。 (5). 是否转换完毕,我们根据EOC信号来判断。 (6). 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。 ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ. ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入和控制线:4条 ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。 你的时钟信号有问题,不能超过640KHZ,即使2分频也高与其工作频率! 我做过,MCU的ALE直接连0809的CLOCK可以的. 但,用14024分频比较好! 在ST端给出一个至少有100ns宽的正脉冲信号 AD: SETB P2.0 ; NOP NOP NOP CLR P2.0 NOP NOP NOP 这一段在前面加一句 CLR P2.0 看是不是可以。只用两条语句好像形不成脉冲信号 、ADC0809应用说明 ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2). 初始化时,使ST和OE信号全为低电平。 (3). 送要转换的哪一通道的地址到A,B,C端口上。 (4). 在ST端给出一个至少有100ns宽的正脉冲信号。 (5). 是否转换完毕,我们根据EOC信号来判断。 (6). 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。 4、AD0809的应用 了解完A/D转换芯片,下面我们以图2为例来完成它的程序设计。 电路说明: 电路见图(2),主要由AD转换器AD0809,频率发生器SUN7474,单片机AT89S51及显示用数码管组成。 AD0809的启动方式为脉冲启动方式,启动信号START启动后开始转换,EOC信号在START的下降沿10us后才变为无效的低电平。这要求查询程序待EOC无效后再开始查询,转换完成后,EOC输出高电平,再由OE变为高电平来输出转换数据。我们在设计程序时可以利用EOC信号来通知单

文档评论(0)

dfd7997 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档