




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理工大学微机原理与接口技术课程设计说明书0121011350112冫*穿课程设计题 目 计算机波形显示软件设计学 院自动化专 业电气工程及其自动化班 级1001姓 名冀阳博指导教师张锐2013年 1 月18日武汉理工大学微机原理与接口技术课程设计说明书课程设计任务书学生姓名: 冀阳博专业班级:电气1001指导教师: 张 锐工作单位:自动化学院题目:计算机波形显示软件设计初始条件:1 .用于调试程序的IBM兼容pc机一台;2 安装DOS/WIN98操作系统或运行于DOS/ WIN98兼容方式;3 EDIT等文本编辑器输入80x86汇编程序,MASM 5 0编译及链接程序。要求完成的主要亻壬务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1 .使用汇编语言设计一个运行于计算机的显示波形的软件,软件应实现根据定义的数组或从键盘输入的数据串显示波形。可以附加波形的不同表示方法和添加动态显示效果。2说明书撰写格式应符合课程设计说明书统一书写格式。时间安排:1 .程序框图设计,3天2 编程,4天 3 调试,3天生编写设计报告,4天指导教师签名:系主任(或责任教师)签名:年 月年 月 摘要通过汇编语言设计一个运行于计算机的显示波形的软件,软件应实现根据定义的数组或从键盘输入的数据串显示波形。并通过键盘输入改变波形类型,相位。运用基本程序设计方法、DOS和BIOS调用,宏汇编的基本概念和方法,通过上机操作和程序调试技术,进行软件设计。将计算机理论知识转化为计算机应用知识。设计波形中利用笛卡尔坐标和屏幕像素完成波形绘制,实验中,利用插标法产生正弦波,绘制一张正弦数字量表。汇编语言中,可以通过调用DOC中断, int 21h处理输入输出信息,同时还通过BIOS中断int 10h设置输出字符的起始位置。通过这些完成波形绘制和变换。关键词 :DOC, BIOS,宏汇编目录1总体设计一1.1总体设计思路1.2程序流程图12程序设计与实现一0021初始条件一0022设置屏幕显示方式一0023输出文本信息42,4键盘处理子程序一25绘制图形一、一26绘制坐标系一27清屏过程6一28绘制波形曲线0/2,9相位的改变一/3程序调试及结果一8 4总结与体会“0 参考文献“1 附录1程序“0武汉理工大学微机原理与接口技术课程设计说明书计算机波形显示软件设计1总体设计11总体设计思路通过汇编语言产生方波和正弦波,并控制波形的幅值和相位。波形曲线可以看成一个函数,屏幕是由一个个像素点组成,它可以看成一个笛卡尔坐标系,曲线的每一个点对应着一个横坐标,对应着一个纵坐标(函数值),不同的曲线有不同的函数,只要找到曲线上点的坐标(函数值)就可以绘制出不同的曲线,所以,问题的关键就在于如何获得并显示出不同波形曲线的函数值。本实验中采用查表法产生正弦波,造一张正弦数字量表,即查函数表得到的值转换成十六进制数填表。D/A转换取值范围为一个周期,采样点越多,精度越高,本实验中采样点为128点/周期。正弦数字量表中的值为参考值,对于不同幅值的正弦波可以通过把表中的每个值乘以相同的倍数得到。方波,只需确定其极值,在第一时间段为正,在第二时间段为负,以此类推。12程序流程图程序从初始化开始,首先让指针指向提示信息一,即在屏幕上显示: 1 s in ; 2 cos ; 3 clear;E/e exit;right/left change pha se,up/down change amplitude,当有键按下后,如果键是l ,则转向执行产生正弦波的程序;如果键不是l ,则看键是否为2。如果键是2,则转向执行产生方波的程序;如果键也不是2,则看是否为3。如果是3,则转向执行清屏的程序;如果也不是3,则看是否为e或者EO如果是e或者E,则转向执行结束程序。以正弦波为例,当程序判断为按键1时,继续判断是否为“ 尸若为是则执行右移,左移, 幅度变大 , 幅度减小。其他波形同正弦波,2程序设计与实现2 1初始条件l .用于调试程序的IBM兼容PC机一台;2安装DOS/WIN98操作系统或运行于DOS/ WIN98兼容方式;3EDIT等文本编辑器输入80x86汇编程序,MASM 50编译及链接程序。22设置屏幕显示方式IBM-PC的标准显示适配器,一种是单色显示,它只能显示黑白字母、数字、符号和菱形等简单的图形字符,它是以文本方式工作的:另一种是彩色/图形适配器EGA和VGA,它能以文本和图形两种方式工作。在彩色/图形适配器中把屏幕分成M*N个点阵,每个坐标上的图像元素就是一个像素。通过调用BIOS中断int 10h的0号功能可以设置屏幕的显示方式。调用方式如下:入口参数:AH=O(功能号),AL:设置方式。部分显示设置方式调用参数如表2一1。出口参数:无。表2一1部分显示设置方式表调用参数AL显示方式00H40* 25黑白字符方式01H40* 25彩色字符方式02H80* 25黑白字符方式03H80* 25彩色字符方式04H320* 200彩色图形方式11H640* 480单色图形12H640*480 16色图形本设计中选用04万功能,设置屏幕分辨率为320* 200,彩色图形方式,字符分辨率为80*25。其中屏幕的最左上角坐标为(0,0)。3武汉理工大学微机原理与接口技术课程设计说明书程序模块如下:,设置屏幕显示方式宏 setscreen macro mov ah,0 mov al,04h int 1 Ohendm2 3输出文本信息为了拥有一个良好的人机交互界面,在程序设计中,文本提示信息的输出有着非常重要的作用。汇编语言中,可以通过调用DOS中断,int 21h处理输入和输出信息,同时还可以通过BIOS中断int 10h设置输出字符的起始位置。设置输出字符的起始位置模块如下:mov ah,2;用文本坐标下设置光标位置mov dh, X;第一个字符输出的行坐标mov dl,Y;第一个字符输出的列坐标int 10H显小字符串需要调用int 21h中断的09号功能。程序模块如下:;设置输出宏,带参数output macro mes S;mess为字符串变量名mov ah,2 mov dh,22 mov dl,lint 10H;设置字符输出开始位置1 OV dx,offset mess mov ah,9int 21hendm宏执行完成后,将在22行第一列开始输出变量mess的字符串。24键盘处理子程序键盘处理使用BIOS或者DOS键盘中断,BIOS中断INT16H,本程序中使用DOS 键盘中断,调用如下:mov ah,0ch ;清除键盘缓冲区mov ah,7 ;等待从键盘输入一个字符,不回显 int 21h ;返回参数AL:按下键的ASC码25绘制图形本设计选用的屏幕显示方式为320*200彩色图形方式,即横坐标有320个点,纵坐标有200个点,默认左上角为坐标原点(0,0)。要画出波形曲线,则要每个横坐标都对应着一个纵坐标的值。值不同绘制出的波形曲线也不同。把不同的曲线纵坐标的值储存在表中,通过查表可以得到不同曲线。每种曲线每周期取 128个点,然后在屏幕上绘制出这些点,从而显示出相应的波形曲线。屏幕上的图形是由多个像素点组成,所以各种曲线也由多个点组成。在指定的坐标位置上写像素点的方式如下:9mov ah,0ch mov al,c010r mov CX,COI mov dX row int 10h,像素点的颜色(0、3)26绘制坐标系由于屏幕默认的原点为左上角为(0,0),要在屏幕中间绘制曲线,所以在绘制前要进行坐标的变换,转化为笛卡尔坐标系,该子程序如下:;绘制笛卡尔坐标系draw zuobiao proc near mov CX,O dheng: ;绘制横轴mov ah,0ch mov al,01h ;像素的颜色 mov dl,100 int 10h Inc CX cmp cx,320 jne dheng mov CX,0 mov dl,027清屏过程清屏程序的设计原理,是用背景色的像素点重新在全屏进行绘制。 clearl:mov ah,0ch mov al,00h;背景色重新刷屏 int 1 Oh Inc CX cmp cx,32028绘制波形曲线根据不同的按键值,绘制不同的波形曲线。如: draw-line proc near画线过程,先绘制第一周期 push simov ax,c01 add bx,ax call d linePOP Slcall draw line 129相位的改变相位的改变原理是当左/右方向键之一按下时,将曲线绘制的起始点向左/ 右平移10个像素点,然后重新绘制。幅值的改变原理是当上/下方向键之一按下时,改变si指针,指向另外一个幅值的函数表,重新绘制波形曲线。如:;改变相位,右方向键按下一次曲线右移10个像素点keyright proc nearmov CX,COI add cx,10 mov COI,CX cmp temp, 1 jz rightl3程序调试及结果通过运行程序可实现正弦波,方波,以及两种种波形的相位改变。调节时如重新回到初始页面,按数字键“ 3 ”,即可完成清屏指令并返回最初界面。按e/E退出程序。以下位移及幅值改变以正弦波为例。按下数字 1,显示两个周期的正弦波形曲线3一13一1正弦波形按下方向键右, 曲线向右移动,如图3一23一2正弦波右移按下方向键左,曲线向左移动,如3一33一3正弦波左移按下数字 2,显示两个周期的方波形曲线,如图3一43一4 方波按下数字 4,实现清屏; 如图3一53一5清屏按下E/e键,程序成功退出武汉理工大学微机原理与接口技术课程设计说明书4 总结与体会由于以前对信号发生器了解太少,刚拿到题目不知从何下手,上网查资料才得以了解信号发生器。程序运行时还出现很多问题,比如上图中问题,查了资料才发现是JZ和JMP 的范围不一样。BIOS中断INT 10H和DOC中断INT 21H的各种功能比较多,我上网下载了 BIOS中断大全和DOC中断大全,帮助我理解。在如何可以用汇编语言画出波形这一问题上,还是在网上查阅了很多资料,小组同学一起奋斗,最终才得以解决的。通过本次课程设计,学会了用汇编语言设计一个运行于计算机的显示波形的软件,软件应实现根据定义的数组或从键盘输入的数据串显示波形。掌握了基本程序设计方法、DOS和BIOS调用,掌握了宏汇编的基本概念和方法,熟悉上机操作和程序调试技术,初步具备了软件设计的能力。但在将计算机理论知识转化为计算机应用知识的同时,也发现了许多薄弱环节,还不能熟练用汇编语言编程,对计算机领域各门学科的交叉应用还有待加强与提高,更增加了小组同学的团队协作能力。这次的课程设计让我学到了书本上没有的知识,锻炼了动手能力。通过翻阅资料,在老师同学的帮助下我顺利完成了这次课程设计。感谢老师同学的无私帮助。参考文献 1 潘名莲微计算机原理北京:电子工业出版社,20047 2 李志民计算机原理与汇编语言程序设计,长沙:中南大学出版社,200L 8 3 许骏微型计算机系统原理及应用,广州:华南理工大学出版社,1996 5 4 宫云战微型计算机原理与应用基础教程北京:机械工业出版社,19995 5 荀殿栋微处理器应用技术与实例北京:电子工业出版社,19971 1SETSCREEN MACROMOVMOVINTENDMOUTPUTMACROMOVMOVMOVINT MOVMOVINTENDMSTACKYSEGMENTDBSTACKYENDSDATASEGMENTMENUDBchange pha se ; up/downSINE DBDBDBDBDBDBDBDBDBDBDBDBDBDBCOS I NE DBDBDBAH, OAL, 041-1I OHMESSAH, 2 %4, 320*200, DH, 22I OH80*25OFFSET MESSAH, 921 1-1250 DUP 1 s i n ; 2 cos ;3c lear ; E/e ex i t ; r i ght/ l eft change ampl itude1 00, 98, 96, 94, 92, 90, 88, 8684,82,81 79,77,75,74, 7271 69,68,66,65,64,63, 62616160,59,59,59,58, 5858,58,58,59,59,59,60, 6161 ,62,63,64,65,66,68, 6971 ,72,74,75,77,79,81 , 8284,86,88,90,92,94,96, 981 00, 1 02, 1 04, 1 06, 1 08, 1 1 0, 1 1 2, 1 1 41 1 6, 1 1 8, 1 1 9, 1 21 , 1 23, 1 25, 1 26, 1281 29, 1 31 , 1 32, 1 34, 1 35, 1 36, 1 37, 1381 39, 1 39, 1 40, 1 41 , 1 41 , 1 41 , 1 42, 1 421 42, 1 42, 1 42, 1 41 1 41 1 41 1 40, 391 39, 1 38, 1 37, 1 36, 1 35, 1 34, 1 32, 1 311 29, 1 28, 1 26, 1 25, 1 23, 1 21 , 1 1 9, 1 181 1 6, 1 1 4, 1 1 2, 1 1 0, 1 08, 1 06, 1 04, 1 0258, 58, 58, 58, 58, 58, 58, 5858, 58, 58, 58, 58, 58, 58, 5858, 58, 58, 58, 58, 58, 58, 58DBDBDBDBDBDBDBDBDBDBDBDBDB58, 58, 58, 58, 58, 58, 58, 5858, 58, 58, 58, 58, 58, 58, 5858, 58, 58, 58, 58, 58, 58, 5858, 58, 58, 58, 58, 58, 58, 5858, 58, 58, 58, 58, 58, 58, 5858, 58, 58, 58, 142, 142, 142, 142142, 142, 142, 142, 142, 142, 142, 142142, 142, 142, 142, 142, 142, 142, 1421 42, 1 42, 1 42, 1 42, 1 42, 1 42, 142, 1 421 42, 1 42, 1 42, 1 42, 1 42, 1 42, 142, 1 42142, 142, 142, 142, 142, 142, 142, 142142, 142, 142, 142, 142, 142, 142, 142142, 142, 142, 142, 142, 142, 142, 142TEMP DBCOL ROW DB0COLOUR TEMP DB0DATAENDSCODESEGMENTSTART .ASSUMEDS : DATA, CS : CODE, SS : STACKYMOVAX, DATAMOVDS, AXSETSCREENOUTPUTMENUCALLDRAW ZUOBIAOMOVCOLOUR TEMP, 021-1INKEY:MOVAH, OCHMOVAH, 7INT21 1-1MOV128CMPJZPANICMPAL, 2JZPAN2CMPAL, 3JNZI NKEY4BJMPCLEAR SCREENJZI NKEYI NKEY4B . CMPAL, 4BHJNZINKEY4DJMPKEY LEFTJNZNKEYEJMPKEY RIGHTCMPAL, EJNZNKEYE2JMPQUITCMPAL, JNZNKEYJMPQUITPANI .JMPINKEYLEASI , SINEMOVROW, OMOVCOL, OPAN2 :CALLDRAW SINELEAS l , COSINEMOVROW, OMOVCOL, OCALLDRAW COSKEY RIGHTPROCNEAR ; MOVCX, COLADDcx, 10MOVCOL, CXCMPTEMP, IJZR I GHTICMPTEMP, 2JZR I GHT2KEY RIGHT RIGHTI .ENDPLEASI , SINERIGHT2:JZDRAW SINELEAS l , COSINEJZRETDRAW COSKEY LEFTPROCNEAR MOVCX, COLSBBcx, 10MOVCOL, CXCMPAL, 4DHCMPTEMP, 1JZLEFTICMPTEMP, 2JZRETLEFT2KEY LEFT LEFTI ENDPLEASI , SINELEFT2 .JZRETDRAW SINELEAS l , COSINEJZRETDRAW COSDRAW SINEPROCNEARCALLCLEAR SCREENMOVCX, COLMOVTEMP, 1CALL RETDRAW LINEDRAW SINEENDPDRAW COSPROCNEARCALLCLEAR SCREENMOVCX, COLMOVTEMP, 2CALLDRAW LINEDRAW COSENDPDRAW LINEPROCNEARPUSHS lMOVAX, COLADD AXCALL POPD LINED LINE:CALLDRAW LINEIMOVAH, OCHMOVMOVINTAL, COLOUR TEMPINCS lINCcxCMPCX, BXD LINE19DRAW LINEENDPDRAW LINE-IPROCNEAR MOVCX, BXADD 128CALLD LINE-ID LINE-I :CALLINKEYMOVAH, OCHMOVAL, COLOUR TEMPMOVDL, CSIINTINCI OHINCcxCMPCX, BXD LINEDRAW LINE-IENDPDRAW ZUOBIAO PROCNEARMOV D HENG.cx, oMOVAH, OCHMOVAL, 031-1MOVDL, 100INT1 OHINCcxCMPcx, 320JNED HE-NGMOV MOVD ZONGcx, oMOVAH, OCHMOVINTINCAL, 031-1CMPDL, 200JNED ZONGMOVcx, 3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 绵阳东辰四升五数学试卷
- 德智体美劳全面发展在中医药院校体育教学中的落实研究
- 养鹅场全程追溯系统建设方案
- 隧道掘进过程中支护调整方案
- 司机安全教育知识培训课件
- 司机冷链知识培训照片课件
- 清远高三二模数学试卷
- 2025年小学计算机考试题及答案
- 南宁7年级新生数学试卷
- 知道智慧树气藏工程(双语)满分测试答案
- 2025年烘干香菇项目可行性研究报告
- 宜宾2024年四川宜宾市社会福利院招聘编外聘用人员15人笔试历年典型考点(频考版试卷)附带答案详解
- 风电吊装劳务分包合同
- 2.石化厂15万吨常减压及30万吨催化装置拆除
- 2025重庆市建筑安全员《B证》考试题库及答案
- 2025年江苏省盐城公证处招聘公证人员5人历年高频重点提升(共500题)附带答案详解
- 2024年中交分包商培训参考答案
- 检察院书记员笔试试题
- 品管圈PDCA改善案例-呼吸科提高住院患者痰标本送检合格率
- 固定式桩基海上光伏结构设计荷载标准化研究
- 肥厚型梗阻性心肌病护理
评论
0/150
提交评论