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

发布者:国宝集团最新更新时间:2013-01-22 来源: dzsc关键字:89c51  单片机  数字电压表 手机看文章 扫描二维码
随时随地手机看文章

  0引言

  数字电压表是诸多数字化仪表的核心与基础,电压表的数字化是将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,这有别于传统的以指针加刻度盘进行读数的方法,避免了读数的视差和视觉疲劳。目前数字万用表的内部核心部件是A/D转换器,转换器的精度很大程度上影响着数字万用表的准确度,本文AID转换器采用ADC0809对输入模拟信号进行转换,控制核心AT89c51N对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号。

  1数字电压表硬件电路设计

  硬件电路设计主要包括:89C51单片机系统,~D转换电路,显示电路。测量最大电压为5V,显示最大值为5.00V.图l是数字电压表硬件电路原理图。

  1.1 89C51单片机系统和显示电路

  由于单片机体积小、重量轻、价格便宜,所以本系统采用89C51单片机,其原理图如图1所示。

  89C51内部有4KB的EEPROM,128字节的RAM,所以一般都要根据系统所需存储容量的大小来扩展,ROM和RAM.本电路/EA接高电平,没有扩展片外ROM和RAM.

  89C51的P1、P3.0~P3.3端口作为四位LED数码管显示控制。P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。P0端口作0809的A/D转换数据读入用,P2端口用作0809的A/D转换控制。

  1.2 A/D转换电路

 图1数字电压表电路原理图

  图1数字电压表电路原理图

  A/D转换由集成电路0809完成。0809具有8路模拟信号输入端口,地址线(23~25脚)可决定对哪一路模拟信号进行A/D转换。22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存。6脚为测试控制,当输入一个21xs宽高电平脉冲时,就开始A/D转换。7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平。9脚为A/D转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出。10脚为0809的时钟输入端,利用单片机30引脚的六分频晶振频率再通过14024二分频得到1MHz时钟。

  数字电压表系统的软件设计

  主程序和A/D转换测量程序流程图如图2所示。[page]

主程序和A/D转换测量程序流程图

  2.1初始化程序

  系统上电,初始化程序将70H~77H内存单元清0,P2口置0.系统默认为循环显示8个通道的电压值,当进行一次测量后,将显示每一通道的A/D转换值,每个通道显示时间为1s.70H~77H内存单元存放采样值,78H~7BH内存单元存放显示数据,依次为个位、十位、百位、通道标志位。

  2.2 A/D转换子程序

  A/D转换子程序用来控制对0809/k路模拟输入电压的A/D转换,并将对应的数值存入70H~77H内存单元。

  2.3示子程序

  显示子程序采用动态扫描实现四位数码管的数值显示。测量数据在显示时需转换成BCD码放在78H~7BH内存单元中,其中7BH存放通道标志数。

  R3作为8路循环控制,R0用作显示数据指针。

  3结论

  数字电压表可以测量0~5的8路电压值。89C51为8位处理器,当0809输入电压为5.00V时,输出数据为255(FFH)。因此最大分辩率为O.0196V(5/255)。如要获得更高的精度要求,应采用12位、13位的A/D转换器。数字电压显示可能有偏差,可以通过校正0809的基准电压来解决,或者用软件编程来校正测量值。

  本系统用单片机89C51构成数字电压表控制系统,具有精度高、速度快、性能稳定和电路简单且工作可靠等特点,具有很好的使用价值。

参考文献:

[1]. AT89c51 datasheet http://www.dzsc.com/datasheet/AT89c51_810155.html.
[2]. ADC0809 datasheet http://www.dzsc.com/datasheet/ADC0809_123186.html.
[3]. ROM datasheet http://www.dzsc.com/datasheet/ROM_1188413.html.
[4]. BCD datasheet http://www.dzsc.com/datasheet/BCD_1225719.html

关键字:89c51  单片机  数字电压表 引用地址:基于89c51单片机的数字电压表设计

上一篇:基于AT89C51单片机的LED汉字显示屏设计方案
下一篇:基于单片机的脑波治疗仪研制

推荐阅读最新更新时间:2024-03-16 13:17

