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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

微机应用课程设计字符图形显示.docx

1、微机应用课程设计字符图形显示 微机应用课程设计任务书20 12 20 13 学年 第 1学期第 16 周 16 周 题目汇编语言实现字符图形“南昌航空大学欢迎你!”动态显示内容及要求我们这组做的课程设计是通过编写汇编语言程序,实现字符图形的显示,我们此次做的是显示字符南昌航空大学欢迎你!。并作动态显示,编写完程序后分析并理解每条程序的意思,并解释主要程序的意思,最后调试出所要求的字符,实现效果。进度安排第一天:查阅相关资料,确定思路第二天:画出流程图及编写程序代码第三天:调试程序,实现目的第四天:编写课题报告第五天:论文答辩学生姓名:李丽波(组长),廖书强,林圣阳,郭苏昊,伍齐羽,李乐州指导时

2、间:16周指导地点: F 楼 522 室任务下达2012 年 12 月 17日任务完成2012 年 12 月 21 日考核方式1.评阅 2.答辩 3.实际操作 4.其它指导教师杨谊华系(部)主任注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。摘要本次课程设计是通过使用汇编语言来完成,具体实现方法可通过在MASM实验环境下运行,也可以通过在DOS环境下完成。我们这组做的课程设计是通过编写汇编语言程序,实现字符图形的显示,我们此次做的是显示字符南昌航空大学欢迎你!。编写完程序后分析并理解每条程序的意思

3、,并解释主要程序的意思,最后调试出所要求的字符。通过这次课程设计,我们更加了解了汇编语言的应用,并且能够按要求编写出程序,从而提高了我们的汇编语言知识,更进一步地了解了汇编语言。一、 设计题目字符图形的设计南昌航空大学欢迎你!二、设计内容用多字符图形显示功能显示图形“南昌航空大学欢迎你!”10个字符。三、小组分工本次课程设计我们选择的课题是字符图形显示,成员共有6人。李丽波和廖书强共同主持分析课题要求,写出设计规划,并辅助组员完成设计。具体分工如下: 李丽波:负责主程序的编写与调试以及资料分析.廖书强:负责根据汉字取模编出汉字代码程序。李乐州:负责汉字的取模部分及部分汉字代码程序编写。林圣阳:

4、负责流程图的设计部分,确定主程序思路。伍齐羽:负责课题报告的规范与布局及延时子程序设计。郭苏昊:负责整体程序最终的调试以及显示结果的修整。四、设计思路 1 、设计总体思路本程序是显示由多个字符组成的图形的程序,需要将多个字符定义在一个字符图形表里。字符图形表包括每个字符的ASCII码、属性以及在显示图形中的相对位移量(相对位移量是指前一个字符和当前要显示的字符之间的行距和列距)4个参数组成。字符图形表中的第一个字节“252”是组成图形的字符数,编写程序时需要将每个字符的ASCII码和属性以及显示的位置放入相应的寄存器中,然后发出显示命令,当252个字符都显示出来后,我们就可以看到一个“字”的图

5、形。为了清晰地看到每一个字,需要延时,程序中编写了延时子程序。此外,程序中还有清屏子程序和移动子程序,通过适当改变延时时间,可实现图形的移动。2 、汉字编码 Dos 界面无法实现汉字的输入与显示,故想到通过对dos界面描点实现对汉的显示,这必然要知道组成汉字各点的相对位置,实现这步用到了点阵的取模软件,通过它描绘的汉字图形很容易知道各点与上一点的相对位置,从而得到汉字代码,只要将需要写字的方块点黑,就能显示字模,经过修改调整使字形美观,取模图形及为显示结果图形。最终结果如图:如何根据字模得到汉字的代码,这里再简要介绍,如写“南”:南字最顶上的点取为(0,0),第一点可任意取点,对应代码db(数

6、据类型)05h(点字符大小),122(汉字点图案的ASCII值),0(相对上一点的行位置),0(相对上一点列位置) 相对它下一个点的则为(1,0),对应代码db 05h,122,1,0相对右一点的则为(0,1), 对应代码db 05h,122,0,1依次类推,如果该点在上一点的下方或右方,则对应的行列改变为正值,否则就为负值,字体各点显示位置就是这样确定的,南的所有点都编写完运行就能显示”南”图形。对于各字符的间距要适当,否则字符容易重叠。3、程序实现方法利用visual assembly 软件编辑、编译、连接、运行程序,同传统的方法相比更节省步骤,操作简便。五、流程图初始设置部分,字符显示的

