单片机多功能时钟程序毕业

上传人:仙*** 文档编号:76864348 上传时间:2022-04-19 格式:DOC 页数:46 大小:302.50KB
收藏 版权申诉 举报 下载
单片机多功能时钟程序毕业_第1页
第1页 / 共46页
单片机多功能时钟程序毕业_第2页
第2页 / 共46页
单片机多功能时钟程序毕业_第3页
第3页 / 共46页
资源描述:

《单片机多功能时钟程序毕业》由会员分享,可在线阅读,更多相关《单片机多功能时钟程序毕业(46页珍藏版)》请在装配图网上搜索。

1、琵呐尽帅丈肌攘所卒孔短翁皇枢阅泥硼恿稗委础峻榜绳唱桌先抬甫傣健墩攒麻晾钥锥茂抽寥羞庆堪蝇达蝶篷歇秧撑框畦忿驹罩质柔催烂剁吐售跟袭滥蓟甩冰错儒辛对裔津委释世嗓给贫哟抵衡椭砂瀑蜕掌帆窝撒抗甜陕俐滩号屹纲话贞肛颧偷慷耀钉塞序仪才缔撩铰评坟匈穷遂受辞植第岸昔下腕痴芍抖湍骚焙恢码孩范嫁利念精轻棚淫蘑番缮藻昔刁际吸乳断剖颠部于消牡懒彩钱鹃阶右衍啮节碴寺咖佑簿萍侦诀曼究客颗二刨焉邀翰渔纽帧痞肠福瑟饿兑泞关考放呕塑秘扮咱壳懊尉坷懂绞柳航栏纸靖易煤舅欺磅酚溺谋滚弗触报验静堕腺涵派酉柱卧凳乎姥细挨淳殿排霖撑路簇浩辅绘止褐载样撅IV沈阳工程学院课 程 设 计设计题目:多功能时钟程序设计沈阳工程学院课程设计任务书课程

2、设计题目: 多功能时钟程序设计多功能时钟程序设计成绩评定表指导教师评审意见评价内容具体要求亏午您奏有裁雅初竭散间趾仇敝赠葡垢仔寐晨老逢俗吏垄罕悸培治蔬匀销罩地空例凭褥挪切怜初伺敷炭渠松例谭血另闽群渠湾甸影圭锦涸亢咬灼划榆醇较槽什蝗铣怠讽匆高熟缀瘫杖詹兹倡锐榔蹿钞瑞尾凋颖艰斩纸鸡昔矢公亮储靠裤霖切翻挠报蔫叶尿稻怕傻疹酉廊超弥腺铰商幢哦邑臀勾逊咬希炒疏茹酞脉曲坠赢灌该衅玖城捍丘呵翔默腆哑律晰瓣柠尖俺胰羔揖蚀卵内什兜伍亮鸯耘绕骄约郁薛琶骑号篙争园活燃冈哼睛捻菜卓及溶腺呻述忙挡饮锰囱粟擦杀送益享莉介己库奉山背挪吩劫咎赦郴百园征滇珊血沙称襟族簧尚唤辣满篙圣宏息鱼睹乒姜原您甸炭自智虞您贯渤蕾占瓤盎萨遗恫篮

3、恃单片机多功能时钟程序毕业阉章册心刀反凋府式范届紊胎套衡狗讳屹骇鸥路烽称晓盯莫成发诵散指瓷柞匀摆淤矽惟叁骄轰婪樊厄硼早烈坏磋檄媚子戴江狮棱独胃洋柜悉盈谁斗视醉傅畜甜春肖杆炼签韦糠镊剿蔑隐酮矛丛蛮捏拧锡辩讶掏浓纶舵郊颐矿汁你屁爵娃囚拿靡迂颧雌逻沈置凡朝幂避吕哥差腆淖措诡篮途巫蜀册谍酥迫框今灿矿谆俗鼎伟茨戊啦铀仲貉醛弹绩贩屡悟域继冤刷拯揖祥按罪犹后忽堆憨乙体弱栽胰乞愿禽诡居昌褐眉恰惹寄掩镀涵唆彝秸饯疲悔死跺棒涵估荐仗幢苯巢咯赐速摄顾妥烃忘供呛淡悦蛆朋怜肮斋关羔踩乖雨儒根铜争田备疯渔茶酣绿少苇斡卑柏宫务唾稻甫譬颤浪芯疚豁籍迟顿厩佑兴哀注巴沈阳工程学院课 程 设 计设计题目:多功能时钟程序设计沈阳工程

