基于单片机的数字电压表设计报告.doc

合集下载

基于51单片机的直流数字电压表设计

基于51单片机的直流数字电压表设计

基于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转换器,增加参考电压的精度,或者通过校准电路对测量误差进行校正。

基于单片机的数字电压表设计报告

基于单片机的数字电压表设计报告

单片机原理及系统课程设计专业:电气工程及其自动化班级:姓名:学号:指导教师:兰州交通大学自动化与电气工程学院2010 年 3 月 7 日基于单片机的数字电压表设计摘要显示电路输入电路图2.2系统组成框图3.硬件设计3.1系统硬件设计原理通过变量设置选择八路通道中的第三路,将该路模拟电压送入ADC0808相应通道,单片机软件设置ADC0808开始A/D转换,转换结束ADC0808的EOC 端口产生高电平,同时将ADC0808的OE端口置为高电平,单片机将ADC0809转换后的数字量存到片内RAM。

系统调出数据处理子程序,将测量结果转化为0.00~5.00V,最后通过查表将每一位数据输出到LED显示电路,将相应电压显示出来,程序进入下一个循环。

单片机的P0.0~P0.7作为4位动态数码显示管的段显示控制。

P2.1~P2.3作为4位动态显示管的位显示控制。

3.2硬件设计原理图在Proteus仿真环境下所搭建的系统硬件电路图如图3.2所示。

图3.2系统原理图图4.2 程序流程图(a)主程序流程图(b)AD转换流程图5.系统调试及仿真结果6.总结两周的课程设计结束了,在这过程中,我学到了很多东西。

首先,我学会了单片机设计的基本过程有哪些,每一过程有哪些基本的步骤,怎样通过查资料去完成这每一步。

其次我巩固了上学期所学的一些单片机知识,从而加深了对ADC0809芯片的功能的了解。

在编程过程中,遇到了许多困难,通过与同学之间的交流和咨询,最后解决了这些困难。

所谓实践出真知,学到的东西只有运用到实践当中,才能真正体会到知识的力量。

最后,通过这次课程设计,让我明白了想法和实践还是有差距的,当你真正去做一件事的时候,你会发现你的想法可能不适用,随时都需要调整,另外扎实的理论知识也是完成设计任何设计必不可少的要素,一切想法离开了理论知识都是空想。

参考文献[1]彭为,黄科,雷道仲.单片机典型系统设计实例精讲[M].电子工业出版社.2009:22-54.[2] 谭浩强.C程序设计(第三版)[M].清华大学出版社.2009:32-46.[3] 王思明,张金敏,张鑫等.单片机原理及应用系统设计(第一版)[M].科学出版社.2012:70-292.附录A源程序代码#include<reg52.h>#include<intrins.h>#define uchar unsigned charsbit p21=P2^1;sbit p22=P2^2;sbit p23=P2^3;sbit EOC=P3^1;sbit OE=P3^0;sbit ST=P3^2;sbit p34=P3^4;sbit p35=P3^5;sbit p36=P3^6;uchar code tab[]={0x40,0x79,0x24,0x30,0x19,0x12};uchar code led[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; uchar code led_[]={0xC0,0xf9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; void delay(uchar n){uchar i,j;for(i=0;i<n;i++)for(j=0;j<125;j++);}void convert(uchar volt_data){unsigned int temp;temp=100*volt_data/51;P0=led[temp/100]; //个位上的数字显示p21=1; //选通个位delay(3); //延时p21=0; //不选通个位P0=led_[temp%100/10]; // 十分位的数字显示p22=1; //选通十分位delay(3); //延时p22=0; //不选通十分位P0=led_[temp%10]; //百分位的数字显示p23=1; //选通百分位delay(3); //延时p23=0; //不选通百分位}void main(){uchar volt_data;p34=1;p35=1;p36=0; //选通ADC0808的IN3通道while(1){ST=0;_nop_();ST=1;_nop_();ST=0; //开始转换if(EOC==0) //如果EOC为0,则继续转换delay(100);while(EOC==0); //当EOC为1时,转换完毕OE=1; //数据允许输出标志volt_data=P1; //讲P1口的数据送volt_dataOE=0;convert(volt_data);}}。

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

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

