简易数字电压表的设计
简易数字电压表设计内容
简易数字电压表设计一、设计要求1、利用ADC0809设计一简易数字电压表,要求可以测量0—5V之间8路输入电压值、电压值由四位LED数码管显示,并在数码管上轮流显示或单路选择显示;2、测量最小分辨率为0.019V,测量误差为±0.02V。
二、设计作用与目的利用AT89S51与ADC0809设计制作一个数字表,能够测量直流电压值。
三、所用设备及软件单片机AT89S51、ADC0809芯片、PC设计台四、系统设计方案本设计采用AT89S51单片机芯片配合ADC0809模/数转换芯片构成一个简易的数字电压表,原理框图如图1所示。
该电路通过ADC0809芯片采样输入口IN0输入的0~5 V的模拟量电压,经过模/数转换后,产生相应的数字量经过其输出通道D0~D7传送给AT89S51芯片的P0口。
AT89S51负责把接收到的数字量经过数据处理,产生正确的7段数码管的显示段码,并通过其P1口经三极管驱动,再传送给数码管。
同时它还通过其三位I/O口P3.0、P3.1、P3.2产生位选信号,控制数码管的亮灭。
另外,AT89S51还控制着ADC0809的工作。
其ALE管脚为ADC0809提供了1MHz工作的时钟脉冲;P2.3控制ADC0809的地址锁存端(ALE);P2.4控制ADC0809的启动端(START);P2.5控制ADC0809的输出允许端(OE);P3.7控制ADC0809的转换结束信号(EOC)。
图1 系统原理框图本设计与其它方法实现主要区别在于元器件上例如:AT89C51与AT89C51、AT89S51在AT89C51的基础上,又增加了许多功能,性能有了较大提升。
1.ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。
是一个强大易用的功能。
2.工作频率为33MHz,大家都知道89C51的极限工作频率只有24M,就是说S51具有更高工作频率,从而具有了更快的计算速度。
简易数字电压表的设计
目录摘要 (1)第1章绪论 (2)第2章系统方案论证与框图 (3)第3章硬件电路设计 (5)3.1模数转换芯片ADC0809 (5)3.1.1 ADC0809内部逻辑结构 (5)3.1.2 ADC0809的引脚 (6)3.1.3 ADC0809的工作原理 (7)3.2 数据处理及控制芯片AT89S51 (7)3.2.1 主要性能参数 (8)3.2.2 AT89S51的引脚 (8)3.2.3 AT89S51的复位电路 (10)3.2.4 AT89S51与ADC0809的连接 (11)3.3 4位一体7段LED数码管 (12)3.4 整机电路及工作原理 (12)第4章软件设计 (14)4.1 主程序设计 (14)4.2 各子程序设计 (14)第5章仿真与调试 (18)5.1 仿真工具 (18)5.2 仿真步骤 (18)5.3 硬件实物图 (19)5.4 测量结果 (20)5.5 问题及解决方案 (20)总结 (21)参考文献 (22)附录1 整机原理图 (23)附录2 元件明细表 (24)附录3 程序清单 (25)摘要本设计主要采用AT89S51芯片和ADC0809芯片来完成一个简易的数字电压表,能够对输入的0~5 V的模拟直流电压进行测量,并通过一个4位一体的7段LED数码管进行显示,测量误差约为0.02 V。
该电压表的测量电路主要由三个模块组成:A/D转换模块、数据处理模块及显示控制模块。
A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。
数据处理则由芯片AT89S51来完成,其负责把ADC0809传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示;另外它还控制着ADC0809芯片的工作。
显示模块主要由7段数码管及相应的驱动芯片(74HC245)组成,显示测量到的电压值。
单片计算机即单片微型计算机(Single-Chip Microcomputer),是集CPU 、RAM 、ROM定时,计数和多种接口于一体的微控制器。
基于单片机的简易数字电压表设计
基于单片机的简易数字电压表设计随着电子技术的迅猛发展,数字电压表在实验室、工业和日常生活中的应用越来越广泛。
本文将详细介绍基于单片机的简易数字电压表的设计过程,包括系统设计思路、硬件选型、软件实现以及调试过程。
设计一个简易数字电压表的目标是实现对直流电压的实时测量,并将其以数字形式显示。
该系统的核心是单片机,它负责数据采集、处理及结果显示。
选用单片机的原因在于其体积小、成本低、易于编程等优点。
在硬件设计方面,系统主要由输入电路、单片机、显示模块和电源模块组成。
输入电路的作用是将待测电压信号转化为单片机可处理的电信号。
一般采用分压电路,通过电阻分压的方法,将高电压降低至单片机的可接受范围。
还需考虑输入电压的范围,以确保测量精度和系统安全。
选用的单片机需具备一定的模拟输入功能,以便对电压进行采样。
常用的单片机型号有51系列、AVR系列及STM32系列等,其中STM32系列因其较高的性能和丰富的外设而受到广泛关注。
在设计中,应根据具体需求选择合适的单片机,并进行必要的引脚配置。
显示模块的选择是系统设计的重要环节,常用的有液晶显示屏(LCD)和七段数码管。
液晶显示屏具有显示内容丰富、可视角度广等优势,但其功耗相对较高。
而七段数码管则以其简洁明了的特性广泛应用于数字电压表中。
在本设计中,建议使用LCD显示模块,以便于显示多位数值及相关信息。
电源模块的设计需确保系统的稳定运行。
一般采用稳压电源,为单片机及其他外设提供稳定的电压供应。
需考虑电源的功耗及散热问题,确保系统在长期工作中不会出现故障。
数据处理模块是整个系统的核心,其主要任务是将采集到的模拟电压信号转换为相应的数字值。
可采用模数转换(ADC)技术,将模拟信号转换为数字信号,并进行必要的线性化处理。
处理过程中,应考虑量化误差及噪声对测量结果的影响。
数据显示模块负责将处理后的电压值通过LCD显示出来。
在这一过程中,需要对显示内容进行格式化,以确保信息的清晰易读。
简易数字电压表的设计
单片机课程设计姓名:罗双林学号: 03班级:电气082成绩:指导教师:吴玉蓉设计时刻: 2020-1-4——2020-1-16摘要简易数字电压测量电路由A/D转换、数据处置及显示操纵等组成。
当外部0~5V的模拟信号输入时,第一通过ADC0809转换模块进行转换,转换成数字信号并进入通道进行选择后,将信号传入STC89C52RC单片机时,单片机通过按键电路中的一个按键来选择单路仍是8路,另一个按键作单路显示时选择通道,被选择完毕后将数据送入到显示器。
Simple digital voltage measurement circuit by the A/D conversion, data processing and display control etc.When external 0 ~ 5-v analog signal input, first by ADC0809 conversion module for conversion, converted into digital signals and into the passage, after selecting the signal STC89C52RC microcontroller, introduced into the microcontroller through buttons circuit a button to choose single road or , another button for single road show when choosing the right channel, when choosing after completion will enter data into to the display.目录第一章课程设计任务书 (4)设计目的任务及要求 (4)设计时刻及进度安排 (4)第二章课程设计说明书 (5)设计方案 (5)系统硬件电路的设计 (6)要紧元件选型及相关功能介绍 (7)系统软件设计 (13)第三章结论及心得体会 (15)参考文献 (15)附录 ..................................................................................................错误!未定义书签。
简易数字电压表设计报告
摘要--------------------------------------------------------2 1.数字电压表的简介------------------------------------------31.1数字电压表的发展--------------------------------------31.2数字电压表的分类--------------------------------------42.设计的目的------------------------------------------------53.设计的内容及要求------------------------------------------54.数字电压表的基本原理--------------------------------------54.1数字电压表各模块的工作原理----------------------------54.2数字电压表各模块的功能--------------------------------54.3数字电压表的工作过程----------------------------------65.实验器材--------------------------------------------------76.电路设计实施方案------------------------------------------76.1.实验步骤---------------------------------------------76.2各个模块设计------------------------------------------86.2.1 基准电压模块-----------------------------------86.2.2 3 1/2位A/D电路模块---------------------------106.2.3 字形译码驱动电路模块--------------------------126.2.4 显示电路模块----------------------------------136.2.5 字位驱动电路模块------------------------------167.总结-----------------------------------------------------17 参考文件---------------------------------------------------18 附录-------------------------------------------------------19本文介绍了一种简易数字电压表的设计。
简易数字电压表课程设计
简易数字电压表课程设计一、课程目标知识目标:1. 学生能够理解电压表的基本工作原理和电路连接方式;2. 学生能够掌握简易数字电压表的使用方法和读数技巧;3. 学生能够了解电压的单位换算,并能进行简单的计算。
技能目标:1. 学生能够正确连接电压表的电路,并进行电压测量;2. 学生能够通过操作简易数字电压表,准确读取电压值,并记录数据;3. 学生能够运用所学知识解决实际电路中的电压问题。
情感态度价值观目标:1. 培养学生对电子测量工具的兴趣,激发学习电子技术的热情;2. 培养学生严谨、细致的实验态度,注重实验操作的规范性和安全性;3. 培养学生团队合作精神,学会分享和交流实验过程中的心得体会。
课程性质分析:本课程为电子技术基础课程,以实验为主,结合理论教学。
简易数字电压表是电子测量工具的基础,通过本课程的学习,使学生掌握基本的电压测量方法。
学生特点分析:学生为初中生,具备一定的物理知识和实验操作能力。
学生对电子技术感兴趣,但可能对电压表的使用方法和电路连接不够熟悉。
教学要求:1. 理论与实践相结合,注重实验操作技能的培养;2. 注重启发式教学,引导学生主动探究和解决问题;3. 关注学生的个体差异,提供个性化指导,确保每个学生都能达到课程目标。
二、教学内容1. 电压表基本原理:讲解电压表的工作原理,包括磁电式电压表和数字电压表的区别与联系,重点介绍数字电压表的原理和特点。
教材章节:第二章第二节《电压表的原理与使用》2. 电压表的使用方法:详细讲解电压表的电路连接方法,操作步骤,读数技巧以及注意事项。
教材章节:第二章第三节《电压表的使用与维护》3. 电压单位换算:介绍电压的单位制,换算关系,并进行实际计算。
教材章节:第一章第四节《电学单位制》4. 实际电路电压测量:设计实际电路,指导学生运用电压表进行电压测量,分析测量结果。
教材章节:第二章第四节《电压测量》5. 数字电压表操作练习:安排学生进行数字电压表的实操练习,巩固所学知识,提高操作技能。
简易数字电压表设计
简易数字电压表设计(共19页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--摘要根据8051单片机的内部结构特点本文提出以MCS-51单片机为核心的电压测量系统。
该系统以8051和ADC0809核心内件,能够在单片机的控制下监测八路的输入电压值,用8位串行A/D转换器进行0-5V量程自动转换,并且测量的电压值可通过三位数码管显示同时用一位数码管显示选择通道。
整个系统的设计过程中主要采用了模块化的设计方法,完成了硬件电路的设计及软件程序的编写,还详细的给出了相关的硬件框图和软件流程图,通过最终硬件电路的调试,使该系统能够在要求的条件下达到正常的测量及显示功能。
单片机8051是整个系统的核心,实现输入端的分路选择,模数转换后数据的处理及在数码管上数据的显示等功能。
正文着重给出了软硬件系统的各部分电路,介绍了该系统的工作原理,MCS-51单片机特点,8051的功能和应用,ADC0809的功能和应用等。
关键词:MCS-51单片机;8051 ;ADC0809;数码管目录1总体设计....................................................... 错误!未定义书签。
2硬件设计及其工作原理................................ 错误!未定义书签。
数字电压表主要器件 .................................. 错误!未定义书签。
单片机AT89C51 ........................................ 错误!未定义书签。
芯片ADC0808 ........................................... 错误!未定义书签。
数字电压表电路设计................................... 错误!未定义书签。
开题报告(简易数字电压表的设计)
1绪论
2数字仪表设计原理
3芯片介绍
4系统硬件设计
5系统软件设计与说明
6程序调试
7总结
8参考文献
谢
预期目标:
简易数字电压表可以测量0~5V的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示
三、拟采用的研究方法、步骤
研究方法:
A/D转换模块:采用ADC0809转换芯片,其中A/D转换器用于实现模拟量数字量的转换,单电源供电。
目前数字电压表的内部核心部件是A/D转换器,转换器的精度很大程度上影响着数字电压表的准确度,本毕业设计A/D转换器采用ADC0809对输人模拟信号进行转换,控制核心AT89C51再对转换的结果进行运算和处理,最后驱动输出装置显示数字电压信号。
二、研究的主要内容和预期目标(研究的框架,要求列到一级提纲)
DVM的高速发展,使它已成为实现测量自动化、提高工作效率不可缺少的仪表,数字化是当前计量仪器发展的主要方向之一,而高准度的DC-DVC的出现,又使DVM进入了精密标准测量领域。随着现代化技术的不断发展,数字电压表的功能和种类将越来越强,越来越多,其使用范围也会越来越广泛。采用智能化的数字仪器也将是必然的趋势,它们将不仅能提高测量准确度,而且能提高电测量技术的自动化程序,可以扩展成各种通用数字仪表、专用数字仪表及各种非电量的数字化仪表(如:温度计、湿度计、酸度计、重量、厚度仪等),几乎覆盖了电子电工测量、工业测量、自动化仪表等各个领域。从而提高计量检定人员的工作效。
毕业论文(设计)开题报告
论文题目
简易数字电压表的设计
一、选题的背景与意义(本研究的现状综述、理论价值与实际意义)
电压表已经有100多年的发展历史,虽然不断改进与完善,仍然无法满足现代电子测量的需求,近二十年,微电子技术,计算机技术,集成技术,网络技术等高新技术得到了迅猛发展。这一背景和形势,不断地向仪器仪表提出了更高、更新、更多的要求,如要求速度更快、灵敏度更高、稳定性更好、样品量更少、遥感遥测更远距、使用更方便、成本更低廉、无污染等。同时也为仪器仪表科技与产业的发展提供了强大的推动力,并成了仪器仪表进一步发展的物质、知识和技术基础。数字电压表(Digital Voltmeter简称DVM)自1952年问世以来,显示出强大的生命力,现已成为在电子测量领域中应用最广泛的一种仪器。数字电压表可以显示清晰、直观,读数准确,准确度高,分辨力强,测量范围广,扩展能力强,测量速度快,输入阻抗高,集成度高,微功耗和抗干扰能力强等优点,独占电压表产品的熬头。
简易数字电压表的设计(ADC0809)
简易数字电压表的设计(4人)一、设计目的进一步加深理解模拟电子技术、数字电子技术、单片机原理与应用等课程的基础知识,掌握一些小型电子系统的设计方法和制作过程的能力;培养学生们的科学性、系统性、及全面性的设计素质;开拓学生的设计思路,增强他们把理论知识与实践相结合的能力;为毕业后从事电子设备控制电路设计、调试、维修奠定基础。
二、设计要求1.功能要求设计并制作一个简易数字电压表,可以测量0~5V范围内的8路输入电压值,并在4位LED数码管上轮流显示或单路选择显示,其中1位为显示通道号。
其测量最小分辨率为0.02V。
2.设计内容(1)根据设计功能要求,确定CPU的选型与硬件接口配置。
(2)进行硬件设计,主要是整个系统电路原理图的绘制和对应的PCB板的布线设计。
(3)进行软件设计,根据控制要求编写控制系统的控制程序。
(4)控制系统调试。
(5)源程序。
三、主要元器件ADC0809、数码管、三极管、发光二极管、总线驱动器、电位器、按键、电阻、电容、导线、万能板等四、设计报告要求1、方案论证及方框图。
2、单元电路设计细则。
3、调试及性能分析。
4、系统的电原理图。
5、电子元器件清单。
6、源程序清单。
7、参考资料。
8、收获。
五、教材及参考书[1] 潘永雄. 新编单片机原理与应用(第二版). 西安:西安电子科技大学出版社,2007年[2] 余永权.单片机应用系统的功率接口技术. 北京:北京航空航天大学出版社,1992[3] 孙涵芳.MCS-51/96系列单片机原理与应用. 北京:北京航空航天大学出版社,1996[4] 丘关源编.电路分析基础.高等教育出版社. 1999年[5] 童诗白编.模拟电子技术基础.高等教育出版社.1999年[6]阎石编.数字电子技术基础.高等教育出版社.1997年[7] [8]刘文涛编.MCS-51单片机培训教程 C51版.电子工业出版社.2006年六、课程设计进度安排注:设计说明书使用课程设计报告本书写,每人一份,独立完成。
单片机课程设计报告-简易数字电压表
TLC0834
P87C52X2
图1
1) A/D 转换部分
1.1 TLC0834 AD 转换器 TLC0834 的启动和转换可以由软件自由控制。根据 TLC0834 的工作时序图,
图 2 控制逻辑表
图 3 时序图
其转换过程是: 片选 置 CS 为低(保证 CS 有一个从高到低的跳变),该电
平能使所有的逻辑功能有效, CS 引脚在整个转换过程中应保持 低电平。此时 DO 端为高阻,DI 端等待指令 起始 向 DI 端输出第一个逻辑高,表示起始位。由于 DI 端
;调用数据转换子程序 LCALL TURN_SUB ;调用显示子程序 LCALL DISP_SUB ;转换成通道 1 CH1: CLR P1.6 ;清时钟 CLR P1.5 SETB P1.7 ;CS=1 CLR P1.7 ;CS=0 SETB P1.5 ;置 1 启动位 SETB P1.6 CLR P1.6 SETB P1.5 ;1 写 SGL SETB P1.6;时钟 0-1 跳变 CLR P1.6 SETB P1.5 ;1 写 ODD SETB P1.6 CLR P1.6 CLR P1.5 ;0 写 SELECT BIT1 SETB P1.6 CLR P1.6 ;通道 0,单端输入 SETB P1.6
C3
10uF
9
RST
R2
10k 29 30 31 PSEN ALE EA
RV3
58%
U5
1 2 3 4 5 6 7 8 V+ CS CH0 CH1 CH2 CH3 DGND AGND ADC0834 CLK SARS 12 11
RV1
58%
1k
DI DO VCC VREF
13 10 14 9
简易数字电压表设计
简易数字电压表设计姓名:李召学号:专业:电子工程系班级:指导教师:刘世平2011年06月19日摘要简易数字电压表主要采用单片机、ADC0809、8279、LED显示管完成,具有可以测量0-5V电压并在LED管4位显示的功能。
本数字电压表课程设计报告先介绍了总体硬件的设计,硬件部分有模数转换模块、数据处理模块、驱动显示和显示模块。
再对电压表使用到的芯片进行了介绍,然后给出了完整的简易数字电压表最小系统原理图。
最后再介绍了电压表软件的设计,给出了程序流程图和实现电压表功能的源程序。
关键词:ADC0809、模数转换、8279、LED显示管、CAD制图目录1 设计任务与要求 (1)2 硬件设计 (1)2.1总体设计 (1)2.2 芯片介绍 (2)2.2.1 80C320芯片介绍 (2)2.2.2 ADC0809芯片介绍 (4)2.2.3 8279芯片介绍 (6)2.3 器件清单 (7)3 电路原理图 (7)4 软件设计 (9)4.1 流程图 (9)4.2 程序设计 (9)4.2.1 数字量标度转换子程序的设计 (9)4.2.2 8279显示子程序 (10)4.3 源程序清单与注释 (10)5 小节 (13)参考文献 (14)1 设计任务与要求设计任务:设计一个用单片机控制的简易数字电压表。
要求:1. 电压表的测量范围为0—5V;2. 测量最小分辨率为0.0196V,测量误差约为0.02V;3. 1路输入电压;4. 4位LED或LCD显示;5. 结果按十进制显示;6. 原理图采用电子CAD绘制。
2 硬件设计2.1总体设计基于单片机控制的简易数字电压表的的基本原理将采样得到的模拟量电压通过模数转换转换成数字量,再将得到的数字量经过单片机数据处理将实际测得的电压以十进制形式显示在LED管上。
简易数字电压表硬件设计方框图如图1所示。
图 1 简易数字电压表硬件设计方框图A/D转换使用ADC0809芯片,作用是对模拟量电压采样转换成数字量电压。
简易数字电压表的设计
目录毕业设计任务书.......................................................................... 错误!未定义书签。
开题报告...................................................................................... 错误!未定义书签。
摘要........................................................................................ 错误!未定义书签。
关键词.......................................................................................... 错误!未定义书签。
引言. (2)第一章A/D转换器 (3)1.1A/D转换原理 (3)1.2 ADC性能参数 (5)1.2.1 转换精度 (5)1.2.2. 转换时间....................................................... 错误!未定义书签。
1.3 常用ADC芯片概述 (7)第二章8OC51单片机引脚 (8)第三章ADC0809 (10)3.1 ADC0809引脚功能 (10)3.2 ADC0809内部结构 (12)3.3ADC0809与80C51的接口 (13)3.4 ADC0809的应用指导 (14)3.4.1 ADC0809应用说明 (14)3.4.2 ADC0809转换结束的判断方法 (14)3.4.3 ADC0809编程方法 (15)第四章硬件设计分析 (16)4.1电源设计 (16)4.2 关于74LS02,74LS04 (16)4.3 74LS373概述 (17)4.3.1 引脚图 (17)4.3.2工作原理 (17)4.4简易数字电压表的硬件设计 (18)结论 (19)参考文献 (19)附录........................................................................................ 错误!未定义书签。
设计制作一个简易数字电压表.doc
设计制作一个简易数字电压表目录一、设计要求................................................................................................... 错误!未定义书签。
二、设计方案、电路图和工作原理............................................................... 错误!未定义书签。
三、软件仿真................................................................................................... 错误!未定义书签。
四、PCB设计.................................................................................................. 错误!未定义书签。
五、元器件清单表........................................................................................... 错误!未定义书签。
五、焊接和调试............................................................................................... 错误!未定义书签。
六、过程照片................................................................................................... 错误!未定义书签。
七、总结、心得及其他................................................................................... 错误!未定义书签。
简易数字电压表的设计
简易的数字电压表的设计目录第一章课程设计任务书·····················································································································错误!未定义书签。
1.1 设计题目·············································································································································错误!未定义书签。
单片机课程设计-简易数字电压表的设计
单片机课程设计-----------简易数字电压表的设计RTX2011-7湖北::汽院::电系简易数字电压表的设计1.功能要求简易数字电压表的设计可以测量0~5V的8路输入电压值,并在四位上轮流显示或单路选择显示。
测量最小分辨率为0.019V,测量误差为±0.02V。
2.硬件图硬件图分解:简化图3.算法ADC0809的模拟数量与数字输出量的对应关系用整数运算实现实数运算(上图中的对应关系)的结果4.程序代码:ORG 0000HLJMP STARTPress EQU 30HORG 0050HSTART: MOV P1,#0FFH; 效果:’8.’从右→左移动(一次)MOV R0,#11110111BMOV R3,#4Retest: MOV R6,#0FFHTest: MOV P0,#0FFHMOV A,R0MOV P1,ACALL D10msMOV P1,#0FFHDJNZ R6,TestCALL D10msRR AMOV R0,ADJNZ R3,Retest ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MOV P1,#0FFH; ; 效果:显示’H.E.L.P.’一段时间;MOV R0,#11111110BMOV R6,#0FFHREHLP: MOV DPTR,#HelpMOV R0,#11111110B;;;;;;;;;;;;;MOV R3,#4HLP: CLR AMOVC A,@A+DPTRMOV P0,AMOV A,R0MOV P1,ACALL D10ms;MOV P1,#0FFHINC DPTRRL AMOV R0,ADJNZ R3,HLPDJNZ R6,REHLP ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MOV P1,#0FFH; 效果:显示’1.0-0.’一段时间;MOV R0,#11111110BMOV R6,#0FFHREMOD11: MOV DPTR,#MOD1MOV R0,#11111110B;;;;;;;;;;;;;MOV R3,#4MOD11: CLR AMOVC A,@A+DPTRMOV P0,AMOV A,R0MOV P1,ACALL D10ms;MOV P1,#0FFHINC DPTRRL AMOV R0,ADJNZ R3,MOD11DJNZ R6,REMOD11 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MOV P1,#0FFH; 效果:显示’2.0-7.’一段时间;MOV R0,#11111110BMOV R6,#0FFHREMOD21: MOV DPTR,#MOD2MOV R0,#11111110B;;;;;;;;;;;;;MOV R3,#4MOD21: CLR AMOVC A,@A+DPTRMOV P0,AMOV A,R0MOV P1,ACALL D10ms;MOV P1,#0FFHINC DPTRRL AMOV R0,ADJNZ R3,MOD21DJNZ R6,REMOD21 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MOV P1,#0FFH; 等待键入选择WaitPress: MOV A,P1CPL AJZ WaitPressMOV A,P1CALL D10msMOV Press,P1CJNE A,Press,WaitPress;去抖动ANL A,#00010000B;S1: 模式(MODE1)JZ MODE1MOV A,PressANL A,#00100000B;S2: 模式(MODE2)JZ MODE2MOV P1,#0FFH; S3,S4未定义JMP WaitPress ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MODE1: MOV P1,#0FFH ;模式1:IN0:单道电压显示CLR EAMOV DPTR,#7FF8H; P2.7=0,IN0MOVX @DPTR,A; P2=7FH,P0=F8H,写(/WR=0,/RD=1)Waiting1: JNB P3.3,Waiting1MOVX A,@DPTR; P2=7FH,P0=F8H,读(/RD=0,/WR=1)Conver1: MOV B,#51DIV ABMOV DPTR,#LEDMOVC A,@A+DPTRADD A,#10000000B; 第1个LED的小数点dp亮MOV P0,ACLR P1.0; 第1个LED亮MOV R0,#11111110BMOV R1,#3NEXT1: CALL D10msMOV P1,#0FFH;MOV A,BMOV B,#10MUL AB;这之后B不是’1’就是’0’:最大50*10=01f4HJB PSW.2,BEQU11; PSW.2就是OVMOV B,#51DIV ABJMP DISP1BEQU11: INC AMOV B,#51DIV ABADD A,#5DISP1: MOV DPTR,#LEDMOVC A,@A+DPTRMOV P0,AMOV A,R0RL AMOV R0,AMOV P1,ACALL D10msDJNZ R1,NEXT1; 显示完4位LED为止MOV P1,#0FFHJMP MODE1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; MODE2: MOV P1,#0FFH ;模式2:IN0-IN7:多道电压循环显示CLR EAMOV DPTR,#7FF8H;P2.7=0MOV R7,#00H; R7为通道NEXT2In: MOV R6,#0FFHThisIn: MOVX @DPTR,A; IN0时P2=7FH,P0=F8H,写(/WR=0,/RD=1)Waiting2: JNB P3.3,Waiting2MOVX A,@DPTR; IN0时P2=7FH,P0=F8H,读(/RD=0,/WR=1)MOV R2,A; R2为0809的二进制转换结果Conver2: MOV A,R7MOV DPTR,#LEDMOVC A,@A+DPTRMOV P0,ACLR P1.0CALL D10msMOV P1,#0FFHMOV A,R2MOV B,#51DIV ABMOV DPTR,#LEDMOVC A,@A+DPTRADD A,#10000000B; 第2个LED的小数点dp亮MOV P0,ACLR P1.1; 第2个LED亮MOV R0,#11111101B; R0控制LEDMOV R1,#2NEXT2: CALL D10msMOV P1,#0FFH;MOV A,BMOV B,#10MUL ABJB PSW.2,BEQU12MOV B,#51DIV ABJMP DISPBEQU12: INC AMOV B,#51DIV ABADD A,#5DISP: MOV DPTR,#LEDMOVC A,@A+DPTRMOV P0,AMOV A,R0RL AMOV R0,AMOV P1,ACALL D10msDJNZ R1,NEXT2; 显示完4位LED为止CALL D10msMOV P1,#0FFH;MOV A,R2MOV A,R7; 还原DPTRADD A,#0F8H; 相加之和最大为0FFHMOV DPL,AMOV DPH,#7FHDJNZ R6,ThisInCALL D1s;MOV A,R7;ADD A,#0F8H;MOV DPL,A;MOV DPH,#7FHINC DPTRINC R7MOV A,R7CLR CSUBB A,#8JZ MODE2JMP NEXT2In ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; D10ms: MOV R4,#01H ;延时10msD1ms: MOV R5,#249DL: NOPNOPDJNZ R5,DLDJNZ R4,D1msRET ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; D1s: MOV R3,#100 ;延时1sD:CALL D10msDJNZ R3,D RET;;;;;;;;;;;;;;;;;;;;;;;;;;;共阴极;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; LED:DB 3FH,06H,5BH,4FH,66H ;0-4DB 6DH,7DH,07H,7FH,6FH ;5-9 Help:DB 0F6H,0F9H,0B8H,0F3H ;H.E.L.P MOD1:DB 86H,3FH,40H,3FH ;1.0-0 MOD2:DB 0DBH,3FH,40H,07H ;2.0-7 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; END实验效果图模式1:IN0模式2:IN0->IN7IN0IN1…………IN5………提示:按复位键可以重新进行模式选择。
简易数字电压表课程设计
简易数字电压表课程设计一、课程目标知识目标:1. 学生能理解电压表的基本工作原理,掌握其电路组成和功能。
2. 学生能描述简易数字电压表的结构,了解其显示原理。
3. 学生掌握电压的测量方法,能够正确使用简易数字电压表进行电压测量。
技能目标:1. 学生能够独立完成简易数字电压表的组装和调试。
2. 学生能够运用所学的电压测量知识,解决实际电路中的电压测量问题。
3. 学生通过实际操作,提高动手能力和问题解决能力。
情感态度价值观目标:1. 学生培养对电子技术的兴趣,激发学习热情,形成积极探索的学习态度。
2. 学生通过合作学习,培养团队协作精神和沟通能力。
3. 学生了解电压表在实际应用中的作用,认识到电子技术在日常生活和工业生产中的重要性。
课程性质:本课程为电子技术基础课程,通过理论与实践相结合的方式,使学生掌握电压测量方法,提高学生的实际操作能力。
学生特点:本课程针对初中或高中年级学生,他们对电子技术有一定的基础知识,好奇心强,动手能力逐渐提高。
教学要求:教师需采用启发式教学,引导学生主动探索,注重培养学生的动手能力和问题解决能力。
在教学过程中,关注学生的个体差异,给予每个学生充分的实践机会。
通过课后评估,检验学生的学习成果,确保课程目标的实现。
二、教学内容1. 电压表基本原理:介绍电压表的工作原理,包括磁电式和数字式电压表的原理区别。
- 教材章节:第二章第三节《电压与电压测量》2. 简易数字电压表结构:分析简易数字电压表的电路组成,显示部分原理。
- 教材章节:第二章第五节《数字电压表的组成与原理》3. 电压测量方法:讲解电压测量的步骤、注意事项以及不同量程的选择。
- 教材章节:第二章第四节《电压测量方法及注意事项》4. 实践操作:进行简易数字电压表的组装、调试及实际电压测量。
- 教材章节:实验章节《电压测量实验》5. 故障分析与处理:介绍常见的电压表故障现象,分析原因并学会处理方法。
- 教材章节:附录《电压表常见故障及处理方法》教学内容安排与进度:第一课时:电压表基本原理,介绍磁电式和数字式电压表的原理区别。
简易数字电压表设计
目录一、绪论 (1)1.1 单片机简介 (1)1.2 单片机的应用领域 (2)1.3 单片机的发展趋势 (3)1.4 单片机应用系统的开发过程 (4)1.4.1 总体设计 (5)1.4.2 硬件电路设计 (5)1.4.3 软件设计 (5)二、数字电压表 (5)2.1 数字电压表的特点 (5)2.2 数字仪表的发展趋势 (7)三、系统设计 (8)3.1 功能要求及设计目标 (8)3.2 方案论证 (8)3.3 系统硬件电路设计 (9)3.4 系统程序的设计 (12)3.4.1 初始化程序 (12)3.4.2 主程序 (12)3.4.3 显示子程序 (13)3.4.4 模/数转换测量子程序 (13)3.5 性能分析 (14)四、主要硬件功能及介绍 (15)4.1 ADC0809 (15)4.4.1主要性能 (15)4.1.2内部结构 (15)4.1.3外部特性(引脚功能) (16)4.2 AT89C52 (18)4.2.1 主要性能 (18)4.2.2 引脚功能说明 (20)4.2.3 特殊功能寄存器 (22)4.2.4 存储器结构 (22)4.2.5 定时器 (23)4.2.6 晶振特性 (24)4.2.7 空闲模式 (24)4.2.8 掉电模式 (25)4.2.9 程序储存器的加密 (25)4.2.10 编程方法 (26)五、毕业设计总结 (27)辞谢 (29)参考文献 (30)附录简易数字电压表的单片机控制源程序 (31)一、绪论1.1 单片机简介单片机是一种集成电路芯片,采用超大规模技术把具有数据处理能力(如算术运算,逻辑运算、数据传送、中断处理)的微处理器(CPU),随机存取数据存储器(RAM),只读程序存储器(ROM),输入输出电路(I/O口)如图1.1所示,可能还包括定时计数器,串行通信口(SCI),显示驱动电路(LCD或LED驱动电路),脉宽调制电路(PWM),模拟多路转换器及A/D转换器等电路集成到一块单块芯片上,构成一个最小然而完善的计算机系统。
简易数字电压表的设计
一、简易数字电压表的设计l.功能要求简易数字电压表可以测量0~5V的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。
测量最小分辨率为0.019 V,测量误差约为土0.02V。
2.方案论证按系统功能实现要求,决定控制系统采用AT89C52单片机,A/D转换采用ADC0809。
系统除能确保实现要求的功能外,还可以方便地进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。
数字电压表系统设计方案框图如图1-1。
图1-1 数字电压表系统设计方案3.系统硬件电路的设计简易数字电压测量电路由A/D转换、数据处理及显示控制等组成,电路原理图如图1-2所示。
A/D转换由集成电路0809完成。
0809具有8路模拟输人端口,地址线(23~25脚)可决定对哪一路模拟输入作A/D转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存,6脚为测试控制,当输入一个2us宽高电平脉冲时,就开始A/D 转换,7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平,9脚为A/D 转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出,10脚为0809的时钟输入端,利用单片机30脚的六分频晶振频率再通过14024二分频得到1 MHz时钟。
单片机的P1、P3.0~P3.3端口作为四位LED数码管显示控制。
P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。
P0端口作A/D转换数据读入用,P2端口用作0809的A/D转换控制。
4.系统程序的设计(1)初始化程序系统上电时,初始化程序将70H~77H内存单元清0,P2口置0。
(2)主程序在刚上电时,系统默认为循环显示8个通道的电压值状态。
当进行一次测量后,将显示每一通道的A /D 转换值,每个通道的数据显示时间为1s 左右。
主程序在调用显示子程序和测试子程序之间循环,主程序流程图见图1-3。
(3)显示子程序 显示子程序采用动态扫描法实现四位数码管的数值显示。
简易数字电压表的设计_Microsoft_Word_文档
单片机原理及应用课程设计报告书题目:简易数字电压表的设计姓名:周光豆曾玉学号:201001330122 201001330121指导老师:粟慧龙设计时间: 20012年4月27日班级:铁道通讯101班(电子信息工程系)目录1. 引言 (1)1.1. 设计意义 (1)1.2. 系统功能要求 (1)1.3. 本组成员所做的工作 (1)2 方案设计............................................. .22.1 系统的设计任务 (2)2.2 设计方案 (2)2.3 软硬件开发环境 (3)3 硬件设计 (2)3.1 单片机主电路设计 (3)3.2 测量、转换电路设计 (5)3.3 显示电路设计 (7)4 软件设计 (7)4.1 主程序设计 (11)4.2 模块程序设计 (12)5 系统调试 (9)6 设计总结 (10)7 附录 (11)附录7.1 硬件原理图 (16)附录7.2 程序清单 (17)8参考文献 (20)简易数字电压表的设计1.引言1.1 . 设计意义本文介绍了基于89c51单片机的一种8路输入电压测量电路,该电路采用ADC0809作为A/D转换元件。
1.2 .系统功能要求简易数字电压表可以测量范围0至5伏范围内的8路输入电压值,并在4位LED数码管上轮流显示或选择显示。
其测量最小分辨率为0.02V。
本系统主要包括四大模块:数据采集模块、控制模块、显示模块、A/D转换模块。
绘制电路原理图与工作流程图,并进行调试,最终设计完成了该系统的硬件电路。
在软件编程上,采用了汇编语言进行编程,开发了显示模块程序、通道切换程序、A/D转换程序。
1.3 .本组成员所做的工作周光豆:程序编写及调试,帮助检测硬件电路周光豆、曾玉:硬件焊接,系统测试曾玉:焊接部分电路、帮助系统测试、论文撰写、心得总结。
2方案设计2.1 系统的设计任务设计单片机主电路、数据采集接口电路、LED显示电路、拨码控制电路,能够实现对8路电压值进行测量,能够显示当前测量通道号及电压值,电压精度小数点后2位,可以通过键盘选择循环显示8路的检测电压值和指定通道的检测电压值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、简易数字电压表的设计l.功能要求简易数字电压表可以测量0~5V的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。
测量最小分辨率为0.019 V,测量误差约为土0.02V。
2.方案论证按系统功能实现要求,决定控制系统采用AT89C52单片机,A/D转换采用ADC0809。
系统除能确保实现要求的功能外,还可以方便地进行8路其它A/D转换量的测量、远程测量结果传送等扩展功能。
数字电压表系统设计方案框图如图1-1。
图1-1 数字电压表系统设计方案3.系统硬件电路的设计简易数字电压测量电路由A/D转换、数据处理及显示控制等组成,电路原理图如图1-2所示。
A/D转换由集成电路0809完成。
0809具有8路模拟输人端口,地址线(23~25脚)可决定对哪一路模拟输入作A/D转换,22脚为地址锁存控制,当输入为高电平时,对地址信号进行锁存,6脚为测试控制,当输入一个2us宽高电平脉冲时,就开始A/D 转换,7脚为A/D转换结束标志,当A/D转换结束时,7脚输出高电平,9脚为A/D 转换数据输出允许控制,当OE脚为高电平时,A/D转换数据从该端口输出,10脚为0809的时钟输入端,利用单片机30脚的六分频晶振频率再通过14024二分频得到1 MHz时钟。
单片机的P1、P3.0~P3.3端口作为四位LED数码管显示控制。
P3.5端口用作单路显示/循环显示转换按钮,P3.6端口用作单路显示时选择通道。
P0端口作A/D转换数据读入用,P2端口用作0809的A/D转换控制。
4.系统程序的设计(1)初始化程序系统上电时,初始化程序将70H~77H内存单元清0,P2口置0。
(2)主程序在刚上电时,系统默认为循环显示8个通道的电压值状态。
当进行一次测量后,将显示每一通道的A /D 转换值,每个通道的数据显示时间为1s 左右。
主程序在调用显示子程序和测试子程序之间循环,主程序流程图见图1-3。
(3)显示子程序 显示子程序采用动态扫描法实现四位数码管的数值显示。
测量所得的A /D 转换数据放在70H ~77H 内存单元中,测量数据在显示时需转换成为十进制BCD码放在78H ~7BH 单元中,其中7BH 存放通道标志数。
寄存器R3用作8路循环控制,R0用作显示数据地址指针。
(4)模/数转换测量子程序模/数转换测量子程序用来控制对ADC0809八路模拟输入电压的A /D 转换,并将对应的数值移入70H ~77H 内存单元。
其程序流程见图1-4。
5.调试及性能分析 (1)调试与测试采用WaveE2000编译器进行源程序编译及仿真调试,同时进行硬件电路板的设计制作, 烧好程序后进行软硬件联调,最后进行端口电压的对比测试,测试对比表见表1-1。
表中标准电压值采用UT56数字万用表测得。
从表中可以看出,简易数字电压表与“标准”数字电压表测得的绝对误差均在0.02 V 以内,这与采用8位A /D 转换器所能达到的理论误差精度相一致,在一般的应用场合图1-3 主程序流程可完全满足要求。
(2)性能分析●由于单片机为8位处理器,当输入电压为5.00 V 时,输出数据值为255(FFH ),因此单片机最大的数值分辨率为0.0196V (5/255)。
这就决定了该电压表的最大分辨率(精度)只能达到0.0196 V 。
测试时电压数值的变化一般以0.02的电压幅度变化,如要获得更高的精度要求,应采用12位、13位的A /D 转换器。
●简易电压表测得的值基本上均比标准值偏大0.01~0.02V 。
这可以通过校正ADC0809的 基准电压来解决,因为该电压表设计时直接用7805的供电电源作为基准电压,电压可能有偏差。
另外可以用软件编程来校正测量值。
●ADC0809的直流输入阻抗为1M Ω,能满足一般的电压测试需要。
另外,经测试 ADC0809可直接在2 MHz 的频率下工作,这样可省去分频器14024。
6.控制源程序清单以下是简易数字电压表的单片机控制源程序。
;*************************************** ;* 简易数字电压表 * ;*************************************** ;测量电压最大值为5V ,显示最大值为5.00V;70H ~77H 存放采样值,78H ~7BH 存放显示数据,依次为个位、十位、百位、通道标志位 ;P3.5作单路显示—循环显示转换按键用,P3.6作单路显示时选择通道按键用。
; *************************************** ;* 主程序和中断程序入口 * ;***************************************图1-4 A/D 转换测量程序流程ORG 0000HLJMP S TARTORG 0003HRETIORG 000BHRETIORG 0013HRETIORG 001BHRETIORG 0023HRETIORG 002BHRETI; ***************************************;* 初始化程序中的各变量*;*************************************** CLEARMEMIO:CLR AMOV P2, AMOV R0, #70HMOV R2, #0DHLOOPMEM: M OV R0, AINC R0DJNZ R2, LOOPMEMMOV 20H, #00HMOV A, #0FFHMOV P0, AMOV P1, AMOV P3, ARET;***************************************;* 主程序*;*************************************** START: LCALL CLEARMEMIO ;初始化MAIN: LCALL TEST ;测量一次LCALL DISPLAY ;显示数据一次AJMPMAINNOP ;PC值出错处理NOPNOPLJMP S TART; ***************************************;* 显示控制程序*;***************************************DISPLAY: 00H, DISP11 ;标志位为1,则转单路显示控制子程序MOV R3, #08H ;8路信号循环显示控制子程序MOV R0, #70H ;显示数据初址70H~77HMOV 7BH, #00H ;显示通道路数初值DISLOOP1:LCALL TUNBCD ;显示数据转为三位BCD码存入7AH、79H、78H MOV R2, #0FFH ;每路显示时间控制在4ms×255,约1sDISLOOP2:LCALL DISP ;调四位显示程序LCALL KEYWORK1 ;按键检测DJNZ R2, DISLOOP2INC R0 ;显示下一路INC 7BH ;通道显示数加1DJNZ R3, DISLOOP1RETDISP11: MOV A, 7BH ;单路显示控制子程序SUBB A, #01HMOV 7BH, AADD A, #70HMOV R0, ADISLOOP11:LCALL TUNBCD ; 显示数据转为三位BCD码存入7AH、79H、78H MOV R2, #0FFH ; 每路显示时间控制在4ms×255,约1sDISLOOP22:LCALL DISP ; 调四位显示程序LCALL KEYWORK2 ; 按键检测DJNZ R2, DISLOOP22INC 7BH ;通道显示数加1RET; ***************************************;* 显示数据转换为三位BCD码子程序*;***************************************; 显示数据转为三位BCD码存入7AH、79H、78H(最大值为5.00V)TUNBCD: MOV A, R0 ;255/51=5.00V运算MOV B, #51DIV ABMOV 7AH, A ;个位数放入7AHMOV A, B ;余数大于19H,F0为1,乘法溢出,结果加5CLR F0SUBB A, #1AHMOV F0, CMOV A, #10MUL ABMOV B, #51DIV ABF0, LOOP2ADD A, #5LOOP2: MOV 79H, A ;小数后第1位放入79HMOV A, BCLR F0SUBB A, #1AHMOV F0, CMOV A, #10MUL ABMOV B, #51DIV ABF0, LOOP3ADD A, #5LOOP3: MOV 78H, A ;小数后第2位放入78HRET;***************************************;* 显示子程序*;***************************************;共阳显示子程序,显示内容在78H~7BHDISP: M OV R1, #78H ;共阳显示子程序,显示内容在78H、7BH MOV R5, #0FEH ;数据在P1输出,列扫描在P3.0~P3.3 PLAY: MOV P1, #0FFHMOV A, R5ANL P3, AMOV A, R1MOV DPTR, #TABMOVC A, A+DPTRMOV P1, AP3.2, PLAY1 ;小数点处理CLR P1.7 ;小数点显示(显示格式为xx.xx)PLAY1: LCALL DL1MSINC R1MOV A, P3JNB ACC.3, ENDOUTRL AMOV R5, AMOV P3, #0FFHAJMPPLAYENDOUT: MOV P3, #0FFHMOV P1, #0FFHRETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH;段码表;***************************************;* 延时程序*;***************************************DL10MS: MOV R6, #0D0H ;10ms延时子程序DL1: MOV R7, #19HDL2: DJNZ R7, DL2DJNZ R6, DL1RET;DL1MS: MOV R4, #0FFH ;513+513=1msLOOP11: DJNZ R4, LOOP11MOV R4, #0FFHLOOP22: DJNZ R4, LOOP22RET;***************************************;* 电压测量(A/D)子程序*;***************************************;一次测量数据8个,依次放入70H~77H单元中TEST: C LR A ;数/模转换子程序MOV P2, AMOV R0, #70H ;转换值存放首址MOV R7, #08H ;转换8次控制LCALL TESTART ;启动测试WAIT: P3.7, MOVD ;等A/D转换结束信号AJMPWAIT;TESTART: SETB P2.3 ;测试启动NOPNOPCLR P2.3SETB P2.4NOPNOPCLR P2.4NOPNOPNOPNOPRET;MOVD: SETB P2.5 ;取A/D转换数据MOV A, P0MOV R0, ACLR P2.5INC R0MOV A, P2 ;通道地址加1INC AMOV P2, ACJNE A,#08H,TESTEND ;等8路A/D转换结束TESTEND:JC TESTCONCLR A ;结束恢复端口MOV P2, AMOV A, #0FFHMOV P0, AMOV P1, AMOV P3, ARET;TESTCON:LCALL TESTARTAJMPWAIT;***************************************;* 按键检测子程序*;***************************************KEYWORK1:JNB P3.5, KEY1KEYOUT: RET;KEY1: LCALL DISP ;延时消抖用P3.5, KEYOUTWAIT11: JNB P3.5, WAIT12CPL 00HMOV R2, #01HMOV R3, #01HRET;WAIT12: LCALL DISP ;键释放等待时显示用AJMPWAIT11;KEYWORK2:JNB P3.5, KEY1JNB P3.6, KEY2RET;KEY2: LCALL DISP ;延时消抖用P3.6, KEYOUTWAIT22: JNB P3.6, WAIT21INC 7BHMOV A, 7BHCJNE A,#08H,KEYOUT11KEYOUT11:JC KEYOUT1MOV 7BH, #00HKEYOUT1:RET;WAIT21: LCALL DISP ;键释放等待时显示用AJMPWAIT22;END。