北邮微机原理硬件实验-实验报告.docxVIP

北邮微机原理硬件实验-实验报告.docx

  1. 1、本文档共23页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

北邮微机原理硬件实验-实验报告

PAGE20

微机原理与接口技术

硬件实验报告

姓名:曹爽

学号:2013210640

班级:2013211124

2016年1月10日

目录

实验一:熟悉实验环境及IO的使用

实验目的

通过实验了解和熟悉实验台的结构、功能及使用方法。

通过实验掌握直接使用Debug的I、O命令来读写IO端口。

学会Debug的使用及编写汇编程序。

实验内容及要求

学习使用Debug命令,并用I、O命令直接对端口进行读写操作。

用汇编语言编写跑马灯程序。(使用EDIT编辑工具)实现功能。

A.通过读入端口状态(ON为低电平),选择工作模式(灯的闪烁方式、速度等)。

B.通过输出端口控制灯的工作状态(低电平灯亮)。

注意:电源打开时不得插拔电缆及各种器件。

连接电路时一定要在断电的情况下连接,否则可能会烧坏整个实验系统。

实验步骤

这里仅简要叙述利用EDIT工具编写汇编写跑马灯程序的步骤。

编写:C>EDIT文件名.asm

编译:C>MASM文件名.asm

连接:C>LINK文件名.obj

运行:C>文件名.exe

或用Debug进行调试。

程序流程图

图1.4.1程序流程图

源代码

CODESEGMENT

ASSUMECS:CODE

START:MOVAH,0FEH ;将初始灯设为右起第1灯亮

LOOP0:MOVDX,0EEE0H ;将I/O端口地址设为EEE0

INAL,DX ;从端口读入数据,提取拨码开关右起第3位状态

ANDAL,20H

CMPAL,20H

JNZSTOP ;若状态为‘0’,则保持位置不变,暂停

INAL,DX ;提取拨码开关右起第2位状态

ANDAL,40H

CMPAL,40H

JNZFAN ;若状态为‘0’,则右移亮灯位置

ROLAH,1 ;左移亮灯位置

STOP:JMPDISP

FAN:RORAH,1

DISP:MOVAL,AH

OUTDX,AL ;输出到端口,亮灯

MOVCX,8000H ;外循环次数

MOVBX,8000H ;内循环次数

LOOP1:DECBX

JNZLOOP1 ;内循环,BX减少到0

MOVBH,80H ;重设内循环次数80H次

INAL,DX

ANDAL,10H

CMPAL,10H ;提取拨码开关右起第4位状态

JNZS ;若为‘1’,则设置内循环次数为10H次

MOVBH,10H

S:LOOPLOOP1 ;外循环,CX减少到0

INAL,DX

ANDAL,80H

CMPAL,80H ;提取拨码开关右起第1位状态

JNZLOOP0 ;若为‘0’,则继续显示,否则结束程序

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

思考题

通过实验说明用debug中的a命令录入实验中给出的小程序中,有些语句可以不写出“h”字符的原因。

答:主要是出于数据辨认的角度。凡是十六进制数据都是要加H的,而地址则不用。这是由于编译时所能识别的数据有很多种,为了保证编译正常进行,必须要告诉编译器数据的类型。地址只有默认的16进制形式,不需指定类型就能完成正确的编译,所以无须加H。而在DEBUG环境下,它的默认数据格式就是十六进制的,所以就不需要写出“H”字符;否则通不过编译。

实验结果和心得体会

这次实验是我们第一次微原硬件实验,之前的一次软件实验让我们熟悉了DOS界面下的操作,由于间隔时间较长,这次我们又重新熟悉了一遍。并且,与软件实验不同,硬件实验是通过编程的方式作用于硬件实验板上,为此,我们首先熟悉了一下实验板,编写了一些简单的小程序控制实验板。在熟悉了I/O端口之后,我们开始编写跑马灯程序。并且能够通过拨码开关的选择,控制工作模式、速度、反向、暂停等功能。

这次实验的要点是对I/O接口译码电路的理解以及使用,我们通过测试,理解了地址与端口的对应情况,进而才能编写出跑马灯程序。

通过本次实验,我们掌握了地址译码电路的设计方法和实现原理,加深了对硬件的I/O接口技术的理解。实验中出现的一些问题,也成为我们调试程序的宝贵经验,为后续的实验打下了基础。

实验二:8255A并行接口应用

实验目的

掌握8255A的功能及方式0、1的实现。

熟悉8255A与CPU的接口,以及传输数据的工作原理及编程方法。

了解七段数码管显示数字的原理。

掌握同时显示多位数字的技术。

实验内容及要求

在实验一的基础上学习PIO芯片(8255)编程应用,熟悉平台的主要内容。CS用Y0(EE00H)。

(一)简要说明:

在方式0(输入/输出)下,以A口为输出口,B口为输出口,A

文档评论(0)

158****9567 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档