微机原理报告08班19号王绪东.docVIP

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

微原硬件实验报告 班级班 学号 班内序号:19 姓名:王绪东 实验一 熟悉实验环境及IO的使用 实验目的 1. 通过实验了解和熟悉实验台的结构,功能及使用方法。 2. 通过实验掌握直接使用 Debug 的 I、O 命令来读写 IO 端口。 3. 学会 Debug 的使用及编写汇编程序 二,实验内容 1. 学习使用 Debug 命令,并用 I、O 命令直接对端口进行读写操作, 2.用汇编语言编写跑马灯程序。(使用 EDIT 编辑工具)实现功能 A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度等)。 B.通过输出端口控制灯的工作状态(低电平灯亮) 三,实验步骤 1.实验板的 IO 端口地址为 EEE0H 在 Debug 下, I 是读命令。(即读输入端口的状态---拨码开关的状态) O 是写命令。(即向端口输出数据---通过发光管来查看) 进入 Debug 后, 读端口 拨动实验台上八位拨码开关 输入 I 端口地址回车 屏幕显示 xx 表示从端口读出的内容,即八位开关的状态 ON 是 0,OFF 是 1 写端口 输入 O 端口地址 xx (xx 表示要向端口输出的内容)回车 查看实验台上的发光二极管状态,0 是灯亮,1 是灯灭。 2. 在 Debug 环境下,用 a 命令录入程序,用 g 命令运行 CDebug -a mov dx, 端口地址 mov al,输出内容 out dx, al mov ah, 0bh int 21h or al, al jz 0100 int 20h -g 运行查看结果 ,修改输出内容 再运行查看结果 分析 mov ah, 0bh int 21h or al, al jz 0100 int 20h 该段程序的作用 3.利用 EDIT 工具编写汇编写跑马灯程序程序 实现功能 A.通过读入端口状态(ON 为低电平),选择工作模式(灯的闪烁方式、速度等)。 B.通过输出端口控制灯的工作状态(低电平灯亮) CEDIT 文件名.asm 录入程序 按 Alt 键 打开菜单 进行存盘或退出 编译文件 CMASM 文件名.asm 连接文件 CLINK 文件名.obj 运行文件 或用 Debug 进行调试。 四,程序流程图 图表 1:实验1的程序流程图 五,源程序代码 assume cs:code,ds:data data segment count dw 0 data ends code segment init: mov dx,data mov ds,dx mov dx,0eee0h mov bh,0feh begin: in al,dx mov bl,al ;将al暂存在bl中 test al,80h ;第七位为暂停键 jz begin test al,40h ;第六位控制左右移动 jz rightm leftm: mov al,bh out dx,al call delay rol al,1 mov bh,al mov ah,0bh ;调用0B中断,检测是否有按键,有按键则退出,否则跳至start int 21h or al,al jz begin mov ax,4c00h int 21h rightm: mov al,bh out dx,al call delay ror al,1 mov bh,al mov ah,0bh ;调用0B中断,检测是否有按键,有按键则退出,否则跳至start int 21h or al,al jz begin mov ax,4c00h int 21h delay proc and bl,3fh ;用al的后面六位控制延时时间 mov cl,bl xor ch,ch add cx,1 ;当cl为0时,循环次数会变成0FFFFH,故需要对cx进行+1处理 s1: mov count,cx mov cx,0ffffh s2: nop loop s2 mov cx,count loop s1 ret delay endp exit: mov ax,4c00h int 21h code ends end init 六,实验中遇到的问题及解决方法 一,由于这时第一次做微机原理硬件实验,一开始感到比较茫然,对in和out命令的使用不大熟练,之后通过翻阅教材,查看in和out命令的使用方法,编出了程序,之后主要剩下的问题主要是调试cx的值,使得LED便于观察。 二,本实验采用低六位控制延时,低六位越大,跑灯越慢,但当低六位为0时,延时最大

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档