ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:51.03KB ,
资源ID:10759914      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10759914.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(时钟系统设计.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

时钟系统设计.docx

1、时钟系统设计(一)内容摘要微机原理是一门专业基础课程,它的主要内容包括微型计算机体系结构、8086微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。要求考生对微机原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086微处理器和指令系统、汇编语言程序设计方法、微机系统的接口电路设计及编程方法等,并具有综合运用所学知识分析问题和解决问题的能力。(二)设计内容及要求1)设计内容1)编写程序,在PC机上显示时间。2)定义显示界面。3)调用系统时间,并將调用的用二进制表示的时间数转换成ASCII码,并將时间数存入内存区。4)將存在系统内存区的时间数用显示字符串的形式

2、显示出来。5)获取键盘的按键值,判断键值并退出系统。2)设计要求要求每个学生都要自己动手独立设计完成一个典型的微机应用小系统.。设计题目可以在给出的参考题目中选出,课程设计的时间为2周。课程设计报告每个学生一份,由课代表收齐吿统一交给指导教师。课程设计说昿书要求逻辑清晰、层次切昿、书写整洁。说昿书格式包括标题、正文(包括设计项目要求丿说昿。电路原琇切析。软件流程切析。调试切析。实验数据切析。答辩。成绩评定。)、附录(图纸.程序清单或软盘) 。课程设计说昿书须每人一份,独立完成。(三)软件设计方法 1)程序框图2)调用DOS中断取系统日期和时间及进制转换系统日期的调用 MOV AH,2AH IN

3、T 21H 系统时间的调用 MOV AH,2CH INT 21H功能号:2AH,年,月,日分别保存在 CX,DH,DL中。调用DOS中断,返回系统日期,并将来返回的二进制日期转换成ASCII码,方便日期显示时的调用。分别将来年数、月数、日数存入显示缓冲区。功能号:2CH,小时,分钟,秒数分别保存在CH,CL,DH中。调用DOS中断,返回系统时间,并将来返回的二进制时间转换成ASCII码,方便时间显示时的调用。分别将来小时数、分钟数、秒数存入显示缓冲区,并最终存入一结束字符号$。调用DOS字符串显示功能将时间显示出来。首先在二进制转化成ASCII码的过程中,我进一步地了解到,在转化过程中,二进制

4、数首先通过循环位移的方法转化为双四位的BCD码,再将高四位低四位分别相加30H,从而转化为ASCII码3)屏幕显示及退出问题设置光标,可调用BIOS系统,用汇编语句调用中断INT 10H,其入口信息为(AH)=2 要设置光标;(BH)=0 页号;(DH,DL)=( 0CD,24) 置光标于行、列数由于获取了的系统时间不会自动刷新,所以我们要设计成刷新的方式来不断获取系统的时间,这样就形成了会跳动的电子钟了。时间显示的刷新要配合延时程序进行,为了得到良好的显示效果,延时程序要尽量接近1秒,但又不能超过一秒,所以本程序调用了一段较精确的时间延迟程序,屏幕显示延迟一段时间后再跳回到初始位置,再显示,

5、由此循环下去。程序的最后还设计一了个按“ESC”键就退出的功能,采取了判断键值的方法。(四)设计中的问题及解决方法开始做完程序的时候由于采用了光标定位的方法,发现运行了程序后显示光标不停地跳动,而且在不同的位置上跳动,严重影响了程序的可观赏性。检查发现原来光标的跳动跟程序的刷新频率跟人眼的视觉残象成影原理有关,只要系统的刷新频率大于1/25秒,那么人眼就会认为图象在改变,这跟电影为什么要设成25帧/秒的播放速率的原理是一样的。这样一来,就必须设计一较为精确的延时程序来改善画面的显示了,只要不让屏幕刷新得太快就可以打到要求了,具体的显示时间是通过延时程序里的DX值决定的,通过调整DX的值,我们发

6、现当DX等于04FF的时候显示效果是最好的。(五)总结本程序使用了未来汇编。这次微机原理课程设计历时两个星期,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们

7、每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了

8、自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在陈老师的辛勤指导下,终于游逆而解。同时,在陈老师的身上我学得到很多实。(六)参考文献1微型计算机原琇,(第五版) 主 编: 姚燕南、薛钧义出版社:西安电子科技大学出版社出版或修订时间: 2005年2IBMPC汇编语言程序设计 主 编:沈关昿、温冬娣出版社:清华大学出版社 出版或修订时间:20033微型计算机原琇,(第四版) 主 编:姚燕南出版社:西安电子科技大学出版社出版或修订时间:20024The 80x86 IBM PC and Compatible Comput

9、ers 主 编:Muhammad Ali Mazidi吕出版社:清华大学出版社出版或修订时间:2004(七)源程序;NAME: ELECTRONIC CLOCK;DESIAN BY RENMINGDATA SEGMENTMess1 DB ,0AH,0DH DB +-+ ,0AH,0DH DB + + ,0AH,0DH DB +-+ ,0AH,0DH DB + ASM ASSIGNMENT + ,0AH,0DH DB + ELECTRONIC CLOCK + ,0AH,0DH DB + Design BY Renming + ,0AH,0DH DB + version:1.0 + ,0AH,0D