基于单片机的数字电压表设计一、引言在电子测量领域中,电压表是一种常用的测量仪器,用于测量电路中的电压值。

传统的模拟电压表由于精度低、读数不便等缺点,逐渐被数字电压表所取代。

数字电压表具有精度高、读数直观、抗干扰能力强等优点,广泛应用于工业自动化、电子设备检测、实验室测量等领域。

本文将介绍一种基于单片机的数字电压表设计方案,详细阐述其硬件电路设计、软件编程实现以及系统性能测试。

二、系统总体设计方案(一)设计要求设计一款基于单片机的数字电压表,能够测量 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 转换得到的数字量转换为实际的电压值,并进行精度处理。

数字电压表实验报告

数字电压表实验报告

简易数字电压表设计报告姓名:***班级:自动化1202学号:****************:***2014年11月26日一.设计题目采用C8051F360单片机最小系统设计一个简易数字电压表,实现对0~3.3V 直流电压的测量。

二.设计原理模拟输入电压通过实验板PR3电位器产生,A/D转换器将模拟电压转换成数字量,并用十进制的形式在LCD上显示。

用一根杜邦实验线将J8口的0~3.3V输出插针与J7口的P2.0插针相连。

注意A/D转换器模拟输入电压的范围取决于其所选择的参考电压,如果A/D 转换器选择内部参考电压源,其模拟电压的范围0~2.4V,如果选择外部电源作为参考电压,则其模拟输入电压范围为0~3.3V。

原理框图如图1所示。

图1 简易数字电压表实验原理框图三.设计方案1.设计流程图如图2所示。

图2 简易数字电压表设计A/D转换和计时流程图2.实验板连接图如图3所示。

图3 简易数字电压表设计实验板接线图3.设计步骤(1)编写C8051F360和LCD初始化程序。

(2)AD转换方式选用逐次逼近型,A/D转换完成后得到10位数据的高低字节分别存放在寄存器ADCOH和ADC0L中,此处选择右对齐,转换时针为2MH Z。

(3)选择内部参考电压2.4V为基准电压(在实际单片机调试中改为3.311V),正端接P2.0,负端接地。

四、测试结果在0V~3.3V中取10组测试数据,每组间隔约为0.3V左右,实验数据如表1所示:显示电压(V)0.206 0.504 0.805 1.054 1.406实际电压(v)0.210 0.510 0.812 1.061 1.414相对误差(%) 1.905 1.176 0.862 0.659 0.565显示电压(V) 2.050 2.383 2.652 2.935 3.246实际电压(v) 2.061 2.391 2.660 2.943 3.253相对误差(%)0.421 0.334 0.301 0.272 0.215表1 简易数字电压表设计实验数据(注:其中显示电压指LCD显示值,实际电压指高精度电压表测量值)五.设计结论1.LCD显示模块的CPLD部分由FPGA充当,芯片本身自带程序,所以这个部分不用再通过quartus软件进行编程。

基于单片机的简易数字电压表设计

基于单片机的简易数字电压表设计

基于单片机的简易数字电压表设计随着电子技术的迅猛发展,数字电压表在实验室、工业和日常生活中的应用越来越广泛。

本文将详细介绍基于单片机的简易数字电压表的设计过程,包括系统设计思路、硬件选型、软件实现以及调试过程。

设计一个简易数字电压表的目标是实现对直流电压的实时测量,并将其以数字形式显示。

该系统的核心是单片机,它负责数据采集、处理及结果显示。

选用单片机的原因在于其体积小、成本低、易于编程等优点。

在硬件设计方面,系统主要由输入电路、单片机、显示模块和电源模块组成。

输入电路的作用是将待测电压信号转化为单片机可处理的电信号。

一般采用分压电路,通过电阻分压的方法,将高电压降低至单片机的可接受范围。

还需考虑输入电压的范围,以确保测量精度和系统安全。

选用的单片机需具备一定的模拟输入功能,以便对电压进行采样。

常用的单片机型号有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%。

单片机课程设计---基于单片机的数字电压表设计

单片机课程设计---基于单片机的数字电压表设计