在PIC18单片机中使用BootLoader
摘要:介绍在PIC18系列单片机中使用BootLoader的原理、方法及优点;介绍HI-TECH公司使用C语言实现BootLoader的程序,给出详细的使用方法和参数配置方法;针对程序中存在的问题进行探讨和修改,使修改后的程序实用、可靠。另外,探讨对程序数据进行加密、加快下载速度、在RS485/RS422中使用BootLoader的方法和思路。根据此方法,读者可以编写出适合自己使用的BootLoader程序。 关键词:BootLoader PIC18 IAP 在线升级 引 言   PIC单片机的BootLoader属于需要自己写程序的那种,可以根据自己的需要写出各种功能的BootLoader程序来。目前,比较常见的BootLo
[单片机]
51单片机红外遥控电风扇程序
红外遥控电风扇的电路图下载:http://www.51hei.com/bbs/dpj-20601-1.html 下面是主要源码: /**********************李登峰************************ * 编写;李登峰 * 晶振:11.0592MHZ ******************************************************************/ /*----------------------------------------------- 名称;单片机红外遥控电风扇 ---------------------------------------
[单片机]
51<font color='red'>单片机</font>红外遥控电风扇程序
单片机实验-数据传送
#include reg52.h #define LENTH 16 unsigned char idata dADDR _at_ 0x30; // 定义数组dADDR,大小为16 Byte, 首地址为 0x30 unsigned char xdata xADDR _at_ 0x3000; // 定义数组xADDR,大小为16 Byte, 首地址为 0x3000 void main() { unsigned int i; // 利用循环,将i循环加一,并赋值给0x30~0x3F单元 for (i = 0; i LENTH; i++) dADDR = i + 1; // 利用循环,将dADDR数组中的值赋值
[单片机]
<font color='red'>单片机</font>实验-数据传送
基于AT89S52单片机的超声波测距原理图
该超声波测距系统,电路简单,工作稳定,无需调试,制作成功率高。采用AT89S52单片机作处理器,工作电源:AC6V及电脑USB口两种供电方式;测距范围:40cm~700cm(盲区40cm),测量结果由三位数码管直接显示出来,当测量超过上限值收不到回波时显示 C C C , 测量低于下限值40cm时显示 - - - 。模块上设有一输出端口,用于输出报警信号,当测量结果小于设定的报警值时继电器吸合。报警值可通过板上的两个按键开关K1、K2设定,设定值范围40cm~600cm。 51单片机超声波DIY
[单片机]
基于AT89C51单片机的温度测控系统硬件模块设计
本文主要介绍的基于AT89C51单片机的温度测控系统中最重要的一环:硬件模块设计。以下是该温度测控系统中各个模块及其工作原理。 1 温度检测模块 该系统温度测量部分采用DALLAS公司生产的一线式数字温度传感器DS18B20,它具有微型化、低功耗、高性能抗干扰能力、测量范围广、强易配处理器等优点,DS18B20可直接将温度转化成串行数字信号给单片机处理,它具有三引脚TO-92小体积封装形式,温度测量的范围为-55~+125℃,测温分辨率可达到0.062 5℃。 2 4×4行列式按键模块 该系统采用4×4行列式矩阵按键输入,其中除了0~9这10个相应数字温度按键外,还设计了温度重设按键、确定按键、零下温度选择按键和小数点按键等
[单片机]
Cortex M0引爆低耗高能MCU市场 NXP食得头啖汤
在广受关注的Cortex M3上没有打头阵的NXP如今卷土重来。在 ARM于2月份发布了号称“面积最小、功耗最低、能效最高的ARM处理器” Cortex M0内核的仅仅几周后,这家老牌欧洲半导体厂商就在不久前美国硅谷举行的嵌入式系统大会上推出了业界首款基于该内核的功能性硅芯片。并表示,将于2010年初推出基于Coretex M0的LPC1100系列产品。LPC1100非常适合那些电池供电、电子计量、消费电子外围设备、远程传感器以及所有的16位应用。 NXP在去年公布了该公司在MCU市场的最新战略。作为ARM公司主要的三家合作伙伴之一,该公司希望到2012年时能够在上述合作的推动下实现250%的销售增长。“我们的目标是
[单片机]
FPGA与单片机实现数据RS232串口通信的设计
1 前言 现场可编程逻辑器件(FPGA)在高速采集系统中的应用越来越广,由于FPGA对采集到的数据的处理能力比较差,故需要将其采集到的数据送到其他CPU系统来实现数据的处理功能,这就使FPGA系统与其他CPU系统之间的数据通信提到日程上,得到人们的急切关注。本文介绍利用VHDL语言实现 FPGA与单片机的串口异步通信电路。 整个设计采用模块化的设计思想,可分为四个模块:FPGA数据发送模块,FPGA波特率发生控制模块,FPGA总体接口模块以及单片机数据接收模块。本文着重对FPGA数据发送模块实现进行说明。 2 FPGA数据发送模块的设计 根据RS232 异步串行通信来的帧格式,在FPGA发送模块中采用的每一帧格式为:1位开始位 8
[单片机]
FPGA与<font color='red'>单片机</font>实现数据RS232串口通信的设计
基于MSP430单片机的热敏电阻温度的测量
测量温度一般采用热敏电阻做传感器,测量的方法有R—V转换电压测量法和R—F转换频率测量法。这两种方法的电路复杂且成本高,电路中很多元器件直接影响测量精度。本文论述一种类R—F转换频率的测量法,用NE555定时器和热敏电阻等器件构成振荡器,由MSP430单片机的捕获功能来捕获多谐振荡器输出信号的高低电平并计数,热敏电阻Rt与捕获高低电平时的计数值的差值成正比关系。该方法电路简单、成本低,系统流程框图如图1所示。 1 负温热敏电阻 PT一25E2热敏电阻温度阻值变化曲线如图2所示。PSB型负温热敏电阻由Co、Mn、Ni等过渡金属元素的氧化物组成,经高温烧成半陶瓷,利用半导体毫微米的精密加工工艺,采用玻璃管封装,耐温性好,可靠性
[单片机]
基于MSP430<font color='red'>单片机</font>的热敏电阻温度的测量
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved