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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机原理课设之霓虹灯的显示文档格式.docx

1、 自动化学院题目:“霓虹灯”的模拟显示初始条件:在屏幕中央以字符显示一矩型,按 F 键以*将矩型内部由上到下,从左到右填满;按 R 键以相反的次序消失。按 Q 退出程序。要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1) 设计任务及要求分析(2) 方案比较及认证说明(3) 系统原理阐述(4) 硬件设计课题需要说明:硬件原理,电路图,采用器件的功能说明(5) 软件设计课题需要说明:软件思想,流程图,源程序及程序注释(6) 调试记录及结果分析(7) 总结(8) 参考资料(9) 附录:芯片资料或程序清单,软件演示屏幕拷贝图或硬件实物图目录1. 设计意义与要求11

2、.1 设计意义11.2 设计要求12 方案论证22.1 方案比较22.2 方案选择23 系统原理阐述33.1 设计思路33.2 程序中的 BIOS 和 DOS 功能调用33.2.1 BIOS 功能调用33.2.2 DOS 功能调用33.3 程序模块44. 软件思想与流程图54.1 程序功能描述54.2 流程图65. 调试记录及结果分析75.1 调试过程75.2 结果记录75.3 调试中出现的问题及解决方法106. 心得体会117. 参考文献128. 附录 源程序131. 设计意义与要求1.1 设计意义通过课程设计,能够让我们对所学的理论知识有更进一步的理解,而在调试排除故障时也有助于提高分析问

3、题、解决问题的能力。通过此课程设计的汇编语言练习,可以熟悉汇编语言的寻址方式和指令系统,BIOS 和 DOS 系统功能调用,程序设计方法并熟悉汇编的编程环境。1.2 设计要求设计内容:采用汇编语言设计一个在屏幕中央以字符显示一矩形,按 F 键以*将矩型从上之下、从左至右填满;设计要求:(4) 软件设计课题需要说明:(5) 调试记录及结果分析(6) 总结(7) 参考资料(8) 附录:2 方案论证2.1 方案比较在设计过程中字符的显示有 2 中不同的方式。方案一:运用 DOS 功能的 2 号调用,程序的设计如下MA ROW,COLUME ;MA 是个宏定义光标位置MOV AH,02HMOV DL,

4、#INT 21H在本程序中,显示方式很简洁很直观很容易记忆理解。但是它无法设置字符的属性,同时还会在下个坐标位置显示光标,影响光看者的视觉享受。方案二:运用 BIOS 功能的 9 号调用,程序设计如下CALL CURSOR;调用光标设置子程序MOV AL,23H MOV BL,0BH PUSH CX MOV CX,1 MOV AH,09H INT 10H POP CX这个程序设计起来占用寄存器较多,略微复杂点,但是它的功能更加完备,更能实现霓虹灯的颜色变化显示效果,给人一种美感。2.2 方案选择从上面的分析比较可知方案二的可行性和实际达到的效果更好。所以选则方案二实现霓虹灯的功能。3 系统原理

5、阐述3.1 设计思路(1) 显示欢迎画面,然后执行程序显示一个矩形(2) 在矩形内框左上角上显示一个字符*号,再执行循环,语句显示一行(列)*字符。利用像这样的原理实现矩形框的完成和内部的填充。至于反向消失部分,用空格代替想要显示的字符,反向执行循环,就可以实现字符的消失了。(3) 霓虹灯显示完毕,提示输入 Q 退出界面。3.2 程序中的 BIOS 和 DOS 功能调用3.2.1 BIOS 功能调用(1) 设置光标位置(2 号功能)入口参数:AH=2(功能号),BH=页号,DH=行号,DL=列号。出口参数:无。根据 DX 确定了光标位置。(2) 初始窗口或向上滚动(6 号功能)AH=6,AL=

6、上滚行数,CX=上滚窗口左上角的行、列号。DX=上滚窗口右下角的行、列号。BH=空白行的属性。当滚动后,底部为空白输入行(3) 在当前光标位置写字符和属性(9 号功能)AH=9,BH=页号,AL=字符的 ASCII 码,BL=字符属性,CX=写入字符数。3.2.2 DOS 功能调用(1) 键盘输入一个字符并回显(1 号功能) 输入参数无,返回结果 AL字符(2) 显示字符串,光标跟谁字符串移动(9 号功能)DS:DX待显字符串的首地址字符串以*结尾。(3) 显示一个字符,光标跟随字符移动(2 号功能)DL=待显字符的 ASCII 码,无返回结果。3.3. 程序模块(1) 宏定义光标位置MA M

7、ACRO OP1,OP2;宏定义光标位置PUSH AX;现场保护PUSH BX MOV AH,02HMOV BH,0;页号MOV DH,OP1;行号MOV DL,OP2;列号INT 10HPOP BX POP AX END这个子程序的重点是设计光标所在页、行、列及其现场保护。使用了 BIOS 功能调用设置光标的位置。(2) 清屏子程序CLEAR PROC NEAR;清屏MOV AH,06HMOV AL,0 MOV CH,0 MOV CL,0 MOV DH,24 MOV DL,79 MOV BH,07H INT 10H RETCLEAR ENDP初始化窗口,AL=0表示全屏滚动,CH=滚动窗口左