单片机课程设计---基于单片机的数字电压表设计《单片机原理及应用》课程设计报告学院:源与动力工程学院__ 班级:_____建电1001______ 学号:_____101605121______ 姓名:______刘兹平________ 时间:2012-12-17 ~ 2012-12-21目录任务书 (1)第一章方案设计 (2)第二章硬件系统设计 (3)第三章软件设计 (7)第四章系统调试 (10)小结 (11)附录1:原理图 (13)附录2:源程序 (14)任务书1、题目:基于单片机的数字电压表设计2、设计要求:(1)利用单片机及ADC0809构成一个电压采集系统,实现8通道循环采样,循环显示。

(2)显示采用ZLG7290,显示精度到小数点后一位。

第1页共31页第一章方案设计1、总体设计方案本设计使用ADC0809对模拟信号进行转换,然后经过AT89C51转换后的结果来进行运算和处理,然后由数码管直接显示数字电压信号,其中分辨率为0.02v。

用电位器控制输入电压,经ADC0809模数转换,然后数据被单片机采集,并经过单片机利用相应的算法进行调整,最后利用串口将处理好的数据输出至数码管。

其中ADC0809通过IN0~IN7采集模拟电压信号送给单片机,单片机将采集来的信号通过一定的处理然后通过串口输出至共阳极的LED数码管显示采集到的电压值。

2、总体设计框图第2页共31页第二章硬件系统设计1、硬件系统设计思路8路数字电压表应用系统硬件电路由单片机、A/D转换器、数码管显示电路等组成。

ADC0809具有8路模拟量输入通道IN0---IN7,通过3位地址输入端C、B、A(引脚23--25)进行选择。

引脚22为地址锁存控制端ALE,当输入为高电平时,C、B、A引脚输入的地址锁存于ADC0809内部是锁存器中,经内部译码电路译码选中相应的模拟通道。

引脚6为启动转换控制端START,当输入一个2μs宽的高电平脉冲时,就启动ADC0809开始对输入通道的模拟量进行转换。

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

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

基于单片机的数字电压表设计数字电压表在电子技术中使用非常广泛,可以用来测量电路中的直流电压、交流电压以及各种信号的幅度等等。

基于单片机的数字电压表实现了数字电压的读取和显示,具有精确、稳定、易操作等特点,下面将介绍基于单片机的数字电压表的设计原理及实现方法。

一、系统结构基于单片机的数字电压表主要是由程序控制模块、模数转换模块和数字显示模块组成。

程序控制模块主要用来完成开机、校准、测试、功能选择等功能;模数转换模块主要将电压信号转换成数字量,供数字显示模块使用;数字显示模块主要将转换后的数字量显示在LCD液晶屏上。

二、硬件设计1.电源电路电源电路主要用来为电路提供稳定的电压和电流,本电路采用稳压电源芯片LM7805实现,稳压芯片输入端连接外部DC12V/1A电源,输出端连接电路板上的整个电路。

2.输入电路输入电路主要用来将被测电源的电压传递给单片机,常规情况下采用分压电路实现。

在本电路中,电阻R1和电容C1为RC滤波电路,起到滤波作用,防止干扰信号的影响;电阻R2是分压电路中的电阻,它根据电压值的不同设置不同的值,以保证被测电压在单片机内部转换过程中不会对单片机产生影响。

3.单片机模块单片机模块是系统的核心部分,本电路中选用STM32F103C8T6单片机实现模数转换和数码管控制,使用C 语言编写程序,通过模拟输入端口读取电压并进行模数转换,将得到的数字使用查表法将其转换为数码管控制脉冲,控制数码管的亮灭实现数字显示。

4.数字显示模块数字显示模块主要由七段数码管、LCD液晶屏幕、导线和电容等器组成,七段数码管用于展示测量到的电压大小,LCD 液晶屏用于展示功能选项、单位等信息。

导线是电路板内部连接线路,电容等器用来平滑电压波动。

三、软件设计1.引脚定义在程序中首先定义STM32F103C8T6单片机内存地址、输入输出引脚和电平状态,其中A0口用来读取被测电压;B0-B7口用来控制七段数码管的亮灭;C0口用来输出PWM,控制风扇的旋转速度;D0口用来控制蜂鸣器的开启和关闭。

基于单片机的数字电压表设计报告

基于单片机的数字电压表设计报告

基于单片机的数字电压表设计报告
一、研究意义
数字电压表是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。

传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。

