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

2019-01-07 13:22

班 级 电科 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转换之前,要启动转换的方法:

CBA=011选择第三通道

Start的正脉冲(start从0→1→0)起动AD转换,本程序中用P2^0

控制。

(3)本程序用C语言编写,代码如下: //EXP11

#include

sbit start=P2^0;//控制起动转换信号 sbit finish=P2^1;//转换结束标志 sbit ale=P2^2; //地址锁存信号 #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,仿真值如下图所示:


AT89C51单片机AD转换器接口实验.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016年9月芝加哥密尔瓦基之旅行程(5) - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: