单片机课程设计报告数字电压表 - 图文(2)

2019-05-18 13:51

二、设计题目及要求

2.1、题目及设计要求

采用51系列单片机和ADC设计一个数字电压表,输入为0~5V线性模拟信号,输出通过数码管显示,要求显示两位小数。

2.2、主要技术指标

1、数字芯片A/D转换技术

2、单片机控制的数码管显示技术 3、单片机的数据处理技术

6

三、方案论证及选择

3.1主要设计方框图如下:

电模单数压数片码 采 转机管集换处显 理 示

3.2方案论证:

1、主控芯片

方案1:选用专用转化芯片INC7107实现电压的测量和实现,用四位数码管显示出最后的转换电压结果。缺点是精度比较低,内部电压转换和控制部分不可控制。优点是价格低廉。

方案2:选用单片机AT89C51和A/D转换芯片ADC0809实现电压的转换和控制,用四位数码管显示出最后的转换电压结果。缺点是价格稍贵;优点是转换京都高,且转换的过程和控制、显示部分可以控制。

基于课程设计的要求,我选用了:方案2。

2、显示部分

方案1:选用4个单体的共阴极数码管。优点是价格比较便宜;缺点是焊接时比较麻烦,容易出错。

方案2:选用一个四联的共阴极数码管,外加四个三极管驱动。这个电路几乎没有缺点;优点是便于控制,价格低廉,焊接简单。

基于课程设计的要求和美观性,我选用了:方案2。

7

四、电路设计原理

4.1设计原理介绍:

模拟电压经过档位切换到不同的分压电路筛减后,经隔离干扰送到A/D转换器进行A/D转换。然后送到单片机中进行数据处理。处理后的数据送到LED中显示。同时通过串行通讯与上位通信。硬件电路及软件程序。而硬件电路又大体可分为A/D转换电路、数码管显示电路,各部分电路的设计及原理将会在硬件电路设计部分详细介绍;程序的设计使用C语言编程,利用Keil和PROTEUS 软件对其编译和仿真。

一般I/O接口芯片的驱动能力是很有限的,在数码管显示器接口电路中,输出口所能提供的驱动电流一般是不够的尤其是设计中需要用到多位LED,此时选择数码管显示便有了极大的优点。

本实验采用AT89C51单片机芯片配合ADC0809模/数转换芯片构成一个简易的数字电压表,原理电路如图1所示。该电路通过ADC0809芯片采样输入口IN0输入的0~5 V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7传送给AT89C51芯片的P0和P2.1口。AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1和P2口传送给数码管。同时它还通过其三位I/O口产生位选信号,控制数码管的亮灭。另外,AT89C51还控制着ADC0809的工作。其P2.4口为ADC0809提供了100KHz工作的时钟脉冲;P2.3控制ADC0808的地址锁存端(ALE);P2.3控制ADC0809的启动端(START);P2.0控制ADC0809的输出允许端(OE);P2.2控制ADC0809的转换结束信号(EOC)。

Digital 数据采 集模块 ADC0809 数据处理及控制模块 PP 1 0 AT89C51 P 3 输出显示 显示模块 4位一体LED数码管 Analog 控制 信号 P2 LED位控制信号

8

4.2、模数转换

电路原理图如下所示,三个地址位ADDA,ADDB,ADDC均接低电平,因而所需测量的外部电压可由ADC0809的IN0端口输入。由于ADC0809

在进行A/D转换时需要有CLK信,本设计中利用AT89C51的定时中断产生一个100KHZ的脉冲,由P2.4口送给ADC0809的时钟端,通过软件给其输入一个正脉冲,可立即启动A/D转换。在软件设计中,由于我们对单片机知识还没能很熟练的掌握,用中断方式较复杂,且这个程序CPU工作量不大,查询方式对速度不会产生影响,所以我们采用查询方式,确保仿真的进度和准确度。

系统原理图

在A/D转换开始之前,逐次逼近寄存器的SAR的内容为0,在A/D转换过程中,SAR存放“试探”数字量,在转换完毕后,它的内容即为A/D转换的结果数字量。逻辑控制与定时电路在START正脉冲启动后工作,没来一个CLK脉冲,该电路就可能告知向SAR中传送一次试探值,对应输出U0与U1比较,确定一次逼近值,经过8次逼近,即可获得最后转换的结果数字量。此处,EOC端口的信号显示ADC0808的状态,开始A/D转换时,EOC为低电平,转换结束后,输出高电平。

51系列 单片机 数据显示 A/D 电压输入

电压放大

9

4.3、 数据处理及控制

A/D转换完毕后,单片机的P2.3口接收到一高电平,立马通过P2.0将OE置1,ADC0809的三态输出锁存器被打开,转换完的数字信号经过与D0~D7相连的P0口进入AT89C51。AT89C51根据公式1-1将数字信号转换为模拟量,然后利用程序获取模拟量的每一位,分别通过P1口输出到LED上。与此同时,AT89C51会通过P1.0~P3.2口选择用哪一段LED显示所传出的数据。例如,当S4位选信号为高时,则LED接收到的数据会在第四段LED上显示。

另外,AT89C51一旦获得了数据后便会将ST置0,即模数转换器停止转换,知道LED获得新的数据并显示出来,ST才会重新置1.由于AT89C51转换速率很快(微妙量级),所以不会影响其接收新的数据。

10


单片机课程设计报告数字电压表 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:新冀教版七年级英语下册lesson 21:What Is Your Club - Type?教

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

马上注册会员

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