用51单片机设计数字电压表的程序(汇编)
基于51单片机的数字电压表设计
数字电压表简称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单片机的电压表
电路原理图程序清单://*******************************头文件及宏定义************************** *#include<REG52.h>#define TIME0H 0x3C#define TIME0L 0xB0#define uchar unsigned char#define uint unsigned int//******************端口设置********** #define OUTPORT P2 //ADC0809数据接口#define LCDPORT P0 //LCD数据接口sbit SET=P1^3; //定义调整键sbit DEC=P1^4; //定义减少键sbit ADD=P1^5; //定义增加键uchar x=0; //计数器sbit LCDRS=P3^5;// 寄存器选择信号sbit LCDRW=P3^6; //读写信号sbit LCDE=P3^7; //片选信号sbit LED1=P1^0; //下限提示灯sbit LED2=P1^1; //上限提示灯sbit START=P3^4;//ATART,ALE接口。
0->1->0:启动AD转换。
sbit EOC=P3^3; //转换完毕由0变1. sbit alarmflag=P1^2;sbit CLK=P3^2;//********************************全局变量***************************** unsigned int shangxian=300; //上限报警温度,默认值为38 unsigned int xiaxian=200; //下限报警温度,默认值为38 unsigned char uc_Clock=0;//定时器0中断计数bit b_DATransform=0; //启动adc0809转换时间到标志,为1是启动A/D转换bit lowflag; //下限标志bit highflag; //上限标志uchar set_st=0; //状态标志bit shanshuo_st; //闪烁间隔标志//******************************函数声明***************************** void vDelay(); // 延时函数void vWriteCMD(unsigned char ucCommand);//把一个命令写入LCD函数void vWriteData(unsigned char ucData); //把一个数据写入LCD函数void vShowOneChar(unsigned char ucChar);//把一个字符写入LCD函数void vShowChar(unsigned char ucaChar[]); //把一组字符写入LCD函数void vShowVoltage(unsigned int uiNumber); //显示函数void vdInitialize(); //LCD初始化函数void Time0(); // 定时器0中断函数unsigned int uiADTransform(); // AD转换函数//*****外部中断0服务程序***** void int0(void) interrupt 0{EX0=0; //关外部中断0if(DEC==0&&set_st==1){vDelay();do{}while(DEC==0&&set_st==1); shangxian=shangxian-5;if(shangxian<xiaxian)shangxian=300;}else if(DEC==0&&set_st==2){ vDelay();do{}while(DEC==0&&set_st==2);xiaxian=xiaxian-5;if(xiaxian<0)xiaxian=0;}}//*****外部中断1服务程序*****void int1(void) interrupt 2{EX1=0; //关外部中断1if(ADD==0&&set_st==1){ vDelay();do{}while(ADD==0&&set_st==1);shangxian=shangxian+5;if(shangxian>500)shangxian=500;}else if(ADD==0&&set_st==2){vDelay();do{}while(ADD==0&&set_st==2);xiaxian=xiaxian+5;if(xiaxian>shangxian)xiaxian=200;}}//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<AD转换函数>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> unsigned int uiADTransform(){unsigned int uiResult;OUTPORT=0x00;START=1; //启动AD转换。
基于51单片机的数字电压表设计
目录摘要 (I)1 绪论 (1)1.1数字电压表介绍 (1)1.2仿真软件介绍 (1)1.3 本次设计要求 (2)2 单片机和AD相关知识 (3)2.1 51单片机相关知识 (3)2.2 AD转换器相关知识 (4)3 数字电压表系统设计 (5)3.1系统设计框图 (5)3.2 单片机电路 (5)3.3 ADC采样电路 (6)3.4显示电路 (6)3.5供电电路和参考电压 (7)3.6 数字电压表系统电路原理图 (7)4 软件设计 (8)4.1 系统总流程图 (8)4.2 程序代码 (8)5 数字电压表电路仿真 (15)5.1 仿真总图 (15)5.2 仿真结果显示 (15)6 系统优缺点分析 (16)7 心得体会 (17)参考文献 (18)1 绪论1.1数字电压表介绍数字电压表简称DVM,数字电压表基本原理是将输入的模拟电压信号转化为数字信号,再进行输出显示。
而A/D转换器的作用是将连续变化的模拟信号量转化为离散的数字信号,器基本结构是由采样保持,量化,编码等几部分组成。
因此AD转换是此次设计的核心元件。
输入的模拟量经过AD转换器转换,再由驱动器驱动显示器输出,便得到测量的数字电压。
本次自己的设计作品从各个角度分析了AD转换器组成的数字电压表的设计过程及各部分电路的组成及原理,并且分析了数模转换进而使系统运行起来的原理及方法。
通过自己的实践提高了动手能力,也只有亲历亲为才能收获掌握到液晶学过的知识。
其实也为建立节约成本的意识有些帮助。
本次设计同时也牵涉到了几个问题:精度、位数、速度、还有功耗等不足之处,这些都是要慎重考虑的,这些也是在本次设计中的收获。
1.2仿真软件介绍Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows 操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:(1)现了单片机仿真和SPICE电路仿真相结合。
基于51单片机的数字电压表仿真设计(有参考文献)
基于51单片机的数字电压表仿真设计一、引言随着电子科学技术的发展,电子测量成为广大电子工作者必须掌握的手段,对测量的精度和功能的要求也越来越高,而电压的测量甚为突出,因为电压的测量最为普遍。
数字电压表是采用数字化测量技术设计的电压表。
数字电压表与模拟电压表相比,具有读数直观、准确、显示范围宽、分辨力高、输入阻抗大、集成度高、功耗小、抗干扰能力强,可扩展能力强等特点,因此在电压测量、电压校准中有着广泛的应用。
而单片机也越来越广泛的应用与家用电器领域、办公自动化领域、商业营销领域、工业自动化领域、智能仪表与集成智能传感器传统的控制电路、汽车电子与航空航天电子系统。
单片机是现代计算机技术、电子技术的新兴领域。
本文采用ADC0808对输入模拟信号进行转换,控制核心C51单片机对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号,通过Proteus仿真软件实现接口电路设计,并进行实时仿真。
Proteus软件是一种电路分析和实物模拟仿真软件。
它运行于Windows 操作系统上,可以进行仿真、分析(SPICE)各种模拟器件和集成电路,是集单片机和SPICE分析于一身的仿真软件,功能强大,具有系统资源丰富、硬件投入少、形象直观等优点,近年来受到广大用户的青睐。
二、数字电压表概述1、数字电压表的发展与应用电压表指固定安装在电力、电信、电子设备面板上使用的仪表,用来测量交、直流电路中的电压。
传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,并且传统的电压表在测量电压时需要手动切换量程,不仅不方便,而且要求不能超过该量程。
目前,由各种单片A/D转换器构成的数字电压表,已被广泛用于电子及电工测量领域,并且由DVM扩展而成的各种通用及专用数字仪器仪表,也把电量及非电量测量技术提高到崭新水平。
2、本次设计数字电压表的组成部分本设计是由单片机AT89C51作为整个系统控制的核心,整个系统由衰减输入电路、量程自动转换电路、交直流转换电路、模数转换及控制电路以及接口电路五大部分构成。
基于51单片机的数字电压表的设计
摘要随着电子技术的发展,电子测量技术对测量的精度和功能的要求也越来越高,而数字电压表作为实验室的基本测量设备,它可以很好的满足测量精度和功能的要求。
本设计利用AT89S51单片机技术结合A/D转换(采用ADC0809)构建了一个直流数字电压表。
经过对数字电压表基本原理的分析,本文设计了一个以51单片机为核心的数字电压表系统,给出了直流数字电压表的设计流程,设计了电压测量子系统和电流测量子系统,给出了硬件电路的框图、电气原理图和软件流程图。
系统设置了3个键的键盘,用于设定电压、电流切换的功能键、系统复位键以及清零键。
关键词:数字电压表;AT89S51单片机;A/D转换;ADC0809;AbstractAs electronic science and technology development, electronic measurement technology on the accuracy of measurement and functional requirements are increasingly high, and digital voltmeter measurement equipment as the basic laboratory, it can well meet the measuring precision and function requirements. A dc digital voltmeter is built by using AT89S51 with the A/D convertor (ADC0809)in the paper.This paper first introduces the main method and design voltmeter SCM system advantage; Then introduces the design process of dc digital voltmeter, and hardware system and the design of software system, and gives the hardware circuit design system diagram and software system design flow diagram.Keywords: Digital voltmeter; AT89S51MCS; A/D conversion; ADC0809.目录1 绪论 (1)1.1前言 (1)1.2数字电压表的介绍 (1)1.2.1数字电压表的发展概况 (1)1.2.2数字电压表在各领域中的应用 (2)1.2.3数字电压表的优点 (2)1.3单片机的介绍 (3)1.3.1单片机简介 (3)1.3.2单片机的发展概况 (3)1.3.3单片机的应用 (4)1.3.4单片机的特点 (6)1.4课题背景,国内外研究现状 (6)1.5本文主要研究内容 (8)2 数字电压表的工作原理 (9)2.1数字电压表的基本结构 (9)2.2数字电压表的工作原理 (9)2.2.1模数(A/D)转换与数字显示电路 (10)2.2.2多量程数字电压表分压原理 (10)2.2.3多量程数字电压表分流原理 (11)3 硬件系统各模块具体设计及实现 (14)3.1单片机的选择 (14)3.1.1AT89S51的引脚框图 (15)3.1.2AT89S51的内部结构图 (17)3.2A/D转换器的选择 (18)3.2.1ADC0809的引脚结构 (19)3.2.2ADC0809的内部逻辑结构 (21)3.3显示器的选择 (21)3.4键盘的选择 (23)3.5表笔探针设计 (23)4 系统总体方案研究 (25)4.1总体方案确定 (25)4.2系统框图及阐述 (25)4.3ADC0809与AT89S51的连接 (26)4.4键盘与单片机的连接 (27)4.5多量程数字电压表档位切换原理 (28)4.5.1多量程电压的测量 (28)4.5.2多量程电流的测量 (30)5 系统的软件设计 (31)5.1系统软件设计的总体思想 (31)5.2系统单片机的软件设计 (31)5.2.1键盘的处理 (31)5.2.2显示的处理 (31)5.2.3档位切换的处理 (32)6 系统软件流程图 (33)6.1主程序流程图 (33)6.2A/D转换流程图 (34)7 设计总结 (35)参考文献 (36)致谢 (37)附录 (38)1 绪论1.1前言数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
基于51单片机的数字电压表设计
基于51单片机的数字电压表设计摘要:文章设计了一种以AT89S51为核心、以ADC0809为A/D转换器的数字电压表,可以精确测量0~5V内直流电压,测量精度可达0.02V。
可以满足科研、测试等各方面的需求。
关键词:AT89S51;ADC0809;数字电压表文章介绍了一种用于测试0~5 V直流电压的数字电压表,通过LED七段管显示当前测试电压。
测试结果准确可信且读取方便,有着传统电压表无可比拟的优点。
1硬件设计本设计中数字电压表主要由:A/D转换电路、单片机控制电路、数字显示电路组成。
总电路图如图1所示。
?譹?訛A/D转换电路选用最为常用的通用A/D芯片ADC0809,它由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
单片机P3.0接A/D转换器ST端控制A/D转换的启动;单片机P3.1接A/D转换器OE端控制三条输出锁存器向单片机输出转换得到的数据,OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。
单片机P3.2接A/D转换器EOC端接收转换结束信号,当EOC 为高电平时,表明转换结束;否则,表明正在进行A/D转换。
单片机P3.3提供A/D转换器工作所需时钟脉冲;IN0作为电压信号接收通道,经A/D转换后电压数字信号接入单片机P0.0~P0.7。
取5V为基准电压,故待测电压经A/D转换后的数值D=V256/5.0,所以最终LED七段管显示电压V=5.0/256D。
?譺?訛数字显示电路使用一块四位LED七段管,a、b、c、d、e、f、g、dp口分别单片机P1.0~P1.7口分别接七段管a、b、c、d、e、f、g、dp口控制显示值,单片机P2.0~P2.3口分别接七段管S1~S4口控制七段管的点亮。
基于51单片机的数字电压表的设计
摘要随着电子技术的发展,电子测量技术对测量的精度和功能的要求也越来越高,而数字电压表作为实验室的基本测量设备,它可以很好的满足测量精度和功能的要求。
本设计利用AT89S51单片机技术结合A/D转换(采用ADC0809)构建了一个直流数字电压表。
经过对数字电压表基本原理的分析,本文设计了一个以51单片机为核心的数字电压表系统,给出了直流数字电压表的设计流程,设计了电压测量子系统和电流测量子系统,给出了硬件电路的框图、电气原理图和软件流程图。
系统设置了3个键的键盘,用于设定电压、电流切换的功能键、系统复位键以及清零键。
关键词:数字电压表;AT89S51单片机;A/D转换;ADC0809;AbstractAs electronic science and technology development, electronic measurement technology on the accuracy of measurement and functional requirements are increasingly high, and digital voltmeter measurement equipment as the basic laboratory, it can well meet the measuring precision and function requirements. A dc digital voltmeter is built by using AT89S51 with the A/D convertor (ADC0809)in the paper.This paper first introduces the main method and design voltmeter SCM system advantage; Then introduces the design process of dc digital voltmeter, and hardware system and the design of software system, and gives the hardware circuit design system diagram and software system design flow diagram.Keywords: Digital voltmeter; AT89S51MCS; A/D conversion; ADC0809.目录1 绪论 (1)1.1前言 (1)1.2数字电压表的介绍 (1)1.2.1数字电压表的发展概况 (1)1.2.2数字电压表在各领域中的应用 (2)1.2.3数字电压表的优点 (2)1.3单片机的介绍 (3)1.3.1单片机简介 (3)1.3.2单片机的发展概况 (3)1.3.3单片机的应用 (4)1.3.4单片机的特点 (6)1.4课题背景,国内外研究现状 (6)1.5本文主要研究内容 (8)2 数字电压表的工作原理 (9)2.1数字电压表的基本结构 (9)2.2数字电压表的工作原理 (9)2.2.1模数(A/D)转换与数字显示电路 (10)2.2.2多量程数字电压表分压原理 (10)2.2.3多量程数字电压表分流原理 (11)3 硬件系统各模块具体设计及实现 (14)3.1单片机的选择 (14)3.1.1AT89S51的引脚框图 (15)3.1.2AT89S51的内部结构图 (17)3.2A/D转换器的选择 (18)3.2.1ADC0809的引脚结构 (19)3.2.2ADC0809的内部逻辑结构 (21)3.3显示器的选择 (21)3.4键盘的选择 (23)3.5表笔探针设计 (23)4 系统总体方案研究 (25)4.1总体方案确定 (25)4.2系统框图及阐述 (25)4.3ADC0809与AT89S51的连接 (26)4.4键盘与单片机的连接 (27)4.5多量程数字电压表档位切换原理 (28)4.5.1多量程电压的测量 (28)4.5.2多量程电流的测量 (30)5 系统的软件设计 (31)5.1系统软件设计的总体思想 (31)5.2系统单片机的软件设计 (31)5.2.1键盘的处理 (31)5.2.2显示的处理 (31)5.2.3档位切换的处理 (32)6 系统软件流程图 (33)6.1主程序流程图 (33)6.2A/D转换流程图 (34)7 设计总结 (35)参考文献 (36)致谢 (37)附录 (38)1 绪论1.1前言数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式并加以显示的仪表。
基于51单片机-PCF8591数字电压表课程设计
课程名称:微机原理课程设计题目:数字电压表ﻬ摘要单片微型计算机简称单片机,是典型的嵌入式微控制器,常用英文字母的缩写MCU表示单片机,单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
单片机由运算器,控制器,存储器,输入输出设备构成,相当于一个微型的计算机(最小系统),和计算机相比,单片机缺少了外围设备等。
概括的讲:一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
它最早是被用在工业控制领域。
其中我们用于学习用的最多的是STC89C52单片机,STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,但也做了很多改进使得芯片具有传统51单片机不具备的功能。
STC89C52具有8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EE PROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构,全双工串行口。
本设计就是以单片机STC89C52为核心,附以外围电路,实现数字电压表的功能,并运用软件Proteus进行仿真来得到实验结果。
关键词:STC89C52单片机、仿真、中断、数字电压表、数码管显示ﻬ目录一、任务要求ﻩ错误!未定义书签。
1.1 设计任务ﻩ错误!未定义书签。
1.2设计要求ﻩ错误!未定义书签。
1.3发挥部分 ...................................................................................... 错误!未定义书签。
1.4 创新部分 ........................................................................................... 错误!未定义书签。
基于51单片机的数字电压表设计
内容摘要:进入二十一世纪以来,在现代化检测技术运用过程中,往往需要通过具有高精细度以及科学化的数字电压表完成相应的现场检测工作。
通过将世纪检测得到的数据通过传输功能送入计算机计算中心,从而完成相应的存储、计算以及控制、实时显示等各项功能。
而在本文中,笔者所的数值电压表为51式单片机(AT89c51),而A/D转换装置采用的是TLC2543型号硬件,从而实现整个数值电压表软件以及硬件电路的设计。
在本系统中,具有电路简单,元件使用数量少、设计成本低等优点,并且整个调节过程完全自动化。
除此以外,本数字电压表可以进行八路的转化量(A/D)测量以及测量结果远程传送等多项功能。
本设计数值电压表能够对0V~5V电压的8路电压值进行准确的测量,同时在外部数码管上进行单路或者轮流模式的显示。
关键词:模拟信号数字电压表单片机 A/D转换The design of digital voltage meter based on 51 single chipmicrocomputerAbstract:the twenty-first century, in the process of applying modern detection techniques , often need to complete the appropriate field testing work by having a high finesse and scientific digital voltmeter . Century detected by the data transfer function obtained by computing center into the computer , thus completing the appropriate storage , computing and control , real-time display and other functions . In this article, the author numerical voltmeter 51 type microcontroller (AT89c51), while the A / D converter TLC2543 model is used in hardware , enabling the entire value voltmeter software and hardware design . In this system , with a simple circuit using a small number of components , design and low cost , and the whole adjustment process is fully automated. In addition, the eight digital voltmeter can be converted amount (A / D) measurement and remote transmission of measurement results and many other features . The design values voltmeter capable of 0V ~ 5V voltage 8 accurately measure voltage , single or simultaneous display mode turns on an external digital control .Keywords: Analog signal Digital voltmeter SCM A/D converter;目录前言 (1)1 概述 (1)1.1 选题背景 (1)1.2 研究意义 (1)2 设计方案分析 (2)2.1 A/D转化装置 (2)2.2 电源 (2)3 硬件部分设计分析 (3)3.1 单片机 (3)3.1.1 对单片机芯片进行选择 (3)3.2 外围电路与AT89C51接口设计分析 (6)3.2.1 TLC2543 (7)3.2.2 TLC2543的特点 (7)3.2.3 TLC2453接口时序 (7)3.2.4 TLC2543 A/D芯片与89C51单片机的接口 (7)4 软件部分设计分析 (10)4.1 程序初始化 (11)4.2 A/D转换装置子程序 (12)4.3 显示子程序 (12)5 结论 (13)参考文献: (14)附录: (15)基于51单片机的数字电压表设计前言随着时代的进步,科技不断发展,电压表也在更新换代,由以前的表面指针电压表更替为以数码管或者液晶显示面板显示的电压表。
基于51单片机的数字电压表设计
内容摘要:进入二十一世纪以来,在现代化检测技术运用过程中,往往需要通过具有高精细度以及科学化的数字电压表完成相应的现场检测工作。
通过将世纪检测得到的数据通过传输功能送入计算机计算中心,从而完成相应的存储、计算以及控制、实时显示等各项功能。
而在本文中,笔者所的数值电压表为51式单片机(AT89c51),而A/D转换装置采用的是TLC2543型号硬件,从而实现整个数值电压表软件以及硬件电路的设计。
在本系统中,具有电路简单,元件使用数量少、设计成本低等优点,并且整个调节过程完全自动化。
除此以外,本数字电压表可以进行八路的转化量(A/D)测量以及测量结果远程传送等多项功能。
本设计数值电压表能够对0V~5V电压的8路电压值进行准确的测量,同时在外部数码管上进行单路或者轮流模式的显示。
关键词:模拟信号数字电压表单片机 A/D转换The design of digital voltage meter based on 51 single chipmicrocomputerAbstract:the twenty-first century, in the process of applying modern detection techniques , often need to complete the appropriate field testing work by having a high finesse and scientific digital voltmeter . Century detected by the data transfer function obtained by computing center into the computer , thus completing the appropriate storage , computing and control , real-time display and other functions . In this article, the author numerical voltmeter 51 type microcontroller (AT89c51), while the A / D converter TLC2543 model is used in hardware , enabling the entire value voltmeter software and hardware design . In this system , with a simple circuit using a small number of components , design and low cost , and the whole adjustment process is fully automated. In addition, the eight digital voltmeter can be converted amount (A / D) measurement and remote transmission of measurement results and many other features . The design values voltmeter capable of 0V ~ 5V voltage 8 accurately measure voltage , single or simultaneous display mode turns on an external digital control .Keywords: Analog signal Digital voltmeter SCM A/D converter;目录前言 (1)1 概述 (1)1.1 选题背景 (1)1.2 研究意义 (1)2 设计方案分析 (2)2.1 A/D转化装置 (2)2.2 电源 (2)3 硬件部分设计分析 (3)3.1 单片机 (3)3.1.1 对单片机芯片进行选择 (3)3.2 外围电路与AT89C51接口设计分析 (6)3.2.1 TLC2543 (7)3.2.2 TLC2543的特点 (7)3.2.3 TLC2453接口时序 (7)3.2.4 TLC2543 A/D芯片与89C51单片机的接口 (7)4 软件部分设计分析 (10)4.1 程序初始化 (11)4.2 A/D转换装置子程序 (12)4.3 显示子程序 (12)5 结论 (13)参考文献: (14)附录: (15)基于51单片机的数字电压表设计前言随着时代的进步,科技不断发展,电压表也在更新换代,由以前的表面指针电压表更替为以数码管或者液晶显示面板显示的电压表。
51单片机的数字电压表设计
51单片机的数字电压表设计随着科技的快速发展,单片机在许多领域得到了广泛应用。
51单片机作为一种常见的单片机,具有功能强大、易于编程等优点,因此在数字电压表设计中具有独特优势。
本文将介绍如何利用51单片机设计数字电压表。
数字电压表的电源电路通常采用直流电源,可以通过变压器将交流电转换为直流电,再经过滤波和稳压电路,将电压稳定在单片机所需的电压范围内。
数字电压表的信号采集电路可以采用电阻分压的方式,将待测电压分压后送入单片机进行测量。
为了提高测量精度,可以采用差分放大器对信号进行放大和差分输出。
51单片机内置ADC模块,可以将模拟信号转换为数字信号。
在数字电压表中,可以使用ADC模块对放大后的模拟信号进行转换,得到数字信号后进行处理和显示。
数字电压表的显示电路可以采用液晶显示屏或LED数码管,将测量结果以数字形式显示出来。
液晶显示屏具有显示清晰、亮度高、视角广等优点,但价格较高;LED数码管价格便宜、亮度高、寿命长,但显示内容有限。
数字电压表的主程序主要完成电压的采集、A/D转换和显示等功能。
主程序首先进行系统初始化,包括设置ADC模块参数、初始化显示等;然后不断循环采集电压信号,将采集到的模拟信号转换为数字信号后进行处理和显示。
51单片机的ADC模块可以通过特殊功能寄存器进行配置和控制。
在数字电压表的软件设计中,需要编写ADC模块驱动程序,以控制ADC 模块完成模拟信号到数字信号的转换。
具体实现可以参考51单片机的ADC模块寄存器定义和操作指南。
数字电压表的显示程序需要根据显示硬件选择合适的显示库或驱动程序。
在编写显示程序时,需要将采集到的数字信号转换为合适的数值,并将其显示在显示屏上。
具体实现可以参考所选显示库或驱动程序的文档说明。
精度问题:数字电压表的精度直接影响到测量结果的质量。
为了提高测量精度,可以采用高精度的ADC模块和合适的信号处理技术。
同时,需要注意信号采集电路中电阻的精度和稳定性。
MCS-51单片机简易直流数字电压表
MCS-51单片机简易直流数字电压表目录第一部分课程设计任务书 (1)一、课程设计题目 (1)二、课程设计时间 (1)三、课程设计提交方式 (1)四、设计要求 (1)第二部分课程设计报告 (2)一、单片机发展概况 (2)二、MCS-51单片机系统简介 (3)三、设计思想 (4)四、硬件电路设计 (4)五、软件设计框图 (5)六、实验结果 (7)七、程序源代码 (8)八、结束语 (10)九、参考文献 (11)第一部分课程设计任务书一、课程设计题目MCS-51单片机简易直流数字电压表二、课程设计时间一周三、课程设计提交方式提交打印课程设计报告以及发送电子版四、设计要求本实验要使用单片机设计一个简易直流数字电压表。
用AT89S51单片机和ADC0809组成一个数字电压表,要求能够测量0~5V的直流电压值,并用四位数码管显示,并要求所用元器件最少。
第二部分课程设计报告一、单片机发展概况单片机是在一片半导体硅片集成中央处理单元(CPU)、存储器(RAM、ROM)、并行I/O、串行I/O、定时器/计数器、中断系统、系统时钟电路及系统总线的微型计算机。
主要应用于测控领域。
单片机使用时,通常是处于测控系统的核心地位并嵌入其中,所以国际上通常把单片机称为嵌入式控制器(EMCU,Embedded MicroController Unit),或微控制器(MCU,MicroController Unit)。
我国习惯于使用“单片机”这一名称。
单片机是计算机技术发展史上的一个重要里程碑,标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。
其发展大致分为4个阶段。
第一阶段(1974年~1976年):单片机初级阶段。
因工艺限制,单片机采用双片的形式而且功能比较简单。
1974年12月,仙童公司推出了8位的F8单片机,实际上只包括了8位CPU、64B RAM和2个并行口。
第二阶段(1976年~1978年):低性能单片机阶段。
毕业设计(论文)-基于51单片机数字电压表的设计
基于51单片机数字电压表的设计目录一、系统总体方案选择与说明 (1)1.1设计要求 (1)1.2 设计思路 (1)1.3 设计方案 (1)二、硬件电路设计 (2)2.1 AT89C51的功能介绍 (2)2.1.1简单概述 (2)2.1.2主要功能特性 (3)2.1.3 AT89C51的引脚介绍 (3)2.2 ADC0808的引脚及功能介绍 (5)2.2.1芯片概述 (5)ADC0808芯片模型 (5)2.2.2 引脚简介 (5)2.2.3 ADC0808的转换原理 (6)2.2.4 ADC0808的内部结构 (6)2.2.5 ADC0808电路接线图 (6)2.3 显示电路 (7)2.3.1 LM016L的结构及功能 (7)2.3.2 LM016L的引脚功能介绍 (7)2.3.3 LM016L的电路接线图 (13)2.4 复位电路设计 (13)2.5振荡电路设计 (14)三、软件设计与说明 (10)四、系统仿真与调试 (12)五、总结 (13)参考文献 (14)附录 (15)附录A 系统原理图 (15)附录B 程序清单 (16)一、系统总体方案选择与说明1.1设计要求(1)使用51单片机,AD0809,数码管等元件组成(2)能测量0-5V的直流电压(3)能连续、稳定显示所测电压(4)测量误差<0.02V)1.2 设计思路⑴根据设计要求,选择AT89C51单片机为核心控制器件。
⑵A/D转换采用ADC0808实现。
⑶电压显示采用LCD显示。
1.3 设计方案数字电压表的设计即将连续的模拟电压信号经过A/D转换器转换成二进制数值,再经由单片机软件编程转换成十进制数值并通过显示屏显示。
该设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。
A/D转换主要由芯片ADC0808来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。
数据处理则由芯片AT89C51来完成,其负责把ADC0808传送来的数字量经过一定的数据处理,产生相应的显示码送到显示模块进行显示;此外,它还控制着ADC0808芯片工作。
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 同样也要进行初始化,其中包括清除显示屏、显示开/关控制、功能设 置、进入模式设置等。其中部分初始化程序如下:
(完整word版)51单片机数字电压表汇编程序
ORG 0000HLJMP STARTORG 0030H;初始化参数START:CLR ASETB P3.7 ;初始化EOCCLR P3。
0 ;初始化LED位选,全不选中.CLR P3。
1CLR P3。
2MOV P2,A ;初始化P2口,清除对ADC0809的控制信号。
MOV 70H,A ;初始化数据采样后存储空间.MOV 78H,A ;初始化数据处理后3位有效数字的存储空间(78H最高位,7AH最低位)。
MOV 79H,AMOV 7AH,AMOV A,#0FFH ;初始化P0,P1口,写入高电平。
MOV P0,AMOV P1,A;主程序MAIN: LCALL AD_SUB ;调用A/D转换子程序,开始采样并转换。
LCALL TURN_SUB ;调用数码转换子程序,将采样转换来的0—255转换成一一对应的;0.00—5。
00LCALL DISP_SUB ;调用显示子程序。
LJMP MAIN;============================================================ ========;A/D转换子程序AD_SUB: CLR AMOV P2,A ;初始化P2口,清除对ADC0809的控制信号。
MOV R0,#70HLCALL AD_ST ;调用采样转换子程序WAIT: JB P3。
7,DATASAVE ;判断采样转换是否完毕,完毕则跳转到DATASAVE进行存储。
AJMP WAIT ;否则继续等待。
;启动采样,送脉冲时序AD_ST: SETB P2.3 ;ALE 脉冲时序NOPNOPCLR P2。
3SETB P2。
4 ;START 脉冲时序(上跳清零,下跳开始转换)NOPNOPCLR P2。
4NOPNOPRET;采样转换的数据存储DATASAVE:SETB P2。
5 ;置位OE端,允许ADC0809输出数据MOV A,P0 ;将转换的数据存储到70H中MOV @R0,ACLR P2。
基于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单片机的数字电压表的设计
数字电压表的设计目录绪论 (1)第1章系统总体方案选择与说明 (1)1.1 项目分析及其设计 (1)1.1.1 通道转换方案设计 (1)1.1.2 显示部分方案设计 (1)第2章系统总体结构与系统功能 (2)2.1 系统结构框图 (2)2.2 系统功能 (2)第3章硬件设计说明及计算方法 (2)3.1 单片机的选择及时钟电路 (2)3.2 驱动模块 (3)3.3 LED显示电路设计与器件选择 (4)3.4 A/D转换模块及转化电路设计 (6)第4章软件设计与说明 (7)4.1 数字电压表系统软件设计方案确定 (7)4.2 数字电压表应用程序设计 (9)第5章调试结果及其说明 (9)5.1 调试结果及其说明 (9)参考文献 (10)附录A 系统原理图 (11)附录B 系统源程序 (12)绪论本设计采用了以单片机为开发平台,控制系采用AT89C52单片机,A/D 转换采用ADC0809。
系统除能确保实现要求的功能外,还可以方便进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。
简易数字电压测量电路由A/D转换、数据处理、显示控制等组成。
关键词: 单片机 AT89C52 A/D转换 ADC0808 数据处理课程设计要求:利用八位A/D转换器实现分辨率位八位二进制数的电压表,测量结果用四位数码管显示。
第一章系统总体方案与选择实现数字电压表的方案很多,目前广泛采用的时基于74系列逻辑器件,本设计将介绍基于单片机实现的方案。
1.1 项目分析及其设计方案设计此设计包含两个模块,通道转换和显示部分方案。
1.1.1通道转换方案设计方案一:考虑到ADC0808的8路模拟量输入本质上也是模拟开关,因此可以利用其8个模拟通道中的3个作为通道转换器,即根据通道对应的电压测量范围确定对应的电压方法倍数设计对应的放大电路。
方案二:利用手动开关实现通道转换。
该方案可简化控制程序,消减系统开销。
缩短反应时间,不足之处在于操作麻烦。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//晶振频率12MHZ AD采样频率为8.192ms
COM EQU 50H ;指令寄存器
DA T EQU 51H ;数据寄存器
RS EQU P2.1 ;LCD寄存器选择信号
RW EQU P2.2 ;LCD读/写选择信号
E EQU P2.3 ;LCD使能信号
ORG 0000H
LJMP MAIN ;主程序入口
ORG 000BH
LJMP BT0 ;T0中断入口
ORG 0030H ;主程序,初始化
MAIN: MOV SP,#60H
LCALL INT
MOV 30H,#30H ;显示电压整数位
MOV 31H,#02EH ;显示小数点
MOV 32H,#30H ;显示电压小数个位
MOV 33H,#30H ;显示电压小数十位
MOV 34H,#30H ;显示电压小数百位
MOV 35H,#56H ;显示V
MOV R7,#30H
LCALL N1 ;显示V oltage=0.000V
//**********************定时器初始化程序*********************** MOV TMOD,#00H ;定时器T0设为方式0,为13位定时/计数器
MOV TL0,#00H ;装入定时初值
MOV TH0,#00H
SETB TR0 ;启动T0
MOV 24H,#08H ;装入T0中断次数
MOV IE,#82H ;开中断定时器T0溢出中断允许位
//*************************************************************
LP: MOV R7,#30H ;显示缓冲区首地址
LCALL DISPLY
SJMP LP ;循环显示
//****定时器中断服务程序,读取0809第0通道的转换结果并化为显示值***** BT0: PUSH ACC ;保护现场
PUSH PSW
PUSH DPH
PUSH DPL
MOV PSW,#08H ;设定工作寄存器1区
CLR TR0 ;停止T0
MOV TH0,#00H ;重装定时常数
MOV TL0,#00H
DEC 24H ;24H内容减一,剩7次中断
MOV A,24H
JNZ RTN1 ;8次中断未到,返回
MOV 24H,#08H ;重装中断次数
MOV DPTR,#0F6FFH ;0809端口地址
MOV A,#00H ;0通道
MOVX @DPTR,A;启动0809
MOV R7,#40H ;延时方式等待AD0809转换完毕
DJNZ R7,$ ;也可采用中断方式
MOVX A,@DPTR ;读0809转换结果
LCALL RTN ;采样值转换为显示值子程序
LCALL RTN1
//*******A/D转换结果化为显示值**************
RTN:
PUSH PSW
MOV PSW,#10H ;选择工作寄存器2区
MOV R6,#00H ;填入被除数,除数为51
MOV R5,A
LCALL DDIV ;调用除51子程序
MOV A,R5 ;商为个位数
ORL A,#30H
MOV 30H,A;个位存入缓冲区
MOV R0,#32H ;指针指向显示缓冲区
MOV R1,#3H ;循环3次
LP_1:MOV A,R6 ;(余数)*10/51
MOV B,#0AH
MUL AB
MOV R6,B ;填入被除数,除数为51
MOV R5,A
LCALL DDIV
MOV A,R5 ;商分别为十分位,百分位,千分位
ORL A,#30H
MOV @R0,A; 十,百,千存入缓冲区
INC R0
DJNZ R1,LP_1
POP PSW
RET
//********16位/51无符号数除法************************ ;入口:r6r5 被除数除数为33H=51
;出口:r5商r6 余数
DDIV:
MOV R7,#08H ;R7为计数器
DDIVI:
CLR C
MOV A,R5
RLC A
MOV R5,A
MOV A,R6
RLC A
MOV 07H,C
CLR C
SUBB A,#33H
JB 07H,NEXT ;
JNC NEXT ;
ADD A,#33H
SJMP NEXTI
NEXT: INC R5
NEXTI:MOV R6,A
DJNZ R7,DDIVI
RET
RTN1:LCALL DISPLY
SETB TR0
POP DPL
POP DPH
POP PSW
POP ACC
RETI
//******LCD显示子程序************************ DISPLY:
MOV COM,#080H+4AH ;显示测量值首地址
LCALL PR1 ;调用写指令子程序
MOV R1,#06H ;要显示数据的个数
MOV R0,#30H ;要显示数据的首地址L: MOV DA T,@R0 ;取A/D转换数据LCALL PR2 ;调写显示数据子程序
INC R0
DJNZ R1,L ;共显示6个数据?
RET
//******逐字依次输入显示第一行字符*********** N1: MOV COM,#01H ;LCD清屏
LCALL PR1 ;调用写指令代码子程序
MOV COM,#06H ;设置输入方式
LCALL PR1
MOV COM,#80H ; 设置数据指针首地址
LCALL PR1
MOV DPTR,#TAB0 ;DPTR指向显示字符表0首地址;
MOV R4,#16
MOV R5,#00H;
xianshi:
MOV A,R5;
MOVC A,@A+DPTR ;取出显示字符
MOV DA T,A
LCALL PR2
INC R5;
DJNZ R4,xianshi;
//******逐字依次输入显示第二行字符*********** MOV COM,#080H+42H ;
LCALL PR1
MOV DPTR,#TAB1 ;DPTR指向显示字符表1首地址MOV R2,#8
MOV R3,#00H
WRIN:
MOV A,R3
MOVC A,@A+DPTR ;取出显示字符
MOV DA T,A
LCALL PR2
INC R3
DJNZ R2,WRIN
RET
TAB0:DB"ZDH10602 YW&WH"
TAB1:DB"V oltage=";
//*******LCD间接控制方式下的初始化子程序******** INT: ;调延时子程序
MOV COM,#38H ;设置液晶显示模式
LCALL PR1
MOV COM,#01H ;清屏
LCALL PR1
MOV COM,#06H ;设置输入方式
LCALL PR1
MOV COM,#0CH ;设置显示方式
LCALL PR1
RET
//**********延时子程序*******************
DELAY: MOV R6,#0FH
MOV R7,#00H
DELAY1:NOP
DJNZ R7,DELAY1
DJNZ R6,DELAY1
RET
//****LCD间接控制方式的驱动子程序*******
//*********写指令代码子程序************
PR1: PUSH ACC
CLR RS ;RS=0
SETB RW ;R/W=1 读指令
PR11:MOV P0,#0FFH ;P0置位,准备读
SETB E ;E=1
LCALL DELAY
NOP
MOV A,P0
CLR E
JB ACC.7,PR11 ;BF=1? 读写检测,判断忙标志
CLR RW ;R/W=0 写指令
MOV P0,COM
SETB E ;E=1
CLR E ;E=0
POP ACC
RET
//*********写显示数据子程序************
PR2: PUSH ACC
CLR RS ;RS=0
SETB RW ;R/W=1
PR21:MOV P0,#0FFH
SETB E ;E=1
LCALL DELAY
MOV A,P0 ;读BF和AC6-4值
CLR E ;E=0
JB ACC.7,PR21
SETB RS
CLR RW // 写数据
MOV P0,DA T ;写入数据高四位
SETB E ;E=1
CLR E ;E=0
POP ACC
RET
END。