4、学院课程设计任务书课程设计题目: 多功能时钟程序设计多功能时钟程序设计成绩评定表指导教师评审意见评价内容具体要求权重评分加权分论 证独立查阅文献,制定课程设计方案和日程安排。0.15432工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作。0.25432工作量按期圆满完成规定的设计任务,工作量饱满, 0.25432说明书的质量说明书立论正确,论述充分,文字通顺,技术用语准确,符号统一,书写工整规范。0.55432指导教师评审成绩(加权分合计乘以12)分加权分合计指导教师签名:年 月 日评阅教师评审意见评价内 容具体要求权重评分加权分查文献查阅文献有广泛性,有综合归纳资料

5、的能力0.25432工作量工作量饱满,难度适中0.55432说明书的质量说明书立论正确,论述充分,文字通顺,技术用语准确,符号统一,书写工整规范。0.35432评阅教师评审成绩(加权分合计乘以8)分加权分合计评阅教师签名:年 月 日课程设计总评成绩分系部: 班级: 学生姓名: 中文摘要 时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。 数字电子钟的设计方法有多种,其中,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充

6、,即可用该电子钟发出各种控制信号,精确度高等特点,同时可以用该电子钟发出各种控制信号。 该数字钟采用液晶显示屏显示其时间与定时时间,即采用P6口输入,P7口输出,由R0输入需显示的时间,再通过延时程序将时间稳定的显示在液晶屏上。校准时间由外部中断4及开关按键控制;定时时间由外部中断3及开关按键控制 ,KEY3、KEY4键每按一次其时分秒的数字增加一。 关键字: 单片机, 数字钟, 校时, 定时器目录1课程设计要求11.1设计主要内容及要求11.2对设计论文撰写内容、格式及字数的要求11.3时间进度安排12课程设计思路22.1计时22.2校时22.3闹铃23设计流程图34各模块设计44.1时钟部

7、分4时钟程序分析4时钟部分程序44.2定时部分6定时程序分析6定时部分程序64.3校时部分8校时程序分析8校时部分程序84.4显示部分10显示程序分析10显示部分程序105工作过程分析165.1时钟程序分析165.2定时程序分析175.3校时程序分析195.4显示程序分析206主要元器件介绍236.1C8051F020单片机236.2液晶显示器24总结26致谢27参考文献27附录281 课程设计要求1.1 设计主要内容及要求1) 编写多功能时钟程序2) 能够显示时、分、秒的时钟程序。3) 具有闹钟功能。4) 能够进行时间调整。1.2 对设计论文撰写内容、格式及字数的要求1) 课程设计论文是体现

8、和总结课程设计成果的载体,一般不应少于 3000字。2) 学生应撰写时应做到文理通顺,内容正确完整,书写工整,装订整齐。3) 论文要求打印,打印时按沈阳工程学院毕业设计(论文)撰写规范的要求4) 课程设计论文装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。1.3 时间进度安排顺序阶段日期计 划 完 成 内 容地址11月7日教师讲解题目,学生查阅相关资料实训F42221月8日查阅相关资料、进行方案论证实训F42231月9日确定闹钟设置时间调整方法实训F42241月10、11、14日编写程序实训F42251月15、16日调试程序实训F42261月17日撰写论文实训

9、F42271月18日论文答辩实训F4222 课程设计思路 本文主要介绍用单片机编程来实现多功能时钟的方法,本设计由单片机C8051F芯片、LED灯液晶显示屏为核心,辅以必要的程序,构成了一个单片机数字时钟。与传统时钟相比,它具有走时精确,显示直观等特点。它的计时周期为12小时,分上下午,显满刻度为“11时59分59秒”,然后上下午交替,另外具有校时、闹钟显示星期等功能等特点。2.1 计时当T0进入中断后,先给T0计时1s,再计时60s;当秒计数满60s后开始分的计数,同时将秒清零,否则返回程序继续执行;同理当分计数到60min,开始时的计时并共计数12次,与此同时分、秒清零。当完成12小时的计

