微机原理实验4
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生实验报告
学院:软件与通信工程学院
课程名称:微机原理与接口技术
专业班级:电信141班
姓名:
学号:
学生实验报告(1)
一、实验综述
1、实验目的及要求
(1)实验目的
1.加深对锁存器和缓冲器的基本原理的了解;
2.掌握I/O口编程的基本方法;
3.掌握基本I/O口的扩展方法及编程方法。
(2)实验要求
实验原理:
实验原理图如图所示,锁存器74LS373与发光二极管LED1~LED8; 缓冲器74LS245与K1~K8开关相连,本实验为模拟灯亮暗实验,开关闭合对应LED亮。
实验要求:
1、编写程序使开关Ki闭合时,对应LEDi灯亮;
2、编写程序:开关K8闭合时,实现八个LED灯从上到下循环点亮;K8断开停止循环;
3、编写程序实现八个LED灯从两边到中间,从中间到两边循环点亮,按下K1停止循环。
2、实验仪器、设备或软件
电脑,Masm for windows集成实验环境共享版2015,DOSBOX,proteus 7 professional
二、实验过程(实验步骤、记录、数据、分析)
实验步骤:
1、按图连好实验线路,分析电路中输入和输出端口的地址。
2、编写程序、调试生成.EXE文件,加载到仿真电路CPU8086中,运行Proteus。
3、观察电路运行判断是否实现程序功能,并完善程序。
实验1:
DATAS SEGMENT
;此处输入数据段代码
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV DX,600H ;IO3#的地址为600H
L1:
IN AL,DX ;读输入口的开关状态
NOT AL ;取反
OUT DX,AL;写输出口,使对应LED灯点亮
JMP L1
MOV AH,4CH
INT 21H
CODES ENDS
END START
实验2:
DATA SEGMENT
TAB DB 81H,42H,24H,18,24H,42H,81H;此处输入数据段代码DATA ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV DX,600H
MOV AH,01H
LP1:MOV AL,AH
OUT DX,AL
MOV CX,2801H
WAIT1:NOP
NOP ;延时
LOOP WAIT1
MOV DX,600H
WAIT2:IN AL,DX
TEST AL,01H
JNZ WAIT2
ROL AH,1
JMP LP1
MOV AH,4CH
INT 21H
CODES ENDS
END START
实验3:
DATA SEGMENT
TAB DB 81H,42H,24H,18H,24H,42H,81H DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV DX,600H
LEA BX,TAB
LP1: MOV AH,0
LP2: MOV AL,AH
XLAT;(BX+AL)--AL
OUT DX,AL
MOV CX,2801H
WAIT1:NOP
NOP
LOOP WAIT1
MOV DX,600H
IN AL,DX
TEST AL,80H
JZ EXIT
INC AH
CMP AH,07H
JZ LP1
JMP LP2
EXIT: MOV AH,4CH INT 21H CODE ENDS
END START
三、结论
1、实验结果
把程序调试生成的.EXE 文件,加载到仿真电路CPU8086中,运行Proteus 。
实验1:
IO3
WR 开关K3闭合时,对应LED3灯亮
14
15
17
74154
实验2:
开关K8闭合时,实现八个LED灯从上到下循环点亮:
K8断开停止循环:
实验3:
八个LED 灯从两边到中间,从中间到两边循环点亮:
E118E2
19
566778899101011111312141315141615
17
1213
12
U8:A
7427
E2
19
6778899101011111312141315141615
17
1213
12
U8:A
7427
1415
17
1213
7427