微机课程设计--电子秒表.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《微机课程设计--电子秒表.docx》由会员分享,可在线阅读,更多相关《微机课程设计--电子秒表.docx(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微机课程设计一电子秒表第1章总体设计方案1.1课程设计的内容和要求一、课程设计内容:设计一个带时间显示的电子秒表,具体内容如下:1 .电子秒表的初始状态为零,分别显示分、秒、毫秒;2 .设计一个按钮,按第一次开始计时,按第二次计时暂停,显示当前记录的时 间,按第三次计时停止,回到初始态;3 .有时间显示的功能,当不用电子秒表的功能时,显示当先的时间,分别为时、 分、秒形式。二、课程设计要求:1 .独立完成课程设计任务;2 .通过老师当场验收;3 .交出完整的课程设计报告。1. 2设计原理根据课程设计任务书的内容与要求,要设计一个带时间显示的电子秒表,设计一 个按钮带有计时开始、计时暂停、计时清
2、零功能,还要可以进行时钟显示。在本 次设计中主要使用了 8253定时/计数器芯片、8259A中断控制芯片以及8279键 盘/显示芯片来完成电子秒表的计时过程和时钟显示过程的模拟。程序开始时扫 描键盘判断是否按键,如有则读出相应的控制键,来决定做什么操作,例如开始 计时、暂停计时、停止计时、时钟显示等等。利用8253定时/计数器芯片实现分频功能,使其产生100HZ (10毫秒)的方波, 使计时周期为10ms;利用8259A中断控制芯片产生中断响应,通过8253控制8259 每10毫秒产生一次中断,使秒表加1,实现计时功能;利用8279键盘/显示芯 片在数码管上进行显示,将秒表的计时过程、时钟的当
3、前时间显示在数码管上。1. 3设计思路采用汇编语言程序结合硬件电路设计方法,利用AEDK实验箱上已有芯片来实现 一个带时间显示的电子秒表(包括开始计时、暂停计时、停止计时、时钟显示等 等)。mov byte ptrdi+3,0mov byte ptrdi+4, 0mov byte ptrdi+6, 0mov byte ptrdi+7, 0mov byte ptrdi+8, 0mov byte ptrdi+9, 0 retsi:;中断向量的装入push dspush bxxor ax, axmov ds, axmov bx,30h*4mov ax, offset intrmov bx, axmo
4、v ax,8100hmov bx+2, axpop bxpop dsretintr:;中断push axpush di push dxmov si,offset disbufmmov di,offset disbufhcmp flag, 0jnz r;秒表计时cmp byte ptrsi+7, 9jz clinc byte ptrsi+7jmp rcl: mov byte ptr si+7, 0cmp byte ptrsi+6, 9jz c2inc byte ptrsi+6jmp rc2: mov byte ptrsi+6, 0cmp byte ptrsi+4, 9jz c3inc byte
5、ptrsi+4jmp rc3: mov byte ptrsi+4, 0cmp byte ptrsi+3, 5jz c4inc byte ptrsi+3 jmp rcmp byte ptrsi+1, 9jz c5inc byte ptrsi+1jmp rc5: mov byte ptrsi+1, 0inc byte ptrsi;时钟计时r: cmp byte ptrdi+9, 9jz rlinc byte ptrdi+9jmp isendrl: mov byte ptrdi+9, 0cmp byte ptrdi+8, 9jz r2inc byte ptrdi+8jmp isendr2: mov
6、byte ptrdi+8, 0cmp byte ptrdi+7, 9jz r3inc byte ptrdi+7jmp isendr3: mov byte ptrdi+7, 0jz r4inc byte ptrdi+6jmp isendr4: mov byte ptrdi+6, 0cmp byte ptrdi+4, 9jz r5inc byte ptrdi+4jmp isendr5: mov byte ptrdi+4, 0cmp byte ptrdi+3, 5jz r6inc byte ptrdi+3jmp isendr6: mov byte ptrdi+3, 0cmp byte ptrdi+1
7、, 9jz r7inc byte ptrdi+1jmp isendr7: mov byte ptrdi+1, 0inc byte ptrdiisend: cmp flag, 0jnz isendl;秒表是否到最大值jnz displaycmp byte ptrsi+1, 9jnz displaycmp byte ptrsi+3, 5jnz displaycmp byte ptrsi+4, 9jnz displaycmp byte ptr si+6, 9jnz displaycmp byte ptrsi+7, 9jnz displaymov flagl, 1;时钟是否到最大值isendl: cm
8、p byte ptrdi, 2jnz displaycmp byte ptrdi+1, 3jnz displaycmp byte ptr di+3, 5jnz displaycmp byte ptr di+4,9jnz displaycmp byte ptrdi+6, 5jnz displayjnz displaycmp byte ptrdi+8, 9jnz displaycmp byte ptrdi+9, 9jnz displaymov flag2, 1display:;显示mov bx,offset tabcmp n, 0jnz hmov si,offset disbufmjmp hlh:
9、 mov si, offset disbufhhl: add si, 7mov al,90hmov dx,222hout dx, almov ex, 8dis:mov al, sixlatmov dx,220hout dx, al dec siloop discmp flagl, 0jz h2push dimov di,offset disbufmcall beginlmov flagl, 0pop dih2: cmp flag2, 0jz h3push dimov di, offset disbufhcall begin2mov flag2, 0pop dih3: pop dxpop dip
10、op axirettab db 3fh, 6, 5bh, 4fh, 66h, 6dh, 7dh, 7, 7fh, 6fh, 40hcode endsend main课程设计总结: 通过此次的课程设计,我学会了许多在课堂上学不到的知识。有一些知识只有你 自己亲身去实践,去发现问题,然后依靠自己解决了问题,你才能真正掌握。通过本次实验,我对8279, 8253, 8259芯片都有了进一步的了解,尤其是8279 的各种控制字及8279的各种功能,还对程序的调试有了进一步的掌握。在课设 过程中,通过翻阅书籍,咨询同学,上网找资料,不但提高了我的查找能力,而 且还提高了自己快速融合各种信息,并将其转变为
11、自己的知识的能力。而且,从 这次课程设计活动中我认识到了一定要认真对待每一个问题,因为,很有可能就 在一个你不注意的地方导致你失败。总之,这次课设是自己用心去完成的一项工作,但,由于本人水平有限能力有限, 此次课程设计还有很多不足,敬请老师谅解!在此次课设中,得到了老师及同学 不少帮助,所以,我在这里要衷心地感谢老师的耐心指导以及同学们的热心帮助!指导教师评语:指导教师(签字):年 月日课程设计成绩(1)提出方案首先,实现电子秒表的计时功能;其次,通过一个按钮实现电子秒表的开始计时、 暂停计时、停止计时的功能;再次,通过一个按钮实现秒表显示和时钟显示切换 的功能;最后,要实现秒表的运行和停止与
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 课程设计 电子 秒表
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内