微机原理及应用课程设计实训报告电子时钟

上传人:hs****ma 文档编号:429278808 上传时间:2023-09-23 格式:DOC 页数:11 大小:155KB
返回 下载 相关 举报
微机原理及应用课程设计实训报告电子时钟_第1页
第1页 / 共11页
微机原理及应用课程设计实训报告电子时钟_第2页
第2页 / 共11页
微机原理及应用课程设计实训报告电子时钟_第3页
第3页 / 共11页
微机原理及应用课程设计实训报告电子时钟_第4页
第4页 / 共11页
微机原理及应用课程设计实训报告电子时钟_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《微机原理及应用课程设计实训报告电子时钟》由会员分享,可在线阅读,更多相关《微机原理及应用课程设计实训报告电子时钟(11页珍藏版)》请在金锄头文库上搜索。

1、浙江传媒学院课程设计(实训)报告学 院 _浙江传媒学院_专 业 电子科学与技术班 级 _2_ 学 号 _080706213_姓 名 _ _ _ 课 题 _电子时钟_指导教师 _ _ 报告成绩_日 期: 2011 年 4 月 17 日目录一 实习目的与要求2二 实习内容 2.1 选题构想 2 2.2 所应用到的程序介绍 3 2.3成品功能 7 2.4遇到的问题 7 三 实习结果 3.1 实验电路图8 3.2 实验流程图 9 四 实习的心得与体会 10五 评阅意见 10六 参考文献 10(一) 实习目的与要求微机原理及应用是一门实践性很强的课程,它能将硬件与软件紧密的联系在一起,因此每次课堂上的实

2、验部分是这门课程的重要组成部分,不可或缺。本课程设计教学根据课程的教学大纲的要求,安排了此次的制系统的设计课题,从而是学生能够更好的将课堂上学到的理论部分更好的应用到实际设计中来,并能提高学生分析和解决问题的能力。通过课程设计的教学,使学生巩固和深化已学的理论知识,加强学生分析问题、解决问题的方法,培养较强的动手能力和微机应用系统的设计和调试能力。(二) 实习内容2.1 选题构思电子时钟是如今非常常见与使用的事物,而用单片机实现电子钟功能可以涉及到很多方面。所以本次实践周,我们设想是设计出一个电子时钟程序。数字钟实现功能包括能够准确计时,调时,复位等。2.2 所应用到的程序介绍ORG 00H

3、;起始地址00H JMP MAIN ;跳转到MAIN ORG 0BH ;Timer 0中断向量地址 JMP TIM0 ;跳转掉TIM0 ;以上是主程序段,使能中断,装载计数初始值MAIN: MOV IE,#82H ;使能Timer 0中断 MOV TMOD,#01H ;使用Timer 0工作模式1下 MOV TH0,#0E0H ;装载计数初始值,每4ms中断一次 MOV TL0,#0B6H MOV R0,#00H ;Timer 0的中断计数器 MOV 30H,#00H ;秒的计数器 MOV 31H,#00H ;分的计数器 MOV 32H,#00H ;时的计数器 MOV R1,#00H ;R1为

4、6位七段数码管扫描计数器 SETB TR0 ;启动Timer 0中断LOOP: JB P0.0,NOPRESS_2 ;如果秒按钮按下,继续执行,否则跳至 CALL FILLER ;NOPRESS-2,检查分按钮 MOV A,2CH ;消除抖动 ADD A,#01H ;将秒载入ACC中 DA A ;十进制调整 MOV 30H,A ;秒存回30H CJNE A,#60H,NOPRESS_1 ;是否等于60秒,不是则跳至NOPRESS-1 MOV 30H,#00H ;是则秒清0NOPRESS_1: JNB P0.0,$ ;判断秒按钮是否放开 CALL FILLER ;消除抖动NOPRESS_2: J

