基于单片机的高精度数字电压表设计

版权申诉
0 下载量 167 浏览量 更新于2024-07-02 收藏 1.11MB DOCX 举报
该文档主要介绍了数字电压表单片机课程设计的项目,旨在通过实践让学生深入理解单片机及其在测量系统中的应用。设计目标包括提升学生的理论知识运用能力、计算技能以及实际操作经验。课程设计的核心是基于ADC0809MCS-5系列单片机的数字电压表,该表具备高精度测量电压的能力,尤其在现代电子技术中对于高精度电压测量的需求日益增长。 设计的关键部分包括系统总体设计和硬件实现。系统总体设计要求针对传统模拟电压表的局限性,如精度低、体积大、易导致视觉疲劳等问题,提出了数字化解决方案,强调了数字化测量技术的优势,如读数准确、精度高、易于显示等。设计采用AT89C52单片机作为核心,通过ADC0809模数转换器将模拟电压信号转换为数字信号,再由单片机进行处理和显示,这既体现了单片机技术的灵活性,又降低了设计成本。 硬件设计部分详细列出了所需的主要元件,如STC89C52单片机、4位8段数码管用于显示电压值,ADC0809作为模数转换器,以及电阻(RES)、电容(CAP和CAP-ELEC)等用于信号调理和滤波。电源和接地电路确保系统稳定运行,而POT-LOG可能是一种可调电阻,用于调整测量范围或灵敏度。 然而,单片机系统的复杂性也不容忽视,需要外设元件来构成外围电路,这可能导致系统可靠性较低、抗干扰能力差,同时功耗较高。设计者需要权衡硬件的复杂性和性能,以达到最佳的系统设计。 通过这个课程设计,学生将不仅掌握数字电压表的具体硬件和软件实现,还将学习到单片机编程、模拟信号处理、数字信号转换、电路设计和系统集成等多方面的技能,这些都是电子工程领域的重要基础。
2023-02-27 上传
目 录 1 引言 1 2设计原理及要求 2 2.1数字电压表的实现原理 2 2.2数字电压表的设计要求 2 3软件仿真电路设计 3 3.1设计思路 3 3.2仿真电路图 3 3.3设计过程 4 3.4 AT89C51的功能介绍 4 3.4.1简单概述 4 3.4.2主要功能特性 5 3.4.3 AT89C51的引脚介绍 5 3.5 ADC0808的引脚及功能介绍 7 3.5.1芯片概述 7 3.5.2 引脚简介 8 3.5.3 ADC0808的转换原理 8 3.6 74LS373芯片的引脚及功能 9 3.6.1芯片概述 9 3.6.2引脚介绍 9 3.7 LED数码管的控制显示 9 3.7.1 LED数码管的模型 9 3.7.2 LED数码管的接口简介 10 4系统软件程序的设计 10 4.1 主程序 10 4.2 A/D转换子程序 11 4.3 中断显示程序 12 5电压表的调试及性能分析 13 5.1 调试与测试 13 5.2 性能分析 14 6电路仿真图 14 7总结 15 参考文献 16 附录1 源程序 17 附录2 仿真原理电路 23 1 引言 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一 块芯片上同时集成CPU、存储器、定时器/计数电路,这就很容易将计算机技术与测量控 制技术结合,组成智能化测量控制系统。 数字电压表(DigitalVoltmeter)简称DVM,它是采用数字化测量技术,把连续的模 拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。与此同时, 由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新 水平。本章重点介绍单片机A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试 系统等智能化测量领域,示出强大的生命力理。 本设计AT89C51单片机的一种电压测量电路,该电路采用ADC0808一种基于A/D转换电路 ,测量范围直流 0~5V 的4路输入电压值,并在四位LED数码管上显示或单路选择显示。测量最小分辨率为0.01 9V,测量误差约为正负0.02V。 2设计原理及要求 此次设计思路是利用单片机AT89C51与ADC0808设计一个数字电压表,测量0-5V之间 的直流电压值,然后通过四位数码显示,为了设计简单化我使用的元器件数目较少。 2.1数字电压表的实现原理 ADC0808是8位的A/D转换器。当输入电压为5.00V时,输出的数据值为255(0FFH), 因此最大分辨率为0.0196(5/255)。ADC0808具有8路模拟量输入端口,通过3位地址输 入端能从8路中选择一路进行转换。如每隔一段时间依次轮流改变3位地址输入端的地址 ,就能依次对8 路输入电压进行测量。LED数码管显示采用软件译码动态显示。通过按键选择可对8路循 环显示,也可单路显示,单路显示可通过按键选择显示的通道数。 2.2数字电压表的设计要求 可以测量0~5V范围内的3路直流电压值。在4位LED数码管上轮流显示各路电压值或单 路选择显示,其中3位LED数码管显示电压值,显示范围为0.00V~5.00V,1位LED数码管 显示路数,3路分别为0-2。要求测量的最小分辨率为0.02V。 3软件仿真电路设计 3.1设计思路 多路数字电压表应用系统硬件电路由单片机、A/D转换器、数码管显示电路和按键处 理电路组成,由于ADC0808在进行A/D转换时需要有CLK信号,本试验中ADC0808的CLK直接 由外部电源提供为500kHz的方波。由于ADC0808的参考电压VREF=VCC,所以转换之后的 数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/256*VREF) ADC0808采用逐次逼近法转换,把模拟电压转换成16进制的D,由于是对直流电压0~5V进 行采集,所以D对应的电压为V0 ,我们的目的就是要把V0显示在LED显示器上,因为单片 机不好进行小数点计算,所以有:V0=2*D扩大了100倍,扩大100倍后的结果高八位放寄 存器B,低八位放寄存器A,分寄存器B为0或不为0的情况进行存取数据,得到的结果个位 放入R0,十位放入R1,通过查表使之显示在LED显示器。 3.2仿真电路图 用Protues软件仿真设计的电路如图3-1所示。 图3-1 仿真电路 3.3设计过程 简易数字电压测量电路由A/D转换、数据处理及显示控制等组成。电路原理图见附录 2。A/D转换由集成电路0808完成。0808具有8路模拟输入端口,地址(23- 25)脚可决定对哪路模拟输入作A/D转换,22脚为地址锁存控制,当输入为高电平时,对 地址信号进行锁存。6脚为