微机接口实验 实验报告
姓名: 学号: 班级:
1
目录
实验一 交通灯控制实验 ---------------------------------------------------------1
实验二
实验三
实验四
实验五
实验六
可编程定时器/计数器(8253)-----------------------------------------5 中断 --------------------------------------------------------------------------9 模/数转换器 -------------------------------------------------------------15 PC机串行通讯实验 ----------------------------------------------------18 竞赛抢答器 --------------------------------------------------------------24
2
实验一 交通灯控制实验
一、 实验目的
通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用。
二、实验内容
如图1,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。
L7L6L5L2L1L0 PC7 PC6 PC5 PC2 PC1 PC0 288H—28FHCS 8255 图1
十字路口交通灯的变化规律要求:
(1) 南北路口的绿灯、东西路口的红灯同时亮3秒左右。
(2) 南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。 (3) 南北路口的红灯、东西路口的绿灯同时亮3秒左右。
(4) 南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。 (5) 转(1)重复。
8255动态分配地址:
控制寄存器: 28BH 0EC0BH A口地址: 288H 0EC08H C口地址: 28AH 0EC0AH
三、参考流程
1
开始设置8255A口输出C口输出 南北路口绿灯亮,东西路口红灯亮长延时 南北路口黄灯闪,东西路口红灯亮 南北路口红灯亮,东西路口绿灯亮长延时 南北路口红灯亮,东西路口黄灯闪是否有键按下返回DOS图2
四、源程序及注释
源程序:
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX,0EC0BH
MOV AL,10010000B ;C口方式0输出,A口输入 OUT DX,AL
FIRST: MOV DX,0EC0AH
MOV AL,00100100B
OUT DX,AL ;南北绿,东西红写入C口 MOV CX,0 ;送入初值65536
MOV AX,4000H ;软件长延时,由经验值确定 DELAY1: DEC AX JNZ DELAY1 LOOP DELAY1
MOV BL,4 ;控制黄灯亮的次数 SECOND:MOV DX,0EC0AH MOV AL,01000100B
2
OUT DX,AL ;南北黄,东西红 MOV CX,3000H
MOV AX,0100H LI1:
DEC AX JNZ LI1 LOOP LI1
MOV DX,0EC0AH ;软件短延时 MOV AL,00000100B ;南北黄灭 OUT DX,AL MOV CX,3000H MOV AX,0100H WEN1:
DEC AX
JNZ WEN1 LOOP WEN1
DEC BL
JNZ SECOND THIRD: MOV DX,0EC0AH MOV AL,10000001B
OUT DX,AL MOV CX,0
MOV AX,4000H
DELAY2: DEC AX JNZ DELAY2
LOOP DELAY2 MOV BL,4 FORTH: MOV DX,0EC0AH MOV AL,10000010B
OUT DX,AL MOV CX,3000H MOV AX,0100H LI2:
DEC AX
JNZ LI2 LOOP LI2 MOV DX,0EC0AH
MOV AL,10000000B
OUT DX,AL MOV CX,3000H MOV AX,0100H WEN2:
DEC AX JNZ WEN2
;软件短延时 ;黄灯闪烁4次 ;写入C口
;南北红,东西绿 ;软件长延时 ;控制黄灯亮的次数 ;写入C口 ;南北红,东西黄 ;软件短延时 ;东西黄灭 3