电子表程序(微机原理与接口技术课程设计).doc

上传人:laozhun 文档编号:2882124 上传时间:2023-03-01 格式:DOC 页数:40 大小:310.50KB
返回 下载 相关 举报
电子表程序(微机原理与接口技术课程设计).doc_第1页
第1页 / 共40页
电子表程序(微机原理与接口技术课程设计).doc_第2页
第2页 / 共40页
电子表程序(微机原理与接口技术课程设计).doc_第3页
第3页 / 共40页
电子表程序(微机原理与接口技术课程设计).doc_第4页
第4页 / 共40页
电子表程序(微机原理与接口技术课程设计).doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《电子表程序(微机原理与接口技术课程设计).doc》由会员分享,可在线阅读,更多相关《电子表程序(微机原理与接口技术课程设计).doc(40页珍藏版)》请在三一办公上搜索。

1、学 号: 0121111350125课 程 设 计题 目电子表程序学 院自动化学院专 业电气工程及其自动化班 级电气1101班姓 名王 帅指导教师石 云2014年01月10日课程设计任务书学生姓名: 王 帅 专业班级: 电气1101班 指导教师: 石 云 工作单位: 自动化学院 题 目: 电子表程序 初始条件:在屏幕上以七段数码管的形式显示本机时间,精确到秒。按S启动,按T停止,按P暂停。按Q退出程序。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1) 设计任务及要求分析(2) 方案比较及认证说明(3) 系统原理阐述(4) 硬件设计课题需要说明:硬件原理,

2、电路图,采用器件的功能说明(5) 软件设计课题需要说明:软件思想,流程图,源程序及程序注释(6) 调试记录及结果分析(7) 总结(8) 参考资料(9) 附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图时间安排:12月1日12月2日:收集资料,方案选择1月4日1月8日:整体流程,程序细节,调试程序1月9日1月10日: 课程设计报告撰写1月11日:交报告,程序演示,答辩指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目 录电子表程序I1 设计任务及要求分析11.1 设计目的11.2 设计任务11.3 具体要求12 方案比较及认证说明23 系统原理阐述34 软件设计课题说明1

3、04.1软件思想104.2流程图104.3源程序及程序注释125 调试记录及结果分析135.1 程序调试过程135.2 运行结果136 设计总结及心得体会167 参考文献178 附录1:源程序及程序注释18电子表程序汇编语言是计算机能够提供给用户使用的最快而又最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间的要求很高的场合,汇编语言的应用是必不可少的。至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可了。随着科学技术迅速发展,理工科大学生不仅需要掌握计算机方面的基本理论知识,而且还需要掌握基本的实验技能及一定的科学研究能力。通过课程设计,

4、使学生巩固和加深微型计算机原理理论知识,通过实践进一步加强学生独立分析问题和解决问题的能力、综合设计及创新能力的培养,同时注意培养学生实事求是、严肃认真的科学作风和良好的实验习惯,为今后工作打下良好的基础。鉴于汇编语言的广泛用途及其在当代计算机界的重要作用,本人利用学的知识,在同学门的帮助下,花费大量时间,完成了关于电子表的系统设计。这个系统是应用于电脑中的小应用程序,可是显示电脑中的时间。很多地方都会有个时钟显示,其中大多是应用了类似这样的方法。关键词:汇编语言 计算机 时钟显示1 设计任务及要求分析1.1 设计目的(1)通过设计电子表,掌握中断的使用方法。(2)掌握基本的显存读写技术。(3

5、)学会在屏幕上以七段数码管的形式显示本机时间的方法。(4)学会用汇编语言编写一个完整的程序,提高自己的动手操作能力。(5)学习程序设计的基本思路和方法,培养分析问题、解决问题的能力。1.2 设计任务采用汇编语言设计一个电子表程序,在屏幕上以七段数码管的形式显示本机时间,精确到秒。按S启动,按T停止,按P暂停,按Q退出程序。1.3 具体要求(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)软件设计课题需要说明:软件思想,流程图,源程序及程序注释(5)调试记录及结果分析(6)总结(7)参考资料(8)附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图2 方案比较及认证说明

