- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微原硬件实验报告-北邮
微原硬件实验报告
实验一 实验平台介绍及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 进行调试。
四、程序流程图
五、程序代码
DATA SEGMENT
LED DB 0EFH ;跑马灯选通一个灯亮
DATA ENDS
STACK SEGMENT STACK STACK
DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START PROC FAR
PUSH DS
XOR AX,AX
PUSH AX ;程序结束返回DOS功能
MOV AX,DATA
MOV DS,AX
MOV DX,0EEE0H ;实验板IO端口
LOOP0: IN AL,DX
MOV AH,AL
AND AL,80H ;低7位置零
XOR AL,80H ;检测D7位
JZ LOOP4 ;D7为1时不执行程序
MOV AL,AH
AND AL,40H
XOR AL,40H
JZ LOOP2 ;检测D6位,控制跑马灯方向
ROL LED,1 ;D6=0时左移
JMP LOOP3
LOOP2: ROR LED,1 ;D6=1时右移
LOOP3: AND AH,3FH ;D7、D6置零
MOV CL,AH ;低六位的数值赋给CX
MOV CH,0
MOV AL,LED
OUT DX,AL ;点亮LED
INC CX
LOOP1: CALL DELAY
LOOP LOOP1 ;通过调用延时循环次数实现跑马灯速度调节
JMP LOOP0
LOOP4: RETF ;再次检测
START ENDP
DELAY PROC ;延时子程序,100000H次循环
PUSH CX ;CX入栈保存
MOV CX,800H
DELAY1:
文档评论(0)