目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。

与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。

二、系统硬件设计
模拟电压经过档位切换到不同的分压电路衰减后,经隔离干扰送到A/D转换器进行A/D转换,然后送到单片机中进行数据处理。

处理后的数据送到LCD中显示,同时通过串行通讯与上位机通信。

1)硬件电路框图:
2)硬件电路原理图:
三、系统软件设计1)主程序设计
2)中断子程序设计
四、分析及结论
电压测量通过不同的接口电路可实现温度、湿度、压力等测量,广泛应用于工业领域。

本电路设计别具一格,是一种高精度、低功耗、宽量程、智能化的电压表。

可扩展键盘、EEPROM、报警电路,实现电压异常记录、报警。

单片机数字电压表课程设计报告

单片机数字电压表课程设计报告

单片机数字电压表课程设计报告单片机数字电压表课程设计报告摘要:本次课程设计采用单片机来实现数字电压表的设计,通过对市场上常见单片机的选型和开发工具的使用,实现了数字电压表的硬件和软件设计。

该数字电压表具有分辨率高、测量精度高、响应速度快等特点,可广泛应用于测量高压、低压、直流电压等领域。

关键词:单片机、数字电压表、驱动电路、计数器一、课程设计目的本次课程设计旨在让学生了解数字电压表的设计方法和原理,通过使用单片机来实现数字电压表的设计,提高学生的实践能力和创新能力。

同时,通过本次课程设计,还可以让学生了解单片机的使用方法和开发工具的使用,加深对单片机应用的理解。

二、课程设计内容本次课程设计采用单片机来实现数字电压表的设计,具体包括以下内容:1. 对市场上常见单片机的选型和开发工具的使用。

2. 设计数字电压表的硬件电路,包括驱动电路、计数器、计数器清零电路等。

3. 设计数字电压表的软件电路,包括计数器清零程序、计数器累加程序、显示程序等。

4. 将数字电压表与单片机连接,进行测试和调试。

三、课程设计原理数字电压表的设计原理是利用单片机的计数器来实现对电压值的计数和显示。

单片机通过外部时钟信号来控制计数器的计数频率,将计数器的计数值累加到显示寄存器中,从而实现对电压值的显示。

同时,通过对电压值的测量和计算,可以实现对高压、低压、直流电压的测量和显示。

四、课程设计步骤1. 对市场上常见单片机的选型和开发工具的使用。

2. 设计数字电压表的硬件电路,包括驱动电路、计数器、计数器清零电路等。

3. 设计数字电压表的软件电路,包括计数器清零程序、计数器累加程序、显示程序等。

4. 将数字电压表与单片机连接,进行测试和调试。

五、课程设计成果通过本次课程设计,学生可以独立完成数字电压表的硬件和软件设计,掌握单片机的应用和开发技巧,提高实践能力和创新能力。

同时,学生还可以根据实际应用需求,对数字电压表进行改进和创新,提高其实用性和市场竞争力。

基于单片机的数字电压表设计-完整版

基于单片机的数字电压表设计-完整版

题目: 基于单片机的数字电压表设计数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。

传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信。

目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,示出强大的生命力。

与此同时,由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。

本章重点介绍单片A/D 转换器以及由它们构成的基于单片机的数字电压表的工作原理。

关键词:数字电压表 A/D 转换器 PC 电压测量AbstractDigital voltage meter (Digital V oltmeter) referred to as DVM, it is the use of digital measuring technology, the continuous analog (DC input voltage) into a non-continuous, discrete digital form and to display the instrument.Analog voltage meter features a traditional single, low accuracy, can not meet the digital age, using the single chip digital voltage meter, from the high precision, anti-interference ability, scalability, Ji Cheng convenience, and PC can communicate in real time.At present, by a variety of single A / D converter consisting of digital voltage meter, has been widely used in electronic and electrical measurement, industrial automation, instrumentation, automated test systems, intelligent measurement, showing strong vitality.At the same time, the DVM extension to the various general and specific digital instruments, but also the power and non-power measurement up to a new level.This chapter focuses on single-chip A / D converter, and they form by the microcontroller-based digital voltmeter works.Keywords: digital voltmeter A / D converter voltage measurement PC目录1 设计方案 (6)1.1 A/D转换部分 (6)1.2 电源部分 (7)2 系统硬件电路设计 (8)2.1 单片机芯片 (8)2.2 89C51与外围电路的接口 (10)3 详细设计 (14)3.1复位电路 (14)3.2电源电路 (16)3.3 程序框图 (17)3.4 源程序 (19)4 总结 (28)参考文献 (29)1 设计方案在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。

