• 回答数

    4

  • 浏览数

    156

bibilove726726
首页 > 期刊论文 > 单片机数字时钟论文答辩出题

4个回答 默认排序
  • 默认排序
  • 按时间排序

等开到荼蘼

已采纳

嘿嘿 俺来帮你回答基于单片机的电子时钟毕业答辩常见问题:1 可以围绕硬件电路提问 如:电子时钟显示器的接口驱动能力?是属于静态显示还是动态显示? 采用的显示编码是共阳极还是共阴极的?电子时钟功耗有多大?有没有采取降低功耗的措施?2 也可以围绕软件提问 如:如何实现秒、分、小时计时的?主程序的功能有哪些?除了主程序还有哪些子程序?3 围绕你设计方案提问: 如你的设计方案有什么特点?你的设计方案还存在哪些不足?有哪些可以进一步改进的? 呵呵 满意 就选满意回答

227 评论

jiaoyang0706

ORG 0000H ;程序入口地址 LJMP START ORG 000BH ;定时器0中断入口地址 LJMP TIMER_0 ORG 0300H/*****程序开始,初始化*****/ START: SETB 48H ;使用一个bit位用于调时闪烁标志 SETB 47H ;使用一个bit位用于产生脉冲用于调时快进时基 MOV R1,#0 ;调整选择键功能标志:0正常走时、1调时、2调分、3调秒 MOV 20H,#00H ;用于控制秒基准时钟源的产生 MOV 21H,#00H ;清零秒寄存器 MOV 22H,#00H ;清零分寄存器 MOV 23H,#00H ;清零时寄存器 MOV 24H,#00H ;用于控制调时闪烁的基准时钟的产生 MOV IP,#02H ;IP,IE初始化 MOV IE,#82H MOV TMOD,#01H ;设定定时器0工作方式1 MOV TH0,#3CH MOV TL0,#0B0H ;赋定时初值,定时50ms SETB TR0 ;启动定时器0 MOV SP,#40H ;重设堆栈指针/*****主程序*****/ MAIN: LCALL DISPLAY ;调用显示子程序 LCALL KEY_SCAN ;调用按键检测子程序 JZ MAIN ;无键按下则返回重新循环 LCALL SET_KEY ;调用选择键处理子程序 JB 46H,MAIN ;如果已进行长按调整(调时快进),则不再执行下面的单步调整 LCALL ADD_KEY ;调用增加键处理子程序,加一 LCALL DEC_KEY ;调用减少键处理子程序,减一 LJMP MAIN ;重新循环 /*****定时器中断服务程序*****/ TIMER_0: PUSH ACC PUSH PSW ;保护现场 MOV TH0,#3CH MOV TL0,#0B0H ;重新赋定时初值 CPL 47H ;产生脉冲用于调时快进时基 INC 24H MOV A,24H CJNE A,#10,ADD_TIME ;产生0.5秒基准时钟,用于调时闪烁 CPL 48H ;取反调时闪烁标志位 MOV 24H,#00HADD_TIME: ;走时 INC 20H MOV A,20H CJNE A,#20,RETI1 ;产生1秒基准时钟 MOV 20H,#00H ;一秒钟时间到,清零20H MOV A,21H ADD A,#01H DA A ;作十进制调整 MOV 21H,A CJNE A,#60H,RETI1 MOV 21H,#00H ;一分钟到 MOV A,22H ADD A,#01H DA A MOV 22H,A CJNE A,#60H,RETI1 MOV 22H,#00H ;一小时到 MOV A,23H ADD A,#01H DA A MOV 23H,A CJNE A,#24H,RETI1 MOV 23H,#00H ;到24点,清零小时 RETI1: POP PSW POP ACC ;恢复现场 RETI ;中断返回/*****显示处理*****/ DISPLAY: MOV A,21H ;秒 ANL A,#0FH MOV 2FH,A ;转换出秒个位,存入2FH MOV A,21H ANL A,#0F0H SWAP A MOV 2EH,A ;转换出秒十位,存入2EH JB 46H,MIN ;如果长按按键(调时快进),则跳过闪烁处理程序 CJNE R1,#3,MIN ;如果R1为3,闪烁秒位待调整 JB 48H,MIN MOV 2FH,#0AH ;使该位为10,查表得到使该位不显示的输出 MOV 2EH,#0AHMIN: MOV A,22H ;分 ANL A,#0FH MOV 2DH,A ;转换出分个位,存入2DH MOV A,22H ANL A,#0F0H SWAP A MOV 2CH,A ;转换出分十位,存入2CH JB 46H,HOUR ;如果长按按键(调时快进),则跳过闪烁处理程序 CJNE R1,#2,HOUR ;如果R1为2,闪烁分位待调整 JB 48H,HOUR MOV 2DH,#0AH ;使该位为10,查表得到使该位不显示的输出 MOV 2CH,#0AHHOUR: MOV A,23H ;时 ANL A,#0FH MOV 2BH,A ;转换出时个位,存入2BH MOV A,23H ANL A,#0F0H SWAP A MOV 2AH,A ;转换出时十位,存入2AH JB 46H,DISP ;如果长按按键(调时快进),则跳过闪烁处理程序 CJNE R1,#1,DISP ;如果R1为1,闪烁时位待调整 JB 48H,DISP MOV 2BH,#0AH ;使该位为10,查表得到使该位不显示的输出 MOV 2AH,#0AH/*****数码管动态扫描显示*****/DISP: MOV DPTR,#TABLE MOV A,2FH MOVC A,@A+DPTR MOV P0,A setb P2.7 LCALL DELAY clr P2.7 ;显示秒个位 MOV A,2EH MOVC A,@A+DPTR MOV P0,A setb P2.6 LCALL DELAY clr P2.6 ;显示秒十位 MOV A,#0BFH MOV P0,A setb P2.5 LCALL DELAY clr P2.5 ;显示"-" MOV A,2DH MOVC A,@A+DPTR MOV P0,A setb P2.4 LCALL DELAY clr P2.4 ;显示分个位 MOV A,2CH MOVC A,@A+DPTR MOV P0,A setb P2.3 LCALL DELAY clr P2.3 ;显示分十位 MOV A,#0BFH MOV P0,A setb P2.2 LCALL DELAY clr P2.2 ;显示"-" MOV A,2BH MOVC A,@A+DPTR MOV P0,A setb P2.1 LCALL DELAY clr P2.1 ;显示时个位 MOV DPTR,#TABLE1 ;该位使用TABLE1以消除前置0 MOV A,2AH MOVC A,@A+DPTR MOV P0,A setb P2.0 LCALL DELAY clr P2.0 ;显示时十位 RET /*****按键检测子程序*****/ KEY_SCAN: CLR 46H ;关闭长按调整(调时快进)标志 MOV P1,#0FFH ;将P1口设置成输入状态 MOV A,P1 CPL A ANL A,#07H ;P1口低3位连接3个按键,只判断该3位 JZ EXIT_KEY ;无键按下则返回 LCALL DELAY ;延时去抖动 MOV A,P1 ;重新判断 CPL A ANL A,#07H JZ EXIT_KEY ;键盘去抖动 MOV R5,A ;临时将键值存入R5 MOV R4,#00H ;用于控制调时快进速度 ;设置为00H是为了在进入长按处理前加长延时区分用户的长按与短按,防止误快进 LOOP: ;进入长按处理 LCALL DISPLAY ;使长按时显示正常 MOV A,P1 CPL A ANL A,#07H JB 47H,LOOP1 INC R4 ;调时快进间隔时间基准加1LOOP1: CJNE R1,#03H,LOOP2 ;如果调秒时长按,则不处理 LJMP LOOP3LOOP2: CJNE R4,#99H,LOOP3 MOV R4,#70H ;确认用户长按后,重新设定起始值,加快调时快进速度 SETB 46H ;长按调整(调时快进)标志 LCALL ADD_KEY LCALL DEC_KEYLOOP3: JNZ LOOP ;等待键释放 MOV A,R5 ;输出键值 RET EXIT_KEY: RET/*****延时子程序*****/DELAY: MOV R7,#150 DJNZ R7,$ RET /*****选择键处理子程序*****/ SET_KEY: CJNE R5,#01H,EXIT ;选择键键值 INC R1 ;调整选择功能标志加一 CJNE R1,#4,EXIT MOV R1,#0 MOV 24H,#00H ;调时闪烁基准清零 RET/*****增加键处理子程序*****/ ADD_KEY: CJNE R5,#02H,EXIT ;增加键键值 CJNE R1,#01H,NEXT1 ;选择键功能标志为1,调时,否则跳出 MOV A,23H ADD A,#01H DA A MOV 23H,A CJNE A,#24H,EXIT MOV 23H,#00HNEXT1: CJNE R1,#02H,NEXT2 ;选择键功能标志为2,调分,否则跳出 MOV A,22H ADD A,#01H DA A MOV 22H,A CJNE A,#60H,EXIT MOV 22H,#00HNEXT2: CJNE R1,#03H,EXIT ;选择键功能标志为3,调秒,否则跳出 MOV 21H,#00H ;如增加键按下直接清零秒 RET/*****减少键处理子程序*****/ DEC_KEY: CJNE R5,#04H,EXIT ;减少键键值 CJNE R1,#01H,NEXT3 ;选择键功能标志为1,调时,否则跳出 MOV A,23H ADD A,#99H DA A MOV 23H,A CJNE A,#99H,EXIT MOV 23H,#23H NEXT3: CJNE R1,#02H,NEXT4 ;选择键功能标志为2,调分,否则跳出 MOV A,22H ADD A,#99H DA A MOV 22H,A CJNE A,#99H,EXIT MOV 22H,#59HNEXT4: CJNE R1,#03H,EXIT ;选择键功能标志为3,调秒,否则跳出 MOV 21H,#00H ;如较少键按下直接清零秒 RET/*****万用返回子程序*****/ EXIT: RET/*****数码管字形编码表*****/TABLE: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;字形显示编码TABLE1: DB 0FFH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;小时位的十位数编码,该位如果为0则不显示 END ;程序结束

