51单片机简单数字电压表

合集下载

51单片机简易数字电压表

51单片机简易数字电压表

综合性设计性实验报告
院/系别:化工机械系班级:自动化2011 2014—2015学年第一学期
分析图可知,CS先为低电平,WR随后置低,经时间tw(WR)
INTR变为低电平时后,将CS先置低,接着再将RD
tACC时间后,数据输出口上的数据到达稳定状态,此时直接读取数据
脚接口,其中:为电源地
CGROM中字符码与字符字模关系对照表
0x00~0x0F为用户自定义的字符图形RAM(对于
点阵的字符,存放4组),就是CGRAM了。

为标准的ASCII码,0xA0~0xFF为日文字符和希腊文字符,其余字符
①电压测量
被测电压由自制0--±24V直流电源提供,下图是胜利E86万用表、电源自带电压表和本次作品电压测量对比。

③蜂鸣及其他功能测试
电阻小于20Ω是蜂鸣报警正常。

电压测量0-20V量程时,本表支持校表。

实验总结:
通过本次综合性设计实验,我对以单片机基础的模数转换系统的设计有了更深刻
填写说明:
1.实验类型:验证性、设计性或综合性。

2.表格不够填写,可抬高,增加页数。

3.签名、日期必须手写。

综合性设计性实验报告
题目:基于51单片机的直流数字电压表院系:化工机械系
班级:11级自动化
姓名:何延海
学号:1120301030。

基于51单片机的简易数字电压表的设计原理1

基于51单片机的简易数字电压表的设计原理1

题目:基于51单片机的简易数字电压表的设计系部:专业:班级:学生姓名:学号:指导老师:日期:目录毕业设计任务书 (1)开题报告........................................................................................ 错误!未定义书签。

摘要.......................................................................................... 错误!未定义书签。

关键词. (2)引言 (2)第一章A/D转换器 (4)1.1A/D转换原理 (4)1.2 ADC性能参数 (6)1.2.1 转换精度 (6)1.2.2. 转换时间......................................................... 错误!未定义书签。

1.3 常用ADC芯片概述 (8)第二章8OC51单片机引脚 (9)第三章ADC0809 (11)3.1 ADC0809引脚功能 (11)3.2 ADC0809内部结构 (13)3.3ADC0809与80C51的接口 (14)3.4 ADC0809的应用指导 (15)3.4.1 ADC0809应用说明 (15)3.4.2 ADC0809转换结束的判断方法 (15)3.4.3 ADC0809编程方法 (16)第四章硬件设计分析 (17)4.1电源设计 (17)4.2 关于74LS02,74LS04 (17)4.3 74LS373概述 (18)4.3.1 引脚图 (18)4.3.2工作原理 (18)4.4简易数字电压表的硬件设计 (19)结论 (20)参考文献 (20)附录.......................................................................................... 错误!未定义书签。

51单片机的数字电压表设计不需要仿真

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单片机的简易数字电压表的设计要点

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

五邑大学单片机课程设计报告基于51单片机的简易数字电压表的设计学院:信息工程学院专业:交通工程(交通控制与管理)班姓名学号指导老师:完成日期:2015年01月05日目录1 引言 (1)2 设计方案 (1)3 元器件 (3)4 实际电路 (8)5 单片机程序 (10)6 电路板制作 (15)7总结 (16)8附录 (16)9参考文献 (17)数字电压表设计1引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。

而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。

数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。

由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。

传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。

采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。

数字电压表是诸多数字化仪表的核心与基础。

以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。

目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。

目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面。

本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。

其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号2 设计方案2.1设计要求以单片机为核心,设计一个数字电压表。

51单片机实现简易数字电压表(液晶显示)仿真图+程序

