资源描述:
《《微机原理及应用》课程设计(实训)报告-电子时钟》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、浙江传媒学院课程设计(实训)报告学院__浙江传媒学院___专业电子科学与技术班级_______2__学号_______姓名_______课题_____电子时钟__指导教师________报告成绩______________日期:2011年4月17日10目录一实习目的与要求…………………………………………………………………2二实习内容2.1选题构想……………………………………………………………………22.2所应用到的程序介绍……………………………………………………32.3成品功能……………………………………………………………………72.4遇到的问题……………………………………………
2、……………………7三实习结果3.1实验电路图…………………………………………………………………83.2实验流程图………………………………………………………………9四实习的心得与体会……………………………………………………………10五评阅意见………………………………………………………………………10六参考文献………………………………………………………………………1010(一)实习目的与要求《微机原理及应用》是一门实践性很强的课程,它能将硬件与软件紧密的联系在一起,因此每次课堂上的实验部分是这门课程的重要组成部分,不可或缺。本课程设计教学根据课程的教学大纲的要求,安排了此次的制系统的
3、设计课题,从而是学生能够更好的将课堂上学到的理论部分更好的应用到实际设计中来,并能提高学生分析和解决问题的能力。通过课程设计的教学,使学生巩固和深化已学的理论知识,加强学生分析问题、解决问题的方法,培养较强的动手能力和微机应用系统的设计和调试能力。(二)实习内容2.1选题构思电子时钟是如今非常常见与使用的事物,而用单片机实现电子钟功能可以涉及到很多方面。所以本次实践周,我们设想是设计出一个电子时钟程序。数字钟实现功能包括能够准确计时,调时,复位等。2.2所应用到的程序介绍ORG00H;起始地址00HJMPMAIN;跳转到MAINORG0BH;Timer0中断向量地址JMPTIM0
4、;跳转掉TIM0;以上是主程序段,使能中断,装载计数初始值MAIN:MOVIE,#82H;使能Timer0中断MOVTMOD,#01H;使用Timer0工作模式1下MOVTH0,#0E0H;装载计数初始值,每4ms中断一次MOVTL0,#0B6HMOVR0,#00H;Timer0的中断计数器MOV30H,#00H;秒的计数器MOV31H,#00H;分的计数器MOV32H,#00H;时的计数器MOVR1,#00H;R1为6位七段数码管扫描计数器SETBTR0;启动Timer0中断LOOP:JBP0.0,NOPRESS_2;如果"秒"按钮按下,继续执行,否则跳至10CALLFILLE
5、R;NOPRESS-2,检查"分"按钮MOVA,2CH;消除抖动ADDA,#01H;将"秒"载入ACC中DAA;十进制调整MOV30H,A;"秒"存回30HCJNEA,#60H,NOPRESS_1;是否等于60秒,不是则跳至NOPRESS-1MOV30H,#00H;是则"秒"清0NOPRESS_1:JNBP0.0,$;判断"秒"按钮是否放开CALLFILLER;消除抖动NOPRESS_2:JBP0.1,NOPRESS_4;"分"按钮按下,继续执行,否则跳至NOPRESS-4,检查"时"按钮CALLFILLER;消除抖动MOVA,31H;将"分"载入ACCADDA,#01H;ACC
6、加1DAA;十进制调整MOV31H,A;"分"存回31HCJNEA,#60H,NOPRESS_3;是否等于60分,不是则跳至NPRESS-3MOV31H,#00H;是则"分"清0NOPRESS_3:JNBP0.1,$;判断"分"按钮是否放开CALLFILLER;消除抖动NOPRESS_4:JBP0.2,LOOP;"时"按钮若按下,继续执行,否则跳至LOOPCALLFILLER;消除抖动MOVA,32H;将"时"载入ACCADDA,#01H;ACC加1DAA;十进制调整MOV32H,A;"时"存回32HCJNEA,#24H,NOPRESS_5;是否等于24,不是则跳至NOPRESS
7、-510MOV32H,#00H;是则"时"清0NOPRESS_5:JNBP0.2,$;判断"时"按钮是否放开CALLFILLER;消除抖动JMPLOOP;跳至LOOPTIM0:PUSHACC;ACC压栈CJNER0,#100,SCAN;如果(R0)不等于250,即不到1秒,跳到SCANMOVA,30H;如果到1秒,将30H中的“秒”载ADDA,#1;ACC加1DAA;十进制调整MOV30H,A;“秒CJNEA,#60H,INC_SEC;如(R1)不等于60,说明不到1分钟,跳到I