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

数字电压表单片机课程设计报告班级:姓名:学号:指导教师:2011 年3 月29 日数字电压表电路设计报告一、题目及设计要求采用51系列单片机和ADC 设计一个数字电压表,输入为0~5V 线性模拟信号,输出通过LED 显示,要求显示两位小数。
二、主要技术指标1、数字芯片A/D 转换技术2、单片机控制的数码管显示技术3、单片机的数据处理技术三、方案论证及选择主要设计方框图如下:1、主控芯片方案1:选用专用转化芯片INC7107实现电压的测量和实现,用四位数码管显示出最后的转换电压结果。
缺点是京都比拟低,内部电压转换和控制局部不可控制。
优点是价格低廉。
方案2:选用单片机AT89C51和A/D 转换芯片ADC0809实现电压的转换和控制,用四位数码管显示出最后的转换电压结果。
缺点是价格稍贵;优点是转换京都高,且转换的过程和控制、显示局部可以控制。
基于课程设计的要求和实验室能提供的芯片,我选用了:方案2。
2、显示局部方案1:选用4个单体的共阴极数码管。
优点是价格比拟廉价;缺点是焊接时比拟麻烦,容易出错。
方案2:选用一个四联的共阴极数码管,外加四个三极管驱动。
这个电路几乎没有缺点;优点是便于控制,价格低廉,焊接简单。
基于课程设计的要求和实验室所能提供的仪器,我选用了:方案2。
四、电路设计原理模拟电压经过档位切换到不同的分压电路筛减后,经隔离干扰送到A/D转换器进展A/D转换。
然后送到单片机中进展数据处理。
处理后的数据送到LED 中显示。
同时通过串行通讯与上位通信。
硬件电路及软件程序。
而硬件电路又大体可分为A/D转换电路、LED显示电路,各局部电路的设计及原理将会在硬件电路设计局部详细介绍;程序的设计使用汇编语言编程,利用Keil和PROTEUS 软件对其编译和仿真。
一般I/O接口芯片的驱动能力是很有限的,在LED显示器接口电路中,输出口所能提供的驱动电流一般是不够的尤其是设计中需要用到多位LED,此时就需要增加LED驱动电路。
基于单片机的数字电压表的课程设计

基于单片机的数字电压表的课程设计一、引言在电子测量领域,电压表是一种常见且重要的测量工具。
传统的模拟电压表存在精度低、读数不直观等缺点,而数字电压表则凭借其高精度、高稳定性和直观的数字显示等优势,在电子测量中得到了广泛的应用。
本课程设计旨在基于单片机设计一款数字电压表,以实现对直流电压的准确测量和数字显示。
二、设计要求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 转换得到的数字量转换为实际的电压值,并进行精度处理。
单片机课程设计报告:电压表(附程序)

——电压表【课题】电压表【设计要求】设计一个量程可变的数字电压表,用3个LED数码管显示,电压表量程为0~200mV(显示0~200mV)、200mV~2V(显示0.2V~2V)。
【设计原理】一、实验电路图二、工作原理如上图所示,实验中主要用到的芯片有运算放大器、继电器、ADC0832、8951单片机及其外围设备。
电压表的量程为两档,0~200mV 和200mV~2V。
其相对应的运放的放大增益是25倍和2.4倍,这样即使是最大的输入其通过运放后的输出电压都会小于5V,其通过限幅电路后电压均为其真实值。
然后模拟输入电压由AD0832输入,经过模数转换后送给单片机。
由p0口输出字形,同时由p1.4的电平控制74LS573的锁存和直通状态。
P1.5、p1.6、p1.7控制字位。
P1.2控制继电器的工作状态,当P1.2低电平时,三极管工作在截止状态,继电器线圈无电流通过,继电器处于常闭状态,那么相对应的运放的放大增益为25倍。
而当P1.2为高电平时,三极管工作在饱和状态,继电器线圈有电流通过,产生电磁力将继电器的开关吸到常开状态,其对应的放大增益即变为2.4倍。
对于一个模拟输入,现将其放大2.4倍,然后由AD 输入并相应转化,如果它的输出要是小于0.5V ,也就是19H ,则选择此档位是不精确的,也说明此时的输入电压介于0~200mV 之间。
那么我们就需要让P1.2置低电平,将相应的放大倍数改成25以提高转换精度。
若其满足相应的条件则直接将其转换成BCD 码并直接送数显示即可。
实验中用到了模数转换器ADC0832,其引脚图如右图所示,ADC0832是8位逐次逼近型A /D 转换器, 单一正5V 电源供电,CS 为片选, CLK 提供串行输入/输出时钟信号,DO用于串行数字输出,CHO 和CHl 为双通道模拟输入端, 它可用软件设定为单端或差分输人。
在差分方式中,通道口地址的选择由DI 逐位输入,GND 是数字、模拟公共地,cc V (REP V )为芯片电源、参考电压公共端。
单片机应用技术课程报告——数字电压表的设计