7、外观字符显示和字符移动六、程序设计;对显示进行初始设置,设置图案显示颜色为绿色,设置点图案的显示格式,点图形状由它的ASCII值确定,背景颜色设置为灰色,对比度高,点图案更醒目。 push ds sub ax,ax push ax mov ax,data ;初始化DS mov ds,ax mov ah,0 ;设置300*200彩色图形方式 mov al,3 int 10h mov ah,0bh ;设置背景颜色 mov bh,0 mov bl,2 int 10h mov ah,0bh ;设置彩色调板 mov bh,01 mov bl,00;清屏子程序用于消除一些显示界面乱码的东西,让显示更清晰,

8、使用寄存器前需对它进行入栈保护,避免有用的数据丢失,需要时再将它出栈即可。clear_screen proc near ;清屏子程序 push ax ;保护寄存器 push bx push cx push dx mov ah,6 ;屏幕上卷功能 mov al,6 mov ch,0 ;左上角行号 mov cl,0 ; mov dh,250 ; mov dl,250 ;mov bh,7 ;卷入行属性 int 10h ;调用显示功能 pop dx ;恢复寄存器 pop cx pop bx pop ax ret ;返回主程序clear_screen endp;移动子程序是效果的体现,通过它可以实现动态

9、显示,程序首先让所有字符显示出来,通过调用擦除子程序后,让显示光标自动右移,再显示,之间设置合适的延时,就实现了字符的右移,加入循环语句,字符就从左一直移到右了move_shape proc near push ax push bx push cx push dx push di mov ah,0fh ;取当前显示方式 int 10h sub ch,ch ;清除寄存器CX的高字节 mov cl,di ;CLinc di ;di指向字符表的第一个字符 mov char_cnt,cx ;保存循环次数 mov pointer,di mov line_on,dh mov col_on,dl plot_

10、next: add dh,di+2 ;改变行列指针 add dl,di+3 cmp dl,150 ;出屏否? jb mov_crsr call erase pop di pop dx pop cx pop bx pop ax retmov_crsr: 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 di,4 ;di指向下一个字符指符 loop plot_next call dly_qrtr ;调用延时子程序 call erase

11、 ;调用擦除子程序 jmp short plot_next move_shape endp ;这里我们设置延时程序通过一步一步的调试达到最好的显示效果,延时程序作用很关键,字符的显示,移动等都要用到,它的延时参数会影响效果,采用了循环的嵌套,可以让延时的范围更大,更好的调整它的移动效果。dly_qrtr proc near ;延时子程序子程序 push cx push dx mov dx,8000 ;d11:mov cx,10000 ;调整可改变延时 d12:loop d12 dec dx jnz d11 pop dx pop cx ret dly_qrtr endp code ends en

12、d main 七、调试分析1、 设置编译路径,需要有两个文件(masm.exe link.exe)的路径,将其添加进去2、 编辑源程序,直接新建文件,保存3、 编译程序。每次对程序修改都要进行保存,否则系统会默认上一个程序,直接从菜单中编译,显示无误如下:4、连接程序。生成可执行文件,编译没通过无法连接,连接后可直接运行。5、运行结果显示(字符自左向右移动)6、问题分析1)字符没能显示完全。字符起始显示位置设置不当,造成了字符偏离了界面, mov dh,5;从第5行第5列位置开始 mov dl,5,对该语句重新设置达到了预期效果。2)9个字符无法完全显示。通过分析如果改小字体必然影响字形,效果

