电子定时闹钟汇编_第1页
电子定时闹钟汇编_第2页
电子定时闹钟汇编_第3页
电子定时闹钟汇编_第4页
电子定时闹钟汇编_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要本设计主要是对51单片机的一个方面的扩展,是能实现一般定时闹钟功能的设计。需要实现某一功能时,按对应的按键即可,经多次验证此设计灵活简便,可以实现显示,定时,修改定时,定时时间到能发出报警声的功能。系统采用单片机AT89C51作为本设计的核心元件,在其基础上外围扩展芯片和外围电路,附加时钟电路,复位电路,键盘接口及LED显示器。键盘采用独立连接式。还有定时报警系统,即定时时间到,通过扬声器发出报警声,提示预先设定时间时间到,从而起到定时作用。外围器件有LED显示驱动器及相应的显示数字电子钟设计与制作可采用数字电路实现,也可以采用单片机来完成。若用数字电路完成,所设计的电路相当复杂,大概需要

2、十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本也非常高。若用单片机来设计制作完成,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在该设计与制作中采用单片机AT89C51,它是低功耗、高性能的CMOS型8位单片机。片内带有4KB的Flash存储器,且允许在系统内改写或用编程器编程。另外, AT89C51的指令系统和引脚与8051完全兼容,片内有128B 的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。在LED显示器中,分成静态显示和动态显示两类,在这个设计的最小系统

3、中主要用了它的动态显示功能,动态显示器利用了人视觉的短暂停留,在数据的传输中是一个一个传输的,且先传输低位。它能同时显示时,分和秒。按键电路设有四个按键:从上往下为k1,k2,k3和k4键。按下k1键显示时、分、秒,k3键起到定时作用,k2键每按一下小时加一,k4键每按一下分钟加一,定时时间到能发出报警声。当需要校正时间时,先按下k4键,再按k2键或k3键,k3键每按一下小时加一,k2键每按一下分钟加一,按k1键即回到时间状态。能够设定定时时间,也可以修改定时时间。 目录1 概述311 课程设计的概况312 课程设计实现的功能32 系统总体方案及硬件设计421总体方案422硬件设计42.2.1

4、单片机AT89C514时钟电路6数码管显示电路63 软件设计831 系统软件设计832 键盘服务程序833 LED的编程思想83.3.1 方案选择83.3.2 LED显示834音响报警电路835系统流程图93. 6程序模块104 proteus的系统仿真1541操作过程1542运行结果图155 课程设计体会17参考文献17附1 定时闹钟源程序代码18附2 系统总体电路图271概述本文主要是通过单片机系统,综合运用定时器、中断、数码显示等知识设计一个可定时的电子钟。它包括系统总体方案及硬件设计,软件设计,Proteus软件仿真等部分。 系统总体方案及硬件设计是本设计的重要组成部分,在这部分详细介

5、绍了时钟原理,硬件设计,数码管LED,以及在设计过程中考虑到技术指标,机型的选择,器件的选择等一系列问题。 硬件设计的主要任务是根据总体设计要求,以及在所选机型的基础上,确定系统扩展所要用的存储器,I/O电路及有关外围电路等然后设计出系统的电路原理图。 合理的软件结构是设计出一个性能优良的单片机应用性系统软件的基础,因此必须充分重视。在本设计中采用应用广泛的C语言编程,便于调试。用Proteus软件仿真检查设计是否合理。11 课程设计的概况 通过对51单片机的扩展,接键盘,显示器等相应的外围器件。在LED显示器中分成静态显示和动态显示两类,在本设计中主要用了它的动态显示功能,动态显示利用了人视