51单片机实现简易数字电压表(液晶显示)仿真图+程序
#include <reg51.h>
#include <lcd.c>
#include <ADC0809.c>
#define uchar unsigned char
#define uint unsigned int
void main()
{
uchar i;
ADC_init();
LCD_init();
while(1)
void LCD_w_com(uchar com)
{
while(lcd_bz());
LCD_DB=com;
LCD_RS=0;//指令
LCD_RW=0;//写入
LCD_E=1;
LCD_E=0;
delay(1);//等待执行完毕。。。
}
//===================写数据函数=================
void gotoxy(uchar x,uchar y) // x表示行,y表示列
{uchar address;
if(x==1)
address=0x80+y;
else
address=0xc0+y;
LCD_w_com(address);
}
//=========显示一个字符串==================
gotoxy(2,5);
LCD_display(c);
}
void sepr(uchar i)
{
uint ch;
ch=i;
c[0]='0'+ch/51;
c[1]='.';
c[2]='0'+(ch%51)*10/51;

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

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

1.1数字电压表介绍数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。

而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。

因此AD转换是此次设计的核心元件。

输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。

本次自己的设计作品从各个角度分析了AD转换器组成的数字电压表的设计过程及各部分电路的组成及原理,并且分析了数模转换进而使系统运行起来的原理及方法。

通过自己的实践提高了动手能力,也只有亲历亲为才能收获掌握到液晶学过的知识。

其实也为建立节约成本的意识有些帮助。

本次设计同时也牵涉到了几个问题:精度、位数、速度、还有功耗等不足之处,这些都是要慎重考虑的,这些也是在本次设计中的收获。

1.3 本次设计要求本次设计的作品要求制作数字电压表的量程为0到10v,由于用到的模数转换芯片是ADC0809,设计系统给的供电电压为+5v,所以能够测量的电压范围为-0.25v到5.25v之间,但是一般测量的直流电压范围都在这之上,所以采用电阻分压网络,设计的电压测量范围是0到25v之间,满足设计要求的最大量程5v的要求。

同时设计的精度为小数点后三位,满足要求的两位小数的精度,在不考虑AD芯片的量化误差的前提下,此次设计的精度能够满足一般测量的要求。

2单片机和AD相关知识2.1 51单片机相关知识51单片机是对目前所有兼容intel 8031指令系统的单片机的统称。

该系列单片机的始祖是intel的8031单片机,后来随着技术的发展,成为目前广泛应用的8为单片机之一。

单片机是在一块芯片内集成了CPU、RAM、ROM、定时器/计数器和多功能I/O口等计算机所需要的基本功能部件的大规模集成电路,又称为MCU。

51系列单片机内包含以下几个部件:一个8位CPU;一个片内振荡器及时钟电路;4KB的ROM程序存储器;一个128B的RAM数据存储器;寻址64KB外部数据存储器和64KB外部程序存储空间的控制电路;32条可编程的I/O口线;两个16位定时/计数器;一个可编程全双工串行口;5个中断源、两个优先级嵌套中断结构。

51单片机简单数字电压表

51单片机简单数字电压表

单片机硬件实习任务书通信工程教研室指导教师:_基于单片机的简易数字电压表的设计目录1 引言 (1)2 设计总体方案 (2)2.1设计要求 (2)2.2 设计思路 (2)2.3 设计方案 (2)3 硬件电路设计 (3)3.1 A/D转换模块 (3)3.2 单片机系统 (6)3.3 复位电路和时钟电路 (8)3.4 LED显示系统设计 (8)3.5 总体电路设计 (11)4 程序设计 (13)4.1 程序设计总方案 (13)4.2 系统子程序设计 (13)5 仿真 (15)5.1 软件调试 (15)5.2 显示结果及误差分析 (17)结论 (20)参考文献 (21)附录程序代码和实物图 (24)心得体会 ......................................................... 错误!未定义书签。

1引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。

而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。

数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。

由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。

传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。

采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。

数字电压表是诸多数字化仪表的核心与基础[2]。

以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。

目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。

最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[4]。

51单片机的数字电压表设计

51单片机的数字电压表设计
基于单片机的数字电压表的设计
摘要
近些年来,数字电压表逐渐进入人们的视线中,它主要采取数字化测量技 术。与传统的指针式仪表相比,它的功能有了进一步的完善,并且精度也有了 很大的提高。数字电压表主要采用单片机和模/数转换模块,这样不仅提高了测 量速度,而且抗干扰能力强、使用便捷、可扩展性强、测量准确。 本文主要采用 AT89C51 单片机和 ADC0808 芯片制作的简易数字电压表, 可以采集 0~5V 和 5~10V 的模拟直流电压进行测量,其测量结果在液晶 LCD1602 上显示。 该设计硬件电路主要有三个模块组成:A/D 转换模块、 数据处 理模块及输出显示模块。数据处理由单片机 AT89C51 来完成,它主要把 ADC0808 传送来的数值经一定的数据处理,然后送至显示模块进行显示,同时 控制显示芯片 1602 的工作。 程序设计上有各模块初始化操作、 电压档位选择和 LCD1602 液晶显示程序等。
8
3. 系统程序设计
系统的主程序流程如图 3-1 所示:
开始
初始化
m>1000? N 接收并处理 数据
Y
选择量程
显示电压值
显示MAX
等待下一次数据
图 3-1
系统主程序流程图
本设计程序设计主要分为几个模块: 初始化程序设计、 A/D 采样程序设计、 测量参数数据处理程序设计、量程选择和报警程序设计、LCD1602 显示程序设 计。下面逐个介绍各个模块的程序设计。 3.1 初始化程序 所谓初始化,将利用到单片机内部各部件或扩展芯片进行初始工作状态设 定,其主要负责设置定时器模式、初始设定、开中断和打开定时器等,对于液 晶 1602 同样也要进行初始化,其中包括清除显示屏、显示开/关控制、功能设 置、进入模式设置等。其中部分初始化程序如下:

基于51单片机的简易数字电压表的方案设计书

基于51单片机的简易数字电压表的方案设计书

班级:智能电网111学生:喻卫湖南铁道职业技术学院电气工程系目录1控制要求2设计目的意义3 系统原理框图4 89C52单片机5 ADC0809 的工作原理6 系统原理图和PCB图7程序流程图8 C语言程序9数字电压表工作原理10设计体会1控制要求利用STC89C52单片机和ADC0809设计一个数字电压表,能够测量0-5V之间的直流电压值,四位数码管显示,使用的元器件数目较少。

外界电压模拟量输入到A/D转换部分的输入端,通过ADC0809转换变为数字信号,输送给单片机。

然后由单片机给数码管数字信号,控制其发光,从而显示数字。

2设计目的意义1.通过亲身的设计应用电路,将所用的理论知识应用到实践中,增强实践动手能力,进而促进理论知识的强化。

2.通过数字电压表的设计系统掌握51单片机的应用。

掌握A/D转换的原理及软件编程及硬件设计的方法,掌握根据课题的要求,提出选择设计方案,查找所需元器,设计并搭建硬件电路,编程写入STC89C52单片机并进行调试等。

3 系统原理框图4 89C52引脚资料STC89C52P1 P0P3 P2AD0809D0~D7IN0~IN7VREF+VREF-CLKOEST、ALE四位数码管位选段选控制线数据待测电压系统原理框图89C51引脚图总线型DIP40引脚封装电源引脚(2个)VCC:接+5V电源。

GND:接地端。

外接晶体引脚(2个)XTAL1:外接晶振输入端(采用外部振荡器时,此引脚接地)。

XTAL2:外接晶振输入端(采用外部振荡器时,此引脚作为外部振荡信号输入端)。

并行输入/输出引脚(32个)P0.0~P0.7:通用I/O引脚。

P1.0~P1.7:通用I/O引脚。

P2.0~P2.7:通用I/O引脚或数据低8位地址总线复用引脚。

P3.0~P3.7:通用I/O引脚或第二功能引脚(RXD、TXD、INT0、INT1、T0、T1、WR 、RD)。

控制引脚(4个)RST/VPD:复位信号输入引脚/备用电源输入引脚。

利用51单片机与ADC0809和数码管设计数字电压表

利用51单片机与ADC0809和数码管设计数字电压表

利用51单片机与ADC0809和数码管设计数字电压表一、课题功能描述:利用单片机AT89C51 芯片与ADC0809 芯片设计一个数字电压表,能够测量0―5V 之间的直流电压,三位数码显示。

二、程序设计本实验采用AT89C51 单片机芯片配合 ADC0809 模/数转换芯片构成一个简易的数字电压表,原理电路如图1-1 所示。

该电路通过 ADC0809 芯片采样输入口AI0 输入的0~5V 的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7 传送给 AT89C51 芯片的F0口。

AT89C51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过P1 口传送给数码管。

同时它还通过其三位 I/O 口 P3.0、P3.1、P3.2 产生位片选信号,控制数码管的亮灭。

另外,AT89C51 还控制着 ADC0809 的工作。

其ALE管脚为 ADC0809提供了 1MHZ 工作的时钟脉冲;P2.3 控制 ADC0809 的地址锁存端(ALE); P2.4 控制 ADC0809 的启动端(START); P2.5 控制 ADC0809 的输出允许端(OE); P3.7 控制 ADC0809 的转换结束信号(EOC)。

电路原理图如下:三、器件清单:1 . AT89S51 芯片 1块2 . ADC0809 芯片 1块3 . 74HC245 芯片 1块4 . 数码管 1个5 . 6MHZ 晶振 1个6 . 30pF 电容 2个7 . 10uF 电解电容 1个8 . 复位电容 1个9 . 510Ω电阻 8个10. 10KΩ电阻 1个11. 导线若干四、程序设计1、主程序设计由于ADC0809 在进行A/D转换时需要有CKL 信号,而此时的 ADC0809 的CLK 是连接在 AT89C51 单片机的30管脚,也就是要求从30管脚输出CLK 信号供图1-2主程序流程图ADC0809 使用。

基于51单片机的数字电压表

基于51单片机的数字电压表

课程设计题目数字电压表学生姓名张玉龙学号20081341056学院信息与控制学院专业测控技术与仪器指导教师葛化敏二O一一年六月三十日基于51单片机的数字电压表一、设计内容:先在proteus 上进行软件仿真设计,在仿真实现的基础上,要求完成部分硬件模块的制作和系统联调,实验内容为设计一个数字电压表,实现从模拟信号输入到数字信号输出的基本功能。

二、设计要求:采用51系列单片机和ADC 设计一个数字电压表电路,通过调节滑动变阻器改变电压,在LCD 液晶屏上显示其相应的电压值,要求电压精确到小数点后第四位,显示格式为,LCD 第一行前一段为“20081341056”(班级同学张玉龙的学号),后一段则为“V :”(电压单位);第二行的前一段为“Class 2”(班级2班),后一段则显示电压值,单位为“V ”。

三、设计原理:通过在Keil 软件对单片机AT89C52进行编程,硬件电路中单片机与ADC0804及LCD 显示屏连接。

P0与ADC0804相连接,P1与LCD 连接。

通过start()子程序启动ADC0804,通过init ()子程序初始化LCD 。

模拟信号通过ADC0804的VIN+引脚输入到ADC0804中转换为数字信号,P0获得此数字量后,经过处理得到每位的数据后,通过P1口写数据到LCD上图为基本的原理图 四、实验电路图及仿真结果:51系列 单片机电压输入五、程序代码:#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit lcdrs=P3^0;sbit lcden=P3^1;sbit wrad=P3^6;sbit rdad=P3^7;uint temp,a1,a2,a3,a4,a5,num;uchar code table[]="0123456789.";//显示数字uchar code table1[]="20081341056 V:"; uchar code table2[]="Class 2";void delay(uint z){uint x,y;for(x=z;x>0;x--)for(y=100;y>0;y--);}void start()//启动AD{wrad=1;wrad=0;wrad=1;}void write_command(uchar com)//写命令{lcdrs=0;P1=com;delay(2);lcden=1;delay(2);lcden=0;}void write_data(uchar date)//写数据{lcdrs=1;P1=date;delay(5);lcden=1;delay(5);lcden=0;}void init()//lcd初始化{lcden=0;write_command(0x38);//设置16x2显示write_command(0x0c);//设置光标write_command(0x06);//写字符指针加1,光标加1write_command(0x01);//清屏}void main(){init();//LCD初始化write_command(0x80);//LCD写地址for(num=0;num<15;num++){write_data(table1[num]);delay(5);}while(1){start();//启动ADdelay(50);rdad=0; //rd低脉冲读数据delay(50);temp=P0;a1=(temp*50000/255)/10000;//区分位数,最高位 255*50000/255/10000=5.0000V a2=(temp*50000/255)%10000/1000;a3=(temp*50000/255)%1000/100;a4=(temp*50000/255)%100/10;a5=(temp*50000/255)%10;write_command(0x80+0x40);for(num=0;num<7;num++){write_data(table2[num]);delay(5);}write_command(0x80+0x49);//LCD写地址write_data(table[a1]);delay(1);write_data(table[10]);delay(1);write_data(table[a2]);delay(1);write_data(table[a3]);delay(1);write_data(table[a4]);delay(1);write_data(table[a5]);delay(1);write_data('V');delay(1);}}六、心得体会:课程设计中不得不遇到一些问题,但只要自己有恒心有毅力,终究会克服一切困难;在设计中我们要学会运用keil软件及protues软件对我们设计的电路不断地进行仿真、调试和修正,遇到程序问题时我们应该学会一段一段地去排查,最终解决所有问题;另外,还应熟练掌握每个芯片及器件如51单片机及ADC0804和LM016L每个引脚的作用和接法及各种状态的判断。

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

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

五邑大学单片机课程设计报告基于51单片机的简易数字电压表的设计学院:信息工程学院专业:交通工程(交通控制与管理)班姓名学号指导老师:完成日期:2015年01月05日目录1 引言 (1)2 设计方案 (1)3 元器件 (3)4 实际电路 (8)5 单片机程序 (10)6 电路板制作 (15)7总结 (16)8附录 (16)9参考文献 (17)数字电压表设计1引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。

而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。

数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。

由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用。

传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。

采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。

数字电压表是诸多数字化仪表的核心与基础。

以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。

目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。

目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面。

本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。

其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号2 设计方案2.1设计要求以单片机为核心,设计一个数字电压表。

(原创)用8051实现的数字电压表

(原创)用8051实现的数字电压表

用51单片机实现的电压测量一、硬件电路如下图本电路以AD0809转换电平输入,向单片机输出转换好的电压值的数字信号。

并由单片机转换为数码管的字形码,通过串行口输出到74HC164,再由串行转并行芯片164将其转换成并行型号送入数码管显示。

二、程序代码#include<reg52.h>#define uchar unsigned char#define uint unsigned int#define wei P1#define duan P3#define ADdata P0#define ADch P2sbit LEDR=P3^2;sbit ST=P2^0;//Startsbit CLK=P2^1;//clocksbit EOC=P2^2;sbit OE=P2^3;sbitadda=P2^4;sbitaddb=P2^5;sbitaddc=P2^6;sbitdp=P3^5;uchar code dispbitcode[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; uchar code weiTab[]={0x00,0x01,0x02,0x03};uchar Tab[4];voiddelayus(uint us){while(us--);}void delay(uintms){inti,j;for(i=0;i<ms;i++)for(j=0;j<110;j++);}void display(){ inti;ucharseg;for(i=0;i<4;i++){ seg=dispbitcode[Tab[i]];if(i==1)seg|=0x80;SBUF=seg;delayus(10);wei=weiTab[i];delay(5);wei=0x04;}}voidChSelect(ucharch){ch=(((ch&0x07)<<4)&0x70);ADch=ch;}int temp;uchargetdata;void main(){TMOD|=0x02;//定时器设置TH0=(65536-200)/256;//定时器重装值TL0=(65535-200)%256;TR0=1;IE=0x82;while(1){ST=0;while(EOC==1);//查询转换结束{OE=1;getdata=ADdata;OE=0;temp=getdata*1.0/255*500;Tab[0]=temp/1000;Tab[1]=temp/100%10;Tab[2]=temp/10%10;Tab[3]=temp%10;Display();ST=0;OE=0;ChSelect(3);ST=1;}}}void timer0(void) interrupt 1{TH0=(65536-200)/256; TL0=(65536-200)%256; CLK=~CLK;}。

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

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

基于8051单片机的简易电压表设计————————————————————————————————作者:————————————————————————————————日期:单片机课程设计—简易直流电压表班级:电信四班姓名:彭飞宇学号:2220081336摘要电压表应用十分广泛,但大部分是模拟电压表,而由于其特性,反应速度慢,读数麻烦并且误差较大,所以为适应不断快速发展的高速信号领域,已经广泛使用数字电压表。

本实验设计是基于51单片机开发平台实现的一种数字电压表系统。

该设计采用8051单片机作为控制核心,以ADC0809为模数转换数据采样,实现被测电压的数据采样;通过外围分压电路实现5V和50V的换档;同时使用5V稳压管作为超范围的保护电路;用8255驱动控制四块数码管显示被测电压。

1。

设计任务和要求1.1 设计任务设计制作一个简易直流电压表,该直流电压表能测量直流电压输入电压AD转换器控制器显示测量值1.2 设计要求基本要求1. 能测量电压档0--5V0-—50V 两档,输入阻抗〉200K2. 数码显示共3位,其中一位小数3. 要有输入信号超范围的保护电路 发挥部分1. 能够测量交流电压(0-500V ) 2. 能够测量电阻二 设计方案和部分仿真2.1 硬件:上图为硬件的总体框图,可分为四个模块。

模数转换使用ADC0809芯片,它将输入的模拟电压量转换为一个8位的二进制数字,然后进入到单片机80C51控制单元,经过8255驱动处理用数码管显示出电压值.外围电路是一种分压电路,由于ADC0809芯片输入电压不可大于5V,所以当测量50V 档位的时候要通过分压电路来实现。

同时还有控制单片机显示程序,使其显示为50V 档位数值。

(1)以下介绍MCS —51单片机的内部结构,主要部分为电压模拟量输入外电路模 数 转 换 模 块微 控 制 器 模 块数 码 管 显 示模数控制程图1 硬件框图1. 一个8位的CPU2。

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

毕业论文声明本人郑重声明:1.此毕业论文是本人在指导教师指导下独立进行研究取得的成果。

除了特别加以标注地方外,本文不包含他人或其它机构已经发表或撰写过的研究成果。

对本文研究做出重要贡献的个人与集体均已在文中作了明确标明。

本人完全意识到本声明的法律结果由本人承担。

2.本人完全了解学校、学院有关保留、使用学位论文的规定,同意学校与学院保留并向国家有关部门或机构送交此论文的复印件和电子版,允许此文被查阅和借阅。

本人授权大学学院可以将此文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本文。

3.若在大学学院毕业论文审查小组复审中,发现本文有抄袭,一切后果均由本人承担,与毕业论文指导老师无关。

4.本人所呈交的毕业论文,是在指导老师的指导下独立进行研究所取得的成果。

论文中凡引用他人已经发布或未发表的成果、数据、观点等,均已明确注明出处。

论文中已经注明引用的内容外,不包含任何其他个人或集体已经发表或撰写过的研究成果。

对本文的研究成果做出重要贡献的个人和集体,均已在论文中已明确的方式标明。

学位论文作者(签名):年月关于毕业论文使用授权的声明本人在指导老师的指导下所完成的论文及相关的资料(包括图纸、实验记录、原始数据、实物照片、图片、录音带、设计手稿等),知识产权归属华北电力大学。

本人完全了解大学有关保存,使用毕业论文的规定。

同意学校保存或向国家有关部门或机构送交论文的纸质版或电子版,允许论文被查阅或借阅。

本人授权大学可以将本毕业论文的全部或部分内容编入有关数据库进行检索,可以采用任何复制手段保存或编汇本毕业论文。

如果发表相关成果,一定征得指导教师同意,且第一署名单位为大学。

本人毕业后使用毕业论文或与该论文直接相关的学术论文或成果时,第一署名单位仍然为大学。

本人完全了解大学关于收集、保存、使用学位论文的规定,同意如下各项内容:按照学校要求提交学位论文的印刷本和电子版本;学校有权保存学位论文的印刷本和电子版,并采用影印、缩印、扫描、数字化或其它手段保存或汇编本学位论文;学校有权提供目录检索以及提供本学位论文全文或者部分的阅览服务;学校有权按有关规定向国家有关部门或者机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入学校有关数据库和收录到《中国学位论文全文数据库》进行信息服务。

在不以赢利为目的的前提下,学校可以适当复制论文的部分或全部内容用于学术活动。

论文作者签名:日期:指导教师签名:日期:单片机硬件实习任务书通信工程教研室指导教师:_基于单片机的简易数字电压表的设计目录1 引言 (1)2 设计总体方案 (2)2.1设计要求 (2)2.2 设计思路 (2)2.3 设计方案 (2)3 硬件电路设计 (3)3.1 A/D转换模块 (3)3.2 单片机系统 (6)3.3 复位电路和时钟电路 (8)3.4 LED显示系统设计 (8)3.5 总体电路设计 (11)4 程序设计 (13)4.1 程序设计总方案 (13)4.2 系统子程序设计 (13)5 仿真 (15)5.1 软件调试 (15)5.2 显示结果及误差分析 (17)结论 (20)参考文献 (21)附录程序代码和实物图 (24)心得体会 ........................................................... 错误!未定义书签。

1引言在电量的测量中,电压、电流和频率是最基本的三个被测量,其中电压量的测量最为经常。

而且随着电子技术的发展,更是经常需要测量高精度的电压,所以数字电压表就成为一种必不可少的测量仪器。

数字电压表简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。

由于数字式仪器具有读数准确方便、精度高、误差小、测量速度快等特而得到广泛应用[1]。

传统的指针式刻度电压表功能单一,进度低,容易引起视差和视觉疲劳,因而不能满足数字化时代的需要。

采用单片机的数字电压表,将连续的模拟量如直流电压转换成不连续的离散的数字形式并加以显示,从而精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC实时通信。

数字电压表是诸多数字化仪表的核心与基础[2]。

以数字电压表为核心,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表。

目前,由各种单片机和A/D转换器构成的数字电压表作全面深入的了解是很有必要的。

最近的几十年来,随着半导体技术、集成电路(IC)和微处理器技术的发展,数字电路和数字化测量技术也有了巨大的进步,从而促使了数字电压表的快速发展,并不断出现新的类型[4]。

数字电压表从1952年问世以来,经历了不断改进的过程,从最早采用继电器、电子管和形式发展到了现在的全固态化、集成化(IC 化),另一方面,精度也从0.01%-0.005%。

目前,数字电压表的内部核心部件是A/D转换器,转换的精度很大程度上影响着数字电压表的准确度,因而,以后数字电压表的发展就着眼在高精度和低成本这两个方面[3]。

本文是以简易数字直流电压表的设计为研究内容,本系统主要包括三大模块:转换模块、数据处理模块及显示模块。

其中,A/D转换采用ADC0808对输入的模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算处理,最后驱动输出装置LED显示数字电压信号[11]。

2设计总体方案2.1设计要求⑴以MCS-51系列单片机为核心器件,组成一个简单的直流数字电压表。

⑵采用1路模拟量输入,能够测量0-5V之间的直流电压值。

⑶电压显示用4位一体的LED数码管显示,至少能够显示两位小数。

⑷尽量使用较少的元器件。

2.2设计思路⑴根据设计要求,选择AT89C51单片机为核心控制器件。

⑵A/D转换采用ADC0809实现,与单片机的接口为P1口和P2口的高四位引脚。

⑶电压显示采用4位一体的LED数码管。

⑷LED数码的段码输入,由并行端口P0产生:位码输入,用并行端口P2低四位产生。

2.3设计方案硬件电路设计由6个部分组成; A/D转换电路,AT89C51单片机系统,LED 显示系统、时钟电路、复位电路以及测量电压输入电路。

硬件电路设计框图如图1所示。

图1 数字电压表系统硬件设计框图3 硬件电路设计3.1A/D转换模块现实世界的物理量都是模拟量,能把模拟量转化成数字量的器件称为模/数转换器(A/D转换器),A/D转换器是单片机数据采集系统的关键接口电路,按照各种A/D芯片的转化原理可分为逐次逼近型,双重积分型等等。

双积分式A/D 转换器具有抗干扰能力强、转换精度高、价格便宜等优点。

与双积分相比,逐次逼近式A/D转换的转换速度更快,而且精度更高,比如ADC0809、ADC0808等,它们通常具有8路模拟选通开关及地址译码、锁存电路等,它们可以与单片机系统连接,将数字量送到单片机进行分析和显示。

一个n位的逐次逼近型A/D转换器只需要比较n次,转换时间只取决于位数和时钟周期,逐次逼近型A/D转换器转换速度快,因而在实际中广泛使用[1]。

3.1.1逐次逼近型A/D转换器原理逐次逼近型A/D转换器是由一个比较器、A/D转换器、存储器及控制电路组成。

它利用内部的寄存器从高位到低位一次开始逐位试探比较。

转换过程如下:开始时,寄存器各位清零,转换时,先将最高位置1,把数据送入A/D转换器转换,转换结果与输入的模拟量比较,如果转换的模拟量比输入的模拟量小,则1保留,如果转换的模拟量比输入的模拟量大,则1不保留,然后从第二位依次重复上述过程直至最低位,最后寄存器中的内容就是输入模拟量对应的二进制数字量[5]。

其原理框图如图2所示:图2 逐次逼近式A/D转换器原理图3.1.2ADC0809主要特性ADC0809是CMOS单片型逐次逼近式A/D转换器,带有使能控制端,与微机直接接口,片内带有锁存功能的8路模拟多路开关,可以对8路0-5V输入模拟电压信号分时进行转换,由于ADC0809设计时考虑到若干种模/数变换技术的长处,所以该芯片非常适应于过程控制,微控制器输入通道的接口电路,智能仪器和机床控制等领域[5]。

ADC0809主要特性:8路8位A/D转换器,即分辨率8位;具有锁存控制的8路模拟开关;易与各种微控制器接口;可锁存三态输出,输出与TTL兼容;转换时间:128μs;转换精度:0.2%;单个+5V电源供电;模拟输入电压范围0- +5V,无需外部零点和满度调整;低功耗,约15mW[6]。

3.1.3 ADC0809的外部引脚特征ADC0809芯片有28条引脚,采用双列直插式封装,其引脚图如图3所示。

图3 ADC0809引脚图下面说明各个引脚功能:IN0-IN7(8条):8路模拟量输入线,用于输入和控制被转换的模拟电压。

地址输入控制(4条):ALE:地址锁存允许输入线,高电平有效,当ALE为高电平时,为地址输入线,用于选择IN0-IN7上那一条模拟电压送给比较器进行A/D转换。

ADDA,ADDB,ADDC:3位地址输入线,用于选择8路模拟输入中的一路,其对应关系如表1所示:表1 ADC0809通道选择表地址码对应的输入通道C B A0 0 0 0 1 1 1 1 011111111IN0IN1IN2IN3IN4IN5IN6IN7送来,宽度应大于100ns,上升沿清零SAR,下降沿启动ADC工作。

EOC: EOC为转换结束输出线,该线上高电平表示A/D转换已结束,数字量已锁入三态输出锁存器。

D1-D8:数字量输出端,D1为高位。

OE:OE为输出允许端,高电平能使D1-D8引脚上输出转换后的数字量。

REF+、REF-:参考电压输入量,给电阻阶梯网络供给标准电压。

Vcc、GND: Vcc为主电源输入端,GND为接地端,一般REF+与Vcc连接在一起,REF-与GND连接在一起.CLK:时钟输入端。

3.1.4 ADC0809的内部结构及工作流程ADC0808由8路模拟通道选择开关,地址锁存与译码器,比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路和三态输出锁存器等组成,其内部结构如图4所示。

图4 ADC0809的内部结构其中:(1)8路模拟通道选择开关实现从8路输入模拟量中选择一路送给后面的比较器进行比较。

(2)地址锁存与译码器用于当ALE信号有效时,锁存从ADDA、ADDB、ADDC 3根地址线上送来的3位地址,译码后产生通道选择信号,从8路模拟通道中选择当前模拟通道。

(3)比较器,8位开关树型A/D转换器,逐次逼近型寄存器,定时和控制电路组成8位A/D转换器,当START信号有效时,就开始对当前通道的模拟信号进行转换,转换完成后,把转换得到的数字量送到8位三态锁存器,同时通过引脚送出转换结束信号。

相关文档
最新文档