8、上角行号,CL=滚动窗口左上角列号,DH=滚动窗口右下角行号,DL=滚动窗口右下角列号,BH=滚入行的属性。(3) 光标的设置CURSOR PROC NEAR;光标的设置MOV AH,02HMOV BH,0MOV DH,ROW ; 设 置 行MOV DL,COLUME ;设置列INT 10HRET CURSOR ENDP光标位置的设置,这个子程序与宏定义光标位置类似只是运用有些不同。(4) 延时子程序DELAY1PROCNEAR PUSHCXPUSHDXMOVDX,100D3: MOV CX,500D4: LOOP D4DECDXJNZD3POPDXPOPCXRETDELAY1ENDP这个子程

9、序写法的关键是现场保护,内外两个循环的设计。延时程序的主要目的是可以让我们清楚的看到字符在屏幕上的显示过程。4. 软件思想与流程图4.1 程序功能描述程序开始,进行清屏,显示矩形方框。若按 F 则以*将矩型内部从上往下、从左至右填满;若按 R 则按相反的次序消失,否则就继续等待输入。霓虹灯模拟显示程序执行完后, 显示退出提示,等待 Q 的输入,如果输入为 Q 就退出程序,否则就继续等待输入。4.2 流程图开始清屏N输入是否为 SY用布矩形框,按 F 用*按从上往下、从左往右填充矩形内部输入字符输出提示示界面按 R 则反向消失输入是否是 Q提示输入 Q 退出界面结束5. 调试记录及结果分析5.1

10、 调试过程调试过程主要由编辑、汇编、链接和执行等几个步骤组成。(1) 源程序的编辑:编辑好汇编语言源程序后,保存为.com 文件。(2) 源程序的编译:调用汇编程序对源程序进行翻译,生成.com 的目标文件。在汇编过程中,源程序有错误生不成目标文件,经过多次修改最终生成目标文件。(3) 调试可执行程序:刚开始可执行程序运行之后没有得到预想的结果,又重新检查源程序的算法错误,重新编辑、汇编、链接和执行,得到了预想的结果。5.2 结果记录经过很多次调试,分析修改完善,终于得到正确调试结果。(1) 执行程序时,提示进入界面如下;(2) 输入 F 后,程序执行过程中,显示矩形框及填充如下:(3) 程序

11、执行过程中,继续正向填充及矩形框如下(4) 程序执行过程中,按 R 反向消失填充及矩形框如下(5) 提示输 Q 退出界面如下:图 1:显示欢迎页面图 2:按 F 键正向填充图 3:继续正向填充图 4:按 R 键反向消失图 5:按 Q 提示退出5.3 调试中出现的问题及解决方法问题 1:寄存器不够用怎么办?解决方法:这是由于程序结构复杂,使用了太多寄存器,可以定义外部变量来解决。问题 2:寄存器值变化多端怎么办?使用堆栈进行现场保护。使用时应注意 PUSH,POP 的成对使用,不要遗忘 POP 同时还要注意堆栈的先入后出的规律。6. 心得体会通过这次的课程设计,让我对汇编有了更进一步的认识,加强

12、了我用汇编语言编程的能力。微机原理是一门很比较难学的课程。但随着学习的推进,以及上机编程,逐渐感到轻松。在这次课程设计中,让我更加熟悉了汇编语言的一些基本的指令;掌握了汇编语言的一些基本的中断调用功能,可以用汇编语言调用各种中断调用功能。同时也更深的理解了寄存器、存储器等工作原理以及一些指令执行后对它们的改变,例如 INT 指令会改变 AL 的值,在编程时应注意这方面的问题。这次的汇编课程设计,我的题目是霓虹灯的模拟显示,我用的是老是上传的 8086 来仿真的。虽然在设计过程中遇到了不少问题,比如运行界面出现乱码、字符不是出现在预期位置等等问题,但在不断的修改和尝试中慢慢地解决这些问题。而在其

13、中也向同学请教过很多问题。从而解决了自己一些不懂的问题。总之,这次课程设计我锻炼了动手能力,熟悉了汇编的编程环境,并巩固了课程相关知识,收益很多。实践出真知,在课程设计中不忘在小处创新,希望在下一次课程设计中能有更大的突破!7. 参考文献1 汤书森.微机原理接口技术实验于实践教程.北京:清华大学出版社,20082 余朝琨.IBM-PC 汇编语言程序设计.北京:机械工业出版社. 20083 宋江.微机原理与接口技术.北京:机械工业出版社. 20054 金泉涌.微型计算机应用经验汇编.北京:清华大学出版社,20075 沈美玲.IBM-PC 汇编语言程序设计.北京:清华大学出版社,19936 吴耿峰.十六位微型计算机原理接口及应用.北京:高等教育出版.20047 戴梅萼.微型计算机技术与应用.北京:清华大学出版社. 1992

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

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