6、觉的短暂停留,在数据的传输中是一个一个传输的,且先传输低位。键盘是由若干个按键组成的开关矩阵,是一种廉价的输入设备。键盘通常包括有数字键,字母键以及一些功能键。操作人员可以通过对键盘向计算机输入数据,地址,指令或其他的控制命令,实现简单的人机对话。这里采用非编码式键盘。通过51单片机的P1口扩展出独立连接式键盘。外围扩展复位,时钟电路,利用软件源程序代码实现相应的功能。12 课程设计实现的功能:u 能显示 时时-分分-秒秒。u 能够设定定时时间,修改定时时间。u 定时时间到能发出警报声或者启动继电器,从而控制电器的起停。2 系统总体方案及硬件设计21总体方案 使用是单片机作为核心的控制元件,使

7、得电路的可靠性比较高,功能也比较强大, 而且可以随时的更新系统,进行不同状态的组合。 本系统采用单片机AT89C51作为本设计的核心元件,利用7段共阴LED作为显示器件。接入共阴LED显示器,可显示时,分钟,秒,单片机外围接有定时报警系统,定时时间到,扬声器发出报警声,提示预先设定时间电器的起停时间到,从而控制电器的起停。电路由下列部分组成:时钟电路、复位电路、控制电路、LED显示,报警电路,芯片选用AT89C51 单片机。 系统基本框图:报警器数码显示时钟电路AT89C51键盘电路图 1系统基本框图22硬件设计2.2.1 单片机AT89C51AT89C51是一个低电压,高性能CMOS型 8位

8、单片机,片内含4KB的可反复擦写的Flash只读程序存储器(ROM)和128 B的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。 AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复

9、擦写的Flash存储器可有效地降低开发成本。主要功能特性:兼容MCS-51指令系统可编程UARL通道两个16位可编程定时/计数器1个串行中断两个外部中断源共6个中断源可直接驱动LED引脚使用说明:I/O端口的编程实际上就是根据应用电路的具体功能和要求对I/O寄存器进行编程。具体步骤如下:l)根据实际电路的要求,选择要使用哪些I/O端口。2)初始化端口的数据输出寄存器,应避免端口作为输出时的开始阶段出现不确定状态,影响外围电路正常工作。3)根据外围电路功能,确定FO端口的方向,初始化端口的数据方向寄存器。对于用作输入的端口可以不考虑方向初始化,因为FO的复位缺省值为输入。4)用作输入的FO管脚,

10、如需上拉,再通过输入上拉使能寄存器为其内部配置上拉电阻。5)最后对I/O端口进行输出(写数据输出寄存器)和输入(读端口)编程,完成对外围电路的相应功能。几个特殊管脚:XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。   XTAL2:来自反向振荡器的输出。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平。图2 AT89C51管脚图2.2.2时钟电路单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中AT89C51单片机采用内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHz12MHz之

11、间。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF100pF之间取值。AT98C51单片机的时钟电路如图3所示。 图3 时钟电路数码管显示电路单片机中通常使用7段LED,LED是发光二极管显示器的缩写。LED显示器由于结构简单,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响应速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示部件,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符。LED显示器有多种形式,如:“米”字型显示器,点阵

12、显示器和七段数码显示器等,在单片机系统中使用最多的是七段数码显示器。LED七段数码显示器由8个发光二极管组成显示字符,根据内部发光二极管图4 引脚配置图5 数码管内部结构 的连接形式不同,LED有共阴极和共阳极两种,如上图所示:采用高亮共阴型数位数码管,为示区别,显示秒的两个数码管个头较小,另外4个较大。共阴数码管连接线路如下:一般用7个发光二极管构成显示数字和符号,另外还用一段发光二极管显示小数点。这种显示器一般分为两种,共阳极显示器和共阴极显示器,共阳极显示器是把每个二极管的正端连在一起,共阴极显示器是把每个二极管的阴极连在一起。一只显示器是有8个发光二极管构成,当把某段加正向电压时,则该

13、段所对应的笔划亮,不加正向电压则暗,为了保护各段不受损坏需要加限流电阻,无论是共阳极显示器还是共阴极显示器,它的8段排列顺序都是一样的:A段、B段、C段、D段、E段、F段、G段和DP段。在单片机中通常使用7段LED。3 软件设计31 系统软件设计该系统软件主要有主程序模块,定时中断服务程序,中断等待服务程序,键盘服务程序,显示子程序服务程序等六大模块组成,因为汇编语言使用助记符,符号和数字等来表示指令程序的语言,容易理解和记忆,它与机器语言指令是一一对应的,所以我们用汇编语言来写此程序。32 键盘服务程序 键盘采用查询的方式,放在主程序中,当没有按键按下的时候,单片机循环主程序,一旦有键按下,

