单片机数字电子钟汇编课程设计.doc_第1页
单片机数字电子钟汇编课程设计.doc_第2页
单片机数字电子钟汇编课程设计.doc_第3页
单片机数字电子钟汇编课程设计.doc_第4页
单片机数字电子钟汇编课程设计.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

个性化电子钟课程设计 学 院 材料与能源学院 专 业 微电子科学与工程 年级班别 2013级2班 学生姓名 馥语甄心 目录一、设计任务书.P1二、个性化电子钟功能.P2三、单片机系统原理图和工作原理描述.P4四、电路原理图设计.P11五、程序模块图.P12六、程序清单.P13七、设计或调试的过程中遇到的问题及解决方法.P27八、测试数据与误差校准.P29九、收获与体会.P3021、 设计任务书1 AT89S51CPU,12MHZ时钟,常规上电和手动复位电路。2 4位LED数码显示器(带钟点),分别显示“小时:分钟”或“分钟:秒”3 3个独立试按键,具体功能描述如下:MODE模式转换键,具有“正常小时(校准)分钟(校准)小时(闹铃)分钟(闹铃)”等5种模式,每按一次,转换一种模式。假设当前处于正常模式,按一下此键,“小时”闪烁,表示进入“小时”调校模式,再按一次,转入分钟模式,如此类推,正常模式下不闪烁。 UP加“1”键,按下此键,被选中的项目加“1” DOWN减“1”键,按下此键,被选中的项目减“1”4 设计1路蜂鸣器输出驱动电路,用于报警或按键声5 电源:9V交流输入,全波整流,滤波,7805稳压电路,输出5V直流电源共给单片机系统。6 编写数字电字钟的所有软件,包括主程序,定时器中断计时程序,定时器中断扫描显示程序,键盘扫描及功能程序,BCD码转换程序,“二翻十拆字转码”程序,闹铃程序等等。将这些程序整合成一个完整的电子钟程序,在软件模拟器上调试,在MCS51学习机上调试,并测试其功能及性能。7 在程序调试通过后,测试计时精度,分析误差来源,提出补偿方法,用数据说明补偿前后计时精度。2、 个性化电子钟功能按键说明:K6MODE校准功能模式键时钟校准、设置闹钟参数(6种)K5UP加1键按下,对应的参数加1 K4DOWN减1键按下,对应的参数减1K3CHOICE显示选择键选择要显示的界面(5种)K1REST复位键恢复初始状态CHOICE(K3)0 小时:分钟(系统)MODE(K6)0 加减不改变显示1 分钟:秒(系统)1 系统小时校准2 小时:分钟(闹钟)2 系统分钟校准3 闹铃重响时间3 系统秒校准4 秒表4 闹钟小时校准DOWN减15 闹钟分钟校准秒表启动(秒表状态,MODE 0)6 重响时间设置停重响闹钟UP加1禁止重响下,先按UP,再按DOWN停闹钟(MODE 0)秒表复位停第一次闹钟(MODE 0)1.常规上电和手动复位(K1)2.CHOICE按键:4位LED数码显示器(带钟点),共5种显示选择:分别显示“小时:分钟”、“分钟:秒”、闹钟的“小时:分钟”、“N分钟都响铃设置”、“秒表”3.MODE按键:共有6种模式,“小时校准(闪烁)”、“分钟校准(闪烁)”、“秒校准(闪烁)”、“小时闹铃校准(闪烁)”、“分钟闹铃校准(闪烁)”、“闹钟重响时间设置”4.UP按键:按下,对应的项目加1(MODE 0模式下,可以停止闹钟或者复位秒表) DOWN按键:按下,对应的项目减1(MODE 0模式下,可以启动或停止秒表或者停止重响的闹钟5. 用P1.6口驱动1路蜂鸣器电路,用于闹钟响铃和按键声、满1分钟报警(滴一下)、满1小时报警(滴一下)6. 闹钟功能:闹钟设置:通过UP和DOWN键,调节好闹钟的小时和分钟,在设置N分钟后重响。本程序设置的闹钟可选择一次的N分钟后重响,如果不想要这个功能,则在用户设置RECL_CNT(N分钟重响变量)时候,设为0,即可。本闹钟最大可以设置59分钟后重响(太久了也用处不大)闹钟的关闭:如果设置的分钟重响变量为0,MODE按键处于模式0(此时的UP键和DOWN键不会改变系统时间),先按一下UP键,再按一下DOWN键,即可关闭闹钟,不会重响。如果设置的分钟重响变量不是0,MODE按键处于模式0,第一次响铃按一下UP键停止闹钟,N分钟后重响,第二次响铃,按一下DOWN键,则关闭闹钟7.用LED灯指示当前所选择的模式,模式1-6分别对应LED灯D1-D6,模式0对应D8(这样方便看出自己当前选择的是那种功能调节模式)8.满1分钟提示音、满1小时提示音、按键音9. 钟点闪烁,以500ms闪烁一次的频率进行闪烁 10.秒表功能:选择MODE 0模式下选择CHOICE4,即为秒表界面,按下DOWN键,启动秒表或者停止秒表;按下UP键,使秒表复位三、单片机系统原理图及工作原理描述1)CPU电路中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。1、电源类引脚VCC(40脚):接+5V电源正端。 VSS(20脚):接地端。2、时钟类引脚XTAL1(19脚) 和XTAL2(18脚):接外部石英晶体的一端。P0口(3932脚):P0.0P0.7统称为P0口。P1口(18脚):P1.0P1.7统称为P1口,可作为准双向I/O口使用。P2口(2128脚):P2.0P2.7统称为P2口,一般可作为准双向I/O口使用。P3口(1017脚):P3.0P3.7统称为P3口。表3 P3.0口的第二功能:口线功能描述P3.0RXD (串行数据输入线)P3.1TXD (串行数据输出线)P3.2INT0 (外部中断0输入引脚)P3.3INT1 (外部中断1输入引脚)P3.4 T0 (定时器/计数器0的外部输入引脚)P3.5 T1 定时器/计数器0的外部输入引脚)P3.6 WR(外部数据存储器写选通信号引脚)P3.7 RD(外部数据存储器读选通信号引脚)3、控制引脚RST/VPP(9脚):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。 LE/PROG(30脚):地址锁存允许信号。PSEN(29角):外部存储器读选通信号。EA/Vpp(31角):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令2)复位电路单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。1、手动按钮复位手动按钮复位需要人为在复位输入端RST上加入高电平。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平会直接加到RST端。手动按钮复位的电路如所示。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。2、上电复位AT89C51芯片的上电复位电路,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至22F。上电复位的工作过程是在加电时,复位电路通过电 容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在上图的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。开发板采用的是按下K1键,即可手动复位,让程序恢复初始状态3)时钟电路单片机要不断的从程序存储器中取出指令并执行,这些执行步骤是按节拍进行的,时钟电路就是提供CPU运行节拍的电路。AT89C51的时钟电路可以由内部或外部两种方式产生。AT89C51内部具有一个振荡电路,内部方式就是利用该电路在XTAL.1和XTAL.2两引脚之间外接晶振和电容C1、C2构成并联谐振电路,使内部震荡产生自激振荡如图所示。晶振频率可选择1.2-10MHZ,电容可选则15-100PF,以对时钟频率起微调作用。2、CPU时序的周期单位通过之中振荡电路,单片机的每一步工作都按照一定的节拍进行,步调得到同意.描述MCS-51系列单片机的时序单位有4中,即时钟周期.状态周期,机器周期和指令周期。时钟周期P:既振荡周期,是MCS-51系列单片机的最小时序单位.例如:若时钟频率F=12MHZ,则时钟周期=1/F=0.0833us。状态周期S:连续两个振荡周期为一个状态周期。机器周期:单片机完成某种基本操作的时间称为机器周期。一个机器周期由6个状态周期(12个振荡周期)构成。指令周期:执行一条指令所需要的时间。MCS-51的指令周期一般需要1或2个机器周期,乘,除法指令为4个机器周期。若采用上例钟12MHZ的晶振,则执行一条指令相应地需要1us,2us或4us。晶振频率越高,指令执行的速度越快。4)七段数码管的引脚图及使用数码管使用条件:a、段及小数点上加限流电阻。b、使用电压:段:根据发光颜色决定; 小数点:根据发光颜色决定。c、使用电流:静态:总电流 80mA(每段 10mA);动态:平均电流 4-5mA 峰值电流 100mA。上面这个只是七段数码管引脚图,其中共阳极数码管引脚图和共阴极的是一样的。LED数码管根据LED的接法不同分为共阴和共阳两类,右图是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。将多只LED的阴极连在一起即为共阴式,而将多只LED的阳极连在一起即为共阳式。以共阴式为例,如把阴极接地,在相应段的阳极接上正电源,该段即会发光。当然,LED的电流通常较小,一般均需在回路中接上限流电阻。假如我们将b和c段接上正电源,其它端接地或悬空,那么b和c段发光,此时,数码管显示将显示数字“1”。而将a、b、d、e和g段都接上正电源,其它引脚悬空,此时数码管将显示“2”。其它字符的显示原理类同。我们的开发板用的数码管是共阳极的,由P0和P2共同控制,通过5ms中断来依次使4个管对应的口为低电平,即可达到同时显示4个数码管的要求5) 蜂鸣器电路为了避免冲突,这次我采用的是P1.6输出方波来驱动蜂鸣器,所以用P1.6连接途中的2位置6) 电源电路7) 按键电路P3.2P3.6分别对应控制按键K6K3,按键按下,则对应的P3口置为低电平4、 电路原理图设计5、 程序模块框图5ms中断六、程序清单LED1EQU7FHLED2EQU7EHLED3EQU7DHLED4EQU7CHH_MEMEQU7BH ;系统小时M_MEMEQU7AH ;系统分钟S_MEMEQU79H ;系统秒MODE_REGEQU78H ;模式值INT_CNTEQU77H ;计时中断计数变量SCAN_CNTEQU76H ;显示扫描变量TEMPEQU75H H_CL EQU 74H ;闹钟小时 M_CL EQU 73H ;闹钟分钟FLASH_BITEQU72H ;小数点值CHOICEEQU71H;选择值CHOICE_ALLA EQU 70H;“分钟”位置显示变量CHOICE_ALLB EQU 69H;“小时”位置显示变量 CL_CNT EQU 68H ;闹钟重响判断变量RECL_CNT EQU 67H;闹钟重响时间变量SEC_CNT1 EQU 66H SEC_CNT2 EQU 65H SEC_CNT3 EQU 64H ORG 0000H LJMP MAIN ORG 0003H RETI ORG 000BHLJMPINT_T0 ORG 0013H RETI ORG 001BH LJMP INT_T1 ORG 0023H RETI ;-主程序初始化- ORG 0030H MAIN:MOV SP,#2FH MOVH_MEM,#1MOVM_MEM,#0MOVS_MEM,#0 MOVINT_CNT,#26MOVSCAN_CNT,#0MOV H_CL,#0 MOV M_CL,#0MOVCHOICE,#0 MOV MODE_REG,#0 MOV CL_CNT,#3D MOV CL_CNT,#3DH ;各种参数初始化 MOV SEC_CNT1,#0 MOV SEC_CNT2,#0MOV SEC_CNT3,#0 SETB ET0 ;开放T0中断SETB ET1 ;开放T1中断 SETB EA ;开放总中断控制 SETB PT0 ;计时优先 MOV TL0,#0E0H MOV TH0,#0B1H ;设置20ms定时初值MOV TL1,#78H MOV TH1,#0ECH ;设置5ms定时初值MOV TMOD,#00010001B ;使T1、T2处于工作方式1SETB TR0 ;开放T0中断SETB TR1 ;开放T1中断;-主程序,无限循环-WAIT:LCALL KEY_SCAN ;调用按键扫描子程序LCALL CONVERT_BCD;调用拆字转码子程序SJMP WAIT ;原地等待中断来临;-数码管显示子程序-CONVERT_BCD:MOVR2,#0LCALLWHICH_CHOICE ;判断当前的显示选择MOVR3,CHOICE_ALLA ;CHOICE_ALLA内容显示LCALLBTID ;调用二翻十子程序MOVA,R6ANLA,#0FH ;取低4位MOVDPTR,#LED_CODEMOVCA,A+DPTRMOVLED1,A ;在LED1显示MOVA,R6ANLA,#0F0H ;取高4位SWAPAMOVCA,A+DPTRMOVLED2,A ;在LED2显示MOVR2,#0MOVR3,CHOICE_ALLB ;CHOICE_ALLB内容显示LCALLBTID ;调用二翻十子程序MOVA,R6ANLA,#0FH ;取低4位MOVCA,A+DPTRMOVC,FLASH_BIT MOV ACC.7,C ;LED3的小数点显示MOVLED3,A ;在LED3显示MOVA,R6ANLA,#0F0H ;取高4位SWAPAMOVCA,A+DPTRMOVLED4,A ;在LED4显示RET ;-T0=20ms中断- INT_T0: PUSHACCPUSHPSW ;入栈保护MOV TL0,#0E0H MOV TH0,#0B1H ;重新装载20ms中断初值DJNZINT_CNT,T0_EXIT ;判断跑够500ms没有MOV INT_CNT,#23 ;够了,重新再跑500msCPL FLASH_BIT ;让小数点亮 JNB FLASH_BIT,T0_EXIT ;判断小数点是否亮,亮,返回 LCALL DELAY5MS INC S_MEM ;再跑了500ms,小数点灭,秒加1 MOV A,S_MEM CJNE A,#60,T0_EXIT ;判断秒是否超过60 MOV S_MEM,#0 ;超过,秒清零 INC M_MEM ;分加1 LCALL SOUND ;发出满1分钟提示音 MOV A,M_MEM CJNE A,#60,T0_EXIT ;判断分钟是否超过60 MOV M_MEM,#0 ;超过,分钟清0 INC H_MEM ;小时加1 LCALL SOUND ;发出满1小时提示音 MOV A,H_MEM CJNE A,#24,T0_EXIT ;判断小时是否超过24 MOV H_MEM,#0 ;超过,小时清零 T0_EXIT:POP PSW POPACCRETI SOUND1: CLR P1.6 LCALL DELAY1MS SETB P1.6 LCALL DELAY1MS ;发出声音 ;-T1=5毫秒中断,4个数码管轮流显示-;用得是共阳极数码管,由P0和P2共同控制,每一次5ms中断依次使P2.3P2.0分别为低电平,LED1LED4依次给P0输出,从而实现了每个5ms让一个数码管亮,轮流来,由于频率快,就实现了视觉上的4个数码管同时亮INT_T1: PUSHACCPUSHPSWPUSHDPLPUSHDPH MOV TL1,#78H ;5毫秒中断 MOV TH1,#0ECH SETB RS0 ;切换键区 LCALL SECOND MOV DPTR,#SCAN_TABLE MOV A,SCAN_CNT ADD A,SCAN_CNT ;乘以2(0、2、4、6)调整偏移量 MOV R1,A MOVC A,A+DPTR MOV R0,A MOV A,R0 MOV P0,A ;把LED1给P0口 INC DPTR MOV A,R1 MOVC A,A+DPTR MOV P2,A ;把让P3.3为低电平,驱动数码管 INC SCAN_CNT MOV A,SCAN_CNT CJNE A,#4,T1_EXIT MOV SCAN_CNT,#0 T1_EXIT: POP DPH POPDPLPOPPSWPOPACCRETI ;秒表程序SECOND: MOV A,CHOICE CJNE A,#4,SEC_EXIT MOV A,MODE_REG CJNE A,#0,SEC_EXIT JNB P3.3,SEC_RESET ;处于模式0,选择秒表显示,按下DOWN键 JNB P3.4,SET1 JB P3.0,SEC_EXIT INC SEC_CNT1 MOV A,SEC_CNT1 CJNE A,#4,SEC_EXIT ;判断是否够20msINC SEC_CNT2 ;够,秒秒显示加1(显示的1分度就是20ms)MOV SEC_CNT1,#0 MOV A,SEC_CNT2 CJNE A,#48 ,SEC_EXIT ;判断是否够1s MOV SEC_CNT2,#0 ;够,秒秒清零 INC SEC_CNT3 ;秒加1 MOV A,SEC_CNT3 CJNE A,#60,SEC_EXIT ;判断秒是否超过60 MOV SEC_CNT3,#0 ;超过,秒清零 RETSET1: CPL P3.0 ;取反电平 RETSEC_RESET: MOV SEC_CNT1,#0 ;秒表复位 MOV SEC_CNT2,#0 MOV SEC_CNT3,#0 SEC_EXIT: RETI ;-按键扫描子程序- ;按键扫描KEY_SCAN:JNBP3.2,KEY_MODE ;校准功能模式键 JNBP3.3,KEY_UP9 ;加1键 JNBP3.4,KEY_DOW9 ;减1键 JNBP3.5,KEY_CHOICE ;显示选择键 LCALL SCNFLASH ;调用扫描闪烁子程序 LCALL CL_SCAN ;调用闹钟扫描子程序 LCALL CLCON ;调用闹钟关闭控制子程序 LCALL CL_RESCAN ;调用闹钟重响扫描子程序 LCALL SCANMODE ;调用模式扫描子程序 KEY_SCAN1:RETKEY_UP9: LCALL KEY_UP ;调用加校准子程序 LCALL SOUND ;按键声KEY_DOW9: LCALL KEY_DOW ;调用减校准子程序 LCALL SOUND ;按键声KEY_CHOICE: LCALLKEY_CHOICE1 ;调用显示选择子程序 LCALL SOUND ;按键声KEY_MODE: LCALLDELAY50MSJBP3.2,KEY_MODE2 ;判断按键按下INCMODE_REG ;按下,模式加1 LCALL SOUNDMOVA,MODE_REGCJNEA,#7,KEY_MODE1MOVMODE_REG,#0KEY_MODE1:LCALL DELAY10MSJNBP3.2,KEY_MODE1 ;按键是否释放,没释放,等待KEY_MODE2:RET ;释放,返回 ;闹钟扫描子程序CL_SCAN: MOV A,H_MEM CJNE A,H_CL,CL_SCAN2 MOV A,M_MEM CJNE A,M_CL,CL_SCAN2 ;判断系统的小时分钟和闹钟的是否相等 CL_SCAN1: CLR P1.6 ;相等,驱动蜂鸣器 LCALL DELAY10MS SETB P1.6 LCALL DELAY10MS ;输出方波,驱动蜂鸣器响 MOV M_CL,M_MEM MOV H_CL,H_MEM ;让闹钟没人为停止则无限响下去CL_SCAN2: RET;闹钟关闭控制子程序CLCON: MOV A,MODE_REG CJNE A,#0,CLCON1 ;MODE处于0模式 JB P3.3,CLCON1 ;按下UP MOV H_CL,#25 ;闹钟停 MOV A,M_MEM ADD A,RECL_CNT MOV CL_CNT,A ;设置重响CLCON1: RETCL_RESCAN : MOV A,CL_CNT CJNE A,M_MEM, CL_RESCAN1 ;是否满足重响条件 CLR P1.6 ;满足,蜂鸣器响 LCALL DELAY10MS SETB P1.6 LCALL DELAY10MS MOV A,MODE_REG CJNE A,#0,CL_RESCAN1 ;是否按下闹钟停止 JB P3.4,CL_RESCAN1 ;MODE处于0,DOWN按下 MOV CL_CNT,#61 ;闹钟停 CL_RESCAN1: RETSOUND: CLR P1.6 LCALL DELAY10MS SETB P1.6 LCALL DELAY10MS RET;闪烁扫描电路SCNFLASH: MOV A,MODE_REG CJNE A,#0,FLASH1 ;处于模式0 RETFLASH1: CJNE A,#1,FLASH2 ;处于模式1 PUSH LED3 PUSH LED4 SETB P2.0 SETB P2.1 LCALL DELAY5MS POP LED4 POP LED3 ;小时(系统)位置闪烁 RETFLASH2: CJNE A,#2,FLASH3 ;处于模式2 PUSH LED1 PUSH LED2 SETB P2.2 SETB P2.3 LCALL DELAY5MS POP LED2 POP LED1 ;分钟(系统)位置闪烁 RETFLASH3: CJNE A,#3,FLASH4 ;处于模式3 PUSH LED1 PUSH LED2 SETB P2.2 SETB P2.3 LCALL DELAY5MS POP LED2 POP LED1 ;秒(系统)位置闪烁 RETFLASH4: CJNE A,#4,FLASH5 ;处于模式4 PUSH LED3 PUSH LED4 SETB P2.0 SETB P2.1 LCALL DELAY5MS POP LED4 POP LED3 ;小时(闹钟)位置闪烁 RET FLASH5: CJNE A,#5,FLASH6 PUSH LED1 PUSH LED2 SETB P2.3 SETB P2.2 LCALL DELAY5MS POP LED2 POP LED1 ;分钟(闹钟)位置闪烁 FLASH6: RET ;模式扫描子程序SCANMODE: MOV A,MODE_REG SCANMODE0: CJNE A,#0,SCANMODE1 ;模式0 MOV P1,#7FH ;D8亮SCANMODE1: CJNE A,#1,SCANMODE2 ;模式1 MOV P1,#0FEH ;D1亮SCANMODE2: CJNE A,#2,SCANMODE3 ;模式2 MOV P1,#0FDH ;D2亮SCANMODE3: CJNE A,#3,SCANMODE4 MOV P1,#0FBH ;D3亮SCANMODE4: CJNE A,#4,SCANMODE5 MOV P1,#0F7H ;D4亮SCANMODE5: CJNE A,#5,SCANMODE6 MOV P1,#0EFH ;D5亮SCANMODE6: CJNE A,#6,SCANMODE7 MOV P1,#0DFH ;D6亮SCANMODE7: RET;-加校准子程序-KEY_UP:LCALLDELAY10MSJBP3.3,KEY_UP6MOV A,MODE_REG CJNE A,#0,KEY_UP1 ;处于模式0,UP按下无响应RETKEY_UP1: CJNE A,#1,KEY_UP2 LJMP H_UP ;系统小时加1 KEY_UP2: CJNE A,#2,KEY_UP3 LJMP M_UP ; 系统分钟加1 KEY_UP3: CJNE A,#3,KEY_UP4LJMP S_UP ;系统秒加1KEY_UP4: CJNE A,#4,KEY_UP5LJMP H_CLUP ;闹钟小时加1KEY_UP5: CJNE A,#5,KEY_UP6LJMP M_CLUP;闹钟分钟加1 KEY_UP6: CJNE A,#6,KEY_UP7LJMP RECL_CNTUP;重响时间变量加1KEY_UP7: RET;减校准子程序KEY_DOW:LCALLDELAY20MSJBP3.4,KEY_DOW6MOV A,MODE_REGCJNE A,#0,KEY_DOW1 ;处于模式0,DOWN按键无效RETKEY_DOW1: CJNE A,#1,KEY_DOW2LJMP H_DOW ;系统小时减1KEY_DOW2:CJNE A,#2,KEY_DOW3 LJMP M_DOW ;系统分钟减1KEY_DOW3:CJNE A,#3,KEY_DOW4LJMP S_DOW ;系统秒减1KEY_DOW4:CJNE A,#4,KEY_DOW5LJMP H_CLDOW

温馨提示

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

评论

0/150

提交评论