微机课设报告及程序

微机课设报告及程序

ID:19831069

大小:78.49 KB

页数:8页

时间:2018-10-06

微机课设报告及程序_第1页
微机课设报告及程序_第2页
微机课设报告及程序_第3页
微机课设报告及程序_第4页
微机课设报告及程序_第5页
资源描述:

《微机课设报告及程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《微机原理与接口》实验报告课程名称微机原理与接口专业班级指导老师学号姓名2013年6月28日内容提要本实验是通过40H中断控制扬声器发出声音。实验过程中先存储原中断的段地址和偏移地址,再建立一个新的中断控制扬声器发声,发声之后再把原中断的地址恢复。扬声器的发声是通过控制61H端口的最后两位实现的。通过这次试验对中断的应用有个更深层次的理解。目录一实验目的4二实验内容4三设计思想41扬声器发声程序工作原理42程序流程图5四实验疑难解答6五源代码7六实验总结9七参考文献9一实验目的1.熟练掌握汇编语言的程序设计;2.熟练掌握各种编程接口芯片的编程应用3.通过实验方法掌握各种电路综合分析与设计方法。

2、二实验内容通过40H中断控制扬声器发声。三设计思想1扬声器发声程序工作原理发声程序通过I/O指令控制寄存器(I/O端口地址为61H)的第1位交替变为0或1,而端口61H的第1位和扬声器的脉冲门相连,当第1位由0变为1,延迟一会又由1变为0时,脉冲门就先打开后关闭,产生了一个脉冲电流。这个脉冲电流放大后送到扬声器使之发出声音。61H端口的第0位和一个振荡器相连,现在不用振荡器产生声音,所以第0位置零。程序中通过和FCH相与将最后两位置0,又和2H异或将倒数第二位置1,然后通过CX(本程序置数6000)来控制输出脉冲0和1的变化,最终使扬声器发声。发声程序:sound:pushaxpushdxmo

3、vct,1255inal,61handal,0fchtrig:xoral,02out61h,almovcx,6000hdelay:LOOPdelaydecct1jnztrigpopdxpopax2程序流程图获取40H中断的地址获取发声程序的段地址和偏移地址将获取的发声程序的地址放到40H处调用40H,使扬声器发声四实验疑难解答1.xordx,dx这句话有什么用?这句代码是要把dx置0,下面会将dx的值赋给es,因为40H中断存储地址的段地址是0,要找到40H中断就必要将它的段地址赋值0.2.movax,40hmovbx,4mulbx这句话要干嘛?系统中最低的1KB用来存放中断地址,中断向量表中

4、的256项中断向量对应256中中断,每项占用四个字节。由以上所知要找到中断存放的位置需要将中断号乘以4。这句代码就是要实现这个功能。3.leadx,beep这句的功能。这句是取发声程序的偏移地址,取出后悔放到40H中断处。4.老师还指出了设置新的中断前应该先将旧的中断地址保存,设置完后还要把旧的中断恢复。关于此问题书上296页讲的很详细,我也仔细研读了下。主要是通过35H来取旧的中断地址,然后保存。再通过25H设置新的中断。最后将旧中断的地址取出,再次通过25H来恢复新的中断。我所设计的程序中只设置了新的中断没有将旧中断保存并恢复,程序还有待改进,以后遇到相关的问题我会注意的。五源代码DATA

5、SSEGMENTcount1dw?DATASENDSSTACKSSEGMENTdb10dup(0)STACKSENDSCODESSEGMENT伪操作ASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,0MOVDS,AXmovax,STACKSmovss,axmovsp,10堆栈指针寄存器,存放偏移地址xordx,dxDX置0movax,40hmovbx,4mulbx40H与4相乘moves,dxdx的值存入esmovsi,axax的值存入simovax,csleadx,beep取偏移地址moves:[si],dxmoves:[si+2],ax设置新的中断i

6、nt40hmovax,4c00h带返回码终止int21hsound:pushaxpushdx保存movct,1255inal,61h将61端口数据输出andal,0fch将最后两位置0trig:xoral,02倒数第二位置1out61h,almovcx,6000hdelay:LOOPdelaydecct1循环发声jnztrigpopdx恢复数据popaxiretCODESENDSENDSTART六实验总结通过这次课程设计真的学到了很多的东西。以前老师讲的都是最基本的编程原理,很多东西只是知道不明白具体怎么应用。以前就听老师讲过很多与中断有关的知识,但总是听不能够对中断有个很深入的了解。通过这次

7、的课程设计明白了中断的很多应用,懂得原来中断可以重新设置并修改。通过这几天的忙绿,感觉编程很有意思,看到自己设计出的程序能够发声,感觉特别充实,满足。还要感谢杨老师对我们的指导,杨老师认真负责,每天早早就去辅导我们,要帮我们解决各种各样的问题,真的很不容易。验收时还提很多意见来完善我们的程序。老师,您辛苦啦。七参考文献1IBM-PC汇编语言程序设计(第2版)沈美明、温冬婵编著清华大学出版社2微机原

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。