- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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时,延时最大
您可能关注的文档
最近下载
- 2025年广东东莞农村商业银行春季校园招聘笔试历年典型考题及考点剖析附带答案详解.docx
- 制浆车间生产初步技术方案(桉木).docx VIP
- 部编三年级上册语文第二单元主题阅读.doc VIP
- ARKInvestBigIdeas2025-歌者PPT中文校对版.pdf VIP
- 新中国55年统计资料汇编-全国篇.doc VIP
- 2025西双版纳供电局及所属县级供电企业项目制用工招聘(14人)笔试参考题库附答案解析.docx VIP
- (三十六计.docx VIP
- 2025年10月全国自考《马克思主义基本原理概论》真题及答案 .pdf VIP
- 大数据数据资产价值评估.pdf VIP
- 钟君申论笔记.doc VIP
文档评论(0)