单片机电子闹钟课程设计_第1页
单片机电子闹钟课程设计_第2页
单片机电子闹钟课程设计_第3页
单片机电子闹钟课程设计_第4页
单片机电子闹钟课程设计_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

1、学 号: 课 程 设 计题 目电子闹钟的设计与制作学 院信息工程学院专 业电子信息工程班 级 姓 名指导教师 2016年 1 月9 日课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 信息工程学院 题 目: 电子闹钟的设计仿真与制作 初始条件:(1)PROTEUS、KEIL、WAVE等软件;(2)课程设计辅导书:单片微型计算机与接口技术要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)课程设计时间:1 周;(2)课程设计题目:电子闹钟的设计仿真与制作;(3)本课程设计统一技术要求:本系统采用单片机AT89C52作为本设计的核心元件,利用7段LE

2、D作为显示器件。接入LED显示器,可显示时、分钟、秒、单片机外围接有定时报警系统,定时时间到,扬声器发出报警声。电路由下列部分组成:时钟电路、复位电路、LED显示,报警电路,芯片选用AT89C52单片机。 (4)课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,并标明参考文献。(5)写出本次课程设计的心得体会。时间安排:第18周指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录摘要1Abstract21 软件介绍31.1 Proteus31.2 Kell41.3 Wave600042 设计方案53 硬件设计63.1芯片AT89C5263.2 喇叭SPEAKER

3、83.3 时钟电路83.4显示器模块的设计94 软件设计114.1划分模块114.2程序流程图114.3模块程序154.3.1 时间的设置程序154.3.2 闹钟时间的设置程序174.3.3 喇叭响应程序194.4 数码显示205 系统仿真216 课设过程中的体会257 心得体会26参考文献27附录A 源程序代码28附录B 系统原理图39附录C 实物图40本科生课程设计成绩评定表41摘要本课程设计主要是通过单片机AT89C52,综合运用定时器、中断、数码显示等知识设计一个可定时的电子钟。它包括系统总体方案及硬件设计,软件设计,Proteus软件仿真等部分。硬件设计的主要任务是根据总体设计要求,

4、以及在所选机型的基础上,确定系统扩展所要用的存储器,I/O电路及有关外围电路等然后设计出系统的电路原理图。合理的软件结构是设计出一个性能优良的单片机应用性系统软件的基础,因此必须充分重视。编写完程序后在用Proteus软件仿真检查设计是否合理。关键词:可定时电子钟,软件,硬件,AT89C52AbstractThis course design mainly by single chip microcomputer system, the integrated use of the timer, interrupt, digital display, such as knowledge to d

5、esign a can timing electronic clock. It including the system overall scheme and hardware design, software design, and Proteus simulation software.Is the main task of the hardware design based on the general design requirements, and on the basis of the selected type, determine the system extensions t

6、o use memory, I/O circuit and related peripheral circuit, and then design the circuit principle diagram of the system.The reasonable structure of software is to design a good performance of the basis of single chip microcomputer application system software, so must full attention. After writing the

7、program in use Proteus software simulation check whether the design is reasonable.Keywords:timing electronic clock software, hardware, AT89C521 软件介绍 1.1 ProteusProteus软件是英国Lab Center Electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单

8、片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。课程设计、毕业设计是学生走向就业的重要实践环节。

9、由于PROTEUS提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台随着科技的发展,“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTEUS也能茯得愈来愈广泛的应用。使用Proteus 软件进行单片机系统仿真设计,是虚拟仿真技术和计算机多媒体技术相结合的综合运用,有利于培养学生的电路设计能力及仿真软件的操作能力;在单片机课程设计和全国大学生电子设计竞

10、赛中,我们使用 Proteus 开发环境对学生进行培训,在不需要硬件投入的条件下,学生普遍反映,对单片机的学习比单纯学习书本知识更容易接受,更容易提高。实践证明,在使用 Proteus 进行系统仿真开发成功之后再进行实际制作,能极大提高单片机系统设计效率。因此,Proteus 有较高的推广利用价值。 1.2 Kell keilKeil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方

11、案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。 1.3 Wave6000 wave6000,这个软件是南京伟福公司的单片机开发软件,一般就是用在C51单片机。不需要购买仿真器,使用软件模拟器就可以了,使用很方便的。 也支持KEILC,但最好不要在WAVE内使用C,如果想用C编写,还是用KEIL C方便。WAVE6000编译软件,采用中文界面。用户源程