6、设计方案:数字09中的每一个数字用“”和“”字符组成的“七段”码图形表示,时与分、分与秒之间的两点用“”字符表示。这些字符预先定义在数据段的字符图形里,利用BIOS INT 1AH的2号系统功能调用,读出计算机系统的时间(为BCD码),置换成字符图形标中的图形字符显示。本程序设计的关键是随着系统时间的变化,用字符组成的图形数字如何进行相应的变化。方法是:不停地读取系统时间并保存在寄存器中,将每次取出的时间显示并与前一次比较,先比较“秒”值,在不同的情况下(系统时间发生了增1的变化),则调用相应的图形字符显示,在不超过60秒的情况下,重复比较秒,然后再比较和显示“分”值与“小时”值。3 系统原理

7、阐述用七段码电子表显示程序系统时间,程序设计的关键是随系统时间的变化,用字符组成图形数字如何进行相应的变化。编写的程序,主要包含以下子程序:1)对时间值进行处理并显示的子程序: XIAN PROC PUSH SI PUSH DI PUSH DX PUSH CX PUSH BX PUSH AX POP AX PUSH AX MOV BX,AX MOV AX,0 MOV AL,BH MOV CL,4 SHR AL,CL MOV BL,AL MOV DH,10 MOV DL,2 CALL FF POP AX PUSH AX MOV BX,AX MOV AX,0 MOV AL, BH AND AL,0

8、FH MOV BL,AL MOV DH,10 MOV DL,6 CALL FF MOV DH,10 MOV DL,10 MOV BL,10 CALL FF POP AX PUSH AX MOV CL,4 SHR AL,CL MOV BL,AL MOV DH,10 MOV DL,14 CALL FF POP AX PUSH AX AND AL ,0FH MOV BL,AL MOV DH,10 MOV DL,18 CALL FF MOV DH,10 MOV DL,22 MOV BL,10 CALL FF POP AX POP BX PUSH BX PUSH AX MOV AX,0 MOV AL,B

9、H MOV CL,4 SHR AL,CL MOV BL,AL MOV DH,10 MOV DL,26 CALL FF POP AX POP BX PUSH BX PUSH AX MOV AL,BH AND AL,0FH MOV BL,AL MOV DH,10 MOV DL,30 CALL FF MOV DH,0 MOV DL,15 MOV BL,22 CALL FF POP AX POP BX POP CX POP DX POP DI POP SI RET XIAN ENDP2)显示具体数值的子程序: FF PROC PUSH AX PUSH BX PUSH CX PUSH DX CMP BL

10、,0 JE L0 CMP BL,1 JE L1 CMP BL,2 JE L2 CMP BL,3 JE L3 CMP BL,4 JE L4 CMP BL,5 JE L5 CMP BL,6 JE L6 CMP BL,7 JE L7 CMP BL,8 JE L8 CMP BL,9 JE L9 CMP BL,10 JE L10 CMP BL,22 JE LD L0: LEA DI,S0 JMP TY L1: LEA DI,SY JMP TY L2: LEA DI,S2 JMP TY L3: LEA DI,S3 JMP TY L4: LEA DI,S4 JMP TY L5: LEA DI,S5 JMP

11、TY L6: LEA DI,S6 JMP TY L7: LEA DI,S7 JMP TY L8: LEA DI,S8 JMP TY L9: LEA DI,S9 JMP TY L10: LEA DI,S11 JMP TY LD: LEA DI,STR TY: MOV AH,0FH ;显示方式 INT 10H SUB CX,CX MOV CL,DI INC DI PLOT_NEXT: ADD DH,DI+2 ADD DL,DI+3 MOV AH,2 INT 10H MOV AL,DI MOV BL,DI+1 PUSH CX MOV CX,1 MOV AH,09 INT 10H POP CX ADD

12、 DI,4 LOOP PLOT_NEXT POP DX POP CX POP BX POP AX MOV CX,100 GG: DEC CX LOOP GG RET FF ENDP3) 报时子程序: BEEP PROC PUSH AX PUSH BX PUSH CX PUSH DX MOV AL ,10110110B OUT 43H,AL MOV AX,533H OUT 42H,AL MOV AL,AH OUT 42H,AL IN AL,61H MOV AH,AL OR AL,03 OUT 61H,AL SUB CX,CX MOV BL,28H G7: LOOP G7 DEC BL JNZ G