13、不好,最终是对显示程序进行了适当的修改,调用两次显示程序分两个屏幕显示,运行效果也好,确定该方案。3)编译软件不懂使用。起初很想改用dos ,但调试程序次数很大,很不方便,也浪费时间,最终还是通过摸索找到了使用方法,不仅减小了工作量,也学会如何更简单的编写汇编程序八、总结这次课程设计总体来说做得比较顺利,我们这组成员很团结,大家一起上网查找了许多资料,各自在寝室完成设计任务. 在此次课程设计中,我们基本掌握了怎样运用汇编语言去设计字符图形,并制作出相应的流程图,很感谢老师课堂上教授我们的汇编知识。在调试程序的时候,我们遇到了点困难,但是通过研究所查找的资料和对源程序的分析,基本上解决了遇到的问

14、题,老师对课题报告的规范帮助很到,知道如何去书写、编排出规范的课题报告,对今后课程设计及毕业设计报告的书写都提供了很大的帮助,我想通过这次的实践,以后的报告书写将会更规范。对于本次课程设计我们受益匪浅,很感谢同学和老师的帮助。九、心得体会十、主要参考资料:1 李真香等,汇编语言课程设计案例精编(第1版),中国水利水电出版社,2004;2郑初华等,汇编语言、微机原理及接口技术(第2版),北京:电子工业出版社,2006;3钱晓捷,新编汇编语言程序设计(第1版),电子工业出版社,2006附录:源程序data segment car1 db 252;定义字符图形表db 05h,122,0,0 db 0

15、5h,122,1,-3 db 05h,122,0,1 db 05h,122,0,1 db 05h,122,0,1 db 05h,122,0,1 db 05h,122,0,1db 05h,122,0,1db 05h,122,1,-3 db 05h,122,1,0 db 05h,122,9,-3 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0db 05h,122,-1,0 db 05h,122,0,1 db 05h,122,

16、0,1 db 05h,122,0,1 db 05h,122,0,1 db 05h,122,0,1db 05h,122,0,1 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,0,-3 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0 db 05

17、h,122,-1,-1 db 05h,122,1,0 db 05h,122,2,0 db 05h,122,0,2 db 05h,122,-2,0 db 05h,122,-1,0 ;南 db 05h,122,-5,7 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,0,1 db 05h,122,0,1 db 05h,122,0,1 db 05h,122,-1,0db 05h,122,-1,0db 05h,122,-1,0db 05h,122,-

18、1,0db 05h,122,-1,0db 05h,122,-1,0db 05h,122,0,-1 db 05h,122,0,-1 db 05h,122,3,0 db 05h,122,0,1db 05h,122,5,-3db 05h,122,1,0 db 05h,122,1,0db 05h,122,1,0 db 05h,122,1,0 db 05h,122,0,1db 05h,122,0,1 db 05h,122,0,1 db 05h,122,0,1 db 05h,122,0,1 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122

19、,-1,0 db 05h,122,0,-1 db 05h,122,0,-1 db 05h,122,0,-1 db 05h,122,0,-1 db 05h,122,2,0 db 05h,122,0,1 db 05h,122,0,1 db 05h,122,0,1 ;昌 db 05h,122,-10,7 db 05h,122,1,-1 db 05h,122,1,-1db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,0

20、 db 05h,122,1,0 db 05h,122,1,0 db 05h,122,0,4 db 05h,122,-1,0 db 05h,122,-1,0db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,-1,0 db 05h,122,0,-1 db 05h,122,0,-1 db 05h,122,0,-1 db 05h,122,2,1 db 05h,122,2,-3 db 05h,122,2,3 db

