- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
“霓虹灯”的模拟显示 正文
武汉理工大学《微机原理与接口技术》课程设计
PAGE 18
“霓虹灯”的模拟显示
1 设计任务及要求分析
1.1 设计任务
运用汇编语言完成以下要求的编程:在屏幕中央以@字符显示闪动(1HZ)霓虹灯,而后按W由两边向中央进行填充,按N后按相反的次序消失。按Q退出程序。
1.2 设计要求
该设计主要通过汇编语言编程,并调用DOS 命令和BIOS 命令来完成。主要完成以下几个方面的功能:
1、能够在窗口中的指定位置显示指定图形@并按要求进行闪动;
2、按W由两边向中央进行填充@;
3、按N后按相反的次序消失@;
4、按Q能够退出程序的运行;
2 方案比较
2.1 方案一
我们可以采用编写延时子程序的方法来实现延时,这种方法的主要原理是运用计算机响应每一条程序的时间积累。程序如下:
PUSH BX
PUSH CX
MOV CX,xx ;输入正数
A1:
MOV BX,xx ;输入正数
A2:
DEC BX
JNZ A1
LOOP A2
POP CX
POP BX
此方案的原理是运用循环指令来进行。主要是通过设置CX和BX的值来进行复循环,从而达到时间的累积即延迟。
2.2 方案二
方案二:运用DOS功能调用。 采用21H来中断调用,功能号为AH=2D,完成的功能是设置时间(相关功能将在后面介绍),DH的值变换一次为0.01秒。这样通过设置DH的值来设置时间的延迟。
2.3 方案比较
方案一和方案二在理论上运行的都是可行的,只要经过精确的计算都能得到理想的结果。但是方案一在设置时间延迟时在不同的计算机会得到不同的结果,同时运算量相对于方案二来说要复杂。因此综合比较此次采用的是方案二,设计题目中要求采用1HZ的时间方案,故将DH的值设为50。这样@消失和出现的频率就可以达到1HZ,从而达到题目要求。
3 设计原理
3.1设计思想
根据题目中的要求,可将程序段分为三大过程。第一就是霓虹灯以1HZ的频率在屏幕中央闪动,这部分在在设计时首先要将光标准确定位在屏幕的中央,这就要运用2号功能并采用10H中断。其次在就是霓虹灯闪烁过程,该过程就是在霓虹灯出现后经过一定的延时之后消失;消失一定时间后再将霓虹灯显示出来,若是没有其他命令则一直循环下去。
第二个过程就是当外界输入‘W’或者‘w’时由两边向中间填充字符‘@’。该过程首先是等待外界输入字符,然后和第一个过程一样是要将光标置在指定位置然后对CX赋值之后进行循环,每次循环是要将字符‘@’在CH和CL指定的值处进行输出并显示。当两边的字符‘@’显示到屏幕中间并相遇时结束该过程,否则继续循环输出显示。
第三个过程就是当外界输入‘N’或者‘n’时字符‘@’由中间向两边依次消失,该过程和第二个大过程是逆过程,只是用空格字符输出显示并将字符‘@’覆盖,当屏幕中的‘@’消失完全时该过程结束,否则‘@’继续消失。
3.2程序中用到的DOS功能调用
(1)01H号功能调用(中断指令“INT 21H”)
功能:从键盘输入一个字符
输入参数:无
输出参数:AL=ASCII码
(2)02H号功能调用(中断指令“INT 21H”)
功能:在屏幕上显示一个字符(ASCII码)
输入参数:DL=ASCII码
输出参数:无
(3)2CH号功能调用(中断指令“INT 21H”)
功能:取系统时间
返回参数:DH:DL=秒:0.01秒 CH:CL=时:分
(4)4CH号功能调用(中断指令“INT 21H”)
功能:返回操作系统4CH
调用:MOV AH,4CH
3.3程序中用到的BIOS功能调用
功能01H(中断指令“INT 16H”)
功能描述:检测键盘
输出参数:ZF=1 无码可读
ZF=0,有输入于AX中
(2)功能02H(中断指令“INT 10H”)
功能描述:用文本坐标下设置光标位置入口参数:AH=02HBH=页号DH=行(Y坐标)DL=列(X坐标)出口参数:无
(3)功能06H(中断指令“INT 10H”)
功能描述:初始化屏幕或滚屏入口参数:AH=06H——向上滚屏,07H——向下滚屏AL=滚动行数(0——清窗口)BH=空白区域的缺省属性(CH、CL)=窗口的左上角位置(Y坐标,X坐标)(DH、DL)=窗口的右下角位置(Y坐标,X坐标)出口参数:无
4程序设计流程图
4.
您可能关注的文档
- iPhone第三方浏览器体验大比拼.docx
- ICTI全套程序文件(完整版) .doc
- HDMI接口与DVI接口.docx
- icepak 进阶教程-瞬态模型.ppt
- J2EE期末项目_新闻发布系统.doc
- java课程设计报告++画笔程序.doc
- java课程设计日历记事本.doc
- JDB-2K智能保护器说明书.doc
- IP解析数据包.doc
- java多人聊天毕设论文.doc
- 丙烯酸乙酯项目申请报告.docx
- 2024至2030年中国电子级硫酸市场调查与行业前景预测专题研究报告.docx
- 2024至2030年全球与中国机器控制软件市场现状及未来发展趋势.docx
- 2024至2030年中国旅客登机桥行业发展预测及投资策略报告.docx
- 2024至2030年中国汽车制动软管市场前景分析与投资战略研究报告.docx
- 2024至2030年中国红糖行业发展分析及投资研究报告.docx
- 2024至2030年中国区块链技术投资规划及前景预测报告(共四卷).docx
- 2024至2030年中国非合金钢中板行业深度调查与前景预测分析报告.docx
- 洗精煤项目申请报告.docx
- 2024至2030年中国铝工业前景预测及投资研究报告.docx
文档评论(0)