13、7 MOV AL,AH OUT 61H,AL POP DX POP CX POP BX POP AX RET BEEP ENDP4 软件设计课题说明4.1软件思想本课题主要涉及以下知识点:数据段:(1)Disptime,Showtime显示时钟(2)定义09十个图形数字,以便模拟七段码显示时钟宏定义:(1)Clear定义清屏宏(2)rowcol定义光标定位宏(3)crlf回车换行宏(4)display显示字符串宏(5)change计算时间宏函数:(1)main主函数(2)paly主要完成显示七段码电子表显示(3)prog0到prog10完成七段码到一半显示的转换(4)moveshape显示七段

14、码电子表(5)delay延迟函数(6)exit返回DOS函数4.2流程图本实验程序流程图见下页开始从键盘上输入S屏幕初始化读取系统时间从键盘上输入字符AL=T?AL=P?AL=Q?结束Ah=0ah24?ahah+1al60?bh600?秒加1?a1a1+1Call beepbhbh+1Call xian读取系统时间bh为存放秒值的寄存器al为存放分值的寄存器beep子程序为报时子程序ah为存放小时的寄存器YYNNNNYNNN计时暂停Y4.3源程序及程序注释见附录1。5 调试记录及结果分析5.1 程序调试过程(1)将上述程序编译汇编源文件,命名为sun.asm。(2)asm将生成一个exe文件。

15、如果程序有错误则不能生成,需找出源程序中的错误并改正。(3)编译、连接、运行文件,即可显示结果。(4)根据显示结果输入字母,查看运行结果。5.2 运行结果(1) 程序运行后,屏幕显示如下图所示:图1 运行程序后的桌面显示(2) 在键盘上输入S,显示本机时间,如下图所示:图2 输入S后,显示本机时间(3) 在键盘上输入T,屏幕重新显示开始时的画面,如下图所示;再次输入S,重新显示本机时间。图3 输入T后的屏幕显示(4) 输入P,时间将会暂停,如下所示;再次输入P,计时继续。图4 输入P,屏幕显示暂停(5) 输入字母Q,则退出时间显示。6 设计总结及心得体会以前没有专门练习过程序的编写和运行,对于

16、教科书上的程序也没有认真的了解,当接到这个电子表程序设计时,感觉比较迷茫,当时就是努力做到自己最好的东西。当认真看过教科书和一些专业书籍时,感觉到汇编语言好神奇,在练习程序编写后,不仅加深和巩固了我们的课本知识,而且增强了我们自己动脑,自己动手的能力。电子表的程序属于比较基本的汇编程序,涉及了宏指令以及中断的内容,而这些必须要认真学习微机原理这本书。总之,这次课程设计对于我们有很大的帮助,熟悉了汇编程序的编写过程和运行过程,最后还提高了自己的动手能力。感谢老师的悉心指导。7 参考文献1、戴梅萼、史嘉权编著.微型计算机技术及应用(第三版).北京:清华大学出版社,20032、周明德编著.微型计算机

17、系统原理及应用(第四版).北京:清华大学出版社,20023、李顺增,吴国东,赵河明等.微机原理及接口技术.北京:机械工业出版社,20064、杨立新.微型计算机原理和应用M.北京:科学技术文献出版社,1986.11 5、李大友.微型计算机原理M.北京:清华大学出版社,1998.76、眭碧霞.微型计算机原理与组成M.人民邮电出版社,2003.87、杨振江、冯军.单片机原理与实践指导.中国电力出版社.2008.88、徐晨、陈继红、王春明、徐慧.微机原理及应用.高等教育出版社.2004.88 附录1:源程序及程序注释 DATA SEGMENT;*定义please等提示信息* INFON DB 0DH,

18、0AH,0DH,0AH,Please press S to start!$;str db 0dh,0ah,Press P to pause$ STR1 DB 49 DB 50H,7,0,0 DB 6CH,7,0,1 DB 65H,7,0,1 DB 61H,7,0,1 DB 73H,7,0,1 DB 65H, 7,0,1 DB 70H,7,1,-3 DB 72H,7,0,1 DB 65H,7,0,1 DB 73H,7,0,1 DB 73H,7,0,1 DB 50H,7,0,2 DB 6BH,7,0,2 DB 65H,7,0,1 DB 79H,7,0,1 DB 70H,7,0,2 DB 61H,7