14、便转向相应的子程序处理,处理结束后再返回。33 LED的编程思想3.3.1 方案选择方案一:使用数码管显示该方案控制最简单,但是只能显示有限的符号和数字,对于设计中复杂的显示功能显然不能胜任。方案二:使用点阵液晶显示点阵液晶可以显示多种字符和图形,拥有友好的人机界面及强大的显示功能。特别适用于智能控制的可编程人性化显示。权衡之后,考虑到实际的状况,价格以及本设计要达到的效果,选用方案一比较经济实惠,足够实现需要的功能。3.3.2 LED显示 七段LED由七个发光二极管按日字排开,所有发光二极管的阳极连在一起成共阳极,阴极连在一块称共阴极接法。当采用芯片驱动时不需要加限流电阻,其他情况下一般应外

15、接限流电阻。动态显示电路有显示块,字形码封锁驱动器,字位锁存驱动器三部分组成。34音响报警电路 在AT89C51外围的一个管口上加扬声器,通过软件与硬件的结合可实现定时报警功能。35系统流程图判断闹钟时间到否程序初始化调用显示程序开始P1.1是否按下?调用时间设定程序P1.2是否按下?Y调用闹钟时间设定程序NNY图6 程序流程图3. 6程序模块(1)×××××设定时间程序:××××× SETTIME: L0:LCALL DISPLAY1 ;调用时间允许程序 MM1: JB P1.2,L1 MOV

16、 C,P1.2 JC MM1 LCALL DELAY1 ;调用延时 JC MM1 MSTOP1: MOV C,P1.2 JNC MSTOP1 ;判断P1.2是否释放?释放则继续 LCALL DELAY1 ;调用延时 MOV C,P1.2 JNC MSTOP1 INC 22H ;小时增加1 MOV A,22H CJNE A,#18H,GO12 ;判断小时是否到24时?未到继续循环 MOV 22H,#00H ;小时复位 MOV 34H,#00H MOV 35H,#00H LJMP L0 L1:JB P1.3,L2 MOV C,P1.3 JC L1 LCALL DELAY1 ;延时 JC L1MST

17、OP2: MOV C,P1.3 JNC MSTOP2 ;判断P1.3是否释放?释放则继续 LCALL DELAY1 ;调用延时 MOV C,P1.3 JNC MSTOP2 INC 21H ;分钟增加一 MOV A,21H CJNE A,#3CH,GO11 MOV 21H,#00H ;分钟复位 MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11:MOV B,#0AH ;将A中的内容分成高低两部分 DIV AB MOV 32H,B MOV 33H,A LJMP L0 GO12: MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0 L

18、2:JB P1.4,L0 MOV C,P1.4 JC L2 LCALL DELAY1 ;调用延时 MOV C,P1.4 JC L2STOP1: MOV C,P1.4 ;判断按键P1.4是否释放? JNC STOP1 LCALL DELAY1 ;调用延时(2)×××××设置闹钟时间××××× SETATIME:LCALL DISPLAY2 ;调用时间运行 N0:LCALL DISPLAY2 MM2: JB P1.3,N1 ;判断P1.3是否按下? MOV C,P1.3 JC MM2 LCALL D

19、ELAY1 JC MM2MSTOP3: MOV C,P1.3 ;判断P1.3是否释放? JNC MSTOP3 LCALL DELAY1 MOV C,P1.3 JNC MSTOP3 INC 24H ;设定小时增加1 MOV A,24H CJNE A,#24,GO22 MOV 24H,#00H ;时钟复位 MOV 38H,#00H MOV 39H,#00H LJMP N0 N1:JB P1.1,N2 ;判断P1.1是否按下? MOV C,P1.1 JC N1 LCALL DELAY1 JC N1MSTOP4: MOV C,P1.1 ;判断P1.1是否释放? JNC MSTOP4 LCALL DEL

