- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
多功能时钟—微机原理及应用课程设计
课 程 设 计
课程名称 微机原理及应用课程设计
题目名称 多功能时钟
学生学院
专业班级
学 号
学生姓名
指导教师
2013年 1 月 2 日
多功能时钟
一.小组介绍
二.任务要求
用8086/8088CPU设计一个多功能时钟。要求实现:日常使用时正确显示的是时、分、秒;根据需要,还可以作为秒表使用;还可以显示日期。
三.设计方案
整个时钟分为5个模块,主程序模块,时钟模块,数码管模块,键盘模块,秒表模块。
1.主程序模块:主程序模块为循环键盘扫描和显示模块
2.时钟模块:时钟新号由8254跟模拟8259A共同提供,8254的clk0接18.432KHZ的时钟源,分频为1HZ的时钟信号,作为8259A的中断(IRQ6)请求(即每秒加1),然后控制时钟的增加
3.数码管模块:用了动态扫描数码管的方法显示
4.键盘模块用了四个按键:日期,秒表,计时/暂停,清零
A.日期:控制日期与其他显示的切换(一般是显示时间的)
B.秒表:控制秒表与其他显示的切换
C.计时/暂停:控制秒表的计时/暂停
D.让秒表清零,并暂停
5.秒表模块:在IRQ6中控制秒表是否计数
四、上机操作记录
1.按照电路装置连线,输入源程序且检查无误,编译连接并加载,点击run开始运行
2.一开始数码管显示时间(时分秒)
3.按“日期”按键,数码管显示日期(年月日),再按“日期”按键,退出日期显示,显示回时间
4.A按“秒表”按键,数码管显示秒表(开始的时候记时为0);
B接着按“计时/暂停”按键,秒表开始计时,再按“计时/暂停”按键,秒表暂停计时;
C按“清零”按键,秒表的数值变为0,并暂停记时,再按“计时/暂停”按键,秒表重新从0开始记时;
D按“秒表”按键,数码管退出秒表显示,返回时间显示。
五、心得及体会
虽然有一定的基础,且经过近一个学期的汇编实训,对简单系统的设计有一定的经验,但是完成规模相对较大的课程设计仍然会有困难。任务下发伊始感觉无从下手,不过经过仔细查找阅读相关资料,小组的设计思路慢慢清晰。设计时我们采用分模块设计的思想,程序的核心是算法的运用,经过大家的思考和不断讨论,终于顺利写出算法,课程设计也突破了最大的难关,直至最后整个程序成功完成。
经过此次课程设计,不仅增强了编程技巧和实验操作技能,对代码的运用更加熟练,也让小组成员对系统设计有了更清晰的认识,强化了合理的设计思想,更重要的是让大家对汇编产生了更强烈的兴趣,我们也已计划查阅相关书籍资料,更加深入地了解使用汇编语言,争取在复杂系统的设计上有所建树。
六、系统设计流程图
(见下页)
注:要进入秒表,需先退出日期显示。
七、程序清单
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
DATA SEGMENT
DATA1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
DATA2 DB 0DFH,0EFH,0F7H,0FBH,0FDH,0FEH;位选
BUFFER1 DB 3FH,3FH,3FH,3FH,3FH,3FH ;存放时间的数码管段选
BUFFER2 DB 06H,3FH,06H,3FH,5BH,06H ;存放日期的数码管段选
BUFFER3 DB 3FH,3FH ;存放秒表的数码管段选
GETKEY DB 00H;00无按键,0FF有按键
XIANRIQI DB 00H;00不显,0FF有PC4按下,显示日期
XIANMIAOBIAO DB 00H;00退出,0FF有PC5按下,显示秒表,并且为秒表计数加1的条件
JISHU DB 00;00暂停,0FF有PC6按下开始计数
SECOND DB 00H
MINUTE DB 00H
HOUR DB 09H
DATE DB 01H
MONTH DB 01H
YEAR DB 12H
BIAO DB 00H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:MOV AX,DATA
MOV DS,AX
CLI
;-------------------------------------------------------设置irq6向量
PUSH DS
MOV AX,0
MOV DS,AX
MOV AX,OFFSET IRQ6
MOV
文档评论(0)