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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

霓虹灯的模拟显示程序要点Word格式文档下载.docx

1、目 录1.引言 12.设计任务及要求分析 12.1设计内容: 12.2设计要求与分析: 23.方案比较及认证说明 23.1清屏函数方案 23.1.1方案说明 23.1.2方案比较及论证 43.2字符的显示方案 43.2.1方案说明 43.2.2方案比较及论证 43.3方案选择 54.系统原理阐述 54.1设计思路 54.2程序中的BIOS和DOS功能调用 54.2.1 BIOS功能调用 54.2.2 DOS功能调用 64.3程序模块 65. 硬件设计课题说明 86.软件设计课题说明 106.1程序功能描述 106.2 流程图 107.调试记录及结果分析 137.1调试过程 137.2调试结果

2、147.3调试中出现的问题及解决方法 168. 总结 169.参考资料 1610.附录 源程序清单 17“霓虹灯”的模拟显示程序1.引言霓虹灯的千变万化是装点人们生活的不二之选,我们可以通过汇编语言对霓虹灯的闪烁进行控制,实现霓虹灯闪烁的任意控制。通过本学期对微机原理与接口技术的学期,我掌握了汇编语言的基本应用。汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言,汇编语言对于硬件的控制具有独特的优势。本次课程设计通过汇编语言,实现霓虹灯的控制与操作,实现其显示与闪烁,或者是其他的动态变化,从而可以很方便的达到理想效果。INT 10H 是 BIOS 中断调用的

3、第10H功能的简写在基于,对屏幕及显示器所提供的服务程序,而后倚天公司针对倚天中文提供了许多服务程序,这些服务程序也加挂在 INT 10H 内。汇编语言的INT 10号中断提供了设置显示模式、设置颜色模式、设置光标位置、按指定属性显示字符等功能,可以显示汉字或图像,同时也提供了初始化屏幕或滚屏等功能号,通过擦除子程序以及清屏子程序的配合运用,可以达到让汉字或图像闪烁或运动的功能。而文字的显示我们又可以通过取模软件轻松获得,这使得整个编译过程轻松了很多,同时可以让文字或图标的显示更加规范和多样化,达到霓虹灯多样变化的目的。本次微机原理与接口技术课程设计是要设计一个“霓虹灯”的模拟显示程序。本次课

4、程设计用的是8086最小系统,在MF2KI汇编集成环境下完成。该课程的总体任务是一个接一个的执行的,属于单任务顺序结构,所以该任务主要用汇编语言进行顺序和循环的逻辑结构编写。2.设计任务及要求分析(1)设计任务及要求分析(2)方案比较及认证说明(3)系统原理阐述(4)硬件设计课题需要说明:(5)软件设计课题需要说明:(6)调试记录及结果分析(7)总结(8)参考资料(9)附录:首先根据课设题目的要求找出需要调用的各个DOS和BIOS调用,然后对程序中最重要的DOS调用和BIOS调用进行的方案比较。之后根据课设题目要求设计整个顺序结构的程序框架,然后运用模块化的设计思想,将题设要求分成几个小的模块

5、,一段一段的设计程序。然后分段对程序进行编写和调试,当各个模块调试好后,再整体调试。最后观察整体程序结构的现象,进行总结并对某些部分进行完善。在本课设里,我在完成任务之外,在程序的开始加了一个欢迎界面,这样在程序结果的演示中给人一种美感。3.方案比较及认证说明3.1清屏函数方案3.1.1方案说明方案一:运用BIOS功能的7号调用,程序设计如下CLEAR PROC NEARPUSH AXPUSH BXPUSH CXPUSH DXPUSH SIPUSH DIMOV AH,07 ;屏幕初始化或下卷MOV AL,25 ;下卷行数MOV BH,0F0H ;卷入行属性MOV CH,0 ;左上角行号MOV

6、CL,0 ;左上角列号MOV DH,24 ;右下角行号MOV DL,79 ;右下角列号 INT 10HPOP DIPOP SIPOP DXPOP CXPOP BXPOP AXRETCLEAR ENDP方案二:运用BIOS功能的6号调用,程序设计如下CLEAR PROC NEAR MOV AH,06H MOV AL,0MOV CH,0 MOV CL,0MOV DH,24MOV DL,79MOV BH,07HINT 10H3.1.2方案比较及论证在第一个程序中,使用的寄存器较多,操作较为复杂。但是清屏时可以将DOS窗口背景改为白色,这便于截图与报告的撰写。第二个程序操作起来相对简单,但是只能让屏幕

