1.引言
在电量的测量中,电压、电流和频率是最基本的三个被测量,而电压的测量最为常见,现在学生使用的数字万用表能够测量多种电量,并且具有一定的精度,使用方便。为了让学生更好地了解数字电压表的工作原理,从而激发他们对单片机课程的学习兴趣,本文从软硬件设计、proteus仿真、制作实物、误差分析几个方面着手,阐述数字电压表的工作原理、数据的程序处理方法、数字信号软件滤波原理。
2.硬件设计
硬件电路设计由4个部分组成:a/d转换电路,at89c51单片机系统,led显示系统、测量电压输入电路。硬件电路设计框图如图1所示。其总设计框图如下:
此电路的工作原理是:+5v模拟电压信号通过变阻器vr1分压后由adc08008的in0通道进入(由于使用的in0通道,所以 adda,addb,addc均接低电平),经过模/数转换后,产生相应的数字量经过其输出通道d0-d7传送给at89c51芯片的p0 口,at89c51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码传送给四位led,同时它还通过其四位i/o口p2.0、 p2.1、p2.2、p2.3产生位选信号控制数码管的亮灭。
简易数字直流电压表的硬件电路已经设计完成,就可以选取相应的芯片和元器件,利用proteus软件绘制出硬件的原理,并仔细地检查修改,直至形成完善的硬件原理图。但要真正实现电路对电压的测量和显示的功能,还需要有相应的软件配合,才能达到设计要求。
3.软件设计
根据模块的划分原则,将该程序划分初始化模块,a/d转换子程序和显示子程序,这三个程序模块构成了整个系统软件的主程序,如图2所示。
整个程序设计的核心在于对a/d转换的数据进行处理,包括数字滤波处理,数据小数位数的处理等。a/d转换子程序用来控制对输入的模块电压信号的采集测量,并将对应的数值存入相应的内存单元。
显示子程序采用动态扫描实现四位数码管的数值显示,在采用动态扫描显示方式时,要使得led显示的比较均匀,又有足够的亮度,需要设置适当的扫描频 率,当扫描频率在70hz左右时,能够产生比较好的显示效果,一般可以采用间隔10MS对led进行动态扫描一次,每一位led的显示时间为1MS。
4.结果及误差分析
由于单片机at89c51为8位处理器,当输入电压为5.00v时,adc0808输出数据值为255(ffh),因此单片机最高的数值分辨率为0.0196v(5/255)。这就决定了电压表的最高分辨率只能到0.0196v,从表1可看到,测试电压一般以0.01v的幅度变化。
当in0口输入电压值为13.5v时,显示结果如图3所示。测量误差为0.1v。
从表1可以看出,简易数字电压表测得的值基本上比标准电压值偏大0-0.01v,这可以通过校正adc0808的基准电压来解决或者通过软件校准的方式来降低误差。因为该电压表设计时直接用5v的供电电源作为电压,所以电压可能有偏差。当要测量大于5v的电压时,可在输入口使用分压电阻,而程序中只 要将计算程序的除数进行调整就可以了。
从测试的数据看,其绝对误差均控制在1v以下,而相对误差均在1%以下,能够满足大部分场合应用的需要,如采用实验数据归纳的方法,将得出的数据绘制成曲线,再使用更为合理的算法,将得到更加准确的结果。
关键字:单片机 数字电压表 at89c51
引用地址:
单片机数字电压表设计方案(一)
推荐阅读最新更新时间:2024-11-04 03:25
单片机如何使用?单片机只会用例程怎么办?
“单片机”可以说是一个专业名词,只要做电子的,或者电子产品相关的人才会知道单片机,以及单片机是干什么的。 大学谈女朋友的时候,女朋友问我每天在实验室里学什么东西,我说单片机软件开发,她是一脸懵逼问我单片机是个啥! 是的,只有关注电子产品开发的兄弟姐妹们才会关注单片机这个话题,以及单片机如何使用? 单片机如何使用?我们先聊一下这个话题,再和大家探讨单片机只会用例程怎么办? 单片机如何使用,这是每个初学者都会问的问题,大家还会问单片机怎么入门? 其实所有知识的学习入门,如果没有别人帮助,自己独立学习的话,是一个极其痛苦的事情。 我在大学进入实验室参加电子大赛的时候,刚开始接触学习单片机的,每天都是刻苦学习,花了2个月学习了C语言,
[单片机]
基于单片机的井场仪表参数无线传输系统设计
1引 言 目前,全国油田钻井现场基本都是有线数据传输。有线传输有很多缺点,现场布线复杂而且存在安全隐患,钻井是流动作业,每钻一口井就要重新布一次线,这样既费时又费力,有时还会由于布线走向的问题导致线路被碰断。一般说来,数据线都是空中架设,风吹日晒使数据线老化的较快,这样就带来直接的经济损失。钻井现场有很多公司在作业,有些参数各公司是共用的,同一个参数每个公司都要读取一次,就需要在同一个测量点上安装两台甚至更多的变送器,这样既造成了浪费又使得现场变送器安装位置紧张。 本系统采用无线通信技术,一点发射多点接收,可以实现信息共享,避免了布线的麻烦,而且流动作业时可以方便地安装和拆卸,很好地提高了工作效率。 2系统硬件设计 如图1
[单片机]
STC89C52单片机RAM模式
STC89C52 单片机内变量、函数参数等数据在RAM中的储存模式: small、compact、large 前边介绍单片机资源的时候,我们提到过 STC89C52 共有 512 字节的 RAM,是用来保存数据的,比如我们定义的变量都是直接存在 RAM 里边的。但是单片机的这 512 字节的 RAM在地位上并不都是平等的,而是分块的,块与块之间在物理结构和用法上都是有区别的,因此我们在使用的时候,也要注意一些问题。 51 单片机的 RAM 分为两个部分,一块是片内 RAM,一块是片外 RAM。标准 51 的片内 RAM 地址从 0x00H~0x7F 共 128 个字节,而现在我们用的 51 系列的单片机都是带扩展
[单片机]
51单片机总线时序
一、总线概述 计算机系统是以微处理器为核心的,各器件要与微处理器相连,且必须协调工作,所以在微处理机中引入了总线的概念,各器件共同享用总线,任何时候只能有一个器件发送数据(可以有多个器件同时接收数据) 。 计算机的总线分为控制总线、地址总线和数据总线等三种。而数据总线用于传送数据,控制总线用于传送控制信号, 地址总线则用于选择存储单元或外设。 二、单片机的三总线结构 51系列单片机具有完善的总线接口时序,可以扩展控制对象,其直接寻址能力达到64k( 2的16次方) 。在总线模式下,不同的对象共享总线,独立编址、分时复用总线,CPU 通过地址选择访问的对象,完成与各对象之间的信息传递。 单片机三总线扩展示意如图1 所示。
[单片机]
采用单片机智能照明控制系统电路设计
本系统主要由光照检测电路、热释电红外线传感器及处理电路、单片机系统及控制电路组成。工作时,光照检测电路和热释电红外线传感器采集光照强弱、室人是否有人等信息送到单片机,单片机根据这些信息通过控制电路对照明设备进行开关操作,从而实现照明控制,以达到节能的目的。 系统硬件设计 按图1构成的系统硬件电路如图2所示。为了使系统功能更加完善,在该系统中可以增加时间显示电路,用于显示当前的时间。目前较为流行的单片机有AVR和51单片机,从系统设计的功能需求及成本考虑,51单片机性价比更高。AT89C52是拥有2个外部中断、2个 16位定时器、2个可编程串行UART的单片机。中心控制模块采用 AT89C52 单片机已完全满足设计需
[电源管理]
扒一扒单片机串口IAP原理
一、什么是IAP? IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。 在重新编程过程中可以使用任意类型的通信协议,如UART、I2S、SPI等。这篇笔记分享的是使用UART方式IAP。 二、串口IAP实验 先理一理流程(本实验是以STM32F103ZET6为例): 1、实验说明 做这个实验需要准备两个keil工程,一个工程用于编写IAP程序,另一个工程用于编写我们的应用程序(要实现某些功能的程序),这里我们以一个点灯程序为例。最终,两份工程编译
[单片机]
利用串口与并口实现51内核单片机的在线编程
摘要:详细说明利用并口模拟I2C总线协议,实现Myson MTV230芯片的在线编程(ISP)过程,以及利用PC机的串口通信实现Winbond W78E516B的在线编程(ISP)过程;阐述PC机的串口与并口在单片机开发中的应用。
关键词:并口编程 串口通信 在线编程 ISP MTV230 W78E516B
引 言
1 在线编程简介
51内核的单片机在线编程模式一般分为两大类。一类是使用JTAG协议的在线编程模式。这类模式一般由厂家提供在线编程工具,使用方便。使用这一类模式的单片机价格往往较高,使用的厂商也不多,故不在本文的讨论之列。另一类在线编程模式是使用一条特殊的指令,使单片机进入在线编程模式。在进入在线编程模式后
[单片机]
单片机AT89C51用电故障控制系统
1 引言 对于电网短路和线路故障检测保护已有不少研究。市面上的电器短路、过载、超压的保护器功能单一。容易损坏,没用提示功能,不够人性化。但随人们生活水平的不断提高。用电设备也不断增加,产生了肓目用电现象。这给人们造成极大的安全隐患。其中危害性最大的用电故障有三种:输入电压过高、室内线路严重过载、用电器短路。本文设计的单片机AT89C5l用电故障控制系统的目的就是为了防止这三种故障带来的危害。 2 硬件的组成 单片机用电故障控制系统的硬件分别是:由降压变压器、2个相瓦串联的感应线圈、升压变JK器、电磁开关、5V稳压电源、超压过流信号获取比较电路、可编程接门扩展芯片8255、HD44780字符液晶显示模块、ISD
[单片机]