计算机输入输出系统
接口实验报告
姓名:
学号:
东南大学计算机科学与工程学院、软件学院
School of Computer Science & Engineering
College of Software Engineering
Southeast University
二 0
15 年 6 月
实验一 环境熟悉与 I/O 地址译码
一、实验目的
掌握I/O地址译码电路的工作原理。
二、实验内容
将接口实验包中所带的 EX-138.DSN 文件用 ISIS 7 打开。改变 A9~A3 的接线方法,从
而得到 Y0;388H~38FH;Y1:398H~39FH; ……;Y7:3F8H~3FFH。并修改上一问的程
序,以同样使得 Y4#有效。
1)源程序
.8086
.MODEL SMALL
.stack
.data
address word 3c8h
.code
start:
mov ax,@data
mov ds,ax
mov dx,address
mov al,0
out dx,al
jmp $;死循环
END start
2)电路原理图(138 译码部分)
Y0:388H~38FH;Y1:398H~39FH; ……;Y7:3F8H~3FFH
A9 A8 | A7 A6 A5 A4 | A3 A2 A1 A0
1
X
1
B
1
C
A
1
X
X
.1.
3)运行结果贴图(138 译码及上面两个 273 的输出)
Y4#有效为 3C8H~3CFH 时
实验三 可编程定时器计数器 8253
一、实验目的
掌握8253的基本工作原理、编程方法及其应用。
二、实验内容
.2.
二)信号发生器
1)源程序
.8086
.MODEL SMALL
.STACK
.DATA
.CODE
START:
MOV AL,00110111B
MOV DX,226H
OUT DX,AL
MOV AX,1000H
MOV DX,220H
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV AL,01110111B
MOV DX,226H
OUT DX,AL
MOV AX,1000H
MOV DX,222H
OUT DX,AL
MOV AL,AH
OUT DX,AL
MOV AL,10010111B
MOV DX,226H
OUT DX,AL
MOV AL,05H
MOV DX,224H
OUT DX,AL
JMP $
END START
2)接线原理图
.3.
实验五 七段数码管实验
一、实验目的
掌握数码管显示数字的原理,进一步复习8255的应用。
二、实验内容
1. 动态显示。
1)源程序
.8086
.MODEL SMALL
.STACK
.DATA
DATA1 BYTE 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
DATA2 BYTE ?
.CODE
START:
MOV AX,@DATA
MOV DS,AX
MOV AL,10001001B
MOV DX,206H
OUT DX,AL
LP:
MOV DX,204H
IN AL,DX
MOV DATA2,AL
AND AL,0F0H
MOV CL,4
SHR AX,CL
MOV BX,OFFSET DATA1
XLAT
MOV BL,AL
MOV AL,00000010B
MOV DX,202H
OUT DX,AL
MOV AL,BL
MOV DX,200H
OUT DX,AL
MOV CL,64H
LOOP $
MOV AL,DATA2
AND AL,0FH
.4.
MOV BX,OFFSET DATA1
XLAT
MOV BL,AL
MOV AL,00000001B
MOV DX,202H
OUT DX,AL
MOV AL,BL
MOV DX,200H
OUT DX,AL
MOV CL,64H
LOOP $
JMP LP
JMP $
END START
2)接线原理图
.5.
实验六 交通灯控制实验
一)实验目的
通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用和中断
的使用。
二)交通灯变化规律
十字路口交通灯的变化规律要求
1) 南北路口的绿灯、东西路口的红灯同时亮10秒,然后
2) 南北路口的黄灯闪烁2次(闪烁周期2秒),同时东西路口的红灯继续亮,然后
3) 南北路口的红灯、东西路口的绿灯同时亮10秒,然后
4) 南北路口的红灯继续亮,同时东西路口的黄灯2次(闪烁周期2秒),然后
5) 转1重复。
三)实验内容
1. 红黄绿三色交通灯控制。将接口实验包中所带的EX-825X-1.DSN文件用ISIS 7打开,
将D6、D5、D4作为南北路口的交通灯与PA7、PA6、PA5相连;D3、D2、D1作为东
西路口的交通灯与PA2、PA1、PA0相连(方式0)。利用8253产生1秒的中断信号(系统已
经为CLK0提供了一个1MHz的时钟输入),在中断处理程序中用程序处理10秒延迟和
两次黄灯闪烁的问题。编程使六个灯按交通灯变化规律燃灭。
1)源程序
.8086
.MODEL SMALL
.STACK
.DATA
COUNT1 DB 0AH
COUNT2 DB 04H
COUNT3 DB 0AH
COUNT4 DB 04H
STATE DB 10000001B,01000001B,00100100B,
00100010B,00000001B,00100000B
INDEX DB 00H
.CODE
INT0 PROC FAR
PUSH SI
PUSH AX
PUSH DX
PUSH DS
MOV AX,@DATA
MOV DS,AX
MOV BL,INDEX
.6.
CMP BL,05H
JZ S4
CMP BL,04H
JZ S2
CMP BL,03H
JZ S4
CMP BL,02H
JZ S3
CMP BL,01H
JZ S2
S1:
S2:
S3:
MOV BL,COUNT1
CMP BL,0
JZ S2
DEC BL
MOV COUNT1,BL
MOV INDEX,00H
MOV COUNT4,04H
JMP EXIT
MOV BL,COUNT2
CMP BL,0
JZ S3
CMP BL,03H
JZ S5
CMP BL,01H
JZ S5
DEC BL
MOV COUNT2,BL
MOV INDEX,01H
MOV COUNT1,0AH
JMP EXIT
MOV BL,COUNT3
CMP BL,0
JZ S4
DEC BL
MOV COUNT3,BL
MOV INDEX,02H
MOV COUNT2,04H
JMP EXIT
.7.