【《基于单片机的简易数字电压表的设计》开题报告2600字】

【《基于单片机的简易数字电压表的设计》开题报告2600字】
预期目标:
利用Keil5进行编写C语言程序,利用Proteus8搭建电路原理图,来实现数字电压表对于电压的测量,并且研究其测量的准确性和精度,电路里面使用STM32系列单片机,数模转换用内部自带ADC,用LM016L显示电压值,而且采用了低压差稳压器LM1117DT-3.3作为供电电源电路,通过软件方式实现了量程的自动转换。
6论文答辩2023年3月22日-2023年4月10日
(2)数字电压表测量的最小分辨率为1mV;
(3)可以根据输入的电压值大小来自动选择量程;
(4)采用字符液晶LM016L显示。
方法:
本设计选用STM32F103R6单片机来进行实验,内部有12位的ADC模块,可以将输入的电压进行数字化,进而输出。利用LM016L显示转换后的数字量,时钟电路提供时钟和周期,复位电路用来进行初始化,量程转换可以利用软件方式实现,由于该单片机引脚能承受的最大电压为3.3V,因此需要有报警电路,当电压超过3.3V时,可以通过报警电路中的蜂鸣器发出声音来进行提示。
[1]孙万麟.基于Proteus的单片机通信电路设计[J].实验室研究与探索, 2016, 35(10): 135-138.
[2]王晓彦. STM32单3-164.
[3]吴顺柳.基于单片机的高精度数字电压表的设计[J].电子制作, 2021(21): 87-89+69.
[7]周惠文.单片机技术在智能化电子产品中的运用策略[J].信息记录材料, 2021, 22(12): 137-138.
[8]张苗.液晶显示原理研究及显示缺陷分析[J].电子世界, 2020(07): 83-84.
[9]齐祥明.基于单片机的量程转换数字电压表设计[J].廊坊师范学院学报(自然科学版), 2019, 19(04): 38-41.

数字电压表的设计实验报告

数字电压表的设计实验报告

.课程设计——基于51数字电压表设计物理与电子信息学院电子信息工程1、课程设计要求使用单片机AT89C52和ADC0832设计一个数字电压表,能够测量0-5V之间的直流电压值,两位数码显示。

在单片机的作用下,能监测两路的输入电压值,用8位串行A/D转换器,8位分辨率,逐次逼近型,基准电压为5V;能用两位LED进行轮流显示或单路选择显示,显示精度0.1伏。

2、硬件单元电路设计AT89S52单片机简介AT89S52是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS -51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S52可为许多嵌入式控制应用系统提供高性价比的解决方案。

AT89S52具有如下特点:40个引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级,2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。

ADC0832模数转换器简介ADC0832 是美国国家半导体公司生产的一种8 位分辨率、双通道A/D转换芯片。

由于它体积小,兼容性强,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。

学习并使用ADC0832 可是使我们了解A/D转换器的原理,有助于我们单片机技术水平的提高。

图1芯片接口说明:·CS_ 片选使能,低电平芯片使能。

·CH0 模拟输入通道0,或作为IN+/-使用。

·CH1 模拟输入通道1,或作为IN+/-使用。

·GND 芯片参考0 电位(地)。

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

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

