微机原理与接口技术课程设计

上传人:沈*** 文档编号:79194692 上传时间:2022-04-23 格式:DOC 页数:11 大小:279.01KB
收藏 版权申诉 举报 下载
微机原理与接口技术课程设计_第1页
第1页 / 共11页
微机原理与接口技术课程设计_第2页
第2页 / 共11页
微机原理与接口技术课程设计_第3页
第3页 / 共11页
资源描述:

《微机原理与接口技术课程设计》由会员分享,可在线阅读,更多相关《微机原理与接口技术课程设计(11页珍藏版)》请在装配图网上搜索。

1、课程设计实验报告课程名称 微机原理与接口技术课程设计实验名称 proteus仿真实验实验目的: 通过使用proteus软件模拟原先在硬件平台上搭建的数字录音机电路,系统地学习从零开始用芯片搭建一个数字电路,并且在此电路基础上运行由汇编语言代码转换来的机器语言代码,使之完成模拟信号的模数转换、数模转换两个过程。实验内容: 1.数字录音机模拟仿真实验实验环境:硬件配置:Windows XP软件配置:protues ISIS实验要求: 无。实验步骤及结果分析: 1.模拟硬件平台的搭建由于之前已经完成了硬件平台上数字录音机电路的搭建,因此在这次试验中我们开始时主要借鉴了硬件平台上的电路布局来进行芯片选

2、择和连接,主要还是使用了原先用过的8255、8253、ADC0808、DAC0832等芯片,同时由于在这次试验环境中,我们所模拟的是一个没有任何操作系统控制的裸机,因此原来实验中用到的int中断在这次试验中不能使用。鉴于此,我们和其他同学讨论了这个问题,我们发现,在电路中可以使用一个virtual terminal,使其模拟原先试验中键盘的读入和屏幕的显示。具体电路图如下所示:ADC0808芯片电路:8086芯片电路:说明:由于在这次试验中,所有的芯片都没有事先确定硬件地址,因此还需要用到一个译码器,使之用于选择各个芯片;另外,在多次试验中,我们发现,8086芯片中的地址输出应先接入到一个地址

3、锁存器中,因而在此我们也做了相应的调整。地址锁存器电路和译码器电路:8253芯片和8255芯片电路:DAC0832芯片电路:8251芯片和虚拟中断电路:2.汇编代码的编写和编译这次试验主要还是使用了上次试验中我们编写的代码,但是对其中的一些部分做了改动,比如去掉了原先使用的int中断代码,将其替换为只是简单地把数据输入8251芯片,而把原先中断读入的任务交给了virtual terminal。代码如下所示:ioportequ0a400h - 280hio8253equioport + 280hio8253cequio8253 + 6hio8255equioport + 288hio8255ce

4、quio8255 + 6hio0832equioport + 290hio0808equioport + 298hio8251equioport + 2a0hio8251cequio8251 + 2hdata segmentbufdb1000 dup(?)msg1dbPress any key to start recording. Press ESC to leave.,0dh,0ah,$msg2dbRecording.,0dh,0ah,$msg3dbPlaying.,0dh,0ah,$data endsstacksegmentstackdb100H dup(?)stack endscode

5、 segmentassume cs:code, ds:data, ss:stackstart:movax,datamovds,ax;8251初始化movdx,io8251cmoval,4ahoutdx,alnopmoval,5houtdx,alnop;8255初始化movdx,io8255cmoval,90houtdx,albegin:leasi,msg1callprintcallscancmpal,27 ;若按键为Esc键,则退出jzexitstartrecord:leasi,msg2callprintmovcx,500leadi,bufmovdx,io0808rec:outdx,alcal

6、ldelay ;开始一个计时inal,dxmovdi,alincdilooprecleasi,msg3callprintleadi,bufmovcx,500movdx,io0832play:moval,dioutdx,alcalldelaynopincdiloopplayjmpbeginexit:jmpexit;启动一个计时delayproc nearpushdxmovdx,io8253cmoval,10houtdx,almovdx,io8253moval,166;此处数值可以依据具体情况进行调整outdx,almovdx,io8255outtest: ;用查询方式查看8255PA0口是否有高

7、电平输入(即8253是否计时结束)inal,dxtestal,01hjzouttestpopdxretdelayendp;功能说明:打印si里的字符串printproc nearpushaxpushbxpushdxprint_start:movbl,sicmpbl,$jzprint_end;由于int中断指令存在于windows操作系统,;而本实验中所使用电路相当于一个裸机,;因而不能调用int中断,;只能通过使用软件中所提供的器件虚拟终端来实现外部中断(键盘输入)功能wait8251:movdx,io8251cinal,dxandal,1jzwait8251movdx,io8251outdx

8、,almoval,bloutdx,alincsijmpprint_startprint_end:popdxpopbxpopaxretprintendp;将终端输入字符读入alscanproc nearpushdxscan_wait:movdx,io8251cinal,dxandal,2jzscan_waitmovdx,io8251inal,dxpopdxretscanendpcode ends end start编译代码:首先要在系统中安装ML615,安装完成后按windows+R键打开命令提示符窗口,在窗口中输入以下代码:然后点击回车,即对所编写的recordtest.asm源文件进行编译,

9、生成一个recordtest.exe文件并存放到e:ML615文件夹中:3.运行可执行文件(机器代码)打开电路图,右键点击8086芯片,选择Edit Component选项,如下所示:在Program File一栏点击文件型按钮,输入需要运行的源代码的地址,点击0K即可。在本例中,源代码地址为E:ML615recordtest.exe点击proteus左下角三角形按钮,即可运行代码,如下所示:在本次试验中,我们录音的声源是方波,其频率为300Hz,录音、放音时的效果如下所示:实验总结: 我们组的4位同学都是准备考研的,做这次试验的时间比较紧张,我们都是利用比较零散的时间做,因此整个进度断断续续。中间也遇到了不少的问题,比如原先硬件平台上可以屏显的效果如何在proteus环境下实现、按键中断如何实现、硬件地址如何确定、编译后的代码如何调试等等。不过,经过大家的努力,我们最终还是完成了这次课程设计。在整个过程中,我们感觉收获最大的一点是,通过整个硬件模拟平台从搭建到运行代码的过程,我们重新回顾了有关计算机组成原理、操作系统和计算机网络的很多相关知识点,并且这次课程设计为我们提供了难得的实践机会,使我们对计算机的整个体系组织有了更为直观的理解,有利于我们更好的复习相关课程。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!