12、序大小不受限制,有丰富的窗口显示方式,能够多方位、动态地展示程序的执行过程。其项目管理功能强大,可使单片机程序化大为小,化繁为简,便于管理。另外,其书签、断点管理功能以及外设管理功能等为51单片机的仿真带来极大的便利。2 设计方案 本课程设计的定时闹钟采用单片机AT89C52芯片作为核心芯片,用汇编语言进行编程,时、分、秒用6位LED数码管显示。在电路中通过四个按键S1、S2、S3和S4来进行定时和调时,定时时间到通过喇叭发出报警声。 电路由下列部分组成:时钟电路、复位电路、控制电路、LED显示,报警电路,芯片选用AT89C52 单片机。系统框图:晶振及复位 单片机AT89C52RESPACK

13、-8键盘(按钮)SPEAKER喇叭图2.1 系统框图3 硬件设计 3.1芯片AT89C52AT89C52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,可稳定地工作于5V的电源下。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器。图3.1 AT89C52引脚图AT89C52管脚说明: VCC:供电电压。 GND:接地。 P0口:P0口

14、为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。此外,与AT89C51不同之处是,P1.0和P1.1还可分别作为

15、定时/计数器2的外部计数输入(P1.0/T2)和输出(P1.1/T2EX) P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口是一个具有内部上

16、拉电阻的8位双向I/O口,P3输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电平。对P3口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入端口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流ILL。P3口除了作为一般、的I/O口线外,更重要的是它的第二功能,如表3.1所示表 3.1 P3口引脚第二功能引脚号第二功能P3.0 RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7 /RD(外部数据存

17、储器读选通)在Flash编程和校验时,P3口也接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果

18、微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3.2 喇叭SPEAKE

19、R由P3.7口控制喇叭,使其定时时间到能发出报警声。 3.3 时钟电路单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中AT89C51单片机采用内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHz12MHz之间。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF100pF之间取值。AT98C52单片机的时钟电路。如图3.2所示。XTAL2AT89C52XTAL1图3.2 AT98C52单片机的时钟电路 上拉电阻:RESPACK8控制按键:BUTTON ACTIVE SPST Push

20、Button本系统要进行时间的调整和定时,因此用4个手动按键对其进行控制。 3.4显示器模块的设计 利用7SEG-MPX6-CC-BLUE数字显示器的1-6引脚连接AT89C51单片机 P2.0 P2.5接口,其他8个引脚分别与AT89C51单片机的P0.0 - P0.7和共阳极管RESPACK-8排阻的 2 - 9 引脚分别连接。数码管:7SEG-MPX6-CC-BLUE单片机中通常使用7段LED,LED是发光二极管显示器的缩写。LED显示器由于结构简单,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响应速度快,颜色鲜艳,配置灵活,与单片机接口方便而得到广泛应用。LED显示器是由若干个

21、发光二极管组成显示字段的显示部件,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符。LED显示器有多种形式,如:“米”字型显示器,点阵显示器和七段数码显示器等,在单片机系统中使用最多的是七段数码显示器。因为共阴极的LED数码管它的驱动电流是分开的,在单片机进行动态扫描的时候不会影响彼此的电流,故该系统中的6位LED数码管均用共阴极的数码管。如图3.3所示图3.3 六位七段数码管4 软件设计 4.1划分模块根据设计要求,定时闹钟程序可分为以下几个模块:1)显示时间的设置;2)闹钟时间的设置:3)定时时间的响应。 4.2程序流程图开始初始化按下S1显示时

22、间YNNS3是否按下?S4是否按下?喇叭响YY按S3设置小时数按S2设置小时数按S2设置分钟数按S4设置分钟数NS1是否按下?Y图4.1 总流程图显示时间S4是否按下?NYS2是否按下?S3是否按下?NY小时数+1分钟数+1Y小时数+1Y是否=60?是否=24?NNY是否=60? 置零Y显示分钟值显示小时值 返回调用图4.2 设置显示时间的流程图显示时间S3是否按下?NYS4是否按下?S2是否按下?N显示分钟值分钟数+1YY小时数+1小时数+1Y是否=60?是否=24?NNY是否=60? 置零Y显示小时值 返回调用图4.3 设置闹钟时间流程图当前时间与定时时间相等?NY喇叭响应当前时间与定时时

23、间不等?NY按下S1喇叭停止响应返回调用图4.4 喇叭响应流程图4.3模块程序 4.3.1 时间的设置程序 如下:SETTIME: L0:LCALL DISPLAY1 MM1: JB P1.2,L1 ;P1.2=1时转移 MOV C,P1.2 JC MM1 LCALL DELAY1 ;延时 JC MM1MSTOP1: MOV C,P1.2 JNC MSTOP1 ;P1.2为0时转移 LCALL DELAY1 ;延时 MOV C,P1.2 JNC MSTOP1 INC 22H ;小时自加一 MOV A,22H CJNE A,#18H,GO12 ;小时计数循环 MOV 22H,#00H ;复位 M

