四路数字电压表

上传人:博****1 文档编号:503176508 上传时间:2023-12-29 格式:DOC 页数:12 大小:60KB
返回 下载 相关 举报
四路数字电压表_第1页
第1页 / 共12页
四路数字电压表_第2页
第2页 / 共12页
四路数字电压表_第3页
第3页 / 共12页
四路数字电压表_第4页
第4页 / 共12页
四路数字电压表_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《四路数字电压表》由会员分享,可在线阅读,更多相关《四路数字电压表(12页珍藏版)》请在金锄头文库上搜索。

1、-四路数字电压表设计摘要随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。数字电压表就是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。本课程设计是基于单片机的数字电压表的设计,该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。数据处理模块则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经

2、过一定的数据处理,产生相应的显示码送到显示模块进行显示。此数字电压表电路相对简单,所用的元件较少,成本低,且测量精度和可靠性较高。关键词:A/D转换器, AT89C51, ADC0808目 录1 绪论11.1 课题描述11.2 基本工作原理及框图12 相关芯片及硬件电路设计22.1 AT89C51芯片22.2 ADC0808芯片22.2.1 ADC0808芯片介绍22.2.2 ADC0808转换原理32.3 时钟电路42.4 复位电路42.5 A/D转换电路52.6 数码显示电路62.7总电路73 软件设计73.1程序设计总方案73.2 系统子程序设计83.2.1 初始化程序83.2.2 A/

3、D转换子程序83.2.3 显示子程序93.3 程序设计94调试仿真11总结13致14参考文献15. z.-1 绪论1.1课题描述数字电压表的诞生打破了传统电子测量仪器的模式和格局。它显示清晰直观、读数准确,采用了先进的数显技术,大大地减少了因人为因素所造成的测量误差事件。数字电压表是把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式,并加以显示的仪表。数字电压表把电子技术、计算技术、自动化技术的成果与精密电测量技术密切的结合在一起,成为仪器、仪表领域中独立而完整的一个分支,数字电压表标志着电子仪器领域的一场革命,也开创了现代电子测量技术的先河1。本课程设计就是利用单片机和A/D转换器设

4、计的一个四路数字电压表。1.2 基本工作原理及框图本实验采用AT89C51单片机芯片配合ADC0808模/数转换芯片构成一个简易的四路数字电压表。它是由硬件电路和软件所组成,而硬件电路又可分为A/D转换模块,数据处理模块及数码管显示模块。其工作过程:模拟电压经过档位切换到不同的分压电路筛减后,经隔离干扰送到A/D转换器进行A/D转换。然后送到数据处理模块中进行数据处理,处理后的数据送到LED数码管中显示。通过调节滑动变阻器的值可以改变各路模拟电压的值2。其基本工作原理框图如图1所示。模拟电压A/D转换模块数据处理模块 数码管显示模块图1 基本工作原理框图2 相关芯片及硬件电路设计2.1AT89

5、C51芯片AT89C51是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C51是一个低电压、高性能CMOS 8位单片机。将通用的微处理器和Flash存储器结合在一起,可反复擦写的Flash存储器可有效地降低开发成本。AT89C51有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求3。其引脚图如图2所示。图2AT89C51引脚图AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个十六位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态

6、逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。2.2ADC0808芯片芯片介绍ADC 0808 采用逐次比较的方法完成A/D转换,由单一的+5V电源供电。片内带有锁存功能的8路选1的模拟开关,由A、B、C的编码来决定所选的通道。ADC0808完成一次转换需100s左右,它具有输出TTL三态锁存缓冲器,可直接连接到AT89C51的数据总线上。通过适当的外接电路,ADC0808可对05V的模拟信号进行转换4。其引脚图如图3所示。图3

7、 ADC0808引脚图引脚说明:(1)IN0IN7:8路模拟量输入端。(2)D0D7:8位数字量输出端口。(3)START:A/D转换启动信号输入端。(4)ALE:地址锁存允许信号,高电平有效。(5)EOC:输出允许控制信号,高电平有效。(6)OE:输出允许控制信号,高电平有效。(7)CLK:时钟信号输入端。(8)A、B、C:转换通道地址,控制8路模拟通道的切换。转换原理ADC是一种基本的外围扩展器件,其种类很多,工作原理也不仅相同,比较有代表性的是:单积分型,双积分型,脉宽调制型和逐次比较型(逐次逼近型)。从产品性价比、转换速度和精度等方面综合分析,逐次比较型ADC是相对应用比较广的类型之一

8、。逐次逼近型ADC实际采用的方法上从高到底开始逐位设定,比较模拟量输出,再来确定原设定位的正确与否5。逐次比较型ADC原理结构如图4所示。图4 ADC原理结构图其工作原理如下:首先,被测模拟电压ui通过逐次比较寄存器,将传递进的脉冲CP信号转换成数字信号,该数字量再经过数/模转换器生成对应的模拟量Us。当获得模拟量Us 的数值达到并接近被测电压所对应ui后,就可以检测出电压比较器完成最后的反转。此时,逐次比较积存器的计数值就是被测电压ui所对应的数字量,从而完成模拟量的转换。2.3 时钟电路单片机工作的时间基准是由时钟电路提供的,在单片机的*TAL.1和*TAL.2两个管脚接一只晶振及两只电容