21、 05h,122,-2,-1 db 05h,122,0,1 db 05h,122,0,1db 05h,122,0,2; db 05h,122,-5,1 db 05h,122,0,1 db 05h,122,0,1 db 05h,122,0,1 db 05h,122,0,1 db 05h,122,-1,-2 db 05h,122,12,-2 db 05h,122,-1,1 db 05h,122,-1,0db 05h,122,-1,0db 05h,122,-1,0db 05h,122,-1,0db 05h,122,-1,0db 05h,122,-1,0db 05h,122,-1,0db 05h,12

22、2,-1,0db 05h,122,0,1db 05h,122,0,1db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0 db 05h,122,1,0 db 05h,122,1,1 ;航db 05h,122,0,4db 05h,122,0,1 db 05h,122,0,1 db 05h,122,0,1db 05h,122,0,1 db 05h,122,0,1 db 05h,122,0,1db 05h,122,-1,-3db 05h,122,-1,0db

23、 05h,122,-1,0db 05h,122,-1,0db 05h,122,-1,0db 05h,122,-1,2db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-2db 05h,122,-1,1db 05h,122,-1,1db 05h,122,-1,1db 05h,122,1,-3db 05h,122,-1,0db 05h,122,-1,1db 05h,122,0,1db 05h,122,0,1db 05h,122,0,1db 05h,122,0,1db 05h,122,0,1db 05h,

24、122,0,1db 05h,122,1,1db 05h,122,1,0db 05h,122,2,0db 05h,122,-1,-1db 05h,122,-1,-1db 05h,122,-1,-1db 05h,122,-2,-1db 05h,122,-1,0;空db 05h,122,0,11db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0db 05h,122,-2,3db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0

25、,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,7,-2db 05h,122,-1,1db 05h,122,-1,1db 05h,122,-1,1db 05h,122,-1,1db 05h,122,0,2db 05h,122,1,1db 05h,122,1,1db 05h,122,1,1db 05h,122,1,1;大db 05h,122,-1,4db 05h,122,1,1db 05h,122,0,1db 05h,122,-1,0db 05h,122,-1,0db 05h,122,-1,0db 05h,122,-1,0db

26、 05h,122,-1,0db 05h,122,-1,0db 05h,122,-1,1db 05h,122,-1,1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,4,-1db 05h,122,0,1db 05h,122,0,1db 05h,122,0,2db 05h,122,0,1db 05h,122,0,1db 05h,122,-4,1db 05h,122,-1,0db 05h,122,-1,0db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,

27、122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,1,0db 05h,122,1,0db 05h,122,-4,1db 05h,122,1,1db 05h,122,-1,2db 05h,122,1,0db 05h,122,0,2db 05h,122,-1,1;学car2 db 163;图形表db 05h,122,10,6db 05h,122,-1,1db 05h,122,-1,1db 05h,122,-1,1db 05h,122,-1,1db 05h,122,-1,1db 05h,122

28、,-1,0db 05h,122,-1,0db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,1,0db 05h,122,1,0db 05h,122,1,1db 05h,122,1,1db 05h,122,1,1db 05h,122,1,1db 05h,122,1,1db 05h,122,2,0db 05h,122,-1,1db 05h,122,-1,1db 05h,122,-1,1db 05h,122,-1,1db 05h,122,-1,1db 05h,122,1,1db 0

29、5h,122,1,1db 05h,122,1,1db 05h,122,1,1db 05h,122,1,1db 05h,122,-6,-5db 05h,122,-1,0db 05h,122,-1,0db 05h,122,1,3db 05h,122,-1,1db 05h,122,-1,0db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-1db 05h,122,0,-2db 05h,122,-1,1db 05h,122,-1,1db 05h,122,-1,1;欢db 05h,122,0,8db 05h,122,1,-1db 05h,122,0,1db 05h,122,0,1db 05h,122,0,1db 05h,122,1,0db 05h,122,1,-1db 05h,122,1,-1db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0db 05h,122,1,0db 05h,122,1,1db 05h,122,1,1db

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

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