多功能电子钟

上传人:公**** 文档编号:490331242 上传时间:2022-09-09 格式:DOC 页数:11 大小:266.50KB
返回 下载 相关 举报
多功能电子钟_第1页
第1页 / 共11页
多功能电子钟_第2页
第2页 / 共11页
多功能电子钟_第3页
第3页 / 共11页
多功能电子钟_第4页
第4页 / 共11页
多功能电子钟_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《多功能电子钟》由会员分享,可在线阅读,更多相关《多功能电子钟(11页珍藏版)》请在金锄头文库上搜索。

1、单片机原理及应用课程设计报告题目:多功能电子钟学院:核工程技术学院班级:0213姓名:邓明君学号:02138一、实验任务与要求设计一个多功能电子钟,实现以下功能:1、走时 (能实现时分秒的计时,有秒闪) 2、显示 (分屏显示时分秒、闹钟对应的时分秒,修改时能定位闪烁显示) 3、校时 (能用按键修改和校准时钟) 、定时报警(能由用户自由设置报警时刻)二、实验电路设计与连线经分析,要实现上述功能,需要以下硬件:851单片机、数码管、74LS14、键盘、蜂鸣器、导线。1、对于801单片机其管脚图如下图所示:在实验室中选择使用仿真器来实现,采用MHz晶振2、对于数码管,这里是用静态显示方式将其连入电路

2、中的,总共需要4个数码管,这里选用共阳数码管,相关结构接口如下:3、这里将74LS164作为静态显示串并转换芯片,其管脚图如下图所示:4、实验箱上键盘完整图为:这里将2与相接,即2直接接地,实验时只使用C、D、E、F四个键,这样C与P。相接,D与P1.相接,E与P.6相接,F与1。7相接,构成了独立式键盘.5、蜂鸣器采用LS9,F端低电平有效,经测试,实验时实验箱上蜂鸣器已损坏,故采用E灯接在单片机7口的方式来实现报警功能。6、实际情况中各电子器件的连接已在实验箱内部完成,封装完毕.7、在本次实验里电路设计与连线主要包括包括静态显示与键盘连接两大部分:静态显示:连线方法:单片机的RXD与DA节

3、点连接,TXD与SLK接点连接,要把电源短路片插上。键盘连接:这一部分内容在第4小点中其实已交待清楚,见第二大点第4小点。三、编程思路与资源分配、编程思路: 走时:这里采用定时器计数器中断的方式来实现,设置定时器/计数器初值,使其每5ms中断一次,每中断一次都判断秒钟是否已到,判断方法是判断是否已中断0次,若是,则时钟秒单元加,然后继续判断秒单元是否已加到60,若是,则将秒单元清零,分单元加1,依些类推,即可定现走时功能,所有的时钟单元在初始化时均要清零。 关于秒闪,可利用标志位F0来实现,初始化时先将F清零,每次中断之后只需判断是否已经中断了1次,如果是,意味着半秒已到,就将F0取反,最后F

4、0会被送到数码管的dp位,由于每隔半秒就会取反,故会呈现秒闪。 显示:显示使用静态显示方式来实现,显示程序放在中断服务程序里,其中一、二个个数码管用来显示正常走时时单元及闹钟时单元,三、四个数码管用来显示正常走时分单元及闹钟分单元。关于分屏显示,可采用一个标志位来实现,这样只需将标志位的判断渗透到查键程序中,再在显示程序中加以区分,就能实现分屏显示。关于位闪,可将其与秒闪联系起来,只需在判断是校时状态及判断校时指针取值的情况下,结合秒闪位的取值,决定是让数码管亮还是灭,程序中将其设置为与秒闪同步。 校时:首先需要一个校时标志位,用以判断是否进入校时状态,如进入校时状态,就需要开始关注校时指针了

5、,它决定了用户将要对哪个时钟或闹钟单元进行修改,同时也决定了将要对哪两个数码管的显示进行位闪,因为用户习惯于看到正在校时的位在闪动. 定时报警:闹钟时单元和分单元用于存放将要报警的时刻,每次进入中断服务程序后只需判断当前的正常的走时时间是否与报警时刻一致,如一致,则开始报警,启动报警后报警延续时间由一个存储器单元控制,每次报警后的下一分钟开始,就将该单元恢复初始值,准备下一次报警.2、资源分配: 软件资源: R7控制闹钟启动后报警延续时间 0单元用于判断本次按键是否与上次按键相同 60、6H用于存放闹钟对应时、分单元62、63H、6H用于存放正常走时对应时、分单元2FH用于存放秒单元进位计数次