7、背景为黑色。3.2字符的显示方案3.2.1方案说明运用DOS功能的2号调用,程序的设计如下MA ROW,COLUME ;MA是个宏定义光标位置MOV AH,02HMOV DL,INT 21H运用BIOS功能的9号调用,程序设计如下CALL CURSOR ;调用光标设置子程序MOV AL,23HMOV BL,0BHPUSH CX ;CX进栈MOV CX,1MOV AH,09HPOP CX ;CX出栈3.2.2方案比较及论证方案一无法设置字符的属性,同时还会在下个坐标位置显示光标,影响光看者的视觉享受。但是显示方式很简洁很直观很容易记忆理解,若要配合背景为白色,选择该方案为好。方案二功能更加完备,

8、更能实现霓虹灯的颜色变化显示效果,但是设计起来占用寄存器较多,略微复杂点,其设置的背景只能为黑色。3.3方案选择从上面的分析比较,清屏函数方案一和显示字符方案一搭配起来的可行性和实际达到的效果更好。所以选择清屏函数方案一和显示字符方案一来实现霓虹灯的功能。4.系统原理阐述4.1设计思路(1)执行程序时显示一个欢迎界面,提示按大写S键进入显示界面(2)执行程序这部分程序运用的主要原理是先在屏幕上显示个字符()号,再执行循环,语句显示一行(列)()字符。利用像这样的原理实现矩形框的完成和内部的填充。至于反向消失部分,用空格代替想要显示的字符,反向执行循环,就可以实现字符的消失了。(3)霓虹灯显示完

9、毕,提示输入Q退出界面。4.2程序中的BIOS和DOS功能调用4.2.1 BIOS功能调用(1)设置光标位置(2号功能)入口参数:AH=2(功能号),BH=页号,DH=行号,DL=列号。出口参数:无。根据DX确定了光标位置。(2)初始窗口或向上滚动(6号功能)AH=6,AL=上滚行数,CX=上滚窗口左上角的行、列号。DX=上滚窗口右下角的行、列号。BH=空白行的属性。当滚动后,底部为空白输入行(3)初始窗口或向下滚动(7号功能)AH=7,AL=下滚行数,CX=下滚窗口左上角的行、列号。DX=下滚窗口右下角的行、列号。当滚动后,顶部为空白输入行。(4)在当前光标位置写字符和属性(9号功能)AH=

10、9,BH=页号,AL=字符的ASCII码,BL=字符属性,CX=写入字符数。4.2.2 DOS功能调用(1)键盘输入一个字符并回显(1号功能) 输入参数无,返回结果AL字符(2)显示字符串,光标跟谁字符串移动(9号功能)DS:DX待显字符串的首地址字符串以$结尾。(3)显示一个字符,光标跟随字符移动(2号功能) DL=待显字符的ASCII码,无返回结果。4.3程序模块(1)宏定义光标位置 MA MACRO OP1,OP2 ;宏定义光标位置 PUSH AX ;现场保护 PUSH BX MOV AH,02H MOV BH,0 ;页号 MOV DH,OP1 ;行号 MOV DL,OP2 ;列号 PO

11、P BX POP AX ENDM 这个子程序的重点是设计光标所在页、行、列及其现场保护。使用了BIOS功能调用设置光标的位置。(2)清屏子程序 CLEAR PROC NEAR ;清屏 PUSH AX PUSH CX PUSH DX PUSH SI PUSH DI MOV AH,07 ; MOV AL,25 ; MOV BH,0F0H ; MOV CH,0 ; MOV CL,0 ; MOV DH,24 ; MOV DL,79 ; POP DI POP SI POP DX POP CX RET初始化窗口,AL=0表示全屏滚动,CH=滚动窗口左上角行号,CL=滚动窗口左上角列号,DH=滚动窗口右下角

12、行号,DL=滚动窗口右下角列号,BH=滚入行的属性。(3)光标的设置CURSOR PROC NEAR ;光标的设置 MOV BH,0 MOV DH,ROW ; 设置行 MOV DL,COLUME ;设置列 RET CURSOR ENDP 光标位置的设置,这个子程序与宏定义光标位置类似只是运用有些不同。(4)延时子程序DELAY1 PROC NEAR MOV DX,100 D3: MOV CX,65530 D4: LOOP D4 DEC DX JNZ D3 DELAY1 ENDP这个子程序写法的关键是现场保护(即进栈出栈),内外两个循环的设计。延时程序的主要目的是可以让我们清楚的看到字符在屏幕上的显示过程。5.硬件设计课题说明本设计采用8086最小系统,8086CPU引脚介绍如下:AD15 AD0(address data bus):地址/数据总线,双向,三态。A19/S6A16/S3(address/status):地址/状态信号,输出,三态。BHE(低)/S7(bus high enable/status):允许总线高8位数据传送/状态信号,输出,三态。RD/(read):读信号,输出,三态,低电平有效。READY(ready):准备就绪信号,输入,高电平有效。INTR(in

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

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