19、,0,1 DB 75H,7,0,1 DB 73H,7,0,1 DB 65H,7,0,1 DB 21H,7,0,1 DB 70H,7,1,-9 DB 72H,7,0,1 DB 65H,7,0,1 DB 73H,7,0,1 DB 73H,7,0,1 DB 51H,7,0,2 DB 6BH,7,0,2 DB 65H,7,0,1 DB 79H,7,0,1 DB 65H,7,0,2 DB 78H,7,0,1 DB 69H,7,0,1 DB 74H,7,0,1 DB 21H,7,0,1 DB 70H,7,1,-9 DB 72H,7,0,1 DB 65H,7,0,1 DB 73H,7,0,1 DB 73H,

20、7,0,1 DB 54H,7,0,2 DB 6BH,7,0,2 DB 65H,7,0,1 DB 79H,7,0,1 DB 73H,7,0,2 DB 74H,7,0,1 DB 6FH,7,0,1 DB 70H,7,0,1 DB 21H,7,0,1;*定义09十个图形数字* S0 DB 6 DB 5FH,7,0,0 DB 7CH,7,1,-1 DB 7CH,7,1,0 DB 5FH,7,0,1 DB 7CH,7,0,1 DB 7CH,7,-1,0 S1 DB 2 DB 7CH,7,1,0 DB 7CH,7,1,0 S2 DB 5 DB 5FH,7,0,0 DB 7CH,7,1,1 DB 5FH,7

21、,0,-1 DB 7CH,7,1,-1 DB 5FH,7,0,1 S3 DB 5 DB 5FH,7,0,0 DB 7CH,7,1,1 DB 5FH,7,0,-1 DB 7CH,7,1,1 DB 5FH,7,0,-1 S4 DB 4 DB 7CH,7,1,0 DB 5FH,7,0,1 DB 7CH,7,1,1 DB 7CH,7,-1,0 S5 DB 5 DB 5FH,7,0,0 DB 7CH,7,1,-1 DB 5FH,7,0,1 DB 7CH,7,1,1 DB 5FH,7,0,-1 S6 DB 6 DB 5FH,7,0,0 DB 7CH,7,1,-1 DB 5FH,7,0,1 DB 7CH,7

22、,1,1 DB 5FH,7,0,-1 DB 7CH,7,0,-1 S7 DB 3 DB 5FH,7,0,0 DB 7CH,7,1,1 DB 7CH,7,1,0 S8 DB 7 DB 7CH,7,1,0 DB 5FH,7,-1,1 DB 7CH,7,1,1 DB 5FH,7,0,-1 DB 7CH,7,1,1 DB 5FH,7,0,-1 DB 7CH,7,0,-1 S9 DB 6 DB 7CH,7,1,0 DB 5FH,7,-1,1 DB 7CH,7,1,1 DB 5FH,7,0,-1 DB 7CH,7,1,1 DB 5FH,7,0,-1 S10 DB 2 DB 03H,7,1,0 DB 03H

23、,7,1,0 DATA ENDS STACK1 SEGMENT DB 200 DUP (0) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK1,DS:DATA START: MOV AX,DATA MOV DS,AX STAR: MOV AH,0 ;设置显示方式 MOV AL,3 INT 10H MOV AH,0BH ;置彩色调板 MOV BH,0 MOV BL,1 INT 10H MOV AH,0BH ;置彩色调板 MOV BH,1 MOV BL,4 INT 10H LEA DX,INFON MOV AH,9 INT 21H KEY0: MOV AH,1 ;读键盘缓冲区字符 INT 16H MOV AH,0 INT 16H CMP AL,S JNZ KEY0 MOV AH,2 ;取系统时间 INT 1AH MOV AX,0 MOV BX,0 MOV AH,CH ;取系统时间 MOV AL,CL ;保存分钟 MOV BH,DH ;保存秒 MOV BL,DL ;保存百分之一秒 TT: PUSH AX PUSH BX MOV AH,0 MOV AL,3

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号