51单片机做数字电子钟kqj

上传人:ui****22 文档编号:156588049 上传时间:2022-09-27 格式:DOCX 页数:30 大小:49.62KB
返回 下载 相关 举报
51单片机做数字电子钟kqj_第1页
第1页 / 共30页
51单片机做数字电子钟kqj_第2页
第2页 / 共30页
51单片机做数字电子钟kqj_第3页
第3页 / 共30页
点击查看更多>>
资源描述
51单片片机做数数字电子子钟悬赏分:10 - 解解决时间间:20009-7-55 177:422 设计一一个数字字电子钟钟,要求求可以进进行时、分分、秒显显示,最最大显示示时间为为23:59:59,并并且可以以通过按按键进行行时、分分调整。 画出硬硬件连接接电路图图,说明明各个控控制信号号的作用用。 画出程程序流程程图,编编写程序序,硬件件连接调调试,直直至正确确。 编写课课程设计计报告。 33、给定定条件 在在Daiis-552PHH+单片片机实验验箱中,有有一片881555芯片用用于扩展展333键盘,还还具有66位LEED数码码显示器器,可分分别用于于按键和和显示控控制。 在在PC机机上调试试可使用用MCSS51仿仿真开发发系统。 数字电电子钟的的工作过过程为:从000:000:000(时:分:秒秒)开始始计时,以以24小小时为一一循环,最最大计时时时间为为23:59:59。当当需要校校正时间间时,按按下调整整键,小小时的十十位闪烁烁,等待待键入新新值,若若需调整整则按下下加1按按键,数数值以秒秒为单位位自动加加1,当当十位调调整好后后,按下下确认键键确认,然然后小时时的个位位闪烁,等等待键入入新值,按按照十位位的调整整步骤调调整时间间,并按按下确认认键确认认,当确确认后,分分钟的十十位开始始闪烁,等等待键入入新值,分分钟的十十位和个个位调整整过程与与小时调调整一样样,只是是当分的的个位调调整好后后,按下下确认键键即启动动计时。数字电子子钟是以以1s为为最小定定时单位位的,551单片片机自身身具有两两个166位定时时/计数数器,当当晶振频频率为66MHzz时,最最大定时时时间为为0.113s。而而具有时时、分和和秒的数数字电子子钟只能能以1ss定时,所所以要实实现实现现1s定定时,必必须采用用软件计计数和定定时器定定时相结结合的方方法。每每1s定定时到,修修改显示示值,送送6位LLED显显示。本课题需需用6个个LEDD数码管管显示时时间值,并并且需调调整键、加加1键、确确认键等等控制键键。在DDaiss-522PH+单片机机实验箱箱中,66位LEED数码码显示器器的字形形口地址址为0FFFDCCH,字字位口地地址为00FFDDDH,字字形表和和字位表表见附录录一。可可通过881555可编程程接口芯芯片驱动动的33键盘盘实现按按键控制制(具体体电路参参考课题题一数字字秒表)。881555的PCC0PPC2为为333键盘的的行扫线线,PBB0PPB2为为333键盘的的列扫线线,键盘盘工作过过程为:单片机机从81155的的PB00PBB2送出出全零,并并从PCC0PPC2读读入数据据,当PPC0PC220000时,表表明有键键按下,则则逐行从从PB00PBB2送出出零,再再从PCC0PPC2口口读入,最最终确定定按键位位置和键键值,此此后,转转入相应应的按键键处理程程序,修修改显示示缓冲区区内容。 提问者: waangaalonng2111 - 一级级最佳答案案源程序如如下: OORG 00000H ;程程序开始始入口 LLJMPP STAART OORG 00003H ;外外中断00中断程程序入口口 RRETII OORG 0000BH ;定定时器TT0中断断程序入入口 LLJMPP INTTT0 ;跳跳至INNTTOO执行 ORGG 00013HH ;外中断断1中断断程序入入口 RETTI ORGG 0001BHH ;定时器器T1中中断程序序入口 LJMMP INNTT11 ORGG 00023HH ;串行中中断程序序入口地地址 RRETII ;-主程序序-; STAART:MOVV RR0,#70HH ;770给RR0,清清70-7FHH显示内内存 MOVV RR7,#0FHH CCLEAARDIISP:MOVV R0,#000H ;00给R00中的数数为地址址的内存存中存放放(700H) INCC RR0 DJNNZ RR7,CCLEAARDIISP MOVV 778H,#2 ;默默认时间间为122:000,闹钟钟5:000 MOVV 779H,#1 MOVV 774H,#2 ;防防止上电电时数码码管显示示00小小时 MOVV 775H,#1 MOVV 666H,#1 ;中中断退出出时666H为11时,分分、时计计时单元元数据移移入显存存标志 MOVV 668H,#1 ;上上电默认认闹钟开开状态 MOVV 77DH,#6 ;闹闹钟时十十位 MOVV 77CH,#3 MOVV 669H,#0 MOOV 7AHH,#00AH ;放入熄灭符符数据据 MOVV TTMODD,#111H ;设设T0、TT1为116位定定时器 MOVV TTL0,#0BB0H ;550MSS定时初初值(TT0计时时用) MOVV TTH0,#3CCH SETTB EEA ;总总中断开开放 SETTB EET0 ;允允许T00中断 SETTB TTR0 ;TT0定时时器开始始计时 MOVV RR4,#14HH ;11秒定时时用初值值(500MS20) STTARTT1:LLCALLL DIISPLLAY ;显示示子程序序 LCAALL BBEEPP ;闹闹钟查询询 JNBB P1.7,SSETTTIMEE ;P1.7口为为0时转转时间调调整程序序 JMPP SSTARRT1 ;PP1.77口为11时跳回回STAART11 ;-时时间闹钟钟调整系系统-; NFLLAG:MOVV A,68HH ;设置闹闹钟开关关状态 CJNNE A,#1,BEEE68 MOVV 688H,#0 JMPP E66 BEEE68:MOVV 688H,#1 E6:MOVV 666H,#8 ;中断退退出666H不为为1时分分、时计计时单元元数据移移入显存存标志 MOVV 722H,77BH MOVV 733H,77CH MOVV 744H,77DH MOVV 755H,77EH LCAALL DDDL LCAALL DDDL MOVV 722H,668H MOVV 733H,669H MOVV 744H,77AH MOVV 755H,77AH LCAALL DDDL LCAALL DDDL MOVV 666H,#1 LJMMP SSTARRT1 SEETTIIME:LCAALL DDDL JB P1.7,NNFLAAG ;键按按下时间间小于11秒,设设置闹钟钟开关状状态并查查看闹钟钟时间,不关走走时,确确保准确确,大于于1秒调调时 MOVV TLL1,#0B00H ;TT1闪烁烁定时初初值 MOVV THH1,#3CHH MOVV R22,#006H ;进进入调时时状态,赋赋闪烁定定时初值值 MOVV 666H,#8 ;调调闹钟时时保持走走时,关关闭时钟钟显示数数据 SETTB ETT1 ;允允许T11中断 SETTB TRR1 ;开开启定时时器T11 SEET1:LCAALL DIISPLLAY ;调调用显示示,防止止键按下下无显示示 JNBB P11.7,SETT1 ;PP1.77口为00等待键键释放 MOVV R55,#000H ;清清设置类类型闪烁烁标志 SETTN1:INCC R5 ;闹钟钟分调整整 SEET5:LCAALL DIISPLLAY JB P1.7,SSET55 SSEETTN1:LCAALL DDDL ;有有键按下下大于11秒分时时间连续续加(00.5秒秒加1),小于于1秒转转调时状状态 JB P1.7,SSET66 ;键释释放查询询,键释释放自动动转调时时 MOVV R0,#7CCH LCAALL AADD11 MOVV A,RR3 CLRR C CJNNE A,#60HH,HHHN1 HHHN1:JC SSEETTN1 LCAALL CCLR00 JMPP SEEETNN1 SEET6:INCC R5 ;闹钟钟时调整整 SEEET6:LCAALL DIISPLLAY JB P1.7,SSEETT6 SEEETNNH1:LCAALL DDDL JB P1.7,SSETFF MOVV R00,#77EH LCAALL ADDD1 MOVV A,R3 CLRR C CJNNE A,#24HH,HOOUU11 HOUUU1:JC SEEETNNH1 LCAALL CCLR00 JMMP SSEETTNH11 SEETF:LCAALL DIISPLLAY JB P1.7,SSETFF LCAALL DDDL JNBB P11.7,SETTOUTT ;短按调调时,长长按退出出 CLRR ETT0 CLRR TRR0 MOVV 700H,#00HH ;设定后后的时间间从000秒开始始走时 MOVV 711H,#00HH INCC R5 SEET3:LCAALL DIISPLLAY JB P1.7,SSET33 SETTMM:LCAALL DDDL JB P1.7,SSET44 MOVV R0,#777H LCAALL AADD11 MOVV A,RR3 CLRR C CJNNE A,#60HH,MMMH MMMH:JC SETTMM LCAALL CCLR00 AJMMP SEETMMM SEET4:INCC R55 SEEET4:LCAALL DIISPLLAY JB P1.7,SSEETT4 SETTHH:LCAALL DDDL JB P1.7,SSETOOUT11 MOVV R00,#779H LCAALL ADDD1 MOVV A,R3 CLRR C CJNNE A,#24HH,HOOUU HOOUU:JC SEETHHH LCAALL CCLR00 AJMMP SSETHHH SEETOUUT1:SETTB ET00 SETTB TTR0 ;计时时开始 SSETOOUT:MOVV RR5,#00HH ;清设设置类型型闪烁标标志 CLRR TTR1 ;关闭闭T1 CLRR EET1 ;关TT1中断断 MOVV 666H,#1 SEETOUUT2:LCAALL DIISPLLAY JJNB P1.7,SSETOOUT22 LJMMP STAART11 ;-延延时1秒秒钟-; DDDL:MOVV 188H,#36 DDDL0:MOVV 177H,#2399 DDDL1:LCAALL DIISPLLAY DJNNZ 177H,DDDL11 DJNNZ 188H,DDDL00 RETT ;-T00中断程程序-; IINTTT0: PUSSH ACCC ;打打包 PPUSHH PPSW CLRR ET00 CLRR TR00 MOVV A,#0B77H ADDD A,TTL0 MOVV TL00,A MOVV A,#3CHH ADDDC A,TTH0 MOVV TH00,A SETTB TR00 DJNNZ R4, OUUTT00 ;220次中中断未到到中断退退出 ADDDSSS: MOVV R44,#114H ;20次次中断到到(1秒秒)重赋赋初值 MOVV R0,#711H ;指指向秒计计时单元元(700-711H) ACAALL ADDD1 ;调调用加11程序(加加1秒操操作) MOVV A,RR3 ;秒秒数据放放入A(RR3为22位十进进制数组组合) CLRR C ;清清进位标标志 CJNNE A,#60HH,ADDDMMM ADDDMMM: JC OOUTTT01 ;小于于60秒秒退出 ACAALL CLRR0 ;等等于或大大于600秒清00 MOVV RR0,#77HH ;指向向分计时时单元(776H-77HH) ACAALL ADDD1 MOVV A,RR3 CLRR C CJNNE A,#60HH,ADDDHHH AADDHHH: JC OUUTT00 ACAALL CLRR0 MOVV RR0,#79HH ;指向向小时计计时单元元(788H-779H) ACAALL ADDD1 MOVV A,RR3 CLRR C CJNNE A,#24HH,HOOUR HOUUR: JC OUTTT0 ACAALL CLRR0 OOUTTT0: MOVV A,666H ;查查询标志志 CJNNE A,#1,OOUTTT01 MOVV 72HH,766H ;中中断退出出时将分分、时计计时单元元数据移移入对应应显示单单元 MOVV 73HH,777H MOVV 74HH,788H MOVV 75HH,799H OOUTTT01:POPP PPSW ;出栈栈 POPP ACCC SETTB ET00 ;开开放T00 RETTI ;中中断返回回 ;-加1程程序-; ADDD1: MOVV A,R00 ;取取当前计计时单元元数据到到A DECC R00 ;指指向前一一地址 SWAAP A ;AA中数据据高四位位与低四四位交换换 ORLL AA,RR0 ;前一地地址中数数据放入入A中低低四位 ADDD AA,#001H ;A加11操作 DA A ;十进进制调整整 MOVV R33,A ;移移入R33寄存器器 ANLL AA,#00FH ;高四位位变0 MOVV RR0,AA ;放放回前一一地址单单元 MOVV A,R3 ;取取回R33中暂存存数据 INCC R0 ;指向向当前地地址单元元 SWAAP A ;AA中数据据高四位位与低四四位交换换 ANLL AA,#00FH ;高四位位变0 MOVV RR0,AA ;数数据放入入当削地地址单元元中 RETT CLRR0: CLRR C CLRR A ;清清累加器器 MOVV R00,A ;清当当前地址址单元 DECC R0 ;指向向前一地地址 MOVV R00,A ;前一一地址单单元清00 RETT ;子子程序返返回 ;-调时时闪烁程程序-; INTTT1: PUSSH AACC PUSSH PPSW MOVV TTL1,#0BB0H MOVV TTH1,#3CCH DJNNZ RR2,IINTTT1OUUT ;0.33秒未到到退出中中断(550MSS中断66次) MOVV RR2,#06HH ;重装装0.33秒定时时用初值值 CPLL 002H ;00.3秒秒定时到到对闪烁烁标志取取反 JB 002H,FLAASH11 ;002H位位为1时时显示单单元熄熄灭 MOVV AA,R55 CJNNE AA,#001H,NL JMPP NNNN11 NL:CJNNE AA,#002H,NL11 LJMMP NNNN11 NNL1:CJNNE AA,#003H,NL22 LJMMP NNLL NNL2:CJNNE AA,#004H,INTTT1OOUT LJMMP NNLL NNLL:MOVV 772H,76HH MOVV 773H,77HH MOVV 774H,78HH MOVV 775H,79HH AJMMP IINTTT1OUUT NNNN1:MOVV 772H,7BHH MOVV 773H,7CHH MOVV 774H,7DHH MOVV 775H,7EHH INTTT1OOUT:POPP PPSW ;恢恢复现场场 POPP AACC RETTI ;中断退退出 FFLASSH1:MOVV AA,R55 CJNNE AA,#001H,ML LJMMP MMNN11 ML:CJNNE AA,#002H,ML11 LJMMP MMNN22 MML1:CJNNE AA,#003H,MN LJMMP MMLL MN:CJNNE AA,#004H,INTTT1OOUT LJMMP MMHL MMLL:MOVV 772H,7AHH MOVV 773H,7AHH ;显示示单元(772-773H),将将不显示示分数据据 MOVV 774H,78HH MOVV 775H,79HH AJMMP IINTTT1OUUT MMHL:MOVV 772H,76HH MOVV 773H,77HH MOVV 774H,7AHH ;显示示单元(774-775H),小小时数据据将不显显示 MOVV 775H,7AHH AJMMP IINTTT1OUUT MNNN1:MOVV 772H,7AHH MOVV 773H,7AHH ;显示示单元(772-773H),将将不显示示闹钟分分数据 MOVV 774H,7DHH MOVV 775H,7EHH AJMMP IINTTT1OUUT MNNN2:MOVV 772H,7BHH MOVV 773H,7CHH MOVV 774H,7AHH MOVV 775H,7AHH ;显示示单元(774-775H),闹闹钟小时时数据将将不显示示 AJMMP IINTTT1OUUT ;-显示示-; DISSPLAAY:MMOV DPTTR,#DISSDATTA MMOV A,770H MMOVCC A,A+DDPTRR MMOV P3,A CCLR P1.0 NNOP NNOP NNOP SSETBB P1.0 MMOV A,771H MMOVCC A,A+DDPTRR MMOV P3,A CCLR P1.1 NNOP NNOP NNOP SSETBB P1.1 MMOV A,772H MMOVCC A,A+DDPTRR MMOV P3,A CCLR P1.2 NNOP NNOP NNOP SSETBB P1.2 MMOV A,773H MMOVCC A,A+DDPTRR MMOV P3,A CCLR P1.3 NNOP NNOP NNOP SSETBB P1.3 MMOV A,774H MMOVCC A,A+DDPTRR MMOV P3,A CCLR P1.4 NNOP NNOP NNOP SSETBB P1.4 MMOV A,775H MMOVCC A,A+DDPTRR MMOV P3,A CCLR P1.5 NNOP NNOP NNOP SSETBB P1.5 RRET BEEEP:MMOV AA,688H ;查询询标志 CCJNEE AA,#11,BEEEREE MMOV AA,788H ;查询询闹钟时时个位 CCJNEE AA,7DDH,BBEERRE MMOV AA,799H ;查询询闹钟时时十位 CCJNEE AA,7EEH,BBEERRE MMOV AA,766H ;查询询闹钟分分个位 CC
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!