AT89C51单片机AD转换器接口实验.doc

上传人:w****2 文档编号:6589395 上传时间:2020-02-29 格式:DOC 页数:7 大小:395.50KB
返回 下载 相关 举报
AT89C51单片机AD转换器接口实验.doc_第1页
第1页 / 共7页
AT89C51单片机AD转换器接口实验.doc_第2页
第2页 / 共7页
AT89C51单片机AD转换器接口实验.doc_第3页
第3页 / 共7页
点击查看更多>>
资源描述
班 级 电科 081 班 姓 名 龚 浪 学 号 080712110073 实验名称 电脑时钟程序实验 指导教师 马 光 喜 理 学 院时间:2011年 月 日实验十一 A/D转换器接口实验 一实验目的熟悉单片机与A/D转换芯片的接口方法。了解A/D转换芯片的转换性能及编程方法。通过实验了解单片机如何进行数据采集。二实验内容利用电位器提供模拟量输入,输入到0809的IN3输入端,编制程序,将模拟量转换成数字量,并在数码管显示出来。三实验步骤 1在Proteus中画出实验电路 ADC0808转换原理电路3进入Keil C51组合软件的操作环境,编辑源程序并进行编译;4设置Proteus 与Keil C51之间的连接;5程序设计(1) 进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P1端口读入,经过数据处理之后经P0口从数码管上显示。(2) 进行A/D转换之前,要启动转换的方法:CBA011选择第三通道Start的正脉冲(start从010)起动AD转换,本程序中用P20控制。 (3)本程序用C语言编写,代码如下:/EXP11#include sbit start=P20;/控制起动转换信号sbit finish=P21;/转换结束标志sbit ale=P22; /地址锁存信号#define address P3 /地址口#define date P1 /数据口#define disp P0 /显示口void transform(); /AD转换函数void main()start=0; while(1)transform();/循环调用AD转换函数 /*/AD转换函数/*void transform ()start=1; /正脉冲起动AD转换start=0;address=0x3f;/送地址给AD转换ale=1; /锁存地址while(1)/等待转换结束if(finish=1)/转换完成disp=date;/ 取走数据ale=0; /撤消地址锁存信号break;/跳出循环进行下一次AD转换6运行、调试程序和结果检查 采用单步,设置断点等方法,态观察程序走向是否正确。 连续运行程序,数码管上显示当前采集的电压转换的数字量,调节变位器RV1可看到数码管显示数据发生变化。数码管应显示的理论值为Vin *1/256。Vin=0V,Vo=Vin/5V*0xff=0,仿真值如下图所示: Vin=1V,Vo=Vin/5V*0xff=0x33,仿真值如下图所示: Vin=2V,Vo=Vin/5V*0xff=0x66,仿真值如下图所示: Vin=3V,Vo=Vin/5V*0xff=0x99,仿真值如下图所示: Vin=5V,Vo=Vin/5V*0xff=0xff,仿真值如下图所示:6本实验应注意的问题(1)注意ADC0808芯片工作时的时序配合ADC0808工作时,CPU首先向其发送一个起动信号,即在start端输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。随后发送地址信号,并用ALE的高电平将地址锁存,此后ADC转换器开始转换,AD转换结束后将在EOC端输出一个高电平(转换期间一直为低电平)。可利用此信号去控制数据输出允许信号OE,使其打开输出三态门,让CPU读取数据,这样换就完成了一轮转。(2)注意ADC0808能识别的最大电压值ADC0808为8位数字量输出,分辨率为1/256。因此当输入商端的变化小于满值电压的1/256时,ADC转换器将无法识别。
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 临时分类 > 人文社科


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!