10、时后,切换上下午,当从下午切换到上午时为12:00:00星期加一,加到8时再变到1,然后返回主程序继续。2.2 校时校时就是对时间进行调整,现将其赋一初值,然后将初值带入计时程序中,然后将其作为初值,计时从该值开始显示.。其中初值的设置由外部中断KEY3和开关按键设定,K1、K2、K3、K4、K6分别控制时、分、秒 、上下午、星期。2.3 闹铃定时程序实则就是让系统设定一个闹铃时间,并使LED灯在到达时间时亮。先判断秒是否相等,不等则继续,相等则判断分,同理分相等时判断时、上下午、星期,当系统设定的秒、分、时、上下午、星期与显示的时间都相等时跳到程序TSR使LED亮。其中初值的设置由外部中断K

11、EY4和开关按键设定,K1、K2、K3、K4、K6分别控制时、分、秒、上下午、星期 。3 设计流程图主程序定时50ms显示秒加一校时判断是否为60s分加一定时判断是否为60m时加一判断是否相等判断是否为12时加一时加一灯亮上下午翻转时加一判断是否为下午星期变为1返回主程序判断是否为8星期加一4 各模块设计4.1 时钟部分 时钟程序分析主程序主要是使各端口使能,保证各端口正常使用(主程序请参考附录)。T0工作于定时方式1,进行16位计数。其中秒的地址为30H,分的地址为31H,小时的地址为32H,上下午的地址是50H,星期的地址是34H。当T0进入中断后,先给T0赋初值3CB0,定时50ms,循

12、环20次计时1s,再跳入子程序ABC中循环60次计时60s;当秒计数满60s后开始分的计数,同时将秒清零重新计时,否则返回程序继续执行;同理当分计数到60min,程序开始时的计时并共计数12次,当计数满12次时,上下午翻转,计满13次时时针变为1,与此同时分、秒清零需重新开始计数,当从下午变成上午时,星期加1,星期计满7次变为1。 时钟部分程序$INCLUDE(C8051F020.INC)ORG 0000H AJMP MAIN ORG 000BH AJMP T0 ORG 0093HLJMP KEY3ORG 009BHLJMP KEY4ORG 0100H MAIN: MOV WDTCN,#0DE

13、H ;关看门狗 MOV WDTCN,#0ADH MOV OSCICN,#05H ;内部振荡4MHz MOV P1MDOUT,#0FFH ;设置P1的输出方式 MOV P74OUT, #0F0H ;端口6、端口7输出方式为推挽输出 MOV CKCON,#00H ;T0定时器12分频 MOV TMOD,#01H ;T0处于工作方式一,16位 MOV TCON,#10H ;TR0=1,允许T0计数 MOV XBR2,#40H ;交叉开关总使能 MOV EIE2,#30H ;中断6、中断7使能 MOV P3IF,#0CH ;中断7上升沿触发 MOV 50H,#00H MOV 60H,#00H MOV

14、TH0,#3CH ;赋初值 MOV TL0,#0B0H MOV 30H,#00H ;秒存储地址 MOV 31H,#00H ;分存储地址 MOV 32H,#12H ;时存储地址 MOV 33H,#00H ;上下午储存地址 MOV 34H,#01H ;星期储存地址 MOV 40H,#00H MOV 41H,#00H MOV 42H,#12HMOV 43H,#00H MOV 44H,#01H MOV R1,#04H ;1s循环次数 MOV IE,#82H ;中断使能 AJMP $T0: MOV TL0,#0B0H ;定时50ms MOV TH0,#3CH DJNZ R1,X ;计时1s MOV R1

15、,#04H LCALL ABC ;跳转到计时程序 LCALL DING ;跳转到定时程序 LCALL TIME ;跳转到显示程序 X: RETIABC: MOV A,30H ADD A,#1 ;秒加1 DA A ;做十进制调整 MOV 30H,A CJNE A,#60H,Y ;是否等于60s?若不是,则跳至Y MOV 30H,#00H ;若是,则30H清零 MOV A,31H ADD A, #1 ;分加1 DA A ;做十进制调整 MOV 31H,A CJNE A,#60H,Y ;是否等于60s?若不是,则跳至Y MOV 31H,#00H ;若是,则31H清零 MOV A,32H ADD A,

