简易数字电压表的设计

合集下载

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

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

目录1.摘要及关键词-------------------------------------------32.总体设计方案-------------------------------------------33.硬件电路及仿真设计------------------------------------104.程序设计及调试----------------------------------------125.本人承担的小组工作以及设计体会------------------------136.参考文献----------------------------------------------137.元器件清单及程序清单----------------------------------13摘要:本次设计主要由三个模块组成:A/D转换模块,数据处理模块及显示模块。

A/D转换主要由芯片ADC0809来完成,它负责把采集到的模拟量转换为相应的数字量在传送到数据处理模块。

数据处理则由芯片AT89C52来完成,其负责把ADC0809传送来的数字量经过一定的数据处理,送到LCD1602液晶显示模块进行显示;此外,它还控制着ADC0809芯片工作。

关键词:数字电路单片机 ADC0809 LCD1602总体方案的设计:本次设计的要求如下:1.可以选择测量8路1-5V的8路电压值:2.可轮流显示或单路选择显示(可选);3.测量显示的最小分辨率为0.01V,测量的误差正负0.02V;4.具有电压过低,过高声光报警功能,报警限可独立设置。

设计思路:根据设计的要求,进行器件的选择。

芯片控制选取STC89C52单片机,由于要控制8路,故选取ADC0809的数模转换,显示部分选用目前很流行的LCD1602的液晶显示,最后采用8个开关控制8个通道,所以选取74LS148。

下面进行逐一叙述:STC89C52单片机芯片管脚如下STC89C52的管脚图STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。

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

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

基于单片机的简易数字电压表设计随着电子技术的迅猛发展,数字电压表在实验室、工业和日常生活中的应用越来越广泛。

本文将详细介绍基于单片机的简易数字电压表的设计过程,包括系统设计思路、硬件选型、软件实现以及调试过程。

设计一个简易数字电压表的目标是实现对直流电压的实时测量,并将其以数字形式显示。

该系统的核心是单片机,它负责数据采集、处理及结果显示。

选用单片机的原因在于其体积小、成本低、易于编程等优点。

在硬件设计方面,系统主要由输入电路、单片机、显示模块和电源模块组成。

输入电路的作用是将待测电压信号转化为单片机可处理的电信号。

一般采用分压电路,通过电阻分压的方法,将高电压降低至单片机的可接受范围。

还需考虑输入电压的范围,以确保测量精度和系统安全。

选用的单片机需具备一定的模拟输入功能,以便对电压进行采样。

常用的单片机型号有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)附录 ..................................................................................................错误!未定义书签。

实验三 简易数字电压表设计

实验三 简易数字电压表设计

电子系统实验报告实验三简易数字电压表设计姓名张巧玲指导教师贾立新课程电子系统设计与实践专业班级自动化1004班学院信息工程学院一、设计题目采用C8051F360单片机最小系统设计一简易数字电压表,实现对0~2.4V直流电压的测量,原理框图如图1所示。

模拟输入电压通过一只1 kΩ电位器产生,采用C8051F360 单片机内部的A/D 转换器将模拟电压转换成数字量后换算成电压值,用十进制的形式在LCD 上显示。

A/D 转换的输入模拟信号由实验板PR3 电位器产生的0~3.3V 的直流电压信号,用一根杜邦实验线将J8 的0~3.3V 输出插针与J7 口的P2.0 插针相连。

注意A/D 转换器模拟输入电压的范围取决于其所选择的参考电压,如果A/D 转换器选择内部参考电压源,其模拟电压的范围为0~2.4V,如果选择外部电源作为参考电压,则其模拟输入电压范围为0~3.3V。

测试时,A/D转换器的模拟输入信号可通过一个电位器产生。

图1 简易数字电压表实验示意框图二.设计方案(1)简易数字电压表设计程序流程图如图2所示。

图2 简易数字电压表设计程序中A/D转换和计时流程图(2)简易数字电压表实验板连接图如图3所示。

此外,还需用一根杜邦实验线将J8 的0~3.3V 输出插针与J7 口的P2.0 插针相连。