单片机应用技术课程报告
5、软件程序设计
(1)、程序设计思路
2)性能指标测试及结果分析
本设计以8051单片机为控制核心,通过集成摸数转换芯片ADC0809将被测信号转换成数字信号,经单片机内部程序处理后,由LED八段数码管显示测量结果。
仿真测试表明,系统性能良好,测量读数稳定易读、更新速度合理,直流电压测量范围为0~5V,最小分辨率为0.02V,满足任务书指标要求。
但是,该系统也存在定程度的不足,例如:
1、若能将测量的电压值实时保存,使用时将更方便。
2、ADC0809可实现对8个通道的输入信号轮流转换,本设计仅仅使用了其中一个通道,造成了较大的资源浪费。
若能对电路稍加改进,实现对多路信号的轮流测量并自动保存相应结果,其应用价值将会更大。
单片机课程设计实验报告数字电压表

哈尔滨理工大学课程设计报告书课程名称单片机课程设计题目数字电压表院(系)自动化学院班级电技12-3学号1212020301学生姓名蔡成灼指导教师王宏民辅导教师王宏民2014 年12 月25 日课程设计(论文)任务书自动化学院电子信息科学与技术专业12-3班一、课程设计(论文)题目:数字电压表二、课程设计(论文)工作自20 14 年 12 月 26 日起至 20 14 年 12 月 27 日止三、课程设计(论文) 地点: B302四、课程设计(论文)内容要求:1. 本课程设计的目的(1)进一步巩固和加深对“单片机原理及应用”课程基本知识的理解和掌握,了解51系列单片机在项目开发中的应用。
(2)学习单片机硬件和软件设计开发的一般方法,了解和掌握项目开发过程及方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。
(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力,同时提倡团队合作精神。
2. 课程设计的任务及要求1) 基本要求:(1)对系统功能进行需求分析;(2)提出系统的设计方案;(3)完成硬件设计和编写源程序代码并进行必要的调试。
2) 创新要求ADC0832是双通道,由程序可以任意的选取通道进行显示。
3) 课程设计报告撰写及装订要求课程设计报告的撰写要求表述简明,图表准确。
报告按如下内容和顺序用A4纸进行打印并装订成册。
(1)封面采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。
(2)设计任务书(3)评阅书(4)目录(5)正文(6)主要参考文献4) 课程设计完成标准要求:每人按指定题目进行设计,严禁抄袭,要求每人自己动手编写程序,采取同一组同时检查程序及运行结果,检查时同组成员每人陈述自己的分工,同一选题不同组如发现代码完全一样,则双方都作不及格处理。
(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确;(2)能正确回答设计的中老师所提问题;(3)课程设计报告书写规范整齐;(4)心得体会认真总结;(5)程序有创新性;成绩评定实行优秀、良好、中等、及格和不及格五个等级。
数字电压表实验报告

简易数字电压表设计报告姓名:***班级:自动化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软件进行编程。
单片机课程设计报告_数字电压表

进度安排第1周确定设计方案,编程第2周调试,撰写设计报告第3周打印后上交指导老师论文要求如发现抄袭现象,做零分处理!排版软件Word,Visio专业软件Keil,Proteus,Protel设计报告包括封面、正文和附录等,必须提供电路图和流程图,不少于8页。
章标题黑体小三节标题黑体四号正文宋体小四字母和数字Times New Roman图表标题宋体五号正文每段开始缩进2个字符,行间距为固定值20磅图和表均居中,图和表的标题也居中图标题在图下方,表标题在表上方参考文献宋体五号,如下所示:[1]李朝青.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2005参考模板湖南理工学院南湖学院单片机课程设计报告基于单片机的数字电压表设计姓名曹诗章学号24072200001系别机电工程专业电子信息工程班级07-1BF完成时间年月日基于单片机的数字电压表设计1 方案设计(介绍系统功能要求和整体结构)调节电位器,数码管显示电压值,超出范围可以报警2 系统的硬件设计(介绍各单元电路)2.1 主控制器(介绍单片机、时钟和复位电路)2.2 电压测量电路(介绍TLC549及其驱动电路)2.3 显示电路(介绍数码管及其驱动电路)3 系统的软件设计(介绍各子程序的算法和流程)3.1 主程序3.2 电压测量3.2.1 读取ADC芯片(读取TLC549芯片)3.2.2 算术滤波(连续读取20次结果,取平均值)3.2.3 数值转换(数字量转换为3位电压值)3.2.4 更新显示缓冲区(电压值送显示缓冲区)3.3 数码管显示(4位数码管动态显示)4 系统的测试(介绍调试过程和测试结果)5 总结(设计体会)参考文献附录1 原理图附录2 源程序清单。
单片机课程设计报告数字电压表

单片机课程设课题名称:数字电压表课程原理:1、模数转换原理:试验中,我们选用ADC0809作为模数转换的芯片,其为逐次逼近式AD转换式芯片,其工作时需要一个稳定的时钟输入,根据查找资料,得到ADC0809的时钟频率在10KHZ~1200KHZ,我们选择典型值640KHZ。
课题要求测量电压范围是0到5V,又ADC0809的要求:V ref+<=Vcc,V ref->=GND,故我们取V ref+=+5V,V ref-=0V。
由于ADC0809有8个输入通道可供选择,我们选择IN0通道,直接使ADC0809的A、B、C接地便可以了,在当ADC0809启动时ALE引脚电平正跳变时变可以锁存A、B、C 上的地址信息。
ADC0809可以将从IN0得到的模拟数据转换为相应的二进制数,由于ADC0809输出为8位的二进制数,转换时将0到5V分为255等分,所以我们可以得到转换公式为x/255*5化简为:x/51,x为得到的模拟数据量,也就是直接得到的电压量。
在AD转换完成后,ADC0809将在EOC引脚上产生一个8倍于自身时钟周期的正脉冲,以此来作为转换结束的标志。
然后当OE引脚上产生高电平时,ADC0809将允许转换完的二进制数据输出。
2、数据处理原理:由ADC0809的转换原理可以知道我们从其得到数据还只是二进制数据,我们还需要进一步处理来的到x的十进制数,并且对其进行精度处理,也就是课题要求的的精确到小数点后两位,在这里我们用51单片机对数据进行处理。
我们处理数据的思路是:首先将得到的二进制数直接除以十进制数51,然后取整为x的整数部分,然后就是将得到的余数乘以10,然后再除以51,再取整为x的十分位,最后将得到的余数除以5得到x的百分位。
3、数据显示原理:试验中我们用到四位一体的七段数码管,所以我们只能考扫描显示来完成数码管对x的显示,我们用的是四位数码显示管,但是x只是三位的,故我们将将第四位显示为单位U,通过程序的延时,实现四位数码管的稳定显示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
内容摘要电压表是测量仪器中不可缺少的设备,目前广泛应用的是采用专用集成电路实现的数字电压表。
本系统以8051单片机为核心,以逐次逼近式A/D转换器ADC0809、LED显示器为主体,设计了一款简易的数字电压表,能够测量0~5V 的直流电压,最小分辨率为0.02V。
该设计大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下:1、单片机部分。
使用常见的8051单片机,同时根据需要设计单片机电路。
2、测量部分。
该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的处理显示在显示器上,该部分决定了数字电压表的精度等主要技术指标。
根据需要本设计采用逐次逼近型A∕D转换器ADC0809进行模数转换。
3、键盘显示部分。
利用4×6矩阵键盘的一个按键控制量程的转换,3或4位LED显示。
其中一位为整数部分,其余位小数部分。
索引关键词:8051 模数转换LED显示矩阵键盘目录一概述 (4)二方案设计与论证 (4)三单元电路设计与参数计算 (4)3.1. A∕D转换器0809 (5)3.1. LED数码显示 (7)四总原理图及参考程序 (9)五结论 (10)六心得体会 (14)七参考文献 (15)一、概述数字电压表的基本工作原理是利用A/D转换电路将待测的模拟信号转换成数字信号,通过相应换算后将测试结果以数字形式显示出来的一种电压表。
较之于一般的模拟电压表,数字电压表具有精度高、测量准确、读数直观、使用方便等优点。
电压表的数字化测量,关键在于如何把随时连续变化的模拟量转化成数字量,完成这种转换的电路叫模数转换器(A/D)。
数字电压表的核心部件就是A/D 转换器,由于各种不同的A/D转换原理构成了各种不同类型的DVM。
一般说来,A/D转换的方式可分为两类:积分式和逐次逼近式。
积分式A/D转换器是先用积分器将输入的模拟电压转换成时间或频率,再将其数字化。
根据转化的中间量不同,它又分为U-T(电压-时间)式和U-F(电压-频率)式两种。
逐次逼近式A/D转换器分为比较式和斜坡电压式,根据不同的工作原理,比较式又分为逐次比较式及零平衡式等。
斜坡电压式又分为线性斜坡式和阶梯斜坡式两种。
在高精度数字电压表中,常采用由积分式和比较式相结合起来的复合式A/D 转换器。
本设计以8051单片机为核心,以逐次比较型A/D转换器ADC0809、LED显示器为主体,构造了一款简易的数字电压表,能够测量1路0~5V直流电压,最小分辨率0.02V。
二、方案设计与论证该设计是基于8051的数字电压表,大体分为以下几个部分,同时,各部分选择使用的主要元器件确定如下:(1)单片机部分使用常见的8051单片机,同时根据需要设计单片机电路。
(2)测量部分该部分是实验的重点,要求将外部采集的模拟信号转换成数字信号,通过单片机的处理显示在显示器上,该部分决定了数字电压表的精度等主要技术指标。
根据需要本设计采用逐次逼近式A/D转换器0809进行模数转换。
(3)键盘显示部分利用4×6矩阵键盘的一个按键控制量程的转换,3或4位LED显示。
其中一位为整数部分,其余位小数部分。
三、单元电路设计与参数计算3.1 ADC0809(1)主要特性1)8路8位A/D转换器,即分辨率8位。
2)具有转换起停控制端。
3)转换时间约为128μs4)单个+5V电源供电5)模拟输入电压范围0~+5V,不需零点和满刻度校准。
6)工作温度范围为-40~+85摄氏度7)低功耗,约15mW。
(2)内部结构图1 ADC0809内部结构框图ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图1所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近寄存器、三态输出锁存器等其它一些电路组成。
因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。
输入输出与TTL兼容。
(3)外部特性(引脚功能)ADC0809芯片有28条引脚,采用双列直插式封装,如上图所示。
下面说明各引脚功能。
IN0~IN7:8路模拟量输入端。
D0~D7:8位数字量输出端。
START: A/D转换启动信号,输入,高电平有效。
ALE:地址锁存允许信号,输入,高电平有效。
OE:数据输出允许信号,输入,高电平有效。
当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。
CLK:时钟脉冲输入端。
要求时钟频率不高于640KHZ。
ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。
如表1所示。
EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。
VREF(+)、VREF(-):基准电压。
VCC:电源,接+5V。
GND:地。
表1 地址与通道对应关系ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。
此地址经译码选通8路模拟输入之一到比较器。
START上升沿将逐次逼近寄存器复位。
下降沿启动 A/D转换,之后EOC输出信号变低,指示转换正在进行。
直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。
当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。
3.2 LED数码显示(1)LED显示器LED是由若干个发光二极管组成的。
当发光二极管导通时,相应的一个点或一个笔划发亮。
控制不同组合的二极管导通,就能显示出各种字符。
这种笔划式的七段显示器,能显示的字符数量少,但控制简单、使用方便。
发光二极管的阳极连在一起的称为共阳极显示器,阴极连在一起的称为共阴极显示器(2)LED结构及显示原理通常的七段LED显示块中有八个发光二极管,故也有人叫做八段显示块。
其中七个发光二极管构成七笔字形“8”。
一个发光二极管构成小数点。
七段显示块与单片机接口非常容易。
只要将一个8位并行输出口与显示块的发光二极管引脚相连即可。
8位并行输出口输出不同的字节数据即可获得不同的数字或字符。
通常将控制发光二极管的8位字节数据称为段选码或段数据。
一些字形的段选码如下表:(3)LED的结构及其工作原理点亮显示器有静态和动态两种方法。
1)静态显示:当显示某一个字符时,相应的发光二极管恒定地导通或截止。
例如七段显示器的a、b、c、d、e、f导通,g、dp截止,显示0。
静态显示的特点是:每一位都需要一个8位输出口控制,用于显示位数较少(仅一、二位)的场合。
较小的电流能得到较高的亮度,可以由8255的输出口直接驱动。
图示为三位显示器的接口逻辑。
2)动态显示:一位一位地轮流点亮各位显示器(扫描)。
对于每一位显示器来说,每隔一段时间点亮一次。
显示器的亮度既与导通电流有关,也和点亮时间与间隔时间的比例有关。
若显示器的位数不大于8位,则控制显示器公共极电位只需一个8位并行口(称为扫描口或位选口)。
控制各位显示器所显示的字形也需一个共用的8位口(称为段数据口),用于显示位数稍多的场合,需编写扫描程序。
四、总原理图及参考程序1、总原理图2、程序流程图及参考程序(1)程序流程图(2)参考程序OUTBIT EQU 09002HOUTSEG EQU 09004HIN EQU 09001HLEDBUF EQU 60HLJMP MAINLEDMAP:DB 3FH, 06H, 5BH, 4FH, 66H, 6DB, 7DB, 07HDB 7FH, 6FH, 77H, 7CH, 39H, 5EH, 79H, 71H DELAY:MOV R7,#0DELAYLOOP:DJNZ R7,DELAYLOOPDJNZ R6,DELAYLOOPRETDISPLAYLED:MOV R0,#LEDBUFMOV R1,#4MOV R2,#000000001BLOOP:MOV A,@R0MOV DPTR,#OUTSEGMOVX @DPTR,AMOV DPTR,#OUTBITMOV A,R2MOVX @DPTR,AMOV R6,#01CALL DELAYMOV A,R2R1 AMOV R2,AINC R0DJNZ R1,LOOPTESRKEY:MOV DPTR, #OUTBITMOV A,#0MOV A,#0MOVX @DPTR,AMOV DPTR,#INMOVX A,@DPTRCPL AANL A,#0FHRETKEYTABLE:DB 16H, 15H, 14H, 0FFHDB 13H, 12H, 11H, 10HDB 0dH, 0cH, 0bH, 0aHDB 0eH, 03H, 06H, 09HDB 0FH, 02H, 05H, 08HDB 00H, 01H, 04H, 07H GETKEY:MOV DPTR,#OUTBITMOV P2,DPHMOV R0,#INMOV R1,#00100000BMOV R2,#6KLOOP:MOV A,R1CPL AMOVX @DPTR,AMOVX A,@R0CPL AANL A,#0FHJNZ GOON1GOON1:MOV R1,AMOV A,R2DEC ARL ARL AMOV R2,AMOV A,R1MOV R1,#2LOOPC:RRC AJC EXITINC R2DJNZ R1,LOOPCEXIT:MOV A,R2MOV DPTR,#KEYTABLEMOVC A,@A+DPTRMOV R2,A WAITRELEASE:MOV DPTR,#OUTBITCLR AMOV R6,#10CALL DELAYCALL TESTKEYJNZ WAITRELEASEMOV A,R2RETMAIN:MOV DPTR,#8000HMOVX @DPTR,A HERE:JNB P3.3,HEREMOVX A,@DPTRMOV P1,AMOV R5,ACALL DISPLAYLEDCALL TESTKEYJZ L5CALL GETKEYMOV 40H,AL5:MOV 63H,#00HMOV A,R5MOV B,#51MOV ABMOV 62H,AMOV A,BJZ LOOP1RL ASUBB A,#2MOV B,#10DIV ABMOV 61H,AMOV 60H,BAJMP MLOOPLOOP1:MOV 61H,#00MOV 60H,#00AJMP MLOOP MLOOP:MOV R0, #LEDBUF FILLBUF:MOV A,@R0MOV DPTR,#LEDMAPMOVC A,@A+DPTRCLR CMOV A,40HADD A,41HANL A,#01HMOV 41H,ARRC AMOV 40H,#00HJC WEI2WEI1:CJNE R0,#62H,XS01MOV A,50HADD A,#80HSJMP XS1XS01:MOV A,50HXS1:MOV @R0,AINC R0CJNE R0,#LEDBUF+3, FILLBUFLJMP STARTWEI2:CJNE R0,#63H,XS0MOV A,50HADD A,#80HSJMP XSXS0:MOV A,50HXS:MOV @R0,AINC R0CJNE R0,#LEDBUF+4, FILLBUFLJMP STARTEND七、结论本设计以8051单片机为控制核心,通过集成摸数转换芯片ADC0809将被测信号转换成数字信号,经单片机内部程序处理后,由LED八段数码管显示测量结果。