ADC0809,无法实现AD转换_第1页
ADC0809,无法实现AD转换_第2页
ADC0809,无法实现AD转换_第3页
ADC0809,无法实现AD转换_第4页
免费预览已结束,剩余1页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ADC0809, 无法实现 AD 转换 ,大家帮忙看看程序是不是有问题呀 ?P2.0 连接 0809 的 START 和 ALE. ADDA-C 全部接地 ,选通 0 模拟输入通道P2.1 连接输出使能端 OEP2.7 连接 EOC 查询 AD 转换是否完毕程序执行时,EOC直为低电平,问题出在哪里呀?谢谢大家帮忙ORG 000HAJMP MAINORG 0030HMAIN: MOV SP,#6FHMOV TMOD,#20HMOV TL1,#0E8HMOV TH1,#0E8HMOV PCON,#00HSETB TR1MOV SCON,#01000000B ; 采用波特率 1200MOV P2,

2、#00HAD: SETB P2.0 ;NOPNOPNOPCLR P2.0NOPNOPNOPL00P1: ACALL SEND;SETB P2.7 ;先往P2.7写1,然后读管脚判断是否为1JNB P2.7,L00P1;程序一直在此循环,P2.7直为低电平SETB P2.1 ;set OE=1NOPMOVX A,RO ;因为没有接上拉电阻,把P0口当作地址数据分时复用,读转换后的 AD码CLR P2.1MOV R6,AACALL SENDAJMP ADSJMP $ORG 0200HSEND: CLR TINOPNOPMOV A,R6MOV SBUF,ALOOP2: JBC TI,LOOP3AJM

3、P LOOP2LOOP3: RETEND忘记说了:晶振为110 5 9 2 M,ALE信号经过2分频后作为ADC 0 8 0 9的CLOCK输入.1) ADC0809 内部带有输出锁存器,可以与 AT89S51 单片机直接相连。(2).初始化时,使ST和0E信号全为低电平。( 3). 送要转换的哪一通道的地址到 A , B , C 端口上。( 4). 在 ST 端给出一个至少有 100ns 宽的正脉冲信号。( 5). 是否转换完毕,我们根据 EOC 信号来判断。( 6). 当 EOC 变为高电平时,这时给 OE 为高电平,转换的数据就输出给单 片机了。ST 为转换启动信号。当 ST 上跳沿时,

4、所有内部寄存器清零;下跳沿 时,开始进行 A/D 转换;在转换期间, ST 应保持低电平。 EOC 为转换 结束信号。当 EOC 为高电平时,表明转换结束;否则,表明正在进行 A/D 转换。 OE 为输出允许信号,用于控制三条输出锁存器向单片机输 出转换得到的数据。0E = 1,输出转换得到的数据;0E = 0,输出数据 线呈高阻状态。 D7D0 为数字量输出线。CLK 为时钟输入信号线。 因 ADC0809 的内部没有时钟电路, 所需时钟 信号必须由外界提供,通常使用频率为 500KH Z.ADC0809对输入模拟量要求:信号单极性,电压范围是 0 5V,若信 号太小,必须进行放大;输入的模

5、拟量在转换过程中应该保持不变,如 若模拟量变化太快,则需在输入前增加采样保持电路。地址输入和控制线: 4 条ALE 为地址锁存允许输入线,高电平有效。当 ALE 线为高电平时,地址锁存与 译码器将 A, B, C 三条地址线的地址信号进行锁存,经译码后被选中的通道的 模拟量进转换器进行转换。 A, B 和 C 为地址输入线,用于选通 IN0IN7 上的 一路模拟量输入。你的时钟信号有问题 ,不能超过 640KHZ, 即使 2 分频也高与其工作频率 ! 我做过 ,MCU 的 ALE 直接连 0809 的 CLOCK 可以的 .但, 用 14024 分频比较好 !在ST端给出一个至少有100ns宽

6、的正脉冲信号AD: SETB P2.0;NOPNOPNOPCLR P2.0NOPNOPNOP这一段在前面加一句CLR P2.0看是不是可以。只用两条语句好像形不成脉冲信号、ADC080应用说明(1)ADC0809 内部带有输出锁存器,可以与 AT89S51 单片机直接相连。( 2) 初始化时,使 ST 和 OE 信号全为低电平。(3) 送要转换的哪一通道的地址到 A, B ,C 端口上。(4).在ST端给出一个至少有 100ns宽的正脉冲信号。( 5 ) 是否转换完毕,我们根据 EOC 信号来判断。(6) 当 EOC 变为高电平时, 这时给 OE 为高电平, 转换的数据就输出给单片机了。4、A

7、D0809 的应用了解完 A/D 转换芯片,下面我们以图 2 为例来完成它的程序设计。电路说明:电路见图(2),主要由AD转换器AD0809,频率发生器 SUN7474,单片机AT89S51 及显示用数码管组成。AD0809 的启动方式为脉冲启动方式,启动信号 START 启动后开始转换, EOC 信号在 START的下降沿10us后才变为无效的低电平。 这要求查询程序待 EOC无效后再开始查询, 转换完成后, EOC 输出高电平,再由 OE 变为高电平来输出转换数据。我们在设计程序时 可以利用 EOC 信号来通知单片机(查询法或中断法)读入已转换的数据,也可以在启动AD0809 后经适当的延

8、时再读入已转换的数据。AT89S51的输出频为晶振频的 1/6 (2MHZ ) , AT89S1与SUN7474连接经与 7474的ST 脚提供AD0809的工作时钟。AD0809的工作频范围为 10KHZ-1280KHZ,当频率范围为 500KHZ时,其转换速度为 128us。AD0809的数据输出公式为:Dout=Vin*255/5=Vin*51,其中Vin为输入模拟电压,Vout为输出数据。当输入电压为5V时,读得的数据为 255再乘以2,得510。我们用510*98%得499,再 将百位数码管的小数点点亮,显示为4.99V,显示值与输入值基本吻合。软件设计思路及程序流程编程思路:(1) 向AD0809写入通道号并启动转换(2) 延时1ms后等待EOC出现高电平(JNB EOC,$)(3) 给OE置高并读入转换数据存入数据地址或数组中。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论