1、编码-JXLW专业代码080701本科毕业论文(设计)多功效电子钟设计和实现学 院信息和电子工程专 业电子信息工程学 号学生姓名王娜指导老师徐忠根提交日期年 月 日诚 信 承 诺 书本人郑重承诺和申明:我承诺在毕业论文撰写过程中遵守学校相关要求,恪守学术规范,此毕业论文(设计)中均系本人在指导老师指导下独立完成,没有剽窃、剽窃她人学术见解、思想和结果,没有篡改研究数据,凡包含其它作者见解和材料,均作了注释,如有违规行为发生,我愿负担一切责任,接收学校处理,并负担对应法律责任。毕业论文(设计)作者署名:年 月 日摘 要20世纪末,电子技术取得了飞速发展,在其推进下,现代电子产品几乎渗透了社会各个
2、领域,有力地推进了社会生产力发展和社会信息化程度提升,同时也使现代电子产品性能深入提升,产品更新换代节奏也越来越快。现代生活大家越来越重视起了时间观念,能够说是时间和金钱划上了等号。对于那些对时间把握很严格和正确人或事来说,时间不正确会带来很大麻烦,所以以数码管为显示器时钟比指针式时钟表现出了很大优势。数码管显示时间简单明了而且读数快、时间正确显示到秒。而机械式依靠于晶体震荡器,可能会造成误差。数字钟是采取数字电路实现对“时”、“分”、“秒”数字显示计时装置。数字钟精度、稳定度远远超出传统机械钟。在这次设计中,我们采取LED数码管显示时、分、秒,以二十四小时计时方法,依据数码管动态显示原理来进
3、行显示,用12MHz晶振产生振荡脉冲,定时器计数。在此次设计中,电路含有显示时间其本功效,还能够实现对时间调整。数字钟是其小巧,价格低廉,走时精度高,使用方便,功效多,便于集成化而受广大消费喜爱,所以得到了广泛使用。关键字:数字电子钟;单片机;数码管显示器ABSTRACTThe late 20th century, electronic technology has been rapid development in its promotion, penetration of modern electronic products will almost Fields, a strong imp
4、etus to the development of social productive forces and social improvement in the level of information, while also further improve the performance of modern electronic products, replacement products have become increasingly fast pace. Growing emphasis on modern life from the time the concept of time
5、 and money can be said to draw the equal sign. For those who are very strict and accurate grasp of time and things, time will not exactly bring a very big trouble, so as to control the display of digital clock than the clock pointer showed a big advantage. Digital display of time reading simple and
6、fast, accurate display of time to seconds. The mechanical oscillator depends on the crystal may lead to errors. Digital Clock is a digital circuit implementation of the “when”,“sub”,“seconds”.The figures show the timing device.Digital clock precision, stability, far more than the old mechanical cloc
7、k. In this design, we use LED digital display hours, minutes, seconds, to 24-hour time mode, according to digital control theory to dynamic display to display, use the 12MHz crystal oscillation pulse, the timer count. In this design, the circuit has a display time of the this function, you can also
8、realize the time adjustment. Digital clock is its compact, low cost, travel time and high precision, easy to use, features and more, easy integration and loved by the general consumer, so widely used. Key Words:digital electronic clock;SCM;LED目 录1绪论11.1数字电子钟背景11.2数字电子钟意义11.3数字电子钟应用12设计任务和方案22.1设计任务2
9、2.2功效要求说明22.3设计课题总体方案及工作原理说明23数字电子钟硬件设计33.1硬件系统各模块功效设计33.2 电路原理图及工作原理 33.3元器件清单54数字电子钟软件设计64.1使用单片机资源情况64.2各模块功效简明介绍64.3系统软件设计步骤图65.系统仿真105.1PROTUES软件介绍105.2电子钟系统PROTUES仿真106调试和功效说明116.1硬盘调试 116.2系统性能测试和功效说明 116.3 系统时钟误差分析 116.4 软件调试问题及处理 12结束语13致谢14附录15程序设计161 绪 论1.1 数字电子钟背景 20世纪末,电子技术取得了飞速发展,在其推进下
10、,现代电子产品几乎渗透了社会各个领域,有力地推进了社会生产力发展和社会信息化程度提升,同时也使现代电子产品性能深入提升,产品更新换代节奏也越来越快。 时间对大家来说总是那么宝贵,工作忙碌性和繁杂性轻易使人忘记目前时间。忘记了要做事情,当事情不是很关键时候,这种遗忘无伤大雅。不过,一旦关键事情,一时耽搁可能酿成大祸。现在,单片机正朝着高性能和多品种方向发展趋势将是深入向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等多个方面发展。下面是单片机关键发展趋势。单片机应用关键意义还在于,它从根本上改变了传统控制系统设计思想和设计方法。以前必需由模拟电路或数字电路实现大部分功效,现
11、在已能用单片机经过软件方法来实现了。这种软件替换硬件控制技术也称为微控制技术,是传统控制技术一次革命。单片机模块中最常见是数字钟,数字钟是一个用数字电路技术实现时、分、秒计时装置,和机械式时钟相比含有更高正确性和直观性,且无机械装置,含有更更长使用寿命,所以得到了广泛使用。1.2 数字电子钟意义数字钟是采取数字电路实现对.时,分,秒.数字显示计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为大家日常生活中不可少必需品,因为数字集成电路发展和石英晶体振荡器广泛应用,使得数字钟精度,远远超出传统钟表, 钟表数字化给大家生产生活带来了极大方便,而且大大地扩展了钟表原先报时功效。诸如定时自
12、动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至多种定时电气自动启用等,全部这些,全部是以钟表数字化为基础。所以,研究数字钟及扩大其应用,有着很现实意义。1.3 数字电子钟应用 数字钟已成为大家日常生活中:必不可少必需品,广泛用于个人家庭和车站、码头、剧场等公共场所,给大家生活、学习、工作、娱乐带来极大方便。因为数字集成电路技术发展和采取了优异石英技术,使数字钟含有走时正确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。2设计任务和方案2.1 设计任务 (一)设计题目:多功效电子钟设计和实现(二)设计目标和任务: 经过制作
13、实物和具体理论知识结合处理对应实际问题,巩固和利用单片机技术,掌握单片机应用系统中通常具体设计方法,为以后在电子电路设计中做出必需准备,研究开发电子产品打下坚实基础。2.2 功效要求说明此多功效数字电子钟采取三个两位一体共阳极LED数码管显示时分秒。电子钟一上电即可显示。用三个按键调整时间和闹铃,分别为K1、K2、K3,其中K1键为功效选择键,按一下调整小时,两下是调整分钟,三下是调整闹钟小时,四下是调整闹钟分钟,按五下时钟开始工作。K2为数值加一键,K3为数值减一键。2.3 设计课题总体方案及工作原理说明此设计采取STC89C52芯片及LED显示器,独立式按键组成多功效电子钟。设计中是采取单
14、片机内部定时器定时,程序框图图2.1所表示: 6位LED显示STC89C52单片机单片机晶振电路单片机复位电路数码管显示驱动按键电路 图2.1程序框图3 数字电子钟硬件设计3.1硬件系统各模块功效设计 该多功效数字电子钟单片机由最小系统、键盘模块、LED显示电路模块、USB接口电路模块组成,各模块功效以下:(1) 单片机最小系统由STC89C52单片机、复位电路和时钟电路组成。STC89C52是一个低电压,高性能CMOS8位单片机,片内含4k bytes可反复擦写Flash只读程序存放器和128 bytes随机存取数据存放器(RAM),器件采取ATMEL企业高密度、非易失性存放技术生产,兼容标
15、准MCS-52指令系统,片内置通用8位中央处理器和Flash存放单元,内置功效强大微型计算机AT89C52提供了高性价比处理方案。时钟电路由一个12MHZ石英晶体振荡器和两个33pF电容组成振荡电路和分频电路,为单片机提供内部时钟。复位电路采取上电复位和按键复位结合方法对电路进行复位,关键是经过RST引脚送入单片机。(2) 键盘模块采取独立式键盘接法,共有三个按键来对电路进行控制,分别接在单片机P3.2、P3.3、P3.3口线上。一个键控制时分秒闹钟之间转换,一个键负责数字加一,一个键负责数字减一。(3) LED显示电路采取3个两位一体共阳极数码管显示器进行显示,加上一个PNP型8550三极管
16、作为驱动和8个470欧姆电阻起限流作用。(4)USB接口电路接上一个电容组成滤波电路和电源显示灯组成一个电源接口,为单片机工作供电。3.2 电路原理图及工作原理 采取Protel软件,Protel99SE是Protel企业最近致力于Windows平台开发最新结晶,能实现从电学概念设计到输出物理生产数据,能够形象画出我们所需要设计产品。数字电子钟电路原理图图3.1所表示: 图3.1数字电子钟电路原理图工作原理 : 数字电子钟是一个将“ 时”,“分”,“秒”显示于人视觉器官计时装置。它计时周期为二十四小时,显示满刻度为23时59分59秒,另外还有校时功效。所以,一个基础数字钟电路关键由显示器“时”
17、,“分”,“秒”和单片机,还有校时电路组成。8个数码管段选接到单片机P0口,位选接到单片机P2口。数码管根据数码管动态显示工作原理工作,将标准秒信号送入“秒单元”,“秒单元”采取60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分单元”时钟脉冲。“分单元”也采取60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时单元”。“时单元”采取24进制计时器,可实现对一天二十四小时累计。显示电路将“时”、“分”、“秒”经过七段显示器显示出来。 3.3元器件清单名称型号数量名称型号数量洞洞板9cm*7cm1电阻47K7单片机STC89C521电阻4708按键轻触型3电
18、阻10K1单片机插槽DIP401晶振12M1数码管共阳两位3瓷片电容30pF2LED3mm4电解电容10uF1蜂鸣器有源型1开关自锁型1三极管PNP85507USB母口usb14数字电子钟软件设计4.1 使用单片机资源情况单片机微型计算机是微型计算机一个关键分支,也是颇具生命力机种。单片机微型计算机简称单片机,尤其适适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片组成,内部包含有计算机基础功效部件:中央处理器、存放器和I/O接口电路等。所以,单片机只需要和合适软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过1、2、3、3代发展,正朝着多功效、高性能、低电压、低功
19、耗、低价格、大存放容量、强I/O功效及很好结构兼容性方向发展。该多功效数字电子钟用是单片机定时器功效,另外用到了单片机中止功效,在数据显示时所采取是查表方法,所以需要将表格数据存到单片机程序存放器中。因为电子钟需要能够进行调整,所以,需要在单片机PI口上加上按键,本设计把独立式键盘直接接在P1口上而且其结果存放在单片机内部数据存放器里。用到LED显示器接到了单片机P0口线上和P3口线上。4.2 各模块功效简明介绍该数字电子钟全部软件模块组成是定时器模块、按键模块、LED显示模块。(1) 定时器模块选择定时器0,设置定时方法为方法1,把定时时间设置为50mS.(2) 按键模式采取三个独立式按键对
20、电路进行控制和调整操作,分别为K1、K2、K3。(3) LED显示模块该电子钟一通电就能显示时间,结合键盘操作能够对时间进行。4.3 系统软件设计步骤图这次数字电子钟设计用到很多子程序,它们步骤图以下所表示。主程序是先开始,然后开启定时器,定时器开启后在进行按键检测,检测完后,就能够显示时间。图4.1所表示:开始开启定时器按键检测时间显示图4.1 主程序步骤图NYNYNY时加1显示时间结束开始秒按键按下?秒加1分按键按下?分加1时按键按下?按键处理是先检测秒按键是否按下,秒按键假如按下,秒就加1;假如没有按下,就检测分按键是否按下,分按键假如按下,分就加1;假如没有按下,就检测时按键是否按下,
21、时按键假如按下,时就加1;假如没有按下,就把时间显示出来。图4.2所表示: 图4.2 按键处理步骤图定时器中止时是先检测1秒是否到,1秒假如到,秒单元就加1;假如没到,就检测1分钟是否到,1分钟假如到,分单元就加1;假如没到,就检测1小时是否到,1小时假如到,时单元就加1,假如没到,就显示时间。图4.3所表示:N二十四小时到?分单元清零,时单元加1NNNYY时单元清零时间显示中止返回开始一秒时间到?60秒时间到?60分钟到?秒单元加1秒单元清零,分单元加1YY 图4.3 定时器中止步骤图时间显示是先秒个位计算显示,然后是秒十位计算显示,再是分个位计算显示,再然后是分十位显示,再就是时个位计算显
22、示,最终是时十位显示。图4.4所表示:时十位计算显示结束开始秒个位计算显示秒十位计算显示分个位计算显示分十位计算显示时个位计算显示图4.4 时间显示步骤图5 系统仿真5.1 PROTUES软件介绍Proteus软件是Labcenter Electronics企业一款电路设计和仿真软件,它包含ISIS、ARES等软件模块,ARES模块关键用来完成PCB设计,而ISIS模块用来完成电路原理图布图和仿真。Proteus软件仿真基于VSM技术,它和其它软件最大不一样也是最大优势就在于它能仿真大量单片机芯片,比如MCS-51系列、PIC系列等等,和单片机外围电路,比如键盘、LED、LCD等等。经过Pro
23、teus软件使用我们能够轻易地取得一个功效齐全、实用方便单片机试验室。5.2 电子钟系统PROTUES仿真用PROTUES软件,依据数字电子钟原理图,画出仿真图,得到图5.1所表示。图5.1 数字钟PROTES仿真6调试和功效说明单片机应用系统调试包含硬件和软件两部分,不过她们并不能完全分开。通常方法是排除显著硬件故障,再进行综合调试,排除可能软/硬件故障。6.1 硬盘调试拿到电路板后,首先要检验加工质量,并确保没有任何方面错误,如短路和断路,尤其要避免电源短路;元器件在安装前要逐一检验,用万用表测其数值,看是否和所用相同;完成焊接后,应先空载上电(芯片座上不插芯片),并检验各引脚电位是否正确
24、。若一切正常,方可在断电情况下将芯片插入,再次检验各引脚电位及其逻辑关系。将万用表探针放到单片机接电源引脚上检测一下,看是否符合要求。6.2 系统性能测试和功效说明(1)本设计采取STC89c52控制芯片.(2)用三个2位一体共阳红色数码管作为显示, PNP 型8550三极管驱动,限流电阻起限流作用。(3)把4个3mm红色发光二极管作为时间数字之间冒号。(4)P3.2、P3.3、P3.4 口作为按键 S1S3 使用 S1:功效选择键 S2:数值加一按键(调整时间时对应光标闪烁) S3:数值减一按键(调整时间时对应光标闪烁) 初始钟表显示时间是12:00:00(5)闹铃电路由有源蜂鸣器和 PNP
25、 型三极管组成,初化闹钟时间为06:30:00,铃时间到时蜂鸣器间隔1分钟,关闭铃声按任意键。6.3 系统时钟误差分析时间是一个基础物理量,含有连续、自动流逝、不反复等特征。中国时间基准来自国家授时中心,大家日常使用时钟就是以一定精度和该基准保持同时。结合时间概念和误差理论,能够定义电子钟走时误差S=S1-S2,S1表示程序实际运行计算所得秒;S2表示客观时间标准秒。S0时表示电子钟秒单元数值刷新滞后,即走时误差为“慢”;反之,S0表示秒单元数值刷新超前,即走时误差为“快”。此次设计单片机电子钟系统中,其误差关键起源包含晶体频率误差,定时器溢出误差,延迟误差。晶体频率产生震荡,轻易产生走时误差
26、;定时器溢出时间 误差,本应这一秒溢出,但却在下一秒溢出,造成走时误差;延迟时间过长或过短,全部会造成和基按时间产生偏差,造成走时误差。6.4 软件调试问题及处理软件程序调试通常能够将关键放在分模块调试上,统调是最终一环。软件调试能够采取离线调试和在线调试两种方法。前者不需要硬件仿真器,可借助于软件仿真器即可;后者通常需要仿真系统支持。此次课题,Keil软件来调试程序,经过各个模块程序单步或跟踪调试,使程序逐步趋于正确,最终统调程序。仿真部分采取protus 6 professional软件,此软件功效强大且操作较为简单,能够很轻易实现多种系统仿真。首先打开protus 6 professio
27、nal软件,在元件库中找到要选择全部元件,然后进行原理图绘制;绘制好后再选择wave6000已经编译好*.hex文件,选择运行,观察显示结果,依据显示结果和课题要求再修改程序,再运行查,直到满足要求。结束语经过这次设计我发觉,只有理论水平提升了;才能够将书本知识和实践相结合,理论知识服务于教学实践,以增强自己动手能力。这个设计十分有意义,我取得很深刻经验。经过这次设计,我知道了理论和实际距离,也知道了理论和实际相结合关键性,也从中取得了很多书本上无法得悉知识。我们学习不仅要立足于书本,以处理理论和实际教学中实际问题为目标,还要以实践相结合,理论问题即实践课题,处理问题即课程研究,学生自己就是一
28、个教授,经过自己手来处理问题比用脑子处理问题愈加深刻。学习就应该采取理论和实践结合方法,理论问题,也就是实践性课题。这种做法现有利于完成理论知识巩固,又有利于带动实践,处理实际问题,加强我们动手能力和处理问题能力。致 谢此设计是在我敬爱徐忠根老师精心指导下完成。徐老师严谨教学作风和孜孜不倦工作态度一直激励着我,使我在学习中碰到困难时能尽最大努力克服,不停进步,在理论和实践方面能力全部取得了很大提升。在此谨向我导师徐忠根老师致以高尚敬意和衷心感谢。四年大学生活中,老师们给了我很多指导和支持。她们严谨治学,优良作风和敬业态度,为我树立了为人师表典范。在此,我对全部信电学院老师表示感谢,祝你们身体健
29、康,工作顺利!参考文件1 牛昱光. 单片机原理和接口技术M. 北京:电子工业出版社,. 2 蒋力培. 单片机微机系统实用教程M.北京:机械工业出版社, . 3 孙逸洁,巩恩福,万琰.单片机试验演练箱设计J.漯河职业技术学院学报,. 4 俞时.单片机集成仿真系统开发.中国纺织大学学报J.Vol.25,No.6:3337 5 赵克刚,易帝文,张治强,万为.单片机仿真试验平台设计实践J.科技咨询导报. 6 王为青,程国钢.单片机KeilCx5应用开发技术M.北京:人民邮电出版社,. 7 徐玮.经济型51仿真器J.电子制作第8期.8 贾巍.单片机仿真开发软件应用M.中国水运,. 9 林益平.基于SST
30、89E54RD单片机MONITOR-51仿真器设计J. 肇庆学院学报. 10荣霞, 谭宝成,倪原,张荷芳.MCS 51 /96 单片机教学试验装置研制J.西安工业学院.附录程序设计硬件连接:数码管:段码为:P1 位码分别为:P2.5P2.0蜂鸣器:P2.7功效键k1:P3.4加建k2:P3.5减键k3:P3.6 */#include /51头文件sbit smg1=P25;/位码1申明sbit smg2=P24;/位码2申明sbit smg3=P23;/位码3申明sbit smg4=P22;/位码4申明sbit smg5=P21;/位码5申明sbit smg6=P20;/位码6申明sbit k
31、1=P34; /按键k1申明sbit k2=P35; /按键k2申明sbit k3=P36; /按键k3申明sbit beep=P27;/蜂鸣器申明/*定义部分变量*/char d=0,e=0,a=0,b=0,n=0,shi=12,fen=0,miao=0,b_shi=6,b_fen=30,b_miao=0;char code table=/共阳级数码管码表0-90xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void init();/初始化函数申明void delay(int z); /带参数延时函数申明void display(char
32、s,f,m);/带参数显示函数申明void key();/按键控制函数申明void main()/主函数init();/调用初始化函数while(1)/主函数内大循环if(d=0)key(); /假如d=0则扫描按键函数if(shi=b_shi&fen=b_fen)/假如闹铃时间到 就蜂鸣器响if(d=1&!(k1&k2&k3)/ 任意按键按下关闭铃声e=1; /关闭闹铃标志位ed=0; /屏蔽按键函数标志位dif(e=0)/关闭铃声d=1; /屏蔽按键函数beep=0;/蜂鸣器鸣叫delay(10); /延时一会beep=1;/关闭蜂鸣器if(n=0|n=1|n=2)/假如处于功效键0、1、
33、2三个中某个状态display(shi,fen,miao);/调用显示时钟if(n=3|n=4)/假如处于功效键3、4中某个状态display(b_shi,b_fen,b_miao);/调用显示闹铃时间void init()/初始化函数IE=0X8a;/1000 1010TMOD=0X01; /0001 0001选择定时器0工作方法1选择定时器1工作方法1TH0=(65536-50000)/256;/初值15536TL0=(65536-50000)%256;TR0=1; /开启定时器0TH1=(65536-50000)/256;/初值15536TL1=(65536-50000)%256;TR1
34、=1; /开启定时器1void timer0() interrupt1 /定时器0中止服务程序TH0=(65536-50000)/256;/进入中止重新赋初值15536TL0=(65536-50000)%256;/计数5万次(50毫秒)a+;/每进一次中止a加一if(a=20) /假如进入20次中止,恰好一秒a=0; /a到20 就清零miao+;/a每计20次,秒加一if(miao=60) /秒抵达60秒后清零,分加一miao=0;fen+;e=0;/闹铃标志位清零if(fen=60)/分抵达60后清零,时加一fen=0;shi+;if(shi=24) /时抵达24后清零shi=0;void
35、 timer1() interrupt3 /定时器1中止服务程序,用来设置光标闪烁频率TH1=(65536-50000)/256;/进入中止重新赋初值15536TL1=(65536-50000)%256;/计数5万次(50毫秒)b+; /标志位b,用来确定光标闪烁频率if(b=20) b=0;/b=20 时被清零void display(char s,f,m)/带参数显示函数,参数为s f msmg1=0;/打开数码管1位选P1=tables/10;/给数码管1赋值,值为小时十位delay(1); /延时smg1=1; /关闭数码管1位选P1=0Xff; /关闭数码管1段选if(b10&(n=
36、1|n=3)/在1,3状态下,b10时,关闭数码管2 smg2=1; P1=0Xff;else /其它状态下,数码管2正常显示smg2=0;/打开数码管2位选P1=tables%10;/给数码管2赋值,值为小时个位delay(1);/延时smg2=1; /关闭数码管2位选P1=0Xff; /关闭数码管2段选smg3=0;/打开数码管3位选P1=tablef/10;/给数码管3赋值,值为分钟十位delay(1); /延时smg3=1; /关闭数码管3位选P1=0Xff;/关闭数码管3段选if(b10&(n=2|n=4) /在2,4状态下,b0;x-) /循环110*z次空函数for(y=110;
37、y0;y-);void key() /按键控制函数if(k1=0) /功效键k1被按下delay(5);/消抖延时if(k1=0)n+;/n统计功效键状态if(n4) n=0; /n清零while(k1=0);/等候松手if(n=0)/状态0,TR0=1;/定时器打开状态if(n=1)/状态1TR0=0;/关闭定时器0if(k2=0) /k2被按下delay(5);/消抖延时if(k2=0)shi+;/小时加一if(shi=24)shi=0;/达成24清零while(k2=0);/等候松手if(k3=0) /k3被按下delay(5); /消抖延时if(k3=0)shi-; /小时减一if(s
38、hi0)shi=23;/小于0,重新复制while(k3=0);/等候松手if(n=2)/状态2TR0=0; /关闭定时器0 if(k2=0) /k2被按下delay(5);/消抖延时if(k2=0)fen+;/分加一if(fen=60)fen=0;/分抵达60 分清零while(k2=0);/等候松手if(k3=0) /k3被按下delay(5);/消抖延时if(k3=0)fen-;/分减一if(fen0)fen=59;/分小于0,分重新赋值59while(k3=0);/等候松手if(n=3)/状态三TR0=1;/开启定时器if(k2=0) /k2被按下delay(5);/消抖延时if(k2
39、=0)b_shi+;/闹铃时间加一if(b_shi=24)b_shi=0;/闹铃时间while(k2=0);/等候松手if(k3=0) /k3被按下delay(5);/消抖延时if(k3=0)b_shi-;/闹铃时间减一if(b_shi0)b_shi=23;/闹铃时间while(k3=0);/等候松手if(n=4)/状态四TR0=1;/关闭定时器0if(k2=0) /k2被按下delay(5);/消抖延时if(k2=0)b_fen+;/闹铃时间分加一if(b_fen=60)b_fen=0;/闹铃分抵达60 清零while(k2=0);/等候松手if(k3=0) /k3被按下delay(5);/消抖延时if(k3=0)b_fen-;/闹铃时间分减一if(b_fen0)b_fen=59;/闹铃时间分重新赋值while(k3=0);/等候松手