24、OV 34H,#00H MOV 35H,#00H LJMP L0 L1:JB P1.1,L2 ;P1.1=1时转移 MOV C,P1.1 JC L1 LCALL DELAY1 ;延时 JC L1MSTOP2: MOV C,P1.1 JNC MSTOP2 ;P1.10时转移 LCALL DELAY1 ;延时 MOV C,P1.1 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 DIV AB

25、MOV 32H,B ; 将A的高4位存入32单元 MOV 33H,A ; 将A的低4位存入33单元 LJMP L0 GO12:MOV B,#0AH DIV AB MOV 34H,B ;将A的高4位存入34单元 MOV 35H,A ;将A的低4位存入35单元 LJMP L0 L2:JB P1.0,L0 ; P1.01时转移 MOV C,P1.0 JC L2 LCALL DELAY1 ;延时 MOV C,P1.0 JC L2 STOP1:MOV C,P1.0 JNC STOP1 ; P1.00时转移 LCALL DELAY1 ;延时 MOV C,P1.0 JNC STOP1 LJMP LOOP 4

26、.3.2 闹钟时间的设置程序SETATIME:LCALL DISPLAY2 ;调用DISPLAY2 N0:LCALL DISPLAY2 MM2: JB P1.1,N1 ;P1.1=1时转移 MOV C,P1.1 JC MM2 LCALL DELAY1 ; 延时 JC MM2 MSTOP3:MOV C,P1.1 JNC MSTOP3 ; P1.10时转移 LCALL DELAY1 ; 延时 MOV C,P1.1 JNC MSTOP3 INC 24H ;小时加一 MOV A,24H CJNE A,#24,GO22 ;小时计数循环 MOV 24H,#00H ;复位 MOV 38H,#00H MOV

27、39H,#00H LJMP N0 N1:JB P1.3,N2 ;P1.31时转移 MOV C,P1.3 JC N1 LCALL DELAY1 ;延时 JC N1MSTOP4: MOV C,P1.3 JNC MSTOP4 ;P1.30时转移 LCALL DELAY1 ;延时 MOV C,P1.3 JNC MSTOP4 INC 23H ;分钟加一 MOV A,23H CJNE A,#60,GO21 ;分钟计数循环 MOV 23H,#00H ;复位 MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH DIV AB MOV 36H,B ;将A的高4位存入

28、36单元 MOV 37H,A ;将A的低4位存入37单元 LJMP N0 GO22:MOV B,#0AH DIV AB MOV 38H,B ;将A的高4位存入38单元 MOV 39H,A ;将A的低4位存入39单元 LJMP N0 N2:JB P1.0 ,N0 ;P1.01时转移 MOV C,P1.0 JC N2 LCALL DELAY1 ;延时 MOV C,P1.0 JC N2STOP2: MOV C,P1.0 JNC STOP2 LCALL DELAY1 MOV C,P1.0 JNC STOP2 LJMP LOOP 4.3.3 喇叭响应程序 TIMEPRO:MOV A,21H MOV B,

29、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 ;调用TIMEOUT BK:RET TIMEOUT: X1:LCALL BZ ;用喇叭响应程序 LCALL DISPLAY2 ;延时 CLR 25H.0 ;调用喇叭响应程序结束 JB P1.0, X1 ;P1.01时转移 LCALL DELAY CLR 25H.0 LJMP DISPLAY1 ;延时 BZ:CLR P3.7 MOV R7,#250 ;喇叭响应时间

30、T2: MOV R6,#124 T3: DJNZ R6,T3 DJNZ R7,T2 SETB P3.7 RET4.4 数码显示将所编程序在WAVE里进行编译,编译正确后生成HEX文件。在AT89C51芯片中加载此文件后,进行仿真。系统运行后,能准确的显示时间。通过S1、S2、S3和S4四个按键,能够对时间进行修改和闹钟的设置。定时时间到能发出报警声。如图4.2所示。图4.2 5 系统仿真通过S1、S2、S3和S4四个按键,对时间进行修改和闹钟的设置。定时时间到能发出报警声,使用伟福软件编辑程序,在仿真设置中选择E6000/T仿真器,选择POD-51仿真头,选择8031CPU进行汇编程序编辑,然