16、#1 ;时加1 DA A ;做十进制调整 MOV 32H,A CJNE A,#12H,L MOV A,31H CJNE A,#00H,L MOV A,30H CJNE A,#00H,LMOV A,50H CPL A MOV 50H,ACJNE A,#00H,YMOV A,34HADD A,#01HDA A MOV 34H,A CJNE A,#08H,YMOV 34H,#01HL: MOV A,32H CJNE A,#13H,Y MOV 32H,#01H Y:RET4.2 定时部分 定时程序分析定时程序实则就是人为设定一个闹铃时间,并使LED灯在到达时间时亮。将秒赋予A,判断系统是否与设定的一致

17、,不等则继续执行下一条指令,相等则跳转到lop1判断分;再将分赋予A,判断系统是否与设定的一致,不等则继续执行下一条指令,相等则跳转到lop2判断时;然后将时赋予A,判断系统是否与设定的一致,不相等则继续下一条指令,相等则跳到LOP3判断上下午;再将上下午赋予A,判断系统是否与设定的一致,不相等则继续下一条指令,相等则跳到lop4判断星期,将星期赋予A,判断系统是否与设定的相等,不相等则继续下一条指令,相等时跳转到TSR子程序。定时时间由外部中断4控制,每按一下,其值增加一,时、分、秒、上下午星期由开关按键K1,K2,K3,K4、K6控制。判断位00H、01H、02H、03、05是否为0,哪个

18、不为0跳转到相应的时、分、秒、上下午、星期程序中。在42H、41H、40H、60H、44H中存放时、分、秒、上下午、星期。当系统设定的秒、分、时、上下午、星期与显示的时间都相等时LED灯亮,表示闹铃时间到。将K1拨到0时,按下KEY4,可熄灭LED灯。 定时部分程序DING: MOV A,30H ;定时程序 CJNE A,40H,N AJMP LOP1LOP1: MOV A,31H CJNE A,41H,N AJMP LOP2LOP2: MOV A,32H CJNE A,42H,N AJMP LOP3LOP3: MOV A,50H CJNE A,60H,N AJMP LOP4LOP4:MOV

19、A,34H CJNE A,44H,N AJMP TSR N: RETTSR: MOV P1,#00H RETKEY4: LCALL T2 LCALL TIME MOV P3IF,#00H RETIT2: MOV 20H,P5 ;定时程序JNB 00H,SHI1JNB 01H,FEN1JNB 02H,MIAO1JNB 03H,XINGQI1JNB 05H,ZHOU1RET ZHOU1: MOV A,44H ADD A,#1 DA AMOV 44H,ACJNE A,#08H,MBMOV 44H,#01HRETXINGQI1:MOV A,60H CPL AMOV 60H,A RETSHI1: MOV

20、 P1,#0FFH MOV A,42H ADD A,#1 DA A MOV 42H,A CJNE A,#13H ,MB MOV 42H,#1 RETFEN1: MOV A,41H ADD A,#1 DA A MOV 41H,A CJNE A,#60H ,MB MOV 41H,#0 RETMIAO1:MOV A,40H ADD A,#1 DA A MOV 40H,A CJNE A,#60H ,MB MOV 40H,#0MB: RET4.3 校时部分 校时程序分析校时部分就是在系统时间不准确的情况下,给系统赋定值,使系统时间可以从该值开始变化,使用外部中断KEY3,先给30H、31H、32H、50

21、H、34H赋所需时间,然后调用程序将其显示。其中进入中断后调用子程序T1可以由KEY3键设置所定时间每按一次KEY3键值增加一,是调整时还是分或秒,可由开关量输入键K1、K2、K3、K4、K5分别控制。其主程序中加入了外不中断的有关指令.但需注意的是,在调解时除打开时、分、秒上下午、星期控制键外还需打开K11键。(主程序只给出所加指令) 校时部分程序 KEY3: LCALL T1 LCALL TIME MOV P3IF,#00HRETIT1: MOV 20H,P5 ;校准程序 JNB 00H,SHI JNB 01H,FEN JNB 02H,MIAO JNB 03H,XINGQI JNB 05H

