- 0
- 0
- 约1.31万字
- 约 27页
- 2023-10-15 发布于湖北
- 举报
《微机原理实验》
课程实验研究性学习手册
姓名
学号
班级
微机教师
微机实验老师
时 间 2014年12月
上课时间 10-13周
实验一:I/O地址译码与交通灯控制实验
一、实验目的
掌握并行接口8255的基本原理
掌握8255的编程方法
掌握利用 X86 汇编语言技巧
二、实验内容
如图,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律燃灭。
三、编程提示
1、8255 控制寄存器端口地址 28BH
A 口的地址 288H
C 口的地址 28AH
2、十字路口交通灯的变化规律要求:
(1) 南北路口的绿灯、东西路口的红灯同时亮3秒左右。
(2) 南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。
(3) 南北路口的红灯、东西路口的绿灯同时亮3秒左右。
(4) 南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。
(5) 转(1)重复。
四、参考流程图
五、实验源程序
CODE SEGMENT
ASSUME CS:CODE
START: MOV DX, 0EC0BH ;8255初始化,写控制寄存器
MOV AL ;
OUT DX,AL
FIRST: MOV DX, 0EC0AH ;C口地址
MOV AL
OUT DX,AL ;南北绿,东西红,写入C口
MOV CX,0 ;送入初值65536(FFFF+1)
MOV AX,4000H ;软件长延时
DELAY1: DEC AX
JNZ DELAY1
LOOP DELAY1 ;双重循环
MOV BL,5 ;黄灯闪5次
SECOND:MOV DX, 0EC0AH
MOV AL
OUT DX,AL ;南北黄,东西红,写入C口
MOV CX,3000H ;写入初值
MOV AX,0100H ;延时
LI1:
DEC AX
JNZ LI1
LOOP LI1 ;双循环
MOV DX, 0EC0AH
MOV AL ;南北黄灭,写入C口
OUT DX,AL
MOV CX,3000H ;写入初值
MOV AX,0100H ;延时
WEN1: DEC AX
JNZ WEN1 ;软件短延时
LOOP WEN1
DEC BL
JNZ SECOND ;黄灯闪5次
THIRD: MOV DX, 0EC0AH ;写入C口
MOV AL
OUT DX,AL ;南北红,东西绿,写入C口
MOV CX,0 ;送初值65536
MOV AX,4000H ;软件长延时
DELAY2: DEC AX
JNZ DELAY2
LOOP DELAY2
MOV BL,5 ;黄灯闪5次
FORTH: MOV DX, 0EC0AH ;写入C口
MOV AL
原创力文档

文档评论(0)