31、后进行proteus进行仿真,其仿真图如下:系统初始状态如图5.1所示。图5.1 初始状态按下S1键后数值不变,秒指示仍然自动跳跃。当按下S3后定时,此时显示的是程序中设定的闹钟响应的时间,如图5.2所示。 图5.2 按S2键可以对时指示进行修改,如图5.3所示。图5.3按S4键可以对分指示进行修改,如图5.4所示。图5.4按下S1键后数值不变,秒指示仍然自动跳跃。此时显示的是电子表的时间,如图5.5所示。 图5.5 当按下S4后,再按S3键可以对时指示进行修改,如图5.6所示。图5.6再按S2键可以对分指示进行修改,如图5.7所示。图5.76 课设过程中的体会(1) 由于电路用Proteus

32、仿真是正确的,但是在实物操作过程中,单片机开发板的八段数码管的显示一直是乱码的。经过我们的反复排查,发现由于我们的片选只需要6根,但是我们用了有八根孔的排插,将所有的片选端口P2与数码管连接了起来。最后,我们一根一根地连接P2端口与六位七段数码片选端口起来。终于,数码管的显示是正确的了。(2) 由于我们的电子闹钟的要求是可定时,可更改显示时间与到时间要求蜂鸣器报警,功能较多。所以,我们划分了三大模块来编写代码,然后分别用Wave来调试。这样就大大减小了我们的负担。(3) 在用STC软件烧程序进入集成板的过程中,我们选错了芯片,造成结果是错误的。这教会了我做课设的时要细心,遇到问题要有耐心。7

33、心得体会 课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在,作为二十一世纪的大学生来说掌握单片机的开发技术是十分重要的。 通过本次单片机原理及应用课程设计使我充分认认到了课程设计的理要性和必要性,本次设计使我对已学过的基础知识有了更深入的理解,学会了独立思考、独立工作以及对应用所学基本理论分析和解决实际问题的能力有了很大的提高。另外,本次设计使我的实际操作技能得到了训练, 同时也进一步培养了我严谨的科学作风。

34、回顾起此次单片机课程设计,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是从中却学到很多很多的的东西,不但巩固了以前所学过的知识,而且对单片机原理课外知识也的到了拓展。做的过程中,开始的确遇到了不少困难的问题,比如说芯片管脚不熟悉怎么放置,对单片机汇编语言掌握得不好等等,同时在这过程中也发现了自己的许多不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。 通过单片机课程设计之后,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我们还学会了如何去培养创新精神和严谨的科学作风,从而不断地战胜自己,超越自己。更重要的是,我在这一设计过程中,学会了坚

35、持不懈,不轻易言弃。参考文献1.李朝青.单片机原理及接口技术(修订版).北京:北京航空航天大学出版社,19982. 何立民.单片机应用技术大全.北京:北京航空航天大学出版社, 19943.张毅刚. 单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,19904李群芳.单片微型计算机与接口技术. 北京:电子工业出版社,20125.Mak.S,Radford.D,Designconsiderationsforimplementationoflargescaleautomaticmeterreadingsystems,PowerDelivery,IEEETransactionson,Volume10

36、,Issue1,Jan.19956.余发山主编,单片机原理及应用技术,中国矿业大学出版社2003.12附录A 源程序代码ORG 0000H LJMP MAIN ORG 000BH LJMP TIME* MAIN PROGRAM * ORG 0100H MAIN:MOV SP,#50H MOV 20H,#00H ;BIN SECOND MOV 21H,#00H ;BIN MINUTE MOV 22H,#00H ;BIN HOUR MOV 23H,#01H MOV 24H,#01H MOV 25H,#00H MOV 30H,#00H ;BCD SECOND MOV 31H,#00H MOV 32H

37、,#00H ;BCD MINUTE MOV 33H,#00H MOV 34H,#00H ;BCD HOUR 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,# ;中断允许 SETB TR0 ;启动T0 MOV R2,#14H MOV P2,#0FFH LOOP:LCALL TIMEPRO LCALL DISPLAY1 JB P1.3,M1 ;P1.31时转移 LCALL SETTIME ;调

38、用SETTIME子程序 LJMP LOOP M1:JB P1.2,M2 ;P1.2=1时转移 LCALL SETATIME ;调用SETTIME子程序 LJMP LOOP M2:JB P1.0,M4 ;P1.01时转移 LCALL LOOKATIME ;调用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 SETTIME: L0:LCALL DISPLAY1 MM1: JB P1.2,L1 ;P1.2=1时转移 MOV C,P1.2 JC MM1 LCALL DELAY1 ;延时 JC MM1MSTOP1: MOV C,P1.2 JNC MSTOP1 ;P1.2为0时转移 LCALL DELAY1 ;延时 MOV C,P1.2 JNC MSTOP1 INC 22H ;小时自加一 MOV A,22H CJNE A,#18H,GO12 ;小时计数循环 MOV

温馨提示

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

评论

0/150

提交评论