0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用ADC0809设计的数字电压表

h1654155282.3538 来源:Chip37 作者:Chip37 2021-02-14 17:44 次阅读

ADC0809是美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D模数转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。目前仅在单片机初学应用设计中较为常见。因此本文介绍了一种数字电压表,其采用了ADC0809来进行电压的采集及模数转换,用AT89S52单片机来做控制单元,进行电压的测量和显示。

1.系统硬件设计

1.1系统构成

该系统主要包括几大模块:数据采集模块、A/D转换模块、控制模块、显示模块、按键模块等。采用AT89S52作为控制模块,ADC0809作为A/D转换模块的核心,ADC0809本身具有8路模拟量输入端口,通过C、B、A,3位地址输入端,能从8路中选择一路进行转换。如每隔一段时间依次轮流改变3位地址输入端的地址,就能依次对8路输入电压进行测量。LED数码管的显示采用软件译码动态显示,通过按键模块的操作可以选择8路循环显示,也可以选择某条单路显示。

1.2数据采集电路

数据采集电路是系统的主要组成部分,ADC0809具有8路模拟量输入通道IN0~IN7,通过3位地址输入端C、B、A(引脚23~25)进行选择。引脚22为地址锁存控制端ALE,当输入为高电平时,C、B、A引脚输入的地址锁存于ADC0809内部锁存器中,经内部译码电路译码选中相应的模拟通道。引脚6为启动转换控制端START,当输入一个2 μs宽的高电平脉冲时,就启动ADC0809开始对输入通道的模拟量进行转换。引脚7为A/D转换器,当开始转换时,EOC信号为低电平,经过一段时间,转换结束,转换结束信号EOC输出高电平,转换结果存放于ADC0809内部的输出数据寄存器中。引脚9脚为A/D转换数据输出允许控制端OE,当OE为高电平时,存放于输出数据锁存器中的数据通过ADC0809的数据线D0~D7输出。引脚10为ADC0809的时钟信号输入端CLOCK.在连接时,ADC0809的数据线D0~ D7与AT89S52的P1口相连接,ADC0809的地址引脚、地址锁存端ALE、启动信号START、数据输出允许控制端OE分别与AT89S51的P3口相连接,转换结束信号EOC与AT89S52的P3.2相连接。时钟信号输入端CLOCK信号,由单片机的地址锁存信号ALE得到,采集电路如图1所示。

o4YBAGARNiGAF8ZoAAFUUlgkbOw446.png

图1 数据采集电路

2.软件设计

2.1主程序

主程序包含初始化部分,调用A/D转换子程序和调用显示子程序,如图2所示。

o4YBAGARNieAAmerAAC4YLgXF70958.png

图2 主程序流程图

初始化部分包含存通道数据缓冲区初始化和显示缓冲区初始化。另外,对于单路显示和循环显示,系统设置了一个初始标志位。

初始化时标志位设置为0,默认为循环显示,当它为1时,则单路显示,标志位通过外部按键控制。

2.2数据处理子程序

ADC0809转换之后输出的结果是8位二进制数。由公式(1)可知,当ADC0809输出为(111111111)时,输入电压值VI=5.00V;当ADC0809输出为(00000000)时,输入电压值为VI=0.00V;当ADC0809输出为(10000000)时,输入电压值VI=2.50V.由于单片机进行数学运算时结果只取整数部分,因此当输出为(10000000)时计算出的电压值VI=2.00V,很不准确。为了提高精确度,必须把小数部分保留,具体方法是:如果小数点后保留两位,在运算的时候分子乘以100,保留三位就乘以1000;本设计是在小数点后保留两位,运算方式如公式(2)。

VI=Dout /255×5 (1)

VI=Dout/255×5×100=Dout×100/51 (2)

由式(2)可知当ADC0809输出为(10000000)时,单片机运算结果为250;然后由单片机将250除以10得到商为25,余数为0,再将25除以10得到商为2,余数为5;由此得到较为精确的数值。

结语

实现了采集8路数据,并将结果在四位一体数码管上进行滚动显示或单独显示的功能,测量的最小分辨率为0.019V;该数字电压表具有电路简单,成本低等优点,可以方便地进8路A/D转换量的测量,并可选择在数码管上滚动显示或单路显示的不同工作模式。
责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电压表
    +关注

    关注

    3

    文章

    295

    浏览量

    38368
  • ADC0809
    +关注

    关注

    3

    文章

    140

    浏览量

    38331
  • 数字电压表
    +关注

    关注

    4

    文章

    178

    浏览量

    32719