329 评论

金牌大素包

小弟,加点分吧,也许有人帮你,做人要厚道!

214 评论

冬冻咚洞

单片机就是集成在一片芯片是的计算机,答辩的题目是要导师提问的,答案也不是唯一的

229 评论

相关问答

  • 单片机的电子时钟毕业论文

    电子钟相关毕业设计 ·数字电子钟的电路设计 (字数:9242,页数:22 )·数字电子钟的设计与制作 (字数:8017,页数:22 )·数字钟的设计 (字数:6

    skyblue086 3人参与回答 2023-12-06
  • 单片机论文答辩问题及回答

    单片机毕业论文答辩陈述 难忘的大学生活将要结束,毕业生都要通过最后的毕业论文,毕业论文是一种有计划的检验大学学习成果的形式,那么毕业论文应该怎么写才合适呢?以下

    vivianygefes 3人参与回答 2023-12-10
  • 单片机论文答辩稿

    正式答辩开始,下面是我的部分发言:尊敬的评委老师以及在座的各位同学:大家早上好。我是X级XX专业的XX,很高兴在这里论文答辩,希望今天能为我20年的学生生涯画上

    好吃的深海鱼 2人参与回答 2023-12-09
  • 单片机电子时钟论文范文

    目录摘 要 IAbstract II目录 III第一章 绪 论 - 1 -1.1课题的背景 - 1 -1.2课题意义 - 2 -1.3本章小结 - 3 -第二

    Tracy猪猪 3人参与回答 2023-12-10
  • 单片机数字时钟论文答辩

    嘿嘿 俺来帮你回答基于单片机的电子时钟毕业答辩常见问题:1 可以围绕硬件电路提问 如:电子时钟显示器的接口驱动能力?是属于静态显示还是动态显示? 采用

    政哥哥哥哥哥哥 4人参与回答 2023-12-10