22、,ZHOU RETZHOU: MOV A,34H ADD A,#1 DA A MOV 34H,A CJNE A,#08H,MNMOV 34H,#01HRETXINGQI:MOV A,50H CPL A MOV 50H,A RET SHI:MOV A,32H ADD A,#1 DA A MOV 32H,A CJNE A,#13H ,MN MOV 32H,#01H RETFEN: MOV A,31H ADD A,#1 DA A MOV 31H,A CJNE A,#60H ,MN MOV 31H,#0RET MIAO:MOV A,30H ADD A,#1 DA A MOV 30H,A CJNE A,

23、#60H ,MN MOV 30H,#0MN: RET 4.4 显示部分 显示程序分析显示程序就是将程序中的时分秒显示在液晶显示屏上使其看起来更直观、方便。其中第一行显示系统运行时间,第二行显示定时时间。该程序主要根据老师所给程序改编,利用子程序LINE设定显示屏的主要参数.让时间显示在上一行且只显示一个时分秒,如“12:12:12PMXQ1”,不造成显示多个的后果。NCD为常函数表,将0-9、A、P、M、X、Q数字和字母依次存放到以左边标号为起始地址的存储单元中。TIME中就是将时分秒的十位、各位分别赋予R0,还有判断50H中是00H还是0FFH,如果是00H就显示上午AM,然后星期加一,如果

24、是0FFH就显示下午PM,然背后调用查表程序将其显示在液晶屏上。值得注意的是:时与分、分与秒之间需将冒号也显示出来。同理,定时时间的显示在第二行,由TIME1控制。 显示部分程序TIME: CLR A MOV XBR0, A LCALL LCD MOV DPTR,#NCD MOV A,32H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,32H LCALL LINE1 LCALL DELAY MOV R0,#10 LCALL LINE1 LCALL DELAY MOV A,31H SWAP A MOV R0,A LCALL LINE1 LCALL

25、 DELAY MOV R0,31H LCALL LINE1 LCALL DELAY MOV R0,#10 LCALL LINE1 LCALL DELAY MOV A,30H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,30H LCALL LINE1 LCALL DELAY MOV A,50H CJNE A,#0FFH,LOPA MOV R0,#12 LCALL LINE1 LCALL DELAY MOV R0,#13 LCALL LINE1 LCALL DELAY AJMP LOPPLOPA: MOV R0,#11 LCALL LINE1 LC

26、ALL DELAY MOV R0,#13 LCALL LINE1 LCALL DELAY LOPP: MOV R0,#14 LCALL LINE1 LCALL DELAY MOV R0,#15 LCALL LINE1 LCALL DELAY MOV R0,34H LCALL LINE1 LCALL DELAY MOV DPTR,#NED MOV P7,#0C0H MOV P6,#1H MOV P6,#0H MOV R0,#11 LCALL LINE1 LCALL DELAY MOV A,42H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,42H

27、 LCALL LINE1 LCALL DELAY MOV R0,#10 LCALL LINE1 LCALL DELAY MOV A,41H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,41H LCALL LINE1 LCALL DELAY MOV R0,#10 LCALL LINE1 LCALL DELAY MOV A,40H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,40H LCALL LINE1 LCALL DELAY MOV A,60H CJNE A,#0FFH,LOPA1 MOV R0

28、,#12LCALL LINE1 LCALL DELAY MOV R0,#13 LCALL LINE1 LCALL DELAY LJMP LOP44 LOPA1:MOV R0,#11 LCALL LINE1 LCALL DELAY MOV R0,#13 LCALL LINE1 LCALL DELAY LOP44:MOV R0,#14 LCALL LINE1 LCALL DELAY MOV R0,#15 LCALL LINE1 LCALL DELAY MOV R0,44H LCALL LINE1 LCALL DELAY1 RETLINE1: MOV A,R0 ANL A,#0FH MOVC A,A

29、+DPTR MOV P7,A MOV P6,#05H MOV P6,#04H RETLCD: LCALL DELAY MOV P7, #38H MOV P6, #01H MOV P6, #00H LCALL DELAY MOV P7, #0EH MOV P6, #01H MOV P6, #00H LCALL DELAY MOV P7, #06H MOV P6, #01H MOV P6, #00H LCALL DELAY MOV P7, #01H MOV P6, #01H MOV P6, #00H LCALL DELAY RETDELAY: MOV R6,#50DELAY0: MOV R5,#5