20、AY1 MOV C,P1.1 JNC MSTOP4 INC 23H ;设定闹钟分钟增加1 MOV A,23H CJNE A,#60,GO21 ;判断A是否到60分? MOV 23H,#00H ;分钟复位 MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH ;将A中的内容分成高低两部分 DIV AB MOV 36H,B MOV 37H,A LJMP N0 GO22: MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A LJMP N0 N2:JB P1.4 ,N0 ;判断P1.4是否按下? MOV C,P1.4 JC N2 L

21、CALL DELAY1 MOV C,P1.4 JC N2STOP2: MOV C,P1.4 ;判断P1.4是否释放? JNC STOP2 LCALL DELAY1 MOV C,P1.4 JNC STOP2 LJMP LOOP TIMEPRO:MOV A,21H MOV B,23H CJNE A,B,BK ;判断分钟是否运行到设定的闹钟的分钟? MOV A,22H MOV B,24H CJNE A,B,BK ;判断时钟是否运行到设定的闹钟的时钟? SETB 25H.0 MOV C,25H.0 JC XX XX: LCALL TIMEOUT ;调用时间闹钟响应程序 BK:RET TIMEOUT:

22、X1:LCALL BZ ;调用喇叭响应程序 LCALL DISPLAY2 CLR 25H.0 JB P1.4, X1 ;判断P1.4是否按下? LCALL DELAY CLR 25H.0 LJMP DISPLAY1 BZ: CLR P3.7 ;喇叭响应程序 MOV R7,#250 ;响应延时时间 T2: MOV R6,#124 T3: DJNZ R6,T3 DJNZ R7,T2 SETB P3.7 RET LOOKATIME:LCALL DISPLAY2 ;调用时间运行程序 MM: JB P1.4,LOOKATIME ;判断按键P1.4是否按下 MOV C,P1.4 JC MM LCALL D

23、ELAY1 MOV C,P1.4 JC MMSTOP3: MOV C,P1.4 JNC STOP3 LCALL DELAY1 MOV C,P1.4 JNC STOP3 LJMP LOOP DELAY1: MOV R4,#14H ;时间延时DL001: MOV R5,#0FFHDL111: DJNZ R5,DL111 DJNZ R4,DL001 RET4 proteus的系统仿真41 操作过程我们不防设几个按键从上往下为k1,k2,k3,k4 。k1与p1.4相连,k2与p1.3相连,k3与p1.3相连,k4与p1.1相连。当需要设定当前时间时,按一下k4键,进入时间设定状态,按一下k2,分加1

24、;按一下k3,小时加1。如此反复来设定当前时间。调好时间后按k1退出当前时间设定状态。如下图(a)。当要设定定时时间时,按下k3,进入定时时间设定状态,按一下k2,小时加1;按一下k4,分钟加1。如此反复来设定要设定的定时时间。设好后,按下k1退出定时时间设定状态。如下图(b)。42运行结果图(a)调时仿真图(b)定时仿真图5 课程设计体会在做课程设计的过程中,我进一步认识到全面专业的科学知识以及逻辑思考方式对研究问题的重要性,同时我也更加具体的掌握了课程设计的基本方法。经过不断的的努力,我终于完成了这次课程设计,总的来说,我学到了不少的东西,知道了理论联系实际的重要性。在设计过程中我遇到了很

25、多的困难,但没放弃,查阅了许多相关的书籍,自己独立思考和借鉴了前人的许多优秀成果,并与所学的知识紧密的结合了起来。我相信这过程对我今后的学习和工作给与积极的影响,搭好了平台。通过这次设计,我对这门课有了更好的理解,尤其结合了这两年学的相关的专业知识,对各门课都有了一个较全面的理解。这必将对我以后的学习和工作有很大的帮助。本次课程设计的定时闹钟电路,可以满足人们的基本要求,但因为水平有限,此电路中存在一定的问题,虽可以通过增加电路解决,但过于复杂和现有水平有限,本次设计就未深入涉及,想要更好的改进电路,需要进一步的努力,如果有好的意见,希望老师给以支持。在整个设计中得到了老师的悉心指导,在课程设

