版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、经典文吉林建筑工程学院电气与电子信息工程学院单片机原理及应用课程设计报告设计题目:电子计时器综合系统设计专业班级:电子信息科学与技术092学生姓名:学 号:指导教师:设计时间:2012.8.27- 2012.9.7教师评语:成绩评阅教师日期目录第1章绪论11 .1课程设计目的11.2 课程设计内容11.3 课程设计要求11.4 电子时钟的简单介绍1第2章控制系统的硬件设计42.1 单片机型号的选择22.2 89C51单片机介绍22.3 振荡电路42.4 复位电路42.5 键盘电路42.6 数码管显示工作原理52.7 整个电路原理图5第3章控制系统的软件设计63.1 程序流程图63.2 程序设计
2、7第4章软件仿真84.1 Proteus软件介绍84.2 仿真结果8第5章心得体会10参考文献11附录12第1章绪论1.1课程设计目的:通过单片机原理与应用课程设计,掌握单片机及其扩展系统设计的 方法和设计原则及相应的硬件调试的方法。进一步加深单片机及其扩展系统 设计和应用的理解。1.2课程设计内容:电子计时器综合系统设计 有6位数码管显示,能按照分秒进制显示时间; 能正确手动复位; 有上电指示灯;1.3课程设计要求:1)独立设计原理图及相应的硬件电路。2)针对选择的设计题目,设计系统软件。软件要做到:操作方便,实用 性强,稳定可靠。3)设计说明书格式规范,层次合理,重点突出。并附上设计原理图
3、及相 应的源程序。1.4电子计时器的简单介绍该电子计时器由AT89C51 BUTTON八段数码管等构成,采用晶振电路作为 驱动电路,有延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒 为一分钟,六十分钟为一小时,满二十四小时为一天。有两个按键分别控制小时 和分钟,当按下控制分钟的按键时,分钟加一,同理按控制小时的按键时,小时 加一。第2早控制系统的硬件设计2.1单片机型号的选择通过对多种单片机性能的分析,最终认为AT89C51时最理想的电子时钟开发芯片。AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内 部RAM,32个I/O 口线,两个16位定时/计数器,一
4、个5向量两级中断结构, 一个全双工串行通信口,片内振荡器及时钟电路。同时, AT89C51可降至0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式 保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬 件复位。2.2 AT89C51 单片机介绍N曰JL>R-1P R 严占«=|7 PR-P二 L i i.>X TALI'XT从rasr产3B:33尹a-三亠! 51 'i d1J2-i 3u斗I 51 6力書口杠1 ZTXOf1 刁鼻nruT
5、m P3 .-4 仃 口 PS J5XT PS O/VVFir 尸2 71H!=1rkL 丁斗弓导J IJUI! = 口I-I rl-12冲 £6丁cwrn if 1 m 1 ,尸空N2MC1 戶厂尸戶尸尸图 1 AT89C51VCC电源GND接地P0 口: P0 口为一个8位漏极开路双向I/O 口,每脚可吸收8TTL门电流。当 P1 口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储 器,它可以被定能够以为数据/地址的第八位。在FLASH编程时,P0输出原码, 此时P0外部必须被拉高。P1 口: P1 口是一个内部提供上拉电阻的 8位双向I/O 口,P1 口缓冲器
6、能 接收4TTL门电流。P1 口管脚写入1后,被内部上拉为高,可用作输入,P1 口被 外部上拉为低电平时,P1 口作为第八位地址接收。P2 口: P2 口为一个内部上拉电阻的8位双向I/O 口,P2 口缓冲器可接收, 输出4个TTL门电流,当P2 口被写1时,其管脚被内部上拉电阻拉高,且作为 输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内 部上拉的原因。P2 口当用于外部程序存储器或16位地址外部数据存储器进行存 取时,P2 口输出地址的高8位。在给出地址1时,它利用内部上拉优势,当对 外部8位地址数据存储器进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在F
7、LASH编程和校验时接收高八位地址信号和控制信号。P3 口: P3 口管脚是8个带内部上拉电阻的双向I/O 口,可接收输出4个 TTL门电流。当P3 口写入1时,它们被内部上拉位高电平,并用作输入。作为 输入,由于外部上拉为低电平,P3 口将输出电流(ILL )这是由于上拉的缘故。RST :复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平 时间。ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址 的低位字节。在FLASH编程期间,次引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或
8、用于定时目的。然而要注意的是:每当用作外部数据存储器时, 将跳过一个ALE脉冲。如果想禁止ALE的输出可在SFR8EK址上置0此时,ALE 只有在执行MOVX,MOVC令时ALE才起作用。另外,该引脚被略微拉高。如果微 处理器在外部执行状态ALE禁止,置为无效。/PSEN:外部程序存储器的读选通信号,低电平有效。在由外部程序存储器取 值期间,每个机器两次/PSEN有效,但在访问外部数据存储器时,这两次有效的 /PSEN信号将不出现。/EA/VPP: /EA为该引脚的第一功能,即外部程序存储器访问控制允许端。当/EA为高电平时,在PC值不超过OFFFFH时,单片机读片内程序存储器(4KB中的 程
9、序;当PC值超出时,将自动转向片外60KB程序存储器空间中的程序。当/EA 引脚为低电平时,只读取外部程序存储器中的内容。VPP为该引脚的第二功能,即在对片内FLASH进行编程时,VPP引脚接入编程电压。2.3振荡电路本次设计采用内部振荡电路,瓷片电容采用 33pf,晶振采用12MHZ电路 连接如图2所示下载后可编辑复制2.4复位电路单片机系统的复位电路在这里采用的是上电复位电路的形式,其中电阻R1采用10KQ的阻值,电容采用电容值为100u的电容。电路连接如图4所示图3复位电路2.5键盘电路|I itk g a il>. nr"、1 昂曰6图4键盘电路2.6数码管显示工作原理
10、数码管是一个把多个LED显示段集成在一起的显示设备。有两种类型,一 种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又 称为公共端。共阴型就是把多个LED显示段的阴极接在一起,即为公共商。阳极 即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的 数码管又分为8段,即8个LED显示段,这是为工程应用方便设计的,称为 A、 B、C、D E、F、G DP,其中DP是小数点位段。而多位数码管,除某一位的公共 端会连接在一起,不同位的数码管的相同端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是最实际的用法。数码管显示方法可分为静 态显示和动态
11、显示两种。静态显示就是数码管的 8段输入及公共端电平一直有 效。动态显示的原理是,各个数码管的相同段连接在一起, 共同占用8位段引管 线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,早同时给出该数码管加有效的数据信号,当全段 扫描速度大于视觉暂留速度时,显示就会清晰显示出来。2.7整个电路原理图>-LiE|T2ILEkPFT,rP-1S|1 眄* Jikr *=rxaaTSftH冷、r专”? -S亠一罟空丄亠:HTF图6 电路原理图第3章控制系统的软件设计3.1程序流程图本系统的软件系统主要可分为主程序、 定时计数中断程序、时间调整程序、
12、延时程序四大模块。主程序流程图:显示数据处理3.2 程序设计见附录第4章软件仿真4.1 Proteus软件介绍Proteus软件是英国Labcenter electronics公司出版的EDA工具软件,是目前最好的模拟单片机外围器件的工具。可以仿真51系列、AVR PIC等常用的MCI及其外围电路(如 LCD RAM ROM键盘、马达、LED AD/DA部分SPI 器件,部分IIC器件等)。Proteus是世界上著名的EDA工具,从原理图布图、 代码调试到单片机与外围设备协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件 PCE设计软件和虚拟模 型
13、仿真软件三合一的设计平台。Proteus具有原理布图、PCB自动或人工布线、 SPICE电路仿真的功能。4.2仿真结果ir3*iirwr: 畤昕 * fjJF n h .flTHUAE*FV旳* ” 皿片EIJkE 右W17PUW-D PZJWiJH rriouff306.38图7时钟仿真图"LJ1IPI-!I * hr rfrar -II图8秒表仿真结果第5章心得体会课程设计是对课程的实践与总结,只要做了就会有收获。在这次设计中我加 深了程序的阅读能力、程序的灵活调用、单片机的设计制作调试方法。为了能顺 利的完成这次的课程设计我找了很多资料也因此知道了不少课本上没深入介绍 的东西,
14、提高了我的思维空间,拓宽了我的知识面,加深了对单片机课程的兴趣。 最主要的是加强了动手的能力。遇到问题是先思考,解决不了再查资料,实在弄 不出来就问老师和同学们,毕竟不耻下问是中华名族的优良美德。 只有如此才能 不断进步。通过这次课程设计我了解到学好一门汇编语言, 最根本的应该是了解所能接 触到的程序中最关键的是哪些,实际的应用编写更是非常重要,所以我们一定要 自己动手试一下,尝试编写程序。因为做一个旁观者事不能够学到东西的。此外在此次设计中我对此次设计的内容有一下感触,第一,由于此次设计的过程中设计秒表和时钟的显示,即在一个数码管上显示两种变量,必须确定以下 两点:1、必须仔细的核对每一个变
15、量的名字,我曾经在核对变量的名字上面花 了很大的力气,由于变量的名字错了,软件编译时很少能检查出,因此仿真时往 往不容易发现。2、要每个子程序的调试,这样才能确认某一个部分是正确的,这样才有继续往 下做的信心和勇气。参考文献1 单片机原理及应用/张毅刚 彭喜元 彭宇主编高等教育出版社,2010年5 月第二版2 单片机原理及应用/张毅刚高等教育出版社,20043MCS-51系列单片机实用接口技术/李华主编北京:北京航空航天大学出版社,1993.84单片机C语言轻松入门周坚编 北京航空航天大学出版社5 单片机人机接口实例公茂法编著,北京航空航天大学出版社6 单片机应用系统设计与实践陈景初,北京:北
16、京航空航天大学出版社附录DISBEG EQU30H;TIMCONEQU2FHORG0000H;LJMPMAINORG0003H;RETIORG000BH;LJMPINTT0ORG0013H;RETIORG001BH;LJMPINTT1ORG0023H;RETITAB: DB显示单元首地址存放报时次数程序开始关外中断0定时器T0中断程序入口;跳至INTT0执行关中断1定时器T1中断程序入口;跳至INTT1执行关串行中断0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,88H,0BFHl_TAB: DB0C0H,0F9H,0A4H,0B0H,99H
17、,92H,82H,0F8H,80H,90H,0FFH,0C6H,0BFH,88HDLY1M: MOV R6,#14H;1毫秒延时DL_LOOP: MOV R7,#19HDL_LOOP1:DJNZR7,DL_LOOP1DJNZR6,DL_LOOPRETDLY20M:LCALLD_II_PLAYLCALLD_II_PLAYLCALLD_II_PLAYRETCTIME: MOV A,#10HMOVB,79HMULABADDA,78HMOVTIMCON,ACLOOP:LCALL DLY20MLCALLDL_LOOPSLCALLDL_LOOPSLCALLDL_LOOPSDJNZTIMCON,CLOOPC
18、LR08H;:清整点报时标志AJMPMLOOP1MAIN:MOVR0,#00H;清00H-7FH内存单元DL_LOOPS:LCALLLCALLDL05SRETDL05S: MOV R3,#20HDL05S1:LCALLDJNZR3,DL05S1RETDL05S;8毫秒*32=0.196 秒D_II_PLAYMOV R7,#80H;MLOOP: MOV R0,#00HINCR0;DJNZR7,MLOOPJMOV20H,#00HJ清20H (标志用)MOV7AH,#0AHJ放入"熄灭符"数据MOVTMOD,#11HJ设T0、T1为16位定时器MOVTL0,#0B0H;50MS定
19、时初值(T0计时用)MOVTH0,#3CH;50MS定时初值MOVTL1,#0B0H;50MS定时初值(T1闪烁定时用)MOVTH1,#3CH;50MS定时初值SETBEA;总中断开放SETBET0;允许T0中断SETBTR0;开启T0定时器MOVR4,#14H;1秒定时用计数值(50MS< 20)MOVDISBEG,#70H ;显示单元为70-75HMLOOP1:LCALLD_II_PLAY;调用显示子程序JNBP1.0,T_SETSCJNBP1.1QLY5 ;秒表功能,P1.1按键调时时作减1加JNBP1.2,FUNBTJ秒表 STOP,PUSE,CLRJB 08H, CTIMEAJ
20、MPMLOOP1;P1.0 口为 1 时跳回 MLOOP1FUNBT:LJMPDLY6TSET:LCALLDLY20MJBP1.3,MLOOP1 ;TS_LOOP:JNBP1.3,TS_LOOP;等待键释放MINCHG: SETB EALCALLD_II_PLAYJNBP1.2QLY1 ;分加1JNBP1.0,DLY3 ;分减1JNBP1.3,DLY ;进入时调整AJMPMINCHGCLRBELL:AJMPMLOOP1DLY:LCALLDLY20M;消抖JBP1.3, MINCHGT_SETSC:LJMPR_SETTIM;转到R_SETTIMDLY1:LCALLDLY20M;消抖JBP1.2,
21、 MINCHGDLY2:LCALLD_II_PLAY;等键释放JNBP1.2, DLY2CLREACJNEA,#60H,ADD_MJADD)_M: JCMINCHG ;小于60分时返回ACALLCLR_H;大于或等于60分时分计时单元清AJMPMINCHGDLY3 :LCALLDLY20M;消抖JBP1.0, MINCHGDLY4:LCALLD_II_PLAY;等键释放JNBP1.0, DLY4CLREAMOVR0,#53H;LJMPMINCHGDLY5:LCALLDLY20MJBP1.1,T_MLOOP1JNBP1.1,$CPL03HJNB03H,DIS_SETMOVDISBEG,#60H
22、;显示秒表数据单元MOV60H,#00HMOV61H,#00HMOV62H,#00HMOV63H,#00HMOV64H,#00HMOV65H,#00HMOVTL1,#0F0H;10MS定时初值()MOVTH1,#0D8H;10MS定时初值SETBTR1SETBET1T MLOOP1:LJMPMLOOP1DIS_SET: MOV DISBEG,#70H ;显示时钟数据单元CLRET1CLRTR1T_MLOOP11:LJMPMLOOP1DLY6:LCALLDLY20MJBP1.2,T_MLOOP11T_EST11: JNBP1.2,T_EST11CLRET1CLRTR1T_EST22: JNBP1
23、.1QLY5JBP1.2,T_EST21LCALLDLY20MJBP1.2,T_EST22T_EST55: JNBP1.2,T_EST51MOV60H,#00HMOV61H,#00HMOV62H,#00HMOV63H,#00HMOV64H,#00HMOV65H,#00HT_EST33: JNBP1.1QLY5JBP1.2,T_EST31LCALLDLY20MJBP1.2,T_EST33T_EST44: JNB P1.2,T_EST41SETBSETBET1TR1AJMPMLOOP1T_EST411:LCALLDL_PLAYAJMPT_EST11T_EST21:LCALLDL_PLAYAJMPT
24、_EST22T_EST31:LCALLDL_PLAYAJMPT_EST33T_EST41:LCALLDL_PLAYAJMPT_EST44T_EST51:LCALLDL_PLAYAJMPT_EST55INTT0: PUSH ACC;累加器入栈保护PUSHPSW;状态字入栈保护CLRET0;关T0中断允许CLRTR0;关闭定时器T0MOVA,#0B7H;中断响应时间同步修正ADDA,TL0;低8位初值修正MOVTL0,A;重装初值(低8位修正值)MOVA,#3CH ;高8位初值修正ADDCA,TH0MOVTH0,A;重装初值(高8位修正值)SETBTR0;开启定时器T0DJNZR4, I_INT0
25、;20次中断未到中断退出A_DDS: MOVR4,#14H;20次中断到(1秒)重赋初值CPL07H;闹铃时间隔呜叫用MOVR0,#71H;指向秒计时单元(71H-72H)ACALLADD_1;调用加1程序(加1秒操作)MOVA,R3CLRCCJNEA,#60H,A_DDMA_DDM: JCI_INT0 ;小于60秒时中断退出ACALLCLR_HMOVR0,#77H;指向分计时单元(76H-77H)ACALLADD_1;分计时单兀加1分钟MOVA,R3;分数据放入ACLRC;清进位标志CJNEA,#60H,A_DDH ;A_DDH: JClNT0 ;小于60分时中断退出ACALLCLR_H;大
26、于或等于60分时分计时单元清LCALLDLY20M;正点报时SETB08HMOVR0,#79H;指向小时计时单元(78H-79H)ACALLADD_1;小时计时单兀加1小时MOVA,R3;时数据放入ACLRC;清进位标志CJNEA,#24H,RSTARTJRSTART: JClNT0 ;小于24小时中断退出ACALLCLR_H;大于或等于24小时小时计时单元清0lN T0: MOV72H,76H;中断退出时将分、时计时单元数据移MOV73H,77H;入对应显示单元MOV74H,78H;MOV75H,79H;POPPSW;恢复状态字(出栈)POPACC;恢复累加器SETBET0;开放T0中断PU
27、SHPSWJB03H, R_ADDS ;=1时秒表MOVTL1, #0B0H;装定时器T1定时初值MOVTH1, #3CHDJNZR2,I_INT1MOVR2,#06H;重装0.3秒定时用初值CPL02H;0.3秒定时到对闪烁标志取反JB02H,FLASH0 ;02H位为1时显示单兀"熄火"MOV72H,76H;02H位为0时正常显示MOV73H,77HMOV74H,78HMOV75H,79HI_INT1: POP>PSW;恢复现场POPACCRETI;中断退出FLASH0: JB01H,FLASH1 ;01H位为1时,转小时熄火控制MOV72H,7AH;01H位为0
28、时,"熄灭符"数据放入分MOV73H,7AH;显示单元(72H-73H ,将不显示分数MOV74H,78HMOV75H,79HAJMPl_INT1;转中断退出FLASH1: MOV72H,76H;01H位为1时,"熄灭符"数据放入小时MOV73H,77HMOV74H,7AHMOV75H,7AHAJMPl_INT1;转中断退出;中断返回INTT1: PUSH ACC中断现场保护R_ADDS :CLRTR1RETIMOVA,#0F7H;中断响应时间同步修正,重装初值(10mSADDA,TL1;低8位初值修正MOVTL1,A;重装初值(低8位修正值)MOVA,
29、#0D8H;高8位初值修正ADDCA,TH1MOVTH1,A;重装初值(高8位修正值)SETBTR1;开启定时器T0MOVR0,#61H;指向秒计时单元(71H-72H)ACALLADD_1;调用加1程序(加1秒操作)CLRCMOVA,R3JZRLADDM ;加1后为00, C=0AJMPI_INT01;加1后不为00,C=1R_ADDM:ACALLCLR_HMOVR0,#63H;指向分计时单元(76H-77H)ACALLADD_1;分计时单兀加1分钟MOVA,R3;分数据放入ACLRC;清进位标志CJNEA,#60H,R_ADDHR_ADDH: JCI_INT01 ;小于60分时中断退出LC
30、ALLCLR_H;大于或等于60分时分计时单元清0MOVR0,#65H;指向小时计时单元(78H-79H)ACALLADD_1;小时计时单兀加1小时l_INT01: POPPSW;恢复状态字(出栈)POPACC;恢复累加器RETI;中断返回;ADD_1: MOV A,R0取当前计时单元数据到A指向前一地址DEC R0SWAPAORLA,R0ADDA,#01H ;ADAAMOVR3,A;ANLA,#0FHMOVR0,A;MOVA,R3;INCR0;SWAPAANLA,#0FHMOVR0,A;RETJSUB_M: MOVA,R0DECR0;SWAPAORLA,R0JZSUB_M1DECA;ASUB
31、_M11:MOV3,A;ANLA,#0FHCLRCSUBBA,#0AHSUB_M111:JCSUB_M110MOVR0,#09H;SUB_M10:MOVA,R3;INCR0;SWAPAANLA,#0FH;A中数据高四位与低四位交换;前一地址中数据放入 A中低四位加1操作;十进制调整移入R3寄存器;高四位变0放回前一地址单元取回R3中暂存数据指向当前地址单元;A中数据高四位与低四位交换;高四位变0数据放入当削地址单元中子程序返回取当前计时单元数据到A指向前一地址;A中数据高四位与低四位交换;前一地址中数据放入 A中低四位减1操作移入R3寄存器;高四位变0;清进位标志大于等于0AH为9取回R3中暂
32、存数据指向当前地址单元;A中数据高四位与低四位交换;高四位变0MOV R0,ARET;数据放入当削地址单元中子程序返回SUB_M1: MOV A,#59HAJMPSUB_M11SUB_M110: MOV A,R3ANLA,#0FHMOV R0,AAJMPSUB M10SUB_H: MOV A,R0DECR0SWAPORLA,R0JZSUB_H1 ;00SUBANLCLRSUBBDEC;AH11: MOV R3,AA,#0FHA,#0AHSUB_H111: JC SUB_H110MOV R0,#09H;SUB_H10: MOV A,R3INC R0 ;SWAPAANLA,#0FHMOV R0,A
33、;RET;SUB_H1: MOV A,#23HAJMPSUB_H11SUB_H110: MOV A,R3移入R3寄存器;高四位变0取当前计时单元数据到A指向前一地址;A中数据高四位与低四位交换;前一地址中数据放入 A中低四位减1为23 (小时)减1操作移入R3寄存器;高四位变0;清进位标志;时个位大于9为9大于等于0AH为9取回R3中暂存数据指向当前地址单元;A中数据高四位与低四位交换;高四位变0时十位数数据放入子程序返回时个位小于0A不处理ANLA,#OFH;高四位变0个位移入MOVR0,A;AJMPSUB_H10CLR_H:CLRA;清累加器MOVR0,A;清当前地址单元DECR0;指向前
34、一地址MOVR0,A;前一地址单元清0RETJ子程序返回R_SETTIM:CLRET0CLRTR0;关闭定时器T0LCALLDL_LOOPS;调用1秒延时程序LCALLDLY20M;消抖JBP1.0,SLEEPMOVR2,#06H;进入调时状态,赋闪烁定时初值MOV70H,#00H;调时时秒单元为00秒MOV71H,#00HSETBET1;允许T1中断SETBTR1;开启定时器T1SET_2: JNBP1.0,SET_1;P1.0口为0 (键未释放),等待SETB00H;键释放,分调整闪烁标志置1SET_4: JBP1.0,SET_3 ;等待键按下LCALLDL05S;有键按下,延时0.5秒L
35、CALLDLY20M;消抖JNBP1.0,R_SETHHMOVR0,#77H;按下时间小于0.5秒加1分钟操作LCALLADD_1;调用加1子程序MOVA,R3;取调整单元数据CLRC;清进位标志CJNEA,#60H,SET_LOOP;调整单元数据与60比较SET_LOOP:JCSET_4;调整单元数据小于60转SET_4循环LCALLCLR_H;调整单元数据大于或等于60时清0CLRC;清进位标志AJMPSET_4;跳转到SET_4循环SLEEP: SETB ET0;省电(LED不显示)状态。开T0中断SETBTR0;开启T0定时器(开时钟)SET_LOOP1:JBP1.O,SET_LOOP
36、1;无按键按下,等待。LCALLDLY20M;消抖JBP1.O,SET_LOOP1SET_LOOP2:JNBP1.O,SET_LOOP2;等待键释放LJMPMLOOP1;返回主程序(LED数据显示亮)R_SETHH:CLR00HSETB01H;小时调整标志置1SET_LOOP3:JNBP1.0,SET_5 ;等待键释放SET_6: JBP1.0,SET_7 ;等待按键按下LCALLDL05S;有键按下延时0.5秒LCALLDLY20M;消抖JNBP1.0,STOP ;按下时间大于0.5秒退出时间调整MOVR0,#79H;按下时间小于0.5秒加1小时操作LCALLADD_1;调加1子程序MOVA
37、,R3CLRCCJNEA,#24H,C_YHH;计时单元数据与24比较C_YHH: JCSET_6;小于24转SET_6循环LCALLCLR_H;大于或等于24时清0操作AJMPSET_6;跳转到SET_6循环STOP: JNBP1.0,STOP1 ;调时退出程序。等待键释放LCALLDLY20M;消抖JNBP1.0,STOP ;是抖动,返回STOP再等待CLR01H;清调小时标志CLROOH;清调分标志CLR02H;清闪烁标志CLRTR1;关闭定时器T1CLRET1;关定时器T1中断SETBTRO;开启定时器T0SETBETO;开定时器T0中断(计时开始)LJMPMLOOP1;跳回主程序SET_1:LCALLD_II_PLAYAJMPSET
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第六章平行四边形教案
- C语言专升本教案
- 《网络综合布线系统工程技术实训教程(第5版)》 课件全套 王公儒主 第1-15章 网络综合布线系统工程技术- 综合布线系统工程管理
- DB11T 1004-2013 房屋建筑使用安全检查技术规程
- 医疗服务流程信息化
- 旅游景区非招投标采购管理指南
- 疾病防控院墙施工合同
- 农民工薪资支付法律咨询
- 贷款承诺书模板:二手房按揭指南
- 网络口碑营销策略
- 南京市2024-2025学年五年级上学期11月期中调研数学试卷一(有答案)
- GB/T 44693.2-2024危险化学品企业工艺平稳性第2部分:控制回路性能评估与优化技术规范
- 2024-2025学年新教材高中政治 第一单元 探索世界与把握规律 3.2 世界是永恒发展的说课稿 部编版必修4
- 5.2 生活中的透镜课件八年级物理上册(人教版2024)
- 2024年银行考试-平安银行考试近5年真题附答案
- 2024年宁夏石嘴山市科技馆招聘工作人员3人历年高频难、易错点500题模拟试题附带答案详解
- 人教版三年级语文上册:期中测试卷
- 高级公安执法资格考试模拟考试题(一)
- 期中阶段模拟测试(试题)-2024-2025学年统编版四年级语文上册
- 水疗会所策划方案
- 肺癌(肺恶性肿瘤)中医临床路径
评论
0/150
提交评论