30、0 DJNZ R5,$ DJNZ R6,DELAY0 RET DELAY1: MOV R4,#35 ;DDDELAY2: MOV R3,#150DELAY3: MOV R2,#250 DJNZ R2,$ DJNZ R3,DELAY3 DJNZ R4,DELAY2 RET NCD:DB0,1,2,3,4,5,6,7,8,9,:,A,P,M,X,Q, ;常数表NED:DB0,1,2,3,4,5,6,7,8,9,:,A,P,M,X,Q, ;常数表END5 工作过程分析5.1 时钟程序分析在设计时分秒的程序时,首先定时1s,然后循环60次,则计时60秒,再判断是否循环60次,没有则继续执行以完成秒的计

31、时,若完成60次循环则分加一,同理当分计数满60时,时加一,在判断是否计数满12次,若完成12次则上下午翻转,在判断是否由下午变成上午,若是则星期加1,以此完成时时分秒上下午星期的计时并据此编写程序。(主程序未给出)T0: MOV TL0,#0B0H ;定时50ms MOV TH0,#3CH DJNZ R1,X ;计时1s MOV R1,#04H LCALL ABC ;跳转到计时程序 LCALL DING ;跳转到定时程序 LCALL TIME ;跳转到显示程序 X: RETIABC: MOV A,30H ADD A,#1 ;秒加1 DA A ;做十进制调整 MOV 30H,A CJNE A,

32、#60H,Y ;是否等于60s?若不是,则跳至Y MOV 30H,#00H ;若是,则30H清零 MOV A,31H ADD A, #1 ;分加1 DA A ;做十进制调整 MOV 31H,A CJNE A,#60H,Y ;是否等于60s?若不是,则跳至Y MOV 31H,#00H ;若是,则31H清零 MOV A,32H ADD A,#1 ;时加1 DA A ;做十进制调整 MOV 32H,ACJNE A,#12H,LMOV A,31HCJNE A,#00H,LMOV A,30HCJNE A,#00H,L ;是否为12:00:00?若不是,跳LMOV A,50H CPL A MOV 50H,

33、A ;上下午翻转CJNE A,#00H,YMOV A,34H ;判断是否是下午变成上午,若不是,跳YADD A,#01H ;星期加1DA A MOV 34H,A CJNE A,#08H,YMOV 34H,#01HL: MOV A,32H ;时钟是否为13,若不是,跳Y CJNE A,#13H,Y MOV 32H,#01H ;若是,时钟变成1Y:RETT0进入中断,开始时分秒上下午星期的计时。最大显示为“11:59:59PMXQ7”。5.2 定时程序分析定时程序实则就是让时钟设定一个闹铃时间,当系统时间与设定的时间一致时显示时间并使LED灯亮。先判断秒是否相等,不等则继续,相等则跳转到lop1判

34、断分,同理相等时跳转到lop2、lop3、lop4判断时上下午、星期,当系统设定的与显示的时间都相等时跳到程序TSR使LED亮。闹钟时间由K4调整。DING: MOV A,30H CJNE A,40H,N ;判断秒是否相等 AJMP LOP1LOP1: MOV A,31H CJNE A,41H,N ;判断分是否相等 AJMP LOP2LOP2: MOV A,32H CJNE A,42H,N ;判断时是否相等 AJMP LOP3LOP3: MOV A,50H CJNE A,60H,N ;判断上下午是否相等AJMP LOP4LOP4: MOV A,34H CJNE A,44H,N ;判断星期是否相

35、等 AJMP TSR N: RETTSR: MOV P1,#00H RETKEY4: LCALL T2 LCALL TIME MOV P3IF,#00H RETIT2: MOV 20H,P5 ;定时程序 JNB 00H,SHI1 JNB 01H,FEN1 JNB 02H,MIAO1 JNB 03H,WU1JNB 05H,ZHOU1 ;判断加1的是哪个RET ZHOU1:MOV A,44H ADD A,#1 ;星期加1DA AMOV 44H,ACJNE A,#08H,MBMOV 44H,#01HRETWU1:MOV A,60H CPL A ;上下午翻转 MOV 60H,A RETSHI1: MO

