基于单片机的电压表设计
- 格式:doc
- 大小:2.19 MB
- 文档页数:28
基于51单片机的直流数字电压表设计概述:直流数字电压表是一种用于测量直流电压的仪器,它通过将电压信号转换为数字形式,并显示在数码管上,实现对电压的准确测量。
本文将介绍基于51单片机的直流数字电压表的设计原理和实现方法。
一、设计原理:1.1 电压信号采集:直流数字电压表的第一步是采集待测电压信号。
常用的采集方法是使用一个分压电路将待测电压降低到合适的范围,再通过运算放大器将其放大到合适的电平。
51单片机的模拟输入引脚可以接受0-5V的模拟电压信号,因此可以直接将放大后的信号接入单片机进行采集。
1.2 模数转换:采集到的模拟电压信号需要经过模数转换(A/D转换)才能被单片机读取和处理。
51单片机内部集成了一个10位的A/D转换器,可以将输入的模拟电压转换为相应的数字量。
通过设置不同的参考电压和采样精度,可以实现对不同电压范围的准确测量。
1.3 数码管显示:经过模数转换后,得到的数字量需要通过数码管进行显示。
51单片机的IO口可以通过控制段选和位选的方式,将数字量转换为相应的数码管显示。
可以根据需要选择常用的七段数码管或者液晶显示屏进行显示。
二、设计实现:2.1 硬件设计:硬件设计包括电路原理图设计和PCB布局设计两个部分。
电路原理图设计主要包括电压采集电路、运算放大器、A/D转换器和数码管驱动电路等部分。
PCB布局设计需要考虑信号的走线和电源的分布,以保证电压信号的准确采集和显示。
在设计过程中,需要注意地线和信号线的分离,以减少干扰。
2.2 软件设计:软件设计主要包括单片机的程序编写和调试。
首先需要编写采集模拟电压信号和进行A/D转换的程序,将转换后的数字量存储在单片机的内部存储器中。
然后编写数码管驱动程序,将存储的数字量转换为相应的数码管显示。
最后,通过按键或者旋转编码器等方式,可以实现对量程和精度的选择。
三、设计优化:3.1 精度优化:为了提高直流数字电压表的测量精度,可以采用更高精度的A/D转换器,增加参考电压的精度,或者通过校准电路对测量误差进行校正。
基于单片机的数字电压表设计一、引言在电子测量领域中,电压表是一种常用的测量仪器,用于测量电路中的电压值。
传统的模拟电压表由于精度低、读数不便等缺点,逐渐被数字电压表所取代。
数字电压表具有精度高、读数直观、抗干扰能力强等优点,广泛应用于工业自动化、电子设备检测、实验室测量等领域。
本文将介绍一种基于单片机的数字电压表设计方案,详细阐述其硬件电路设计、软件编程实现以及系统性能测试。
二、系统总体设计方案(一)设计要求设计一款基于单片机的数字电压表,能够测量 0 5V 的直流电压,测量精度为 001V,具有实时显示测量结果的功能。
(二)系统组成本数字电压表系统主要由以下几个部分组成:1、传感器模块:用于将输入的电压信号转换为适合单片机处理的电信号。
2、单片机模块:作为系统的核心,负责对传感器采集到的数据进行处理和计算,并控制显示模块显示测量结果。
3、显示模块:用于实时显示测量的电压值。
三、硬件电路设计(一)传感器模块选用 ADC0809 作为模数转换芯片,它具有 8 个模拟输入通道,可以将 0 5V 的模拟电压转换为 8 位数字量输出。
(二)单片机模块选择 AT89C51 单片机作为控制核心,它具有 4K 字节的 Flash 程序存储器和 128 字节的随机存取数据存储器。
(三)显示模块采用液晶显示屏(LCD1602)作为显示器件,它能够清晰地显示数字和字符信息。
四、软件编程实现(一)编程语言选择使用 C 语言进行编程,C 语言具有语法简洁、可移植性强等优点。
(二)主程序流程主程序首先进行系统初始化,包括单片机端口初始化、LCD1602 初始化、ADC0809 初始化等。
然后启动 ADC0809 进行模数转换,读取转换结果并进行数据处理,计算出实际的电压值。
最后将电压值发送到 LCD1602 进行显示。
(三)模数转换子程序ADC0809 的转换过程通过控制其启动转换引脚(START)和读取转换结束引脚(EOC)来实现。
基于单片机的数字电压表设计一、背景介绍随着科技的发展,越来越多的人开始关注电压表。
电压表是一种测量电压的仪器,它可以根据检测到的电压值显示出相应的数字。
传统的电压表使用指针或指示灯来显示电压值,但这种方式会有很多限制,例如不能显示小于1V的电压值,对于高精度的测量也不能满足要求。
为了解决上述问题,本文提出了一种基于单片机的数字电压表设计方案。
二、基于单片机的数字电压表设计原理基于单片机的数字电压表设计采用单片机ADC(模数转换)模块来检测电压值,将检测到的电压值转换成数字值,然后通过LCD(液晶显示器)来显示。
该设计中需要使用一个模拟信号处理电路,它包括一个放大器、一个滤波器和一个参考电压电路。
放大器可以增加信号的幅值,以便更好地检测信号的电压值;滤波器可以削弱外部电磁干扰,以便更好地检测电压值;参考电压电路可以把外部电压转换为0-5V之间的电压,以便更好地检测电压值。
三、设计方案1.单片机:AT89S522.ADC模块:AD79053.放大器:LM3584.滤波器:LPF(低通滤波器)5.参考电压电路:LM3176.LCD显示器:12864四、设计步骤1. 利用LM358放大器和LPF滤波器对测量的电压值进行放大和滤波处理,以获得更精准的数据。
2. 利用LM317参考电压电路将放大后的电压值转换为0-5V的电压,以便更好地检测电压值。
3. 将转换后的电压值送入AD7905 ADC模块,将检测到的电压值转换成数字值。
4. 将转换后的数字值送入AT89S52单片机,并通过12864 LCD显示器将检测到的电压值显示出来。
五、总结本文提出了一种基于单片机的数字电压表设计方案,主要采用单片机ADC模块来检测电压值,并将检测到的电压值转换为数字值,然后通过LCD显示器显示出来。
该设计方案可以满足各种电压测量要求,具有良好的精度和可靠性。
基于单片机的数字电压表的课程设计一、引言在电子测量领域,电压表是一种常见且重要的测量工具。
传统的模拟电压表存在精度低、读数不直观等缺点,而数字电压表则凭借其高精度、高稳定性和直观的数字显示等优势,在电子测量中得到了广泛的应用。
本课程设计旨在基于单片机设计一款数字电压表,以实现对直流电压的准确测量和数字显示。
二、设计要求1、测量范围:0 5V 直流电压。
2、测量精度:优于 01V 。
3、显示方式:四位数码管显示。
4、具备超量程报警功能。
三、系统总体设计本数字电压表系统主要由单片机最小系统、A/D 转换模块、数码管显示模块和报警模块组成。
单片机最小系统作为控制核心,负责整个系统的运行和数据处理。
A/D 转换模块将输入的模拟电压转换为数字量,供单片机读取。
数码管显示模块用于显示测量的电压值。
报警模块在测量电压超过设定范围时发出报警信号。
四、硬件设计1、单片机最小系统选用 STC89C52 单片机,其具有性能稳定、价格低廉等优点。
最小系统包括单片机芯片、晶振电路和复位电路。
2、 A/D 转换模块采用 ADC0809 芯片进行 A/D 转换。
ADC0809 是 8 位逐次逼近型A/D 转换器,具有 8 个模拟输入通道,能够满足本设计的需求。
3、数码管显示模块使用四位共阳极数码管进行电压显示。
通过单片机的 I/O 口控制数码管的段选和位选,实现数字的显示。
4、报警模块采用蜂鸣器作为报警元件,当测量电压超过 5V 时,单片机输出高电平驱动蜂鸣器发声报警。
五、软件设计软件部分主要包括主程序、A/D 转换子程序、数据处理子程序和显示子程序等。
1、主程序负责系统的初始化,包括单片机端口设置、A/D 转换器初始化等。
然后循环调用 A/D 转换子程序、数据处理子程序和显示子程序,实现电压的测量和显示。
2、 A/D 转换子程序控制 ADC0809 进行 A/D 转换,并读取转换结果。
3、数据处理子程序将 A/D 转换得到的数字量转换为实际的电压值,并进行精度处理。
任务书摘要本文介绍了基于89c51单片机的一种8路输入电压测量电路,该电路采用ADC0809作为A/D转换元件,测量范围0至5伏,小数点后显示一位。
要求能够依次显示每路通道电压,而且能够通过拨码开关选择输入通道。
使用3位LED 模块显示,前面一位显示通道号,后面两位显示测量电压值。
本系统主要包括四大模块:数据采集模块、控制模块、显示模块、A/D转换模块。
绘制电路原理图与工作流程图,并进行调试,最终设计完成了该系统的硬件电路。
在软件编程上,采用了汇编语言进行编程,开发环境使用WAVE集成开发环境。
开发了显示模块程序、通道切换程序、A/D转换程序。
关键词:ADC0809;A/D转换;LED显示目录1 方法论证 (5)1.1 系统的设计任务 (5)1.2 设计方案 (5)1.3 软硬件开发环境 (6)2 数字电压表硬件设计 (7)2.1 单片机主电路设计 (7)2.1.1 复位电路 (7)2.1.2 晶振电路 (7)2.2 测量、转换电路设计 (8)2.3 按键电路设计 (9)2.4 显示电路设计 (10)2.4.1 LED数码管构成 (10)2.4.2 显示方式 (11)3 软件设计 (14)3.1 主程序设计 (14)3.1.1 工作流程 (14)3.1.2 存储空间定义安排 (15)3.2 模块程序设计 (15)3.2.1 A/D转换测量程序 (15)3.2.2 显示程序 (16)4 系统调试与分析 (18)4.1 调试内容及问题解决 (18)4.2 系统进一步改进方案 (18)附录1:硬件原理图 (20)附录2:程序清单 (21)参考文献 (24)1 方法论证1.1 系统的设计任务设计单片机主电路、数据采集接口电路、LED显示电路、拨码控制电路,能够实现对8路电压值进行测量,能够显示当前测量通道号及电压值,电压精度小数点后1位,可以通过键盘选择循环显示8路的检测电压值和指定通道的检测电压值。
1.2 设计方案将数据采集接口电路输入电压传入ADC0809数模转换元件,经转换后通过D0至D7与单片机P0口连接,把转换完的模拟信号以数字信号的信号的形式传给单片机,信号经过单片机处理从LED数码显示管显示。
目录1. 设计背景 02. 系统总体方案设计 03. 系统硬件电路的设计 (1)3.1 系统控制器的设计 (1)3.2 电压数据采集模块 (3)3.3 LCD1602显示电路 (4)3.4 按键设置模块 (5)3.5 报警电路模块 (6)3.6 上位机通信模块 (6)3.7 温度采集模块 (7)4. 软件电路设计 (7)4.2 量程自动切换子程序流程图 (8)4.3 A/D转换子程序流程图 (9)4.4 温度测量子程序流程图 (10)心得体会 (11)参考文献 (12)附录 (13)基于单片机的电压表设计1. 设计背景随着科学技术的发展,人们对宏观和微观世界逐步了解,越来越多的微弱信号需要被检测,例如:弱磁、弱光、微震动、小位移、心电、脑电等。
测控技术发展到现在,微弱信号检测技术已经相对成熟,基本上采用以下两种方法来实现:一种是先将信号放大滤波,再用低或中分辨率的ADC进行采样,转化为数字信号后,再做信号处理,另一种是使用高分辨率ADC,对微弱信号直接采样,再进行数字信号处理。
两种方法各有千秋,也都有自己的缺点。
前一种方法,ADC要求不高,特别是现在大部分微处理器都集成有低或中分辨率的ADC,大大节省了开支,但是增加了繁琐的模拟电路。
后一种方法省去了模拟电路,但是对ADC性能要求高,虽然∑-△ADC发展很快,已经可以做到24位分辨率,价格也相对低廉,但是它是用速度和芯片面积换取的高精度,导致采样率做不高,特别是用于多通道采样时,由于建立时间长,采样率还会显著降低,因此,它一般用于低频信号的单通道测量,满足大多数的应用场合。
在对采样精度要求不断提升的情况下,科技工作者也在其他方面对智能仪表的发展提出了新的要求,如:良好的人机界面、数据存储和通讯、阈值报警和较低的功耗等,同时还要求仪表具有较高的性价比。
本文主要设计的是基于单片机的量程自动选择的电压表的设计。
用来精确地采集不同等级的电压表。
数字电压表是采用数字化测量技术,把连续的量输入电压转换成不连续离散的数字化形式并加以显示的仪表作为现代电子测量中最基础与核心的一种测量仪器,对其测量精度和功能要求也越来越高,由于电压测量范围广特别是在微电压高电压及待测信号强弱相差极大情况下,既要保证弱信号测量精度又要兼顾强信号的测量范围,传统的手动转换量程的电压表在测量技术上有一定难度同时若量程选择不当不但会造成测量精度下降甚至损坏仪表。
基于单片机的简易数字电压表设计随着电子技术的迅猛发展,数字电压表在实验室、工业和日常生活中的应用越来越广泛。
本文将详细介绍基于单片机的简易数字电压表的设计过程,包括系统设计思路、硬件选型、软件实现以及调试过程。
设计一个简易数字电压表的目标是实现对直流电压的实时测量,并将其以数字形式显示。
该系统的核心是单片机,它负责数据采集、处理及结果显示。
选用单片机的原因在于其体积小、成本低、易于编程等优点。
在硬件设计方面,系统主要由输入电路、单片机、显示模块和电源模块组成。
输入电路的作用是将待测电压信号转化为单片机可处理的电信号。
一般采用分压电路,通过电阻分压的方法,将高电压降低至单片机的可接受范围。
还需考虑输入电压的范围,以确保测量精度和系统安全。
选用的单片机需具备一定的模拟输入功能,以便对电压进行采样。
常用的单片机型号有51系列、AVR系列及STM32系列等,其中STM32系列因其较高的性能和丰富的外设而受到广泛关注。
在设计中,应根据具体需求选择合适的单片机,并进行必要的引脚配置。
显示模块的选择是系统设计的重要环节,常用的有液晶显示屏(LCD)和七段数码管。
液晶显示屏具有显示内容丰富、可视角度广等优势,但其功耗相对较高。
而七段数码管则以其简洁明了的特性广泛应用于数字电压表中。
在本设计中,建议使用LCD显示模块,以便于显示多位数值及相关信息。
电源模块的设计需确保系统的稳定运行。
一般采用稳压电源,为单片机及其他外设提供稳定的电压供应。
需考虑电源的功耗及散热问题,确保系统在长期工作中不会出现故障。
数据处理模块是整个系统的核心,其主要任务是将采集到的模拟电压信号转换为相应的数字值。
可采用模数转换(ADC)技术,将模拟信号转换为数字信号,并进行必要的线性化处理。
处理过程中,应考虑量化误差及噪声对测量结果的影响。
数据显示模块负责将处理后的电压值通过LCD显示出来。
在这一过程中,需要对显示内容进行格式化,以确保信息的清晰易读。
目录第1章引言 (1)1.1设计要求 (1)1.2 设计思路 (2)1.3 设计方案 (2)第2章硬件电路设计 (1)2.1 A/D转换模块 (1)2.2 单片机系统 (5)2.3 复位电路和时钟电路 (7)2.4 LED显示系统设计 (8)2.5 总体电路设计 (10)第3章程序设计 (1)3.1 程序设计总方案 (1)3.2 系统子程序设计 (1)第4章仿真与调试 (1)4.1 软件调试 (1)4.2 显示结果及误差分析 (1)结论 (1)参考文献 (1)致谢 (1)附录:程序代码 (1)第1章引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。
而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。
数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。
由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。
传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。
采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。
数字电压表是诸多数字化仪表的核心与基础[2]。
以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。
目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。
最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型。
数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC 化),另一方面,精度也从0.01%-0.005%。
基于at89c51单片机的数字电压表的设计数字电压表是一种常见的电子测量仪器,它可以用来测量电路中的电压大小。
在本文中,我们将介绍一种基于at89c51单片机的数字电压表的设计。
一、设计原理数字电压表的设计原理是基于模数转换器(ADC)的工作原理。
ADC是一种将模拟信号转换为数字信号的电路。
在数字电压表中,ADC将输入的模拟电压信号转换为数字信号,然后通过单片机进行处理和显示。
二、硬件设计数字电压表的硬件设计包括电路图和PCB布局。
电路图包括电源电路、ADC电路、单片机电路和显示电路。
PCB布局是将电路图转换为实际的电路板。
1. 电源电路数字电压表的电源电路需要提供稳定的直流电源。
在本设计中,我们使用了7805稳压器来提供5V的直流电源。
2. ADC电路ADC电路是将输入的模拟电压信号转换为数字信号的关键。
在本设计中,我们使用了AD0804芯片作为ADC电路。
AD0804是一种8位的串行输出ADC,它可以将输入的模拟电压信号转换为8位的数字信号。
3. 单片机电路单片机电路是数字电压表的核心部分。
在本设计中,我们使用了at89c51单片机作为控制器。
单片机通过串行通信接收ADC输出的数字信号,并进行处理和显示。
4. 显示电路显示电路是将单片机处理后的数字信号转换为实际的电压值并显示出来的部分。
在本设计中,我们使用了4位7段LED数码管作为显示器。
三、软件设计数字电压表的软件设计包括单片机程序和PC端程序。
单片机程序是控制器的核心部分,它通过串行通信接收ADC输出的数字信号,并进行处理和显示。
PC端程序是用来控制数字电压表的参数和显示的。
1. 单片机程序单片机程序主要包括串行通信、ADC转换和数码管显示三个部分。
串行通信是单片机和ADC之间的通信方式,它通过SPI协议进行通信。
ADC转换是将输入的模拟电压信号转换为数字信号的部分。
数码管显示是将单片机处理后的数字信号转换为实际的电压值并显示出来的部分。
基于单片机的数字电压表设计数字电压表在电子技术中使用非常广泛,可以用来测量电路中的直流电压、交流电压以及各种信号的幅度等等。
基于单片机的数字电压表实现了数字电压的读取和显示,具有精确、稳定、易操作等特点,下面将介绍基于单片机的数字电压表的设计原理及实现方法。
一、系统结构基于单片机的数字电压表主要是由程序控制模块、模数转换模块和数字显示模块组成。
程序控制模块主要用来完成开机、校准、测试、功能选择等功能;模数转换模块主要将电压信号转换成数字量,供数字显示模块使用;数字显示模块主要将转换后的数字量显示在LCD液晶屏上。
二、硬件设计1.电源电路电源电路主要用来为电路提供稳定的电压和电流,本电路采用稳压电源芯片LM7805实现,稳压芯片输入端连接外部DC12V/1A电源,输出端连接电路板上的整个电路。
2.输入电路输入电路主要用来将被测电源的电压传递给单片机,常规情况下采用分压电路实现。
在本电路中,电阻R1和电容C1为RC滤波电路,起到滤波作用,防止干扰信号的影响;电阻R2是分压电路中的电阻,它根据电压值的不同设置不同的值,以保证被测电压在单片机内部转换过程中不会对单片机产生影响。
3.单片机模块单片机模块是系统的核心部分,本电路中选用STM32F103C8T6单片机实现模数转换和数码管控制,使用C 语言编写程序,通过模拟输入端口读取电压并进行模数转换,将得到的数字使用查表法将其转换为数码管控制脉冲,控制数码管的亮灭实现数字显示。
4.数字显示模块数字显示模块主要由七段数码管、LCD液晶屏幕、导线和电容等器组成,七段数码管用于展示测量到的电压大小,LCD 液晶屏用于展示功能选项、单位等信息。
导线是电路板内部连接线路,电容等器用来平滑电压波动。
三、软件设计1.引脚定义在程序中首先定义STM32F103C8T6单片机内存地址、输入输出引脚和电平状态,其中A0口用来读取被测电压;B0-B7口用来控制七段数码管的亮灭;C0口用来输出PWM,控制风扇的旋转速度;D0口用来控制蜂鸣器的开启和关闭。
绵阳师范学院本科生毕业设计(论文)题目基于单片机的数显电压表设计专业电子信息科学与技术院系物理与电子工程学院学号 1009030231 姓名胡云鹏指导教师周功明副教授答辩时间二○一四年五月论文工作时间:2013年11月至2014年 5 月基于单片机的数显电压表设计学生:胡云鹏指导教师:周功明摘要:本次毕业论文设计是有关AT89S51的数显电压表。
本次设计的关于51单片机的数显电压表主要包含三个部分:数据处理模块、A/D转换模块以及显示模块。
ADC0809完成A/D转换,通过把收集到的模拟量转换为相对应的数字量然后再传送到数据处理模块。
51单片机完成该电路系统的数据处理过程,ADC0809产生的数据也是由51单片机处理的,并把处理后生成的东西送到数码管上显示。
除此之外,ADC0809的正常工作还要受到51单片机的控制。
本次毕业论文的数显电压表电路设计相对简单,使用成本低,元件少,其测量精度与可靠性还是比较高的。
本次设计最终能够实现的功能是可以对输入的在0-5V之间的电压进行测量,并把测量得到的结果通过数码管显示。
关键词:51单片机;数字电压表;模数转换器;ADC0809 ;AT89S51Design of Digital Voltmeter Based on MicroprocessorUndergraduate:HuYunPengSupervisor:ZhouGonMinAbstract: This paper which introduces a kind of simple digital voltmeter is based on single-chip microcontroller design. The circuit of the voltage meter is mainly consisted of three mould pieces: Data processing module,A/D converting module and Display module, A/D converting is mainly completed by the ADC0809, it converts the collected analog data into the digital data and transmits the outcome to the manifestation controlling mould piece. Data processing is mainly completed by the AT89S51 chip, it processes the data produced by the ADC0809 chip and generates the right manifestation codes, also transmits the codes to the manifestation controlling mould piece. Also, the AT89S51 chip controls the ADC0809 chip to work.The voltmeter features in simple electrical circuit, lower use of elements, low cost, moreover, its measuring precision and reliability. The voltmeter is capable of measuring voltage inputs from 0 to 5 volt, and displaying the measurements through a digital code tube.Keywords: 51Single-chip microcontroller; Digital voltmeter; A/D converter; ADC0809; AT89S51目录1 引言 (1)2 设计总体方案 (1)2.1 设计要求 (1)2.2 设计思路 (1)2.3 设计方案 (1)3 硬件电路设计 (2)3.1 A/D转换模块 (2)3.1.1 有关逐次逼近型的A/D转换器的原理 (2)3.1.2 ADC0809主要特性 (2)3.1.3 ADC0809的外部引脚特征 (2)3.1.4 ADC0809的内部结构及工作流程 (3)3.2 单片机系统 (4)3.2.1 AT89S51性能 (4)3.2.2 AT89S51各引脚功能 (4)3.3 复位电路和时钟电路 (6)3.3.1 复位电路设计 (6)3.3.2 时钟电路设计 (6)3.4 LED显示系统设计 (7)3.4.1 LED基本结构 (7)3.4.2 LED显示器的选择 (7)3.4.3 LED译码方式 (8)3.4.4 关于单片机与数码管的接口设计 (8)3.5 总体电路设计 (9)4 程序设计 (10)4.1 程序设计总方案 (10)4.2 系统子程序设计 (11)4.2.1 初始化程序 (11)4.2.2 A/D转换子程序 (11)4.2.3 显示子程序 (12)5结论 (13)5.1显示结果及误差分析 (13)5.1.1 显示结果 (13)5.1.2 误差分析 (15)总结 (16)参考文献 (17)致谢 (18)附录一 C语言程序代码 (19)附录二元件清单 (21)附录三总原理图 (22)附录四实物图 (23)1 引言21世纪是一个飞速发展的时期,在科学技术不断发展的同时,在我们的电量的测量中,最基本最重要的就是关于电压的测量。
那么DVM是什么呢,通过查找相关资料我们知道DVM其实也就是数字电压表的简称,所谓数字电压表也就是把连续的量变成不连续的量,把模拟的量变成离散的量并加以显示的一种应用仪器[1]。
我们知道传统的指针式刻度电压表它的精度很低,所以就容易引起误差,那么就不能满足科学技术快速发展的需要。
但是我们发现用单片机设计的数显电压表,具有精度高、集成方便、还可与PC实时通信等优点。
因此基于以上特点,我们对关于单片机和A/D转换器构成的数显电压表的了解就是很有必要的了。
我本次毕业设计设计的就是关于51单片机的数显电压表。
2 设计总体方案2.1 设计要求⑴51单片机是核心控制元件件,设计一个能够测量直流电压的电压表。
⑵本次设计最终要达到的目标就是可以测量0到5V之间的直流电压。
⑶用数码管显示结果,精度至少为0.01,而且所用元件尽量少。
2.2 设计思路⑴本设计电路中的51单片机是作为核心的控制元件的。
⑵ADC0809实现模数转换。
⑶数码管显示结果。
2.3 设计方案我的设计的硬件电路由6个部分组成,具体的设计框图如下[2]:图1硬件框图3 硬件电路设计3.1 A/D转换模块所谓A/D转换也就是模数转换,是把外部输入的模拟量转换为与之相对应的数字量,关于模数转换的类型一般有逐次逼近型,双重积分型等等[3]。
它们各自都具有各自的特点和优势,比如说其中的双积分式模数转换就是具有转换精度高、价格便宜等优点,这两种类型的模数转换都在日常的生活中被大量的使用。
我们知道一个n位的逐次逼近型模数转换器比较n次就可以得到结果,所以它的转换速度就很快,故实际中经常使用的就是逐次逼近型模数转换器[4]。
3.1.1 有关逐次逼近型的A/D转换器的原理A/D转换器转换过程的具体情况就是,在开始工作的时候,寄存器先把它的各位清零,在转换的时候,就是最高位先置1,然后把相应数据送入模数转换器转换,再把转换得到的结果与输入的模拟量二者进行比较,若转换值比输入值小,保留1,反之,不保留,然后再从第二位开始上诉过程不断重复一直到顺序的比较到最低位时才结束,这个时候在寄存器中的值就是对应的二进制数字量[5]。
原理框图如图2所示:图2 模数转换器原理图3.1.2 ADC0809主要特性本次毕业设计就是采用的ADC0809芯片作为模数转换的,它自身带有可锁存三态输出,而且它的输出与TTL是兼容的,还有一个特点就是这块芯片的分辨率还是比较高的,此外,该芯片的转换精度可以达到0.2%,还是比较精准的了,还有该芯片的输入电压的范围应该是在0到+5V之间,而且最重要的是该芯片具有低功耗,它的功耗大约是15mW[6]。
当然,该型号的芯片还具有很多的特点和优势,都可以通过查找相关的资料得到,所以我在这里就不再一一列举了。
3.1.3 ADC0809的外部引脚特征查找相关资料发现ADC0809共有28条引脚,而且它的封装是采用双列直插式的,该芯片具体的引脚图如下:图3 ADC0809的引脚图关于ADC0809的相关引脚的具体情况,可以通过查找有关资料得到,在此就不具体介绍了。
我们通过资料可以发现ADC0809芯片的23,24,25这三个管脚是3位地址输入线,它们的功能就是用来选择8路模拟输入中的一路,而具体该选择那一路,对应的就得出了一张表格,通过这张表格我们就可以通过编程来选择不同的通道,这样就能得到自己需要的结果,关于ADC0809芯片的3位地址输入线的对应关系如下表所示:表1 ADC0809通道选择表3.1.4 ADC0809的内部结构及工作流程ADC0809的内部结构如下[7]:图4 ADC0809内部结构通过观察上面的ADC0809这块芯片的内部结构图我们可以发现,所谓的ADC0809芯片的内部结构其实也就是由4个主要的部分组成的。
其中的模数转换器这个部分是由比较器,定时和控制,逐次逼近寄存器和开关树型D/A构成的。
我们先把模拟量通过IN0到IN7这8个管脚引入ADC0809芯片中,经过该芯片在它的内部把输入的模拟量转换成相应的数字量以后再从它的D0到D7这8个管脚把相应的数字量输出。
3.2 单片机系统3.2.1 AT89S51性能经过在网上查找相关的资料我发现AT89S51这个型号的单片机具有很多的功能和优点,它的主要的功能特点就是它是具有128*8字节的内部RAM,还是能够满足在日常生活中的应用的,这块芯片的寿命是能1000次写/擦循环,这还是比较耐用的,还有一个优点就是它的数据保留的时间长达10年,这样就可以避免一些重要文件的丢失,除此之外,该型号的单片机还具有5个中断源,它的这些特点都大大的简化了我们的编程工作,而且该型号的芯片还自带片内震荡器,这样就可以不用外接震荡器了,这样不但省了买元件的钱而且还简化了硬件电路,既方便又实用,当然,关于51单片机的特点和优势还有很多很多,现在的网络信息十分发达,所以关于这个型号的单片机的这些优点和性能我们都可以通过网络查询得到,因此,在这里我就不对它的特点一一列举了[8]。