5、B P0.1,NOPRESS_4 ;分按钮按下,继续执行,否则跳至NOPRESS-4,检查时按钮 CALL FILLER ;消除抖动 MOV A,31H ;将分载入ACC ADD A,#01H ;ACC加1 DA A ;十进制调整 MOV 31H,A ;分存回31H CJNE A,#60H,NOPRESS_3 ;是否等于60分,不是则跳至NPRESS-3 MOV 31H,#00H ;是则分清0NOPRESS_3: JNB P0.1,$ ;判断分按钮是否放开 CALL FILLER ;消除抖动NOPRESS_4: JB P0.2,LOOP ;时按钮若按下,继续执行,否则跳至LOOP CALL F

6、ILLER ;消除抖动 MOV A,32H ;将时载入ACC ADD A,#01H ;ACC加1 DA A ;十进制调整 MOV 32H,A ;时存回32H CJNE A,#24H,NOPRESS_5 ;是否等于24,不是则跳至NOPRESS-5 MOV 32H,#00H ;是则时清0NOPRESS_5: JNB P0.2,$ ;判断时按钮是否放开 CALL FILLER ;消除抖动 JMP LOOP ;跳至LOOPTIM0: PUSH ACC ;ACC压栈 CJNE R0,#100,SCAN ;如果(R0)不等于250,即不到1秒,跳到SCAN MOV A,30H ;如果到1秒,将30H中的

7、“秒”载 ADD A,#1 ;ACC加1 DA A ;十进制调整 MOV 30H,A ;“秒 CJNE A,#60H,INC_SEC ;如(R1)不等于60,说明不到1分钟,跳到INC_SEC MOV A,31H ;如果到1分钟,将31H中的“分 ADD A,#1 ;ACC加1 DA A ;十进制调整 MOV 31H,A ;“时”存回AC CJNE A,#60H,INC_MIN ;如果(A)不等于24,说明不到24小时,跳到 ;INC_HR MOV A,32H ;如果到1小时,将 ADD A,#1 ;ACC加1 DA A ;十进制调整 MOV 32H,A ;“时”存回AC CJNE A,#24

8、H,INC_HR ;如果(A)不等于24,说明不到24小时,跳到 ;INC_HR MOV 30,#00H ;如果到24小时,则秒、分、时、清0 MOV 31,#00H ; MOV 32,#00H ;INC_SEC: JMP INC_TIM ;跳到INC_TIMINC_MIN: MOV 30H,#00H ;秒清0 JMP INC_TIM ;跳到INC_TIMINC_HR: MOV 30H,#00H ;秒清0 MOV 31H,#00H ;分清0INC_TIM: MOV R0,#00H ;R0清0SCAN: CJNE R1,#6,DISPLAY ;如果扫描计数器(R1)=6,则跳到DISPLAY M

9、OV R1,#00H ;如果(R1)=6,说明已经扫描完6位 JMP SCAN ;跳到SCANDISPLAY: CJNE R1,#0,CHK_1 ;如果(R1)不等于0,跳到CHK_1,如果(R1)=0,选中的是最低位的数码管D1 MOV A,30H ;将“秒”载入ACC ANL A,#0FH ;将ACC高位节清零,用作位选线地址 ADD A,#00H ;将D1位选线地址1H加到ACC高位字节上 JMP RELOAD ;跳到RELODECHK_1: CJNE R1,#1,CHK_2 ;如果(R1)不等于1,跳到CHK_2,如果(R1)等于1,选中的是七段数码管D2 MOV A,30H ;将“秒”载入ACC SWAP A ;ACC的高低位字节交换 ANL A,#0FH ;将ACC高位字节清零,用作位选线地址 ADD A,#10H ;将D2位选线地址1H加到ACC的高位字节上 JMP RELOAD ;跳到RELOADCHK_2: CJNE R1,#2,CHK_3 ;如果(R1)不等于2,跳到CHK_3 ,如果(R1)等于2,选中的是七段数码管D3 MOV A,31H

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

当前位置:首页 > 办公文档 > 工作计划

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