6、数0H。和2H。0分别为校时标志和时间/闹钟判断显示标志硬件资源: 与。4连接的是键,用于控制时间/闹钟分屏显示 与P1连接的是K键,用于控制校时与。6连接的是3键,用于控制校时的时候加1与P17连接的是4键,用于确认校时完成RD、TXD用于静态显示由于蜂鸣器的损坏,用LD灯代替峰鸣器报警四、程序各模块及流程图程序主要包括初始化模块、走时模块、按键校时模块、显示模块。、开 始初始化模块:设置中断入口初始化走时/闹钟时分单元,各种标志位初始化各种控制次数的单元开启定时器,允许中断 等待中断走时模块:中断入口赋50ms定时初值N到半秒?Y秒闪标志位取反报警时间到?N到半秒?到报警截止时间?YY报警

7、N到1秒?YN重新装入中断次数,秒单元加1,调整为十进制数按键校时时单元清零到24小时?分单元清零,时单元加1,并调整十进制到60分?秒单元清零,分单元加1,并调整十进制到60秒?秒闪标志位取反YYNNYN按键模块:上面的时间/时期标志实际上应用时钟闹钟标志显示模块:是否是校时状态判断校正指针指哪?数码管4数码管2数码管3数码管1位闪处理五、实验程序清单: ORG 0000H SJM MAIN OG 00BH LP OP OG 03MAI: MO 7,#20 MOV 50H,#0FFH CL 0 OV 60H,1;闹钟时单元置1 V 61H,1;闹钟分单元置1 MOV 62H,#;时单元清0

8、MOV 63H,#0;分单元清0 MV 64H,#0;秒单元清0 MOV 2FH,2;秒单元进位计数次数 CL H.1;校时标志 STB 20H.0;时间/闹钟标志 MOV TOD,#01H;计时方式 MOV TH0,#3CH;计数置初值 MOV T0,#B0 MOV IE,#82;允许中断 SETB T;启动运行 SJMP $;等待中断IOP: MOV TH0,3CH MV TL,#BH MOV ,2FH JNE,#10,SO CPL F0 OV ,6 JE ,6,SO MOV A,3H CJNE A,61H, CJE 7,O AJMO KO: Z R7,Z JMO Z: MV C,F0 O

9、V P3。7,C : DJN2F,Y MOV 2,#20 M A,6H ADD A,01;正常走时 DA MV 4H, CJNE A,#60H,KY MV 64,#0 OV A,63 AD A,01 DA A MOV 6H, MO ,61 DD ,#0 CJN ,3H, O 7,#20 OBA:MV A,63 CN A,#0H,KEY MOV 6H,#0 OV A,6H A A,#01 D A CNE ,63,G MOV R7,2 BG: MV A,6 AD A,0 DA MOV 2H, CJNE A,24,KEY V H,#0 KEY:JNB20H1,OUSH;是否校正键按下LJMPJIAO

10、SH;是 跳转到校时ZUSH:OVA,P1CNEA,50H,KEY1;与上次按键信息是否相同LJPNO;是 跳转到时间或闹钟显缓KY:M50H,A;不 更换键的内容JNC.4,SWTCH1;是否切换键按下NAC5,SET1;是否校时键按下LJMPNNE1;SCH1:CL0H0;时间闹钟标志取反NOE:JNB2H。0,AO1;是否切换为闹钟MBH,62H;把时间内容送到缓存MOV3AH,6HLJDISPNO1:MOV3BH,60H;把闹钟内容送到缓存MV3H,6HLJMPISPSET:SETB20H.1;建立校正标志MOV21H,#0;校正指针置为00CLR2。;闹钟标志状态MV3BH,60;把

11、闹钟内容送到缓存MOV3H,JPDIPJIASI:MOVA,CNEA,50,KEY2;与上次按键内容是否相同LMPE2;KEY:MV0H,;保存当前的内容JBACC。5,ET2;是否校正键按下JNBCC6,AD2;是否键按下JBACC.7,SRE;是否确定键按下LMPNNE2;SET2:INC21H;校正指针加一L21H,0H ;屏蔽校正指针高6位SJMOEADD:MOA,#H;赋初单元地址ADDA,1HVR0,AMOVA,R0;保存当前单元的内容D,1AOVR0,JR0,#0H,NO;比较是否为闹钟时的地址CJNER0,24H,NONE2MOVR0,0SJMPOE2NAO:CJNE0,#61H,HOUR;比较是否为闹钟分的地址CJER0,0H,ONE2MOVR0,0JMNON2HOUR:CJNER0,#6H,IN;比较是否为时的地址CJN0,24H,NONE2MOVR,0SJMNNE2I:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号