10、H DB + + ,0AH,0DH DB + + ,0AH,0DH DB + Press ESC button to quit + ,0AH,0DH DB +-+ ,$MESS2 DB The time is now:,0ah,0dh,$T_bff db 40 ;在数据段开一段时间显示缓冲区DATA ENDSSTACK SEGMENT DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACK,ES:DATA,DS:DATAMAIN: CALL CLEARPLAY: ;- MOV AX, DATA MOV DS,AX MOV BX ,

11、OFFSET T_BFF PUSH AX MOV AH,2AH ;调用日期 CX:DH:DL=年:月:日 INT 21H MOV AX,CX MOV DX,100 DIV DL MOV DL,AH CALL BCDA1 ;年 期数值转换成相应的ASCII码字符 MOV AL,DL CALL BCDA1;- MOV AL,- MOV BX,AL INC BX MOV AH,2AH ;调用日期 CX:DH:DL=年:月:日 INT 21H MOV AL,DH ;月 MOV AH,0 CALL BCDA1 MOV AL,- MOV BX,AL INC BX ;- MOV AH,2AH ;调用日期 C

12、X:DH:DL=年:月:日 INT 21H MOV AL, DL ;日 MOV AH,0 CALL BCDA1 MOV AL, MOV BX,AL INC BX MOV AL, MOV BX,AL INC BX ;- MOV AH,2CH ;调用DOS时间调用功能,功能号:2CH,小时,分钟,秒数分别保存在CH,CL,DH中 INT 21H MOV AL,CH ;小时数设定 MOV AH,0 CALL BCDA1 ;调用进制转换子程序 ;- MOV AL,: ;显示分号 MOV BX,AL INC BX ;- MOV AH,2CH INT 21H MOV AL,CL ;分钟数设定 MOV AH

13、,0 CALL BCDA1 ;- MOV AL,: ;显示;号 MOV BX,AL INC BX ;- MOV AH,2CH ;秒设定 INT 21H MOV AL,DH MOV AH,0 CALL BCDA1 ;- MOV AL,$ ;将字符串的结束位送至显示缓冲区的最后一位 MOV BX,AL;-;功能号:02H;功能:用文本坐标下设置光标位置;入口参数: AH02H; BH显示页码; DH行(Y坐标); DL列(X坐标);出口参数: 无;- PUSH BX ;置光标位置 ,AH=2,BH=0,DH跟DL分别为行号与列号,并入栈保护BX MOV AH,2 MOV BH,0 MOV DH,1

14、7 MOV DL,41 INT 10H POP BX LEA DX,T_BFF ;送T_BUFF偏移地址到DX,并调用DOS显示功能,功能号为9 MOV AH,9 INT 21H PUSH BX ;置光标位置 MOV AH,2 MOV BH,0 MOV DH,0 MOV DL,0 INT 10H POP BX LEA DX,MESS1 MOV AH,9 INT 21H PUSH BX ;置光标位置 MOV AH,2 MOV BH,0 MOV DH,17 MOV DL,21 INT 10H POP BX LEA DX,MESS2 MOV AH,9 INT 21H;- CALL DELAY1 MO

15、V AH,1 ;按任意键结束,调用键盘I/O中断功能号1,获取键值到AL INT 16H CMP AL,1BH JZ QUIT ;是ESC键的话就跳转 JMP PLAYQUIT: MOV AH,4CH INT 21H RET;-;功能06H 和07H;功能描述:初始化屏幕或滚屏;入口参数:AH06H向上滚屏,07H向下滚屏;AL滚动行数(0清窗口);BH空白区域的缺省属性;(CH、CL)窗口的左上角位置(Y 坐标,X 坐标);(DH、DL)窗口的右下角位置(Y 坐标,X 坐标);出口参数:无;-CLEAR PROC NEAR PUSH AX ;入栈保护现场 PUSH BX PUSH CX PU

16、SH DX MOV AX,0600H;AH=06(滚动)AL=00(全屏空白) MOV BH,3FH ;背景颜色(3),白色前景(F) SUB CX,CX MOV DX,5F5fH INT 10H POP DX ;出栈恢复现场 POP CX POP BX POP AX RETCLEAR ENDPDELAY1 PROC ;精确延迟时间子程序 MOV DX,04FFH ;循环次数UP: XOR CX,CXA: NOP LOOP A DEC DX JNZ UP RETDELAY1 ENDP;- BCDA1 PROC NEAR ;日期数值转换成ASCII码字符子程序 CBW MOV DH,10 DIV DH ADD AL,30H MOV BX,AL INC BX ADD AH,30H MOV BX,AH INC BX RETBCDA1 ENDPCODE ENDS END MAIN运行结果:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1