收藏 人收藏

    评论

    相关推荐

    ADC0809做成的数字电压表

    的)基本上能够做出一个比较正确的电压测量表,量程是0~5V。做这个仿真最要注意的问题是ADC0808(ADC0809)的输出脚千万不能接反,论坛里很多同学发的都是接反的,所以得不到正确的仿真。 `
    发表于 12-05 13:58

    单片机+ADC0809=数字电压表

    单片机ADC0809数字电压表
    发表于 06-02 17:56

    adc0809数字电压表,ALE和START引脚能否连在一起?

    adc0809数字电压表,ALE和START引脚能否连在一起?我只采集一路电压,地址选择的三个引脚能否都接地?
    发表于 10-27 19:06

    基于单片机的数字电压表设计与仿真

    ADC0809模/数转换相结合的方法,做了大量Proteus仿真实验,获得了普通纯硬件数字电压表无法达到的测量效果。实验结果证明,使用软硬件相结合设计的数字
    发表于 01-11 09:15

    基于单片机的数字电压表proteus仿真

    基于单片机的数字电压表proteus仿真 ADC0809模数转换 液晶显示0~50V
    发表于 01-20 10:56

    ADC0809不工作

    用单片机和ADC0809做了个数字电压表,仿真没问题,面包板插好测试了没问题,但是制成PCB之后就出问题了,打开电源ADC0809不工作,但是若是把
    发表于 03-23 10:10

    数字电压表 求教

    本帖最后由 jiarm 于 2015-6-2 21:41 编辑 数字电压表 ADC0809 数码管
    发表于 06-02 21:12

    利用ADC0809设计一个简易数字电压表

    课程设计题二十九:简易数字电压表设计 设计要求: 1. 利用ADC0809设计一个简易数字电压表,要求可以测量0~5V之间8路输入
    发表于 12-02 06:15

    ADC0809数字电压表

    jiyu基于ADC0809和51单片机实现的简单宜兴的数字电压表,程序简单。
    发表于 05-16 15:53 62次下载

    数模转换ADC0809的应用--数字电压表

    数模转换ADC0809的应用--数字电压表,快来下载学习吧
    发表于 07-04 18:26 72次下载

    如何使用FPGA控制ADC0809设计一个量程为5V的数字电压表详细资料概述

    使用FPGA控制ADC0809,设计一个量程为5V的数字电压表。要求采用3位数码管显示电压值,可以显示小数点的后面两位。
    发表于 06-11 08:00 73次下载
    如何使用FPGA控制<b class='flag-5'>ADC0809</b>设计一个量程为5V的<b class='flag-5'>数字</b><b class='flag-5'>电压表</b>详细资料概述

    使用单片机和ADC0809设计数字电压表的资料和电路图及程序免费下载

    本文档的主要内容详细介绍的是使用单片机和ADC0809设计数字电压表的资料和电路图及程序免费下载。
    发表于 08-12 17:33 25次下载
    使用单片机和<b class='flag-5'>ADC0809</b>设计<b class='flag-5'>数字</b><b class='flag-5'>电压表</b>的资料和电路图及程序免费下载

    ADC0809的使用

    一、前言介绍使用ADC0809对一个模拟电压进行转换转换后的电压使用数码管显示出来二、ADC0809的介绍1、ADC0809简介
    发表于 11-10 13:06 51次下载
    <b class='flag-5'>ADC0809</b>的使用

    通过模数转换芯片ADC0809和51单片机实现简易电压表仿真

    通过ADC0809和51单片机实现简易电压表仿真
    发表于 11-23 16:20 41次下载
    通过模数转换芯片<b class='flag-5'>ADC0809</b>和51单片机实现简易<b class='flag-5'>电压表</b>仿真

    简易数字电压表设计 单片机 仿真 ADC0809

    课程设计题二十九:简易数字电压表设计 设计要求: 1. 利用ADC0809设计一个简易数字电压表,要求可以测量0~5V之间8路输入
    发表于 11-23 17:36 27次下载
    简易<b class='flag-5'>数字</b><b class='flag-5'>电压表</b>设计 单片机 仿真 <b class='flag-5'>ADC0809</b>