26、计完成之际,献上我真挚的谢意!在此对老师们的帮助和耐心指导表示忠心的感谢。同时也对那些在课设中,给予我帮助的同学表示感谢。参考文献:1 何立民.单片机应用技术选编10.北京:北京航空航天大学出版社,2004,20-352 何立民.单片机应用技术选编8.北京:北京航空航天大学出版社,2000,103 沙占友等.单片机外围电路设计.西安:电子工业出版社,2003,84 江力.蔡骏.王艳春.董泽芳.单片机原理与应用技术.北京,清华大学出版社,2006(2007重印)15-205 李朝青.单片机原理与接口技术.北京,北京航空航天大学出版社,1998,11-156 潘永红.柳殊.单片机原理与应用.西安,

27、西安电子科技大学出版社,2000,6 7 2003年单片机及嵌入式系统学术年会论文集.北京:北京航空航天大学出版社,2003,10附1 定时闹钟源程序代码 ORG 0000H LJMP MAIN ORG 000BH LJMP TIME ;×××××主程序部分:××××× ORG 0100H MAIN:MOV SP,#50H MOV 20H,#00H ;秒钟BIN MOV 21H,#00H ;分钟BIN MOV 22H,#00H ;小时BIN MOV 23H,#01H MOV 24H,#01H M

28、OV 25H,#00H MOV 30H,#00H MOV 31H,#00H MOV 32H,#00H MOV 33H,#00H MOV 34H,#00H MOV 35H,#00H MOV 36H,#01H MOV 37H,#00H MOV 38H,#01H MOV 39H,#00H MOV TMOD,#01H ;16位计数器 MOV TH0,#03CH ;赋计数初值 MOV TL0,#0B0H MOV IE,#10000111B SETB TR0 ;T0启动计数 MOV R2,#14H MOV P2,#0FFH LOOP: LCALL TIMEPRO LCALL DISPLAY1 JB P1.

29、1,M1 LCALL SETTIME ;调用设定时间程序 LJMP LOOP M1:JB P1.2,M2 LCALL SETATIME ;调用设定时间程序 LJMP LOOP M2:JB P1.4,M4 LCALL LOOKATIME ;调用设定闹钟时间程序 M4:LJMP LOOP DELAY:MOV R4,#030H ;延时时间 DL00:MOV R5,#0FFH DL11:MOV R6,#9H DL12:DJNZ R6,DL12 DJNZ R5,DL11 DJNZ R4,DL00 RET ;×××××设定时间程序:××

30、××× SETTIME: L0:LCALL DISPLAY1 ;调用时间允许程序 MM1: JB P1.2,L1 MOV C,P1.2 JC MM1 LCALL DELAY1 ;调用延时 JC MM1 MSTOP1: MOV C,P1.2 JNC MSTOP1 ;判断P1.2是否释放?释放则继续 LCALL DELAY1 ;调用延时 MOV C,P1.2 JNC MSTOP1 INC 22H ;小时增加1 MOV A,22H CJNE A,#18H,GO12 ;判断小时是否到24时?未到继续循环 MOV 22H,#00H ;小时复位 MOV 34H,#00H MO

31、V 35H,#00H LJMP L0 L1:JB P1.3,L2 MOV C,P1.3 JC L1 LCALL DELAY1 ;延时 JC L1MSTOP2: MOV C,P1.3 JNC MSTOP2 ;判断P1.3是否释放?释放则继续 LCALL DELAY1 ;调用延时 MOV C,P1.3 JNC MSTOP2 INC 21H ;分钟增加一 MOV A,21H CJNE A,#3CH,GO11 MOV 21H,#00H ;分钟复位 MOV 32H,#00H MOV 33H,#00H LJMP L0 GO11:MOV B,#0AH ;将A中的内容分成高低两部分 DIV AB MOV 32

