微机原理与接口技术
实验报告
班
级:
通信 xxxx
姓
名:
xxxx
学
号:
1xxxxx
授课教师: xxxx 老师
第
第 PAGE 页 共 42 页
目录
1. 实验一3
2. 实验二9
3. 实验三15
4. 实验四23
5. 实验五29
6. 实验六38
一.实验目的
实验一 交通灯控制实验
通过应用接口技术设计十字路口、复杂路口交通灯控制系统,学会应用“微机原理与接 口技术”课程所学的 X86 汇编语言和接口技术掌握可编程并行接口芯片的硬件设计、软件编 程,实现十字路口交通灯的模拟控制并思考计算机如何应用在各种控制系统中。
(1)掌握利用 X86 汇编语言技巧
(2)掌握 X86 微处理器与可编程并行接口芯片 8255A 硬件电路设计
(3)熟悉模拟交通灯控制的实现方法并思考如何应用在实际中。
二.实验内容
1.基本功能: 设计一个交通控制系统,该控制系统工作后,交通灯按照如下规律变化:
(1)南北路口的绿灯、东西路口的红灯同时亮 3 秒左右。
(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。
(3)南北路口的红、东西路口的绿灯同时亮 3 秒。
(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。
(5)返回(1)依次循环。 2.思考扩展功能:
(1)如遇到特殊情况,可拨动应急开关,使各项均为红灯,特殊车辆不受红灯限制,使其 顺利通过后拨动另一个开关,系统返回继续运行
(2)用 LED 应倒计时方式显示各路口灯亮时间
(3)对于多路口联网应该如何设计。
三.实验电路
如下图,L7、L6、L5 作为南北路口的交通灯与 PC7、PC6、PC5 相连,L2、L1、L0 作为 东西路口的交通灯与 PC2、PC1、PC0 相连。编程使六个灯按交通灯变化规律燃灭。
8255 动态分配地址: 控制寄存器:0EC0BH A 口地址: 0EC08H
C 口地址:0EC0AH
四.程序流程图
五.源程序
CODE SEGMENT ASSUME CS:CODE
;********************************** 工作状态控制字设置
START: MOV DX,0EC0BH;写控制端口,地址0EC0BH MOV AL;C口方式0输出
OUT DX,AL
;**********************************南北路口绿灯亮,东西路口红灯亮 FIRST: MOV DX,0EC0AH;写PC口,地址0EC0AH
MOV AL;南北绿,东西红,PC口OUT DX,AL
;两层嵌套实现长延时
MOV CX,0;外层循环送入初值65536
MOV AX,2000H;内层循环送入初值2000H DELAY1:DEC AX
JNZ DELAY1 LOOP DELAY1
;**********************************南北路口黄灯闪烁,东西路口红灯亮 MOV BL,5;BL控制黄灯亮的次数5次
SECOND:MOV DX,0EC0AH MOV AL
OUT DX,AL;南北黄,东西红
MOV CX,3000H MOV AX,0100H
LI1:
DEC AX JNZ LI1 LOOP LI1
第
第 PAGE 页 共 42 页
MOV DX,0EC0AH;短延时
MOV AL;南北路口黄灯先灭 OUT DX,AL
MOV CX,3000H MOV AX,0100H
WEN1:
DEC AX
JNZ WEN1;短延时
LOOP WEN1 DEC BL
JNZ SECOND;南北路口黄灯再亮
;**********************************南北路口红灯亮,东西路口绿灯亮 THIRD: MOV DX,0EC0AH;写入C口
MOV AL
OUT DX,AL;南北红,东西绿
MOV CX,0;长延时
MOV AX,2000H
DELAY2:DEC AX JNZ DELAY2 LOOP DELAY2
MOV BL,4;控制黄灯亮的次数
FORTH: MOV DX,0EC0AH;写入C口 MOV AL
OUT DX,AL;南北红,东西黄 MOV CX,3000H
MOV AX,0100H
LI2:
DEC AX
JNZ LI2;短延时
LOOP LI2
;**********************************南北路口红灯亮,东西路口黄灯闪烁 MOV DX,0EC0AH
MOV AL
OUT DX,AL;东