数字电压表_单片机
基于单片机的数字电压表设计
基于单片机的数字电压表设计一、引言在电子测量领域中,电压表是一种常用的测量仪器,用于测量电路中的电压值。
传统的模拟电压表由于精度低、读数不便等缺点,逐渐被数字电压表所取代。
数字电压表具有精度高、读数直观、抗干扰能力强等优点,广泛应用于工业自动化、电子设备检测、实验室测量等领域。
本文将介绍一种基于单片机的数字电压表设计方案,详细阐述其硬件电路设计、软件编程实现以及系统性能测试。
二、系统总体设计方案(一)设计要求设计一款基于单片机的数字电压表,能够测量 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)来实现。
基于89c51单片机的数字电压表设计
基于89c51单片机的数字电压表设计一、引言现代科技的进步使得电子技术在各个领域都得到广泛应用,其中电压测量作为电子测量技术的基本内容之一,在电力系统、工业自动化、仪表仪器、通信以及家用电器等浩繁领域中发挥着重要的作用。
而数字电压表则是电子测量技术的重要组成部分之一,其具有精度高、使用便利等特点,因而在实际应用中得到广泛的推广和应用。
二、设计原理本次设计的基于89c51单片机的数字电压表主要包含两个部分:模拟电路部分和数字电路部分。
1. 模拟电路部分模拟电路部分主要包括电源部分、电压信号放大部分和滤波部分。
在电源部分,使用线性稳压电源,保证系统的稳定性。
电压信号放大部分主要接受差分放大器放大输入信号,提高系统的灵敏度。
为了滤除输入信号中的高频噪声,滤波部分使用低通滤波器对信号进行滤波。
2. 数字电路部分数字电路部分主要由89c51单片机、ADC(模数转换器)、显示模块和按键模块组成。
89c51单片机作为主控制芯片,具有浩繁强大的功能,如高度集成、易编程、合理的存储空间等。
ADC模块的作用是将模拟电压信号转换为数字信号,以便单片机进行处理。
显示模块用于显示测量到的电压值,可以选择LED数码管、LCD液晶屏等方式进行显示。
按键模块则提供了对测量功能的开启和关闭,参数的调整等功能。
三、设计过程1. 模拟电路的设计模拟电路部分主要包括电源部分、电压信号放大部分和滤波部分。
电源部分接受线性稳压电源,通过变压器、整流电路和稳压电路得到所需的5V直流电源。
电压信号放大部分接受差分放大器,通过调整放大倍数,适应不同电压范围的测量。
滤波器部分接受低通滤波器,去除噪声干扰。
2. 数字电路的设计数字电路部分主要由89c51单片机、ADC、显示模块和按键模块组成。
起首进行单片机的编程,通过编程,设置ADC的工作方式、测量范围和采样频率等参数。
接着毗连ADC和单片机,通过串口通信的方式将转换后的数字信号传输给单片机。
再通过显示模块将测量到的电压值显示出来。
单片机数字电压表课程设计实验心得
单片机数字电压表课程设计实验心得在进行单片机数字电压表课程设计实验的过程中,我通过实践学习了单片机的基本原理、数字电压测量方法以及编程技巧。
这次实验对于我的学习和成长有着重要的意义,下面我将就此次实验的设计过程、实施情况以及心得体会进行详细总结。
一、设计过程1. 实验目标确定:在进行实验之前,我首先明确了实验的目标,即设计一个能够准确测量电压值并显示的数字电压表。
2. 硬件选择:根据实验要求,我选择了一块适合的单片机开发板作为硬件平台,并购买了一些必要的电子元件,如电阻、电容、显示屏等。
3. 电路设计:在实验开始之前,我进行了电路设计,包括模拟电路和数字电路。
模拟电路主要负责电压的采样和放大,数字电路则负责将采样到的电压值转化为数字信号,并将其显示在显示屏上。
4. 编程实现:在电路设计完成后,我开始进行编程实现。
通过学习单片机的编程语言和相关知识,我成功地将电路和单片机进行了连接,并编写了相应的程序代码。
在编程过程中,我主要使用了C语言来进行程序设计。
5. 测试和调试:在完成编程后,我对整个系统进行了测试和调试。
通过不断地调整参数和修改代码,最终成功实现了一个能够准确测量电压值并显示的数字电压表。
二、实施情况在实施实验的过程中,我遇到了一些困难和问题,但通过不断地学习和探索,我最终克服了这些困难,并成功完成了实验。
1. 硬件连接问题:在初次进行硬件连接时,我遇到了一些问题,如接线错误、元件损坏等。
但通过仔细阅读相关资料和请教老师同学,我逐渐解决了这些问题,并正确地完成了硬件连接。
2. 编程逻辑问题:在编程的过程中,我遇到了一些逻辑问题,导致程序无法正常运行。
但通过仔细分析和调试,我逐步找出了错误,并进行了修改和优化,最终实现了预期的功能。
3. 测试与验证:在完成编程后,我进行了系统的测试和验证。
通过与示波器进行比对和对比实验结果,我发现我的数字电压表的测量结果与实际值非常接近,证明了实验的准确性和可行性。
51单片机的数字电压表设计不需要仿真
51单片机的数字电压表设计不需要仿真
摘要:
1.51单片机数字电压表设计简介
2.硬件电路组成及原理
3.软件程序设计要点
4.系统性能与应用
正文:
一、51单片机数字电压表设计简介
51单片机数字电压表设计是一种基于嵌入式技术的电子测量工具,具有体积小、精度高、操作简便等优点。
本设计以51单片机为核心,结合A/D转换器、显示模块等硬件,实现对输入模拟电压信号的采集、处理和显示。
二、硬件电路组成及原理
1.核心控制器:51单片机
2.A/D转换器:将模拟电压信号转换为数字信号
3.显示模块:采用共阳极数码管,实现数字电压值的显示
4.模拟量输入:电阻分压电路,可测量0-5V范围内的电压信号
三、软件程序设计要点
1.初始化:配置单片机的工作模式、时钟频率等参数
2.A/D转换:设置A/D转换器的工作模式,进行电压信号的采样和转换
3.数据处理:对A/D转换后的数字信号进行处理,如数据调整、滤波等
4.显示更新:根据处理后的数据,通过动态扫描显示技术更新数码管的显
示内容
5.循环检测:持续监测输入电压信号,实时更新显示
四、系统性能与应用
本设计的51单片机数字电压表具有以下特点:
1.测量范围:0-5V
2.精度:±1%
3.响应速度:≤100ms
4.电源:直流5V
广泛应用于工业生产、实验室测量、电子产品研发等领域,为工程师提供了一种高效、准确的电压测量解决方案。
通过以上介绍,我们可以了解到51单片机数字电压表的设计原理、硬件组成和软件程序设计方法。
在实际应用中,根据具体需求可以对电路和程序进行优化调整,提高系统的性能和稳定性。
基于单片机的简易数字电压表设计
基于单片机的简易数字电压表设计随着电子技术的迅猛发展,数字电压表在实验室、工业和日常生活中的应用越来越广泛。
本文将详细介绍基于单片机的简易数字电压表的设计过程,包括系统设计思路、硬件选型、软件实现以及调试过程。
设计一个简易数字电压表的目标是实现对直流电压的实时测量,并将其以数字形式显示。
该系统的核心是单片机,它负责数据采集、处理及结果显示。
选用单片机的原因在于其体积小、成本低、易于编程等优点。
在硬件设计方面,系统主要由输入电路、单片机、显示模块和电源模块组成。
输入电路的作用是将待测电压信号转化为单片机可处理的电信号。
一般采用分压电路,通过电阻分压的方法,将高电压降低至单片机的可接受范围。
还需考虑输入电压的范围,以确保测量精度和系统安全。
选用的单片机需具备一定的模拟输入功能,以便对电压进行采样。
常用的单片机型号有51系列、AVR系列及STM32系列等,其中STM32系列因其较高的性能和丰富的外设而受到广泛关注。
在设计中,应根据具体需求选择合适的单片机,并进行必要的引脚配置。
显示模块的选择是系统设计的重要环节,常用的有液晶显示屏(LCD)和七段数码管。
液晶显示屏具有显示内容丰富、可视角度广等优势,但其功耗相对较高。
而七段数码管则以其简洁明了的特性广泛应用于数字电压表中。
在本设计中,建议使用LCD显示模块,以便于显示多位数值及相关信息。
电源模块的设计需确保系统的稳定运行。
一般采用稳压电源,为单片机及其他外设提供稳定的电压供应。
需考虑电源的功耗及散热问题,确保系统在长期工作中不会出现故障。
数据处理模块是整个系统的核心,其主要任务是将采集到的模拟电压信号转换为相应的数字值。
可采用模数转换(ADC)技术,将模拟信号转换为数字信号,并进行必要的线性化处理。
处理过程中,应考虑量化误差及噪声对测量结果的影响。
数据显示模块负责将处理后的电压值通过LCD显示出来。
在这一过程中,需要对显示内容进行格式化,以确保信息的清晰易读。
单片机数字电压实训报告
一、实训目的1. 掌握单片机的基本原理和操作方法。
2. 学会使用单片机进行数字电压的测量。
3. 熟悉数字电压表的硬件电路设计和软件编程。
4. 提高动手实践能力和问题解决能力。
二、实训内容1. 数字电压表概述数字电压表(Digital Voltmeter,简称DVM)是一种将模拟电压信号转换为数字信号的测量仪器。
它具有测量精度高、读数直观、易于操作等优点,广泛应用于电子测量、工业自动化、科学研究等领域。
2. 硬件电路设计(1)单片机选型:选用AT89C51单片机作为核心控制器,具有丰富的片上资源,满足数字电压表设计需求。
(2)模数转换器(ADC)选型:选用ADC0809模数转换器,具有8路模拟输入端口,可实现8路电压信号的采集。
(3)电压输入电路设计:设计多路电压输入电路,包括电压分压、滤波等,确保输入电压信号稳定、准确。
(4)显示模块选择:选用LCD1602液晶显示屏,可实时显示采集到的电压值。
3. 软件设计(1)初始化程序:设置单片机工作模式、波特率、中断等参数,初始化ADC0809和LCD1602。
(2)ADC采集程序:通过单片机控制ADC0809进行电压信号的采集,将模拟电压信号转换为数字信号。
(3)数据处理程序:对采集到的数字电压信号进行处理,计算实际电压值。
(4)显示程序:将计算得到的电压值显示在LCD1602上。
4. 调试与测试(1)硬件调试:检查电路连接是否正确,元器件是否损坏,确保电路正常工作。
(2)软件调试:使用Keil软件进行程序编译、仿真和调试,确保程序运行正确。
(3)功能测试:通过实际测量,验证数字电压表的功能是否满足设计要求。
三、实训结果与分析1. 测量精度通过实际测量,数字电压表在0~5V范围内具有较高的测量精度,最小分辨率为0.019V,误差约为±0.02V。
2. 测量速度数字电压表具有较快的测量速度,可在短时间内完成电压信号的采集、处理和显示。
3. 稳定性和可靠性数字电压表电路设计合理,元器件选用合格,具有较强的稳定性和可靠性。
单片机课程设计报告数字电压表
单片机课程设课题名称:数字电压表课程原理:1、模数转换原理:试验中,我们选用ADC0809作为模数转换的芯片,其为逐次逼近式AD转换式芯片,其工作时需要一个稳定的时钟输入,根据查找资料,得到ADC0809的时钟频率在10KHZ~1200KHZ,我们选择典型值640KHZ。
课题要求测量电压范围是0到5V,又ADC0809的要求:V ref+<=Vcc,V ref->=GND,故我们取V ref+=+5V,V ref-=0V。
由于ADC0809有8个输入通道可供选择,我们选择IN0通道,直接使ADC0809的A、B、C接地便可以了,在当ADC0809启动时ALE引脚电平正跳变时变可以锁存A、B、C 上的地址信息。
ADC0809可以将从IN0得到的模拟数据转换为相应的二进制数,由于ADC0809输出为8位的二进制数,转换时将0到5V分为255等分,所以我们可以得到转换公式为x/255*5化简为:x/51,x为得到的模拟数据量,也就是直接得到的电压量。
在AD转换完成后,ADC0809将在EOC引脚上产生一个8倍于自身时钟周期的正脉冲,以此来作为转换结束的标志。
然后当OE引脚上产生高电平时,ADC0809将允许转换完的二进制数据输出。
2、数据处理原理:由ADC0809的转换原理可以知道我们从其得到数据还只是二进制数据,我们还需要进一步处理来的到x的十进制数,并且对其进行精度处理,也就是课题要求的的精确到小数点后两位,在这里我们用51单片机对数据进行处理。
我们处理数据的思路是:首先将得到的二进制数直接除以十进制数51,然后取整为x的整数部分,然后就是将得到的余数乘以10,然后再除以51,再取整为x的十分位,最后将得到的余数除以5得到x的百分位。
3、数据显示原理:试验中我们用到四位一体的七段数码管,所以我们只能考扫描显示来完成数码管对x的显示,我们用的是四位数码显示管,但是x只是三位的,故我们将将第四位显示为单位U,通过程序的延时,实现四位数码管的稳定显示。
单片机设计数字电压表
单片机设计数字电压表单片机设计数字电压表数字电压表是一种常见的电子测量仪器,它可以用来测量电路中的电压大小。
在本文中,我们将介绍如何使用单片机设计数字电压表。
单片机是一种集成电路,它可以用来控制电子设备的运行。
在数字电压表中,单片机可以用来读取电路中的电压值,并将其显示在数字显示屏上。
设计数字电压表的第一步是选择适当的单片机。
在本文中,我们将使用ATmega328P单片机。
这是一种常见的单片机,它具有多个输入/输出引脚和内置的模拟数字转换器(ADC)。
接下来,我们需要将电路连接到单片机上。
我们将使用一个电压分压器电路来将电路中的电压降低到单片机可以读取的范围内。
电压分压器电路由两个电阻组成,它们将电路中的电压分成两个部分,其中一个部分与单片机连接。
我们将使用10KΩ和1KΩ电阻来构建电压分压器电路。
接下来,我们需要编写单片机程序来读取电路中的电压值并将其显示在数字显示屏上。
我们将使用C语言编写程序,并使用Arduino开发环境来编译和上传程序。
程序将使用单片机的ADC模块来读取电路中的电压值,并将其转换为数字值。
然后,程序将使用数字显示屏库将数字值显示在数字显示屏上。
最后,我们需要将电路和单片机编程板连接起来,并上传程序到单片机。
我们可以使用USB编程器将程序上传到单片机。
在完成上述步骤后,我们就可以使用数字电压表来测量电路中的电压了。
我们只需要将电路连接到电压分压器电路中,然后将数字电压表连接到电压分压器电路中。
数字电压表将显示电路中的电压值。
总结单片机设计数字电压表是一项有趣的项目,它可以帮助我们了解单片机和电路设计的基础知识。
通过使用单片机和电路设计,我们可以构建各种各样的电子设备,从而实现我们的创意和想法。
单片机四位半数字电压表程序
单片机四位半数字电压表程序摘要:1.单片机四位半数字电压表的原理2.程序设计方法3.程序实现步骤4.程序应用实例正文:1.单片机四位半数字电压表的原理单片机四位半数字电压表是一种基于微处理器的数字电压表,它可以测量并显示输入电压的大小。
其主要原理是通过模拟- 数字转换器(ADC)将输入的模拟电压信号转换为数字信号,然后通过单片机进行处理并在显示器上显示。
四位半数字表示电压表可以显示最大值为9999,最小值为0.0001,测量精度较高。
2.程序设计方法设计单片机四位半数字电压表程序时,需要先确定硬件电路,包括电源、模拟- 数字转换器、显示器等部分。
接下来,根据硬件电路设计软件程序,主要包括以下几个步骤:(1)初始化:设置单片机的工作模式,初始化定时器、中断、ADC 等模块。
(2)读取电压值:使用ADC 模块将输入电压信号转换为数字值,并进行模数转换。
(3)程序处理:对读取到的电压值进行处理,如放大、滤波等,以提高测量精度。
(4)显示电压值:将处理后的电压值显示在显示器上。
3.程序实现步骤以下是一个简单的单片机四位半数字电压表程序实现步骤:(1)设置单片机工作模式:初始化单片机,设置工作模式,初始化定时器、中断、ADC 等模块。
(2)读取电压值:使用ADC 模块对输入电压信号进行模数转换,得到数字电压值。
(3)程序处理:对读取到的电压值进行处理,如放大、滤波等,以提高测量精度。
(4)显示电压值:将处理后的电压值显示在显示器上。
4.程序应用实例以下是一个简单的单片机四位半数字电压表程序应用实例:假设我们使用STC89C52 作为单片机,ADC0804 作为模拟- 数字转换器,12864 液晶显示器作为显示器。
(1)初始化:设置单片机工作模式,初始化定时器、中断、ADC 等模块。
(2)读取电压值:使用ADC 模块对输入电压信号进行模数转换,得到数字电压值。
(3)程序处理:对读取到的电压值进行处理,如放大、滤波等,以提高测量精度。
单片机数字电压表设计LED显示含C源代码
1. 绪论............................... 错误!未定义书签。
1.1 课程设计规定...................... 错误!未定义书签。
1.2 数字电压表简介.................... 错误!未定义书签。
2. 硬件单元电路设计................... 错误!未定义书签。
2.1数字电压表构造框图................. 错误!未定义书签。
2.1.1 AT89C51单片机简介............ 错误!未定义书签。
2.1.2 ADC0832转换器简介............ 错误!未定义书签。
2.1.3 时钟电路..................... 错误!未定义书签。
2.1.4 复位电路..................... 错误!未定义书签。
2.1.5 LED显示电路.................. 错误!未定义书签。
3. 软件单元电路设计................... 错误!未定义书签。
3.1 主程序流程图...................... 错误!未定义书签。
3.2显示子程序流程图................... 错误!未定义书签。
3.3 A/D转换子程序流程图............... 错误!未定义书签。
3.4 数据解决子程序流程图.............. 错误!未定义书签。
4. 数字电压表仿真设计图与实物图....... 错误!未定义书签。
4.1 仿真图............................ 错误!未定义书签。
4.2 器件清单.......................... 错误!未定义书签。
4.3 硬件电路实物图.................... 错误!未定义书签。
5. 程序代码.............................. 错误!未定义书签。
单片机数字电压表
1 引言单片机是指一个集成在一块芯片上的完整计算机系统。
尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。
同时集成诸如通讯接口、定时器,实时时钟等外围设备。
单片机具有体积小、功耗低、控制功能强等优点。
单片机作为微型计算机一个重要的分支,以它优异的控制功能,在工业控制、智能化仪器仪表系统等领域中日益显示着强大的生命力。
数字电压表(Digital V oltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
本次课程设计基于单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。
目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
本设计AT89C51单片机的一种电压测量电路,该电路采用ADC0808本文介绍一种基于A/D转换电路,测量范围直流0~5V 的8路输入电压值,并在四位LED数码管上显示或单路选择显示。
测量最小分辨率为0.019V,测量误差约为正负0.02V。
2 数字电压表的设计及方案2.1数字电压表概述数字电压表(Digital V oltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。
目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。
单片机数字电压表主控制模块工作原理
单片机数字电压表主控制模块工作原理单片机数字电压表的主控制模块是整个系统的核心,负责采集、处理和显示电压信息。
以下是其工作原理的详细解释:电压输入:外部电路将待测电压接入数字电压表系统。
这个电压可能来自各种测量对象,如电池、电源等。
电压分压:如果输入电压超出了单片机的工作范围,通常会使用电阻分压电路将电压降低到单片机可接受的范围内。
分压电路的设计需要考虑电阻值、稳定性和功耗等因素。
模拟信号采样:单片机通过其内部的模数转换器(ADC,Analog-to-Digital Converter)对分压后的模拟电压进行采样。
ADC将连续的模拟信号转换为相应的数字值,通常以二进制形式表示。
数字信号处理:单片机通过编程,对ADC采样得到的数字信号进行处理。
这可能包括对电压进行校准、滤波、数学运算等操作,以确保精准的电压测量结果。
显示控制:处理后的电压数值通过单片机的输出引脚连接到数字显示模块。
这个模块可能是LED、LCD等数字显示器,用于直观地显示电压数值。
用户界面和控制:主控制模块通常还包括用户界面和控制功能。
用户可以通过按键、旋钮或其他输入设备设置测量范围、选择显示单位等。
电源管理:主控制模块通常需要管理系统的电源。
这包括对电池电量的监测、低功耗设计等,以确保数字电压表的长时间可靠运行。
通信接口(可选):如果数字电压表具备通信功能,主控制模块可能还需要处理与外部设备的数据通信。
这可能包括串口通信、无线通信等。
总体而言,主控制模块在单片机数字电压表中扮演着核心角色,通过采集、处理和显示电压信息,为用户提供准确而便捷的电压测量结果。
其工作原理复杂,设计需要综合考虑电路设计、软件编程和用户交互等多个方面。
《单片机》教学课件数字电压表例程(C51)
读0809数据
delaynms(2); qianwei=0;
baiwei=1;
P1=table[bai]; delaynms(2); shiwei=1;
baiwei=0;
输出位码 输出段吗
P1=table[shi];
delaynms(2); sable[ge];
delaynms(2); gewei=0;
数字电压表例程
1
程序内容
一 二 三 四
初始化 0809转换 数据处理 七段动态显示
2
0809与单片机接口电路
3
源程序
#include <reg51.h>
#include <absacc.h> #include <intrins.h> #define uchar unsigned char
定义表数据 带小数点/不
while(j--) {for(i=0;i<250;i++) {_nop_(); _nop_(); _nop_(); _nop_(); } }
}
5
/**********显示函数************/
void display(uchar x)
{ unsigned int temp;
uchar ge,shi,bai,qian;
temp=x*196;
//提取电压千位百位十位个位
qian=temp/10000;
bai=temp%10000/1000; shi=temp%10000%1000/100; ge=temp/100%10;
利用除法 提取千百十
单片机数字电压表的研究
单片机数字电压表的研究单片机数字电压表研究摘要:本文首先简要介绍了单片机数字电压表的结构和原理,然后重点介绍了单片机数字电压表的测量原理,测量精度,测量过程中的干扰和抗干扰措施,以及单片机数字电压表的应用,最后总结了本文的研究内容。
关键词:单片机;数字电压表;测量原理;测量精度;抗干扰;应用1、绪论单片机数字电压表是通过单片机技术和数模转换技术,利用单片机采集电压值,将实测的电压值,转换为2进制或10进制数字,屏幕显示数字形式的电压值,从而实现电压值的测量和显示的仪表。
它是一种精确度和可靠性较高的电压测量仪表,广泛应用于电力系统、实验室、电子测试及家用电器等领域。
2、单片机数字电压表的结构与原理单片机数字电压表由测量部件、功能单元和显示单元组成。
(1)测量部件测量部件是数字电压表的最重要的组成部分,它由电源模块、电压放大器及模数转换器等组成。
电源模块是驱动整个电路的电源,它由滤波模块和功率放大器组成。
电压放大器是实现电压数字量转换的关键部件,通过放大输入信号,把很小的电压转换成较大的电压,以便模数转换器的输入。
模数转换器是实现数字电压表的测量功能,它将电压信号转换成数字信号。
(2)功能单元功能单元由处理器、存储器和控制程序组成,用来实现电压数据的采集、存储、程序运算、控制和显示等功能。
(3)显示单元显示单元由液晶显示屏和相关电路组成,用来显示数字电压表测量的电压值。
3、单片机数字电压表的测量原理数字电压表的测量原理是采用单片机技术和模数转换技术,把被测电压值转换成数字信号,并由处理器处理后输出到液晶显示屏上显示出来。
(1)电压测量电压测量是电压表的最重要组成部分,它所采集的电压数据是决定电压表测量精度的基础。
电压放大器采用了两种类型的补偿技术,一种是电压桥补偿,另一种是精密模拟放大器补偿,通过这两种补偿技术,可以大大提高数字电压表的测量精度。
(2)数模转换数模转换是将模拟信号转换为数字信号的过程,是实现数字电压表测量的关键技术。
单片机直流式数字电压表
单片机直流式数字电压表一、引言随着科技的发展,电子测量仪器在各个领域的应用越来越广泛。
其中一类常见的测量仪器就是数字电压表。
数字电压表是用来测量电路中直流电压的一种仪器,它通过单片机技术实现电压的测量、转换和显示。
本文将介绍单片机直流式数字电压表的原理、工作方式以及其在实际应用中的优势。
二、原理单片机直流式数字电压表的原理主要是利用单片机的模数转换功能,将输入的模拟电压转换为数字信号,并通过数码管进行显示。
其具体原理如下:1. 电压输入:待测电压通过电阻分压电路接入单片机的模拟输入端,经过适当的分压比例,将待测电压缩小到单片机能够接受的范围。
2. 模数转换:单片机内部的模数转换器将模拟输入电压转换为相应的数字信号。
模数转换器的精度和分辨率决定了数字电压表的测量精度。
3. 数字信号处理:单片机通过对模数转换器输出的数字信号进行处理,得到对应的电压数值。
这个过程涉及到数据处理和算法实现。
4. 数码管显示:最后,单片机将得到的电压数值通过驱动数码管的方式进行显示,使用户能够直观地了解待测电压的数值。
三、工作方式单片机直流式数字电压表的工作方式主要包括以下几个步骤:1. 初始化:在测量前,需要对单片机进行初始化设置,包括输入引脚的配置、模数转换器的参数设定等。
2. 采样:在测量过程中,单片机按照一定的时间间隔对输入电压进行采样,即获取一系列的模拟电压值。
3. 转换:采样完成后,单片机将采样到的模拟电压值转换为数字信号,以便进行后续的处理和显示。
4. 处理:单片机对转换得到的数字信号进行处理,得到对应的电压数值。
这个过程可能包括校准、滤波、线性化等操作。
5. 显示:最后,单片机将处理得到的电压数值通过驱动数码管的方式进行显示,使用户能够直观地了解待测电压的数值。
四、优势相比传统的模拟电压表,单片机直流式数字电压表具有以下几个优势:1. 精度高:单片机内部的模数转换器具有较高的精度和分辨率,可以达到较高的测量精度。
单片机数字电压表
单片机数字电压表
1.实验任务
利用单片机AT89S51 与ADC0809 设计一个数字电压表,能够测量0-5V 之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。
2.电路原理图
图1.28.1
3.系统板上硬件连线
a) 把“单片机系统”区域中的P1.0-P1.7 与“动态数码显示”区域中的ABCDEFGH 端口用8 芯排线连接。
b) 把“单片机系统”区域中的P2.0-P2.7 与“动态数码显示”区域中的S1S2S3S4S5S6S7S8 端口用8 芯排线连接。
c) 把“单片机系统”区域中的P3.0 与“模数转换模块”区域中的ST 端子用导线相连接。
d) 把“单片机系统”区域中的P3.1 与“模数转换模块”区域中的OE 端子用导线相连接。
e) 把“单片机系统”区域中的P3.2 与“模数转换模块”区域中的EOC 端子用导线相连接。
f) 把“单片机系统”区域中的P3.3 与“模数转换模块”区域中的CLK 端子用导线相连接。
g) 把“模数转换模块”区域中的A2A1A0 端子用导线连接到“电源模块”区域中的GND 端子上。
h) 把“模数转换模块”区域中的IN0 端子用导线连接到“三路可调电压模块”区。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机数字电压表设计电路设计结构框图与工作原理结构框图根据项目要求,确定该系统的设计方案,图1为该系统设计方案的结构框图。
硬件电路由7各部分组成,即单片机、时钟电路、复位电路、LED 显示电路、A/D 装唤器、循环与单路选择和测量电压输入电路。
图1 系统结构框图工作原理系统采用12M 晶振产生脉冲做A T89C51的内部时钟信号,通过软件查询转换完成信号。
片选OE 接高电平,使其始终处于选中状态。
通过键盘选择八路通道中的一路,将该路电压送入ADC0808相应通道,单片机软件设置ADC0808开始A/D 转换,转换结束ADC0808的EOC 端口产生高电平,利用单片机的P3.3口做为转换完成的输入信号,当转换完成后单片机通过P1口读入,然后通过计算转换为工程数据(0.00-5.00V ),系统调出显示子程序。
系统调出显示子程序,将转化后数据通过查表转换为字型码,通过循环显示的方式输出到LED 显示电路。
各单元电路设计根据设计要求与思路,确定该系统的设计方案。
硬件电路由单片机时钟电路、测量及A/D 转换电路、显示器电路、循环与单路选择等组成。
时钟电路单片机工作的时间基准是由时钟电路提供的。
在单片机的XTAL1和XTAL2两个管脚,接一只晶振及两只电容就构成了单片机的时钟电路。
电路中,电容C1和C2对震荡电路有微调的作用,通常的取值范围位(30+10)pF。
石英晶体选择6MHz或12MHz都可以,其结果只是机器周期时间不同,影响计数器的计数初值,此设计取12MHz。
电路图如图2所示。
图2 时钟电路测量电路设计测量电路由八个滑动变阻器组成,八个滑动变阻器分得的电压分别连到ADC0808的IN0~IN7,电路图如图3所示。
图3 测量电路转换电路设计A/D 转换电路主要由ADC0808芯片组成,IN0~IN7与八路模拟电压相连,单片机的P3.3、P3.6口高分别对应ADC0808的EOC 、 CLK 和ALE 端,P3.4接循环与单路选择开关。
用软件设定给定的值。
转换后的数字量输出给单片机的P1口进行显示。
具体电路如图4所示。
图4 ADC0808的转换电路图A/D 转换程序的功能是采集数据,再整个系统设计中占有很高的地位。
当系统置好后,单片机扫描转换结束管脚P3.4的输入电平状态,当输入为高电平则转换完成,将转换的数值转换并显示输出。
若输入为低电平,则显示上一次转换的结果。
程序流程图如图5图5 A/D转换子程序流程图显示电路设计单片机应用系统中,通常都需要进行人机对话。
这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果。
显示器、键盘电路就是用来完成人机对话活动的人机通道。
在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此生产厂家就生产了多种位数、尺寸、型号不同的LED显示器。
在我的设计中,选择4位一体的共阴极时钟型LED显示器,采用动态显示方式。
采用P0口作为LED的段码输出信号,P2口的低四位作为LED位码的输出控制信号。
硬件电路的连接如图6所示。
该电路的工作原理:P0口输出具有一定驱动能力的八段字形码,由于4-LED的段码输入管脚是并联在一起的,所以每一位LED的段码输入管脚都能获得这个段码信号。
若要控制在每一时刻只有一位LED被点亮,必须靠位码信号控制。
P2口低四位输出位码信号后接到LED的位码控制端,因此P2口的低四位的位码信号在每一时刻只有一位是“0”,其他位全为“1”,然后按时间顺序改变输出“1”的位置,控制在每一时刻只有一位LED被点亮,达到动态显示的目的。
图中1、2和3位显示电压表数值,4位显示转换通道。
图6 LED显示器接口电路原理循环与单路选择由于要求分为循环和单路显示,因此设计此电路来满足显示要求。
原理:循环与单路选择为打开时,用三个开关的开合控制显示那一路;当循环与单路选择为闭合时,要求路选的三个开关打开。
复位电路的设计单片机的RST管脚为主机提供一个外部复位信号输入端口。
复位信号是高电平有效,高电平有效的持续时间应为2个机器周期以上。
单片机的复位方式有上电自动复位和手工复位两种。
图7所示是51系列单片机常用的上电复位电路,只要Vcc上升时间不超过1ms,它们都能很好地工作。
复位以后,单片机内各部件恢复到初始状态。
图7 时钟电路与复位电路芯片及软件介绍芯片AT89C52该系列单片机是采用高性能的静态80C51 设计由先进CMOS 工艺制造并带有非易失性Flash 程序存储器,全部支持12 时钟和6 时钟操作。
引脚图如图8所示。
VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTLP1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH 编程时,P0 口作为原码输入口,当FIASH 进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O 口,P1口缓冲器能接收输出4TTL 门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH 编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O 口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH 编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个TTL 门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
由于外部下拉为低电平,P3口将输出电流(ILL )这是由于上拉的缘故。
P3口也可作为A T89C51的一些特殊功能口,如下所示:P3.0 RXD (串行输入口)P3.1 TXD (串行输出口)图8 A T89C51引脚图P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。
振荡器复位器件时,保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE 只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。
外部程序存储器取指期间,每个机器周期两次/PSEN有效。
在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,不管是否有内部程序存储器,选通外部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
ADC0808ADC0808是CMOS单片型逐次逼近式A/D转换器,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近。
极限参数电源电压(Vcc):6.5V 。
控制端输入电压:—0.3V~15V 。
其它输入和输出端电压:-0.3V~Vcc+0.3V 。
贮存温度:—65℃~+150℃功耗(T=+25℃):875mW。
引线焊接温度:①气相焊接(60s):215℃;②红外焊接(15s):220℃抗静电强度:400V。
引脚图如图9所示。
IN0~IN7:为模拟量的输入口,我们选取IN3口为入口,外接可变电阻,通过改变阻值来控制模拟量的输入。
A 、B 、C :3位地址输入,2个地址输入端的不同组合选择八路模拟量输入。
ALE :地址锁存启动信号,在ALE 的上升沿,将A 、B 、C 上的通道地址锁存到内部的地址锁存器。
D0~D7:八位数据输出线,A/D 转换结果由这8根线传送给单片机。
OE :允许输出信号。
当OE=1时,即为高电平,允许输出锁存器输出数据。
START :启动信号输入端,START 为正脉冲,其上升沿清除ADC0808的内部的各寄存器,其下降沿启动A/D 开始转换。
EOC :转换完成信号,当EOC 上升为高电平时,表明内部A/D 转换已完成。
CLK :时钟输入信号,选用频率500KHZ 。
多路模拟开关可选通8路模拟通道,允许8路模拟量分时输入,并共用一个A/D 转换器进行转换。
地址锁存与译码电路完成对A 、B 、C 三个地址位进行锁存与译码。
软件仿真数字电压表完整的设计电路图图 9 ADC0808引脚图仿真过程若通过ISIS 7 Professional 软件画出改课设的电路图,运行无误,并通过Keil C51软件编写程序编译无误并生成“HEX ”格式的目标文件之后,将其加载入单片机使其运行。
具体方法为:右击工作区并选中使用的89C51单片机,左击出现“Edit Component ”对话框,点击“Program File ”选项选择Keil C51软件中已经生成的.HEX 文件确定。
启动软件,观察其仿真结果如图4.2所示。
系统工作过程:首先通过按键或开关选择要测量的电压地址,即几路电压,若通过按键逐路选择,则要通过计数器74LS161记录按键次数,从而对电压地址加一,从而实现地址的转移,并使ALE=1,8路模拟输入之一到比较器。
START 图12 完整电路图A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC 变为高电平,指示A/D转换结束,结果数据已存入锁存器,之后数据经过处理,就可以在数码管上显示系统通过调节滑动变阻器可以调节测量电压。
通过电路中的开关闭合实现电路中电压的循环显示各路的电压值,通过断开循环开关和开合路选开关显示该路电压值。