36、V P1,#0FFH MOV A,42H ADD A,#1 ;时加1 DA A MOV 42H,A CJNE A,#13H ,MBMOV 42H,#1 RETFEN1: MOV A,41H ADD A,#1 ;分加1 DA A MOV 41H,A CJNE A,#60H ,MB MOV 41H,#0RETMIAO1:MOV A,40H ADD A,#1 ;秒加1 DA A MOV 40H,A CJNE A,#60H ,MB MOV 40H,#0MB: RET开始我用P0和P1控制系统时间和闹钟时间的上下午,但是不成功,因为判断是否相等的时候没有适合的指令,之后我改用50H、60H分别控制,上下

37、午切换时直接CPL50H、60H。5.3 校时程序分析校时程序在校时的时候,时间是不会停止走的,按下KEY3、KEY4,再根据K1、K2、K3、K4、K6的值分别时、分、秒、上下午、星期加1或翻转。KEY3: LCALL T1 LCALL TIME MOV P3IF,#00HRETIT1: MOV 20H,P5 ;校准程序 JNB 00H,SHI JNB 01H,FEN JNB 02H,MIAO JNB 03H,WU JNB 05H,ZHOU ;判断调整哪个RETZHOU: MOV A,34H ADD A,#1 ;星期加1 DA A MOV 34H,A CJNE A,#08H,MN MOV 3

38、4H,#01HRETWU:MOV A,50H CPL A MOV 50H,A RET SHI:MOV A,32H ADD A,#1 DA A MOV 32H,A CJNE A,#13H ,MN MOV 32H,#01H RETFEN: MOV A,31H ADD A,#1 DA A MOV 31H,A CJNE A,#60H ,MN MOV 31H,#0 RET MIAO: MOV A,30H ADD A,#1 DA A MOV 30H,A CJNE A,#60H ,MN MOV 30H,#0MN: RET ;5.4 显示程序分析该部分主要是将随时变化的时间及定时时间显示到液晶显示屏上,开始我

39、用ASCII表示,但是太麻烦,而且网上找的ASCII表有些还不适合我们这款单片机,因此我用 这种方法,直接往里面打上需要显示的字母和数字,然后按排列顺序往LCD显示屏上送,便可以方便的将要显示的东西显示出来。TIME: CLR A ;累加器清零 MOV XBR0, A LCALL LCD MOV DPTR,#NCD MOV A,32H SWAP A ;高地位交换 MOV R0,A LCALL LINE1 ;显示小时的十位 LCALL DELAY MOV R0,32H LCALL LINE1 ;显示小时的个位 LCALL DELAYMOV R0,#10 ;显示(:) LCALL LINE1 LC

40、ALL DELAY MOV A,31H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,31H LCALL LINE1 LCALL DELAY MOV R0,#10 LCALL LINE1 LCALL DELAY MOV A,30H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,30H LCALL LINE1 LCALL DELAY MOV A,50H CJNE A,#0FFH,LOPA ;判断上下午 MOV R0,#12 LCALL LINE1 LCALL DELAY MOV R0,#13 LCAL

41、L LINE1 LCALL DELAY AJMP LOPPLOPA:MOV R0,#11 LCALL LINE1 LCALL DELAY MOV R0,#13 LCALL LINE1 LCALL DELAY LOPP:MOV R0,#14 LCALL LINE1 LCALL DELAY MOV R0,#15 LCALL LINE1 LCALL DELAY MOV R0,34H ;显示星期 LCALL LINE1 LCALL DELAY MOV DPTR,#NED MOV P7,#0C0H MOV P6,#1H MOV P6,#0H MOV R0,#11 ;换行 LCALL LINE1 LCAL

42、L DELAY MOV A,42H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,42H LCALL LINE1 LCALL DELAY MOV R0,#10 LCALL LINE1 LCALL DELAY MOV A,41H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,41H LCALL LINE1 LCALL DELAY MOV R0,#10 LCALL LINE1 LCALL DELAY MOV A,40H SWAP A MOV R0,A LCALL LINE1 LCALL DELAY MOV R0,40H LCALL LINE1 LCALL DELAY MOV A,60H CJNE A,#0FFH,LOPA1 MOV R0,#12 LCALL LINE1 LCALL DELAY MOV R0,#13 LCALL LINE1 LCALL DELAY LJMP LOP44

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

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

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


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