32、H,B MOV 33H,A LJMP L0 GO12: MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0 L2:JB P1.4,L0 MOV C,P1.4 JC L2 LCALL DELAY1 ;调用延时 MOV C,P1.4 JC L2STOP1: MOV C,P1.4 ;判断按键P1.4是否释放? JNC STOP1 LCALL DELAY1 ;调用延时 MOV C,P1.4 JNC STOP1 LJMP LOOP;×××××设置闹钟时间×××××

33、SETATIME:LCALL DISPLAY2 ;调用时间运行 N0:LCALL DISPLAY2 MM2: JB P1.3,N1 ;判断P1.3是否按下? MOV C,P1.3 JC MM2 LCALL DELAY1 JC MM2MSTOP3: MOV C,P1.3 ;判断P1.3是否释放? JNC MSTOP3 LCALL DELAY1 MOV C,P1.3 JNC MSTOP3 INC 24H ;设定小时增加1 MOV A,24H CJNE A,#24,GO22 MOV 24H,#00H ;时钟复位 MOV 38H,#00H MOV 39H,#00H LJMP N0 N1:JB P1.1

34、,N2 ;判断P1.1是否按下? MOV C,P1.1 JC N1 LCALL DELAY1 JC N1MSTOP4: MOV C,P1.1 ;判断P1.1是否释放? JNC MSTOP4 LCALL DELAY1 MOV C,P1.1 JNC MSTOP4 INC 23H ;设定闹钟分钟增加1 MOV A,23H CJNE A,#60,GO21 ;判断A是否到60分? MOV 23H,#00H ;分钟复位 MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH ;将A中的内容分成高低两部分 DIV AB MOV 36H,B MOV 37H,A LJ

35、MP N0 GO22: MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A LJMP N0 N2:JB P1.4 ,N0 ;判断P1.4是否按下? MOV C,P1.4 JC N2 LCALL DELAY1 MOV C,P1.4 JC N2STOP2: MOV C,P1.4 ;判断P1.4是否释放? JNC STOP2 LCALL DELAY1 MOV C,P1.4 JNC STOP2 LJMP LOOP TIMEPRO:MOV A,21H MOV B,23H CJNE A,B,BK ;判断分钟是否运行到设定的闹钟的分钟? MOV A,22H MOV B,24H CJN

36、E A,B,BK ;判断时钟是否运行到设定的闹钟的时钟? SETB 25H.0 MOV C,25H.0 JC XX XX: LCALL TIMEOUT ;调用时间闹钟响应程序 BK:RET TIMEOUT: X1:LCALL BZ ;调用喇叭响应程序 LCALL DISPLAY2 CLR 25H.0 JB P1.4, X1 ;判断P1.4是否按下? LCALL DELAY CLR 25H.0 LJMP DISPLAY1 BZ: CLR P3.7 ;喇叭响应程序 MOV R7,#250 ;响应延时时间 T2: MOV R6,#124 T3: DJNZ R6,T3 DJNZ R7,T2 SETB

37、P3.7 RET LOOKATIME:LCALL DISPLAY2 ;调用时间运行程序 MM: JB P1.4,LOOKATIME ;判断按键P1.4是否按下 MOV C,P1.4 JC MM LCALL DELAY1 MOV C,P1.4 JC MMSTOP3: MOV C,P1.4 JNC STOP3 LCALL DELAY1 MOV C,P1.4 JNC STOP3 LJMP LOOP DELAY1: MOV R4,#14H ;时间延时DL001: MOV R5,#0FFHDL111: DJNZ R5,DL111 DJNZ R4,DL001 RET;×××××时间运行程序×××××TIME: PUSH ACC ;现场保护 PUSH PSW MOVTH0,#03CH ;赋初值 MOVTL0,#0B0HDJNZR2,RET0MOVR2,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论