图3简易数字电压表设计实验板接线图三、详细设计1.简易数字电压表设计相应C8051F360和LCD初始化程序⑴内部振荡器初始化:OscInit()⑵ I/O端口初始化:PortIoInit()⑶外部数据存储器接口初始化:XramInit()⑷定时器初始化:TimerInit()⑸中断系统初始化:Int0Init()⑹ ADC0初始化:void ADC_Init()⑺ PCA初始化:Int0Init()2.电压转换方式将电压转换成十进制:AT=ADC0H*256+ADC0L;volt=AT*3.31/1024;voltage=volt*1000;for(i=0;i<4;i++){v[i]=voltage%10;voltage=voltage/10;}3. LCD显示接口的设计当时间到达设定值,即0.5s后,执行以下程序将所测的电压值在LCD屏幕上第三排显示出来。

简易数字电压表设计报告

简易数字电压表设计报告

摘要--------------------------------------------------------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年问世以来,显示出强大的生命力,现已成为在电子测量领域中应用最广泛的一种仪器。数字电压表可以显示清晰、直观,读数准确,准确度高,分辨力强,测量范围广,扩展能力强,测量速度快,输入阻抗高,集成度高,微功耗和抗干扰能力强等优点,独占电压表产品的熬头。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、简易数字电压表的设计l.功能要求简易数字电压表可以测量0~5V的8路输入电压值,并在四位LED数码管上轮流显示或单路选择显示。

测量最小分辨率为0.019 V,测量误差约为土0.02V。

2.方案论证按系统功能实现要求,决定控制系统采用A T89C52单片机,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-1 简易数字电压表与“标准”数字电压表对比测试表图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作单路显示时选择通道按键用。

; *************************************** ;* 主程序和中断程序入口 * ;*************************************** ORG 0000H LJMP STARTORG0003H图1-4 A/D 转换测量程序流程RETIORG 000BHRETIORG 0013HRETIORG 001BHRETIORG 0023HRETIORG 002BHRETI; ***************************************;* 初始化程序中的各变量*;*************************************** CLEARMEMIO:CLR AMOV P2, AMOV R0, #70HMOV R2, #0DH LOOPMEM: MOV @R0, AINC R0DJNZ R2, LOOPMEMMOV 20H, #00HMOV A, #0FFHMOV P0, AMOV P1, AMOV P3, ARET;***************************************;* 主程序*;*************************************** START: LCALL CLEARMEMIO ;初始化MAIN: LCALL TEST ;测量一次LCALL DISPLAY ;显示数据一次AJMP MAINNOP ;PC值出错处理NOPNOPLJMP START; ***************************************;* 显示控制程序*;***************************************DISPLAY: JB 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,约1s DISLOOP2: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,约1s DISLOOP22: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, CMUL ABMOV B, #51DIV ABJB F0, LOOP2ADD A, #5LOOP2: MOV 79H, A ;小数后第1位放入79HMOV A, BCLR F0SUBB A, #1AHMOV F0, CMOV A, #10MUL ABMOV B, #51DIV ABJB F0, LOOP3ADD A, #5LOOP3: MOV 78H, A ;小数后第2位放入78HRET;***************************************;* 显示子程序*;***************************************;共阳显示子程序,显示内容在78H~7BHDISP: MOV 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, AJB P3.2, PLAY1 ;小数点处理CLR P1.7 ;小数点显示(显示格式为xx.xx)PLAY1: LCALL DL1MSINC R1MOV A, P3JNB ACC.3, ENDOUTRL AMOV P3, #0FFHAJMP PLAYENDOUT: 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: CLR A ;数/模转换子程序MOV P2, AMOV R0, #70H ;转换值存放首址MOV R7, #08H ;转换8次控制LCALL TESTART ;启动测试WAIT: JB P3.7, MOVD ;等A/D转换结束信号AJMP WAIT;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 TESTARTAJMP WAIT;***************************************;* 按键检测子程序*;***************************************KEYWORK1:JNB P3.5, KEY1KEYOUT: RET;KEY1: LCALL DISP ;延时消抖用JB P3.5, KEYOUTWAIT11: JNB P3.5, WAIT12CPL 00HMOV R2, #01HMOV R3, #01HRET;WAIT12: LCALL DISP ;键释放等待时显示用AJMP WAIT11;KEYWORK2:JNB P3.5, KEY1JNB P3.6, KEY2RET;KEY2: LCALL DISP ;延时消抖用JB P3.6, KEYOUTWAIT22: JNB P3.6, WAIT21INC 7BHMOV A, 7BHCJNE A,#08H,KEYOUT11KEYOUT11:JC KEYOUT1MOV 7BH, #00HKEYOUT1:RET;WAIT21: LCALL DISP ;键释放等待时显示用AJMP WAIT22;END。

相关文档
最新文档