找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8135|回复: 1
打印 上一主题 下一主题
收起左侧

单片机ADC0809模数转换实验程序与Proteus仿真

  [复制链接]
跳转到指定楼层
楼主
ID:977450 发表于 2021-11-3 20:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1、了解A/D转换与单片机的接口;
2、了解ADC0809转换性能及编程方法;
3、通过实验了解单片机如何进行数据采集。
4、熟练Proteus仿真软件的使用;
5、熟练单片机实验箱的实验操作。
二、实验预习要求
1、掌握ADC0808的工作原理;
2、掌握数码管显示的原理。
三、实验设备和器件
PC机                                                        一台
PROTEUS仿真软件     一套
实验箱                                                        一台
ISP下载器                                          一台
51仿真器            一台(可选)
四、实验要求
1、利用ADC0808/(0809)做A/D转换器,由实验板上的电位器提供模拟量输入,编写程序将模拟量转换成二进制数字量,用P1口输出到发光二极管显示,或通过八段码数码管将数值显示出来。实物板中使用ADC0809芯片,它与ADC0808是全兼容的。
五、实验原理
A/D 是模拟量到数字量的转换,依靠的是模数转换器(Analog to Digital Converter),简称ADC。A/D转换器大致有三类:一是双积分A/D转换器,优点是精度高,抗干扰性好,价格便宜,但速度慢;二是逐次逼近A/D转换器,精度、速度、价格适中;三是并行A/D转换器,速度快,价格也昂贵。
图:ADC0808
上图所示就是ADC0808。实验用的ADC0808属第二类,是含8 位A/D 转换器、8 路多路开关,以及与微型计算机兼容的控制逻辑的CMOS组件,其转换方法为逐次逼近型。ADC0808的精度为 1/2LSB。在AD 转换器内部有一个高阻抗斩波稳定比较器,一个带模拟开关树组的256 电阻分压器,以及一个逐次通近型寄存器。8 路的模拟开关的通断由地址锁存器和译码器控制,可以在8 个通道中任意访问一个单边的模拟信号。具体的引脚功能如下:
1~5和26~28(IN0~IN7):8路模拟量输入端。
8、14、15和17~21:8位数字量输出端。
22(ALE):地址锁存允许信号,输入,高电平有效。
6(START): A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0808复位,下降沿启动A/D转换)。
7(EOC): A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
9(OE):数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
10(CLK):时钟脉冲输入端。要求时钟频率不高于640KHZ。
12(VREF(+))和16(VREF(-)):参考电压输入端。
11(Vcc):主电源输入端。
13(GND):地。
23~25(ADDA、ADDB、ADDC):3位地址输入线,用于选通8路模拟输入中的一路。
查询ADC0808的数据手册可以知道其时序图,如下图所示。根据时序图来编写程序。
图:ADC0808ADC的时序图

六、Proteus使用的元器件
元器件名称
规格
说明
AT89C51

51单片机
BUTTON

按键,用于最小系统复位
CAP
30pF
电容,用于搭建复位电路
CAP-ELEC
10uF
电解电容,用于搭建复位电路
CRYSTAL
11.0592M
晶振,给单片机提供时钟信号
7SEG-MPX4-CA

4位共阳数码管
RES
10k、100
电阻
RESPACK-8
10k
排阻
ADC0808

模数转换芯片
POT-HG
100k
可调电位器
74LS02

二输入四或非门
七、原理图设计
总原理图:
1.在Proteus中绘制单片机最小系统,包括主控芯片、晶振电路和复位电路。

2. 添加ADC0808芯片,IN0端口连接可调电位器,ADDA、B、C三个端口接地,VREF+接电源,VREF-接地,EOC、CLOCK通过标号连接到单片机的P3.0和P3.1口,8个输出口通过标号连接到单片机的P0口,P0口需要添加上拉排阻。
3.添加74LS02,2和6引脚共同连接到P2.7口,并添加电阻上拉;3引脚通过标号连接到P3.6,5引脚了解到P3.7,1引脚接入0808的START端口,4引脚接入0808的OE端口。
3.添加4位共阳数码管,A-DP通过标号连接到P1口,1-4位选通过标号连接到P2.0-P2.3。
八、程序流程图
九、硬件连接图
1. 硬件电路
图:8位共阳数码管
图:ADC0809模数转换
2.硬件连接表
MCU-AT89S52
模数转换
8位共阳数码管
P37
RD

P36
WR

P27
CS

ALE
CLK

P30
EOC

P00~P07
DB0~DB7

P10~P17

SA~SH
P20~P23

C0~C3

IN0接100K电位器

GND
A、B、C



十、实验步骤
1、新建原理图
  • 打开Proteus 8,点击新建工程
  • 命名工程最好用英文或数字命名
  • 创建原理图,选择DEFAULT
  • 选择不创建PCB设计;
  • 创建固件项目,系列选择8051,控制器选择AT89C52,编译器选择Keil for 8051;
  • 点击蓝色的P图标进入元器件选取界面
  • 在左上角输入所需元器件关键字,并在右侧列表双击选取所需器件,点击确定
  • 选取后,左侧的器件栏窗口会有相应元器件列表
  • 参考原理图设计步骤完成器件的排布和连线。

2、新建程序

  • 在51芯片处单击右键,选择编辑源代码
  • 根据程序流程图,在main.c文件中输入完整程序代码。

3、Proteus中编译和仿真

  • 在快捷工具栏中的下拉列菜单Debug /Release/配置选项中,选择Debug
  • 然后在工程中,右键单击AT89C52,在出现的下拉列表中选择构建工程,或点击工具栏构建工程图标快捷键Ctrl+F7进行构建工程,等待编译完成
  • 编译成功后,切换到原理图状态下点击运行按钮快捷键F12,可通过人机接口观察程序的仿真结果,如下图所示。
4、硬件实验
  • 连接ISP下载器一端到PCUSB接口,另一端连到目标板。
  • 在快捷工具栏中的下拉列菜单Debug /Release/配置选项中,选择Release。
  • 点击工程设置,按如下步骤设置,设置完成后点击确定;
  • 点击上传图标,等待上传。
  • 出现固件上传完成提示,表示程序上传成功。
  • 实验现象参考附件视频。
十一、参考程序
参考程序见光盘
、实验现象
程序下载并运行后,数码管显示当前电压值,调节电位器在0—5V调节电压,数码管跟随显示。附GIF图和实验视频。



Proteus仿真只能用8.1版本打开,
Keil程序下载:
ADC0809模数转换实验.rar (731.2 KB, 下载次数: 141)

评分

参与人数 1黑币 +40 收起 理由
admin + 40 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶2 踩
回复

使用道具 举报

沙发
ID:995757 发表于 2021-12-23 14:54 | 只看该作者
你好,我是一名大二的学生,今年刚开始接触单片机,我们有一个实验和你这个实验是类似的,不过我还要用到8255A来输出,转换的模拟信号,在数码管上后两位上显示出来显示出来。但我我的protues电路图仿真那个IN0口的模拟输入一直没有转换出来,代码是师傅给的,没有给电路图,是我自己编的,我不知道是我连线的问题还怎么样,看到你这个帖子,我就想来请教下你,可不可以帮我看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表