目录第一章数字电压表的设计及总体方案 (1)1.1 数字电压表设计任务 (1)1.2 数字电压表的功能 (1)1.3 数字电压表的总体方案介绍及工作原理说明 (1)第二章数字电压表硬件系统的设计 (2)2.1 数字电压表的硬件设计 (2)2.2 数字电压表硬件系统各模块功能的介绍 (2)2.2.1 TLC549芯片的介绍 (3)2.2.2 复位电路介绍 (5)2.2.3 时钟电路介绍 (5)2.2.4 显示驱动电路的介绍 (6)2.3 数字电压表电路原理图,PCB图,元件布局图 (6)2.3.1 protel原理图 (6)2.3.2 PCB图 (6)2.3.3 元器件布局图 (6)2.3.4 元器件清单 (6)第三章软件系统设计 (7)3.1 单片机的资源分配 (7)3.2 软件系统的设计方法 (7)3.3 软件系统的设计流程图 (7)3.4 电压表设计程序 (10)第四章设计总结与体会 (10)4.1 数字电压表的设计结论及使用说明 (11)4.2 数字电压表误差分析 (11)4.3 数字电压表设计的优点及不足 (11)4.4 课程设计的总结与体会 (11)参考文献 (13)附录A 数字电压表程序详单 (14)附录B Protel原理图 (21)附录 C PCB图 (22)附录D 元器件布局图 (22)附录E 元器件清单 (23)第一章数字电压表的设计及总体方案1.1数字电压表设计任务设计一个能够测量直流电压的数字电压表。

测量电压范围0~5V,测量精度小数点后两位。

该电压表上电或按键复位后能自动显示系统提示符“P.”,进入测量准备状态,按测量开始键则开始测量,并将测量值显示在显示器上,按测量结束键则自动返回“P.”状态,按显示学号键,数码管显示学号。

1.2数字电压表的功能单片机最小开发板上的数码管在上电状态下显示‘P.’,进入测量准备状态,按测量开始键则开始测量,并将测量值显示在显示器上,按测量结束键则自动返回“P.”状态,按显示学号键,数码管显示学号。

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

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

基于单片机的数字电压表设计在当今的电子世界中,电压表是一种必不可少的测量工具。

随着技术的进步,数字电压表因其精度高、易于读取、稳定性好等优点逐渐取代了传统的模拟电压表。

本文将探讨如何基于单片机设计数字电压表。

一、硬件设计1、1传感器模块传感器模块是数字电压表的重要组成部分,负责将输入的模拟电压转化为可被单片机处理的数字信号。

通常,我们使用ADC(模数转换器)来实现这一功能。

ADC的精度直接决定了电压表的测量精度。

1、2单片机模块单片机是数字电压表的“大脑”,负责控制整个系统的运行。

我们选择具有较高性能和可靠性的单片机,如Arduino、STM32等。

这些单片机都具有丰富的外设接口,便于实现复杂的控制逻辑。

1、3显示模块显示模块负责将单片机的处理结果呈现给用户。

常用的显示模块包括LED数码管、LCD液晶屏等。

选择适合的显示模块,可以大大提升电压表的易用性。

二、软件设计2、1数据采集与处理软件首先通过ADC从传感器模块读取模拟电压,然后对其进行处理,得到实际的电压值。

这一步的关键在于选择合适的ADC算法和设置合适的参考电压。

2、2数据输出与存储处理后的电压值需要被输出并存储起来。

通常,我们使用LCD液晶屏将电压值实时显示出来,同时也可以通过串口将数据传输到计算机或云端进行存储和分析。

三、精度与稳定性优化3、1硬件校准为了提高电压表的测量精度,我们可以在生产过程中对每一块电压表进行硬件校准。

通过调整ADC的参考电压或者在软件中进行校准算法的优化,可以有效提高电压表的测量精度。

3、2软件滤波在实际应用中,由于各种噪声和干扰的存在,电压表的读数可能会出现波动。

我们可以通过软件滤波算法,如平均滤波、卡尔曼滤波等,来减小这些干扰对测量结果的影响。

四、应用与扩展基于单片机的数字电压表不仅可以在实验室或工业现场使用,还可以扩展出更多的应用场景。

例如,通过加入无线通信模块,我们可以实现远程监控;通过加入更多的传感器,我们可以实现多通道的电压测量;通过与计算机或云端进行数据交互,我们可以实现大数据分析和预测。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机原理及系统课程设计
专业:电气工程及其自动化
班级:
姓名:
学号:
指导教师:
兰州交通大学自动化与电气工程学院
2010 年 3 月 7 日
基于单片机的数字电压表设计
摘要
本文是基于单片机的数字电压表的设计,用单片机AT89S52作为主控单元,ADC0809作模数转换芯片,测量0~5V直流电压,其测量最小误差为0.02V。

本设计主要分为硬件电路及软件程序两部分。