9、就构成了单片机的时钟电路,电路中电容器C1和C2对振荡频率有微调作用,通常取(3010)pF石英晶体选择6MHz或12MHz都可以6。其电路图如图5所示。图5时钟电路图2.4复位电路AT89C51单片机要求至少两个高电平,以便单片机做好准备工作。当上电时,由于电容的电压不能突变,会输出高电平,当电容充电到一定程度,就会输出低电平,单片机利用输出高电平的这段时间复位7。电阻和电容的值选择要合适,在这要求R1R2,所以选取R10=1K,R9=10K。当按下开关按钮即可使单片机复位,其电路图如图6所示。图6 复位电路图2.5A/D转换电路如图7所示是ADC0809与AT89C51单片机的转换电路。A

10、DC0808的数据OUT0-OUT7直接与单片机的总线P0相连,通道IN0-IN3接四路模拟电压RV1-RV4对输入的电压进行模数转换,其他通道直接悬空。时钟CLK由单片机的ALE取得,对于晶振为12MHz的单片机ALE输出为2MHz的方波,但前面提到ADC0808的时钟频率一般为500KHz,最大能超过1280KHz,但在实际应用中2MHz的信号也可以使ADC0808正常工作。START、ALE和OE分别由单片机的WR、RD和P2.7经或非门接入、这样主要是满足ADC0808的信号电平与时序的要求。图7 A/D转换电路图按此图7中的片选接法,8个模拟输入通道(IN0-IN7)的地址分别为7F

11、F8H-7FFFH。由于EOC未接入单片机,故只能采用延时等待的方法来读取A/D转换的结果(即当单片机启动ADC0808后延时一段时间再主动去读ADC0808的转换结果)。但是如果单片机在进行A/D转换时还要执行其他的程序可以将EOC接在单片机的中断上,这样当A/D转换完后EOC可以对单片机产生中断使其读取A/D转换的结果。2.6数码显示电路单片机对ADC0808的转换的结果采用查询方式进行读取,通过计算,可以在显示器上将模拟量的结果显示出来。显示子程序采用动态扫描法用4-LED显示器实现四位数码管的数值显示。4-LED显示器是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为

12、4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED的段输出引脚在内部都并联后,引出到器件的外部。为了简化数字式直流电压表的电路设计,在数码管显示电路的设计上采用P3口作为LED的段码输出信号,P1口的低四位作为LED位码的输出控制信号。该电路的工作原理:当P3口输出段码信号的BCD码后,输出具有一定驱动能力的七段字形码,由于4-LED的段码输入管脚是并联在一起的,所以每一位LED的段码输入管脚都能获得这个段码信号。若要控制在每一时刻只有一位LED被点亮,必须靠位码信号控制。P1口低四位输出

13、位码信号后接到LED的位码控制端,因此P1口的低四位的位码信号在每一时刻只有一位是“1”,其他位全为“0”,然后按时间顺序改变输出“1”的位置,控制在每一时刻只有一位LED被点亮,达到动态显示的目的。图8数码显示电路2.7总电路总体电路图如图9所示。该电路通过ADC0808芯片采样输入口IN0IN3输入的05 V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道OUT0OUT7传送给AT89C51芯片的P0.0和P0.7口。AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1.0P1.2口传送给数码管,由数码管显示各路的模拟电压值。图10 总

14、体电路图3软件设计3.1程序设计总方案根据模块的划分原则,将该程序划分初始化模块,A/D转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图11所示。图11 主程序框图3.2 系统子程序设计3.2.1 初始化程序所谓初始化,是对将要用到的MCS-51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等转换子程序A/D转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元,其转换流程图如图12所示。图13 A/D转换流程图3.2.3 显示子程序子程序采用动态扫描实现四位数码管的

15、数值显示,在采用动态扫描显示方式时,要使得LED显示的比较均匀,又有足够的亮度,需要设置适当的扫描频率,当扫描频率在70HZ左右时,能够产生比较好的显示效果,一般可以采用间隔10ms对LED进行动态扫描一次,每一位LED的显示时间为1ms。在本设计中,为了简化硬件设计,主要采用软件定时的方式,即用定时器0溢出中断功能实现11s定时,通过软件延时程序来实现5ms的延时3.3程序设计根据以上分析,在Keil4编写控制程序如下所示。*includeunsigned char a16=0*3f,0*06,0*5b,0*4f,0*66,0*6d,0*7d,0*07,0*7f,0*6f,0*77,0*7c,0*39,0*5e,0*79,0*71,b4,c=0*01;sbit START=P24;sbit OE=P26;sbit EOC=P25;sbit add_a=P22;sbit add_b=P21;sbit add_c=P20;sbit led=P27;sbit buzzer=P23;void Delay1ms(unsigned int count); unsigned int i,j;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号