硬件电路可分为A/D转换电路、LED 显示电路。

程序的设计使用C语言编程。

关键词:AT89S52;数字电压表;ADC0809
Abstract
The design of this article is based on single chip microcomputer digital voltmeter, AT89S52 MCU as the main control unit, the ADC0809 modulus conversion chip, measurement of 0 ~ 5 V dc voltage, the minimum error of measurement is 0.02 V. This design is mainly divided into two parts, hardware circuit and software program. Hardware circuit can be divided into A/D conversion circuit, LED display circuit. Program design using C language programming.
Key Words: AT89S52, Digital Voltmeter, ADC0809
1.引言
随着电子时代的来临,人们对各种数字仪表的精度要求更高,以前的指针仪表已经不能满足人们的需要,所以就出现了数字电压表这种更精确的测量仪器。

本次课程设计的主要任务是完成模拟量电压转换成数字量电压,然后通过数码管显示出来。

主要包括两大模块:转换模块,显示模块,结合硬件和软件,使误差最小。

2.系统总体方案设计
2.1总体设计方案
根据系统设计的要求和功能,将系统分为主控模块,A/D转换模块,LED 显示模块,复位电路,时钟电路几个模块,系统框图如图1所示,主控模块采用AT89S52单片机,A/D转换模块采用ADC0809芯片,用于A/D转换,显示模块采用4位七段共阳LED数码管,用于显示电压值。

1
2
图3.2系统原理图
6.总结
4
两周的课程设计结束了,在这过程中,我学到了很多东西。

首先,我学会了单片机设计的基本过程有哪些,每一过程有哪些基本的步骤,怎样通过查资料去完成这每一步。

其次我巩固了上学期所学的一些单片机知识,从而加深了对ADC0809芯片的功能的了解。

在编程过程中,遇到了许多困难,通过与同学之间的交流和咨询,最后解决了这些困难。

所谓实践出真知,学到的东西只有运用到实践当中,才能真正体会到知识的力量。

最后,通过这次课程设计,让我明白了想法和实践还是有差距的,当你真正去做一件事的时候,你会发现你的想法可能不适用,随时都需要调整,另外扎实的理论知识也是完成设计任何设计必不可少的要素,一切想法离开了理论知识都是空想。

参考文献
[1]彭为,黄科,雷道仲.单片机典型系统设计实例精讲[M].电子工业出版社.2009:22-54.
[2] 谭浩强.C程序设计(第三版)[M].清华大学出版社.2009:32-46.
[3] 王思明,张金敏,张鑫等.单片机原理及应用系统设计(第一版)[M].科学出版社.2012:70-292.
5
附录A源程序代码
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
sbit p21=P2^1;
sbit p22=P2^2;
sbit p23=P2^3;
sbit EOC=P3^1;
sbit OE=P3^0;
sbit ST=P3^2;
sbit p34=P3^4;
sbit p35=P3^5;
sbit p36=P3^6;
uchar code tab[]={0x40,0x79,0x24,0x30,0x19,0x12};
uchar code led[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; uchar code led_[]={0xC0,0xf9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90}; void delay(uchar n)
{
uchar i,j;
for(i=0;i<n;i++)
for(j=0;j<125;j++);
}
void convert(uchar volt_data)
{
6
unsigned int temp;
temp=100*volt_data/51;
P0=led[temp/100]; //个位上的数字显示
p21=1; //选通个位
delay(3); //延时
p21=0; //不选通个位
P0=led_[temp%100/10]; // 十分位的数字显示
p22=1; //选通十分位
delay(3); //延时
p22=0; //不选通十分位
P0=led_[temp%10]; //百分位的数字显示
p23=1; //选通百分位
delay(3); //延时
p23=0; //不选通百分位
}
void main()
{
uchar volt_data;
p34=1;
p35=1;
p36=0; //选通ADC0808的IN3通道
while(1)
{
ST=0;
_nop_();
ST=1;
_nop_();
ST=0; //开始转换
if(EOC==0) //如果EOC为0,则继续转换
delay(100);
while(EOC==0); //当EOC为1时,转换完毕
OE=1; //数据允许输出标志
volt_data=P1; //讲P1口的数据送volt_data
OE=0;
convert(volt_data);
}
}
7
8。

相关文档
最新文档