实验报告二 模拟交通灯实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验报告二模拟交通灯实验
序号:5 姓名: 学号:11121549
一、实验目的
1. 学习在PC机系统中扩展简单I/O 接口的方法。
2. 进一步学习编制数据输出程序的设计方法。
3. 学习模拟交通灯控制的方法。
二、实验内容
用8255做输出口,控制十二个发光管(4组红绿黄灯)的亮灭,模拟十字路口交通灯管理。
三、电路图
四、实验程序框图
五、编程
CODE SEGMENT
ASSUME CS:CODE
ORG 1200H
START: MOV AL,80H
MOV DX,PTD
OUT DX,AL ;设置8255各口为输出模式,工作在方式0
MOV DX,PTB
MOV AL,0FFH
OUT DX,AL ;所有黄灯熄灭
MOV DX,PTC
MOV AL,0F0H
OUT DX,AL ;所有红灯全亮
CALL DELAY3 ;延时
LOP: MOV AL,10100101B
MOV DX,PTC
OUT DX,AL ;点亮1,3路口绿灯,点亮2,4路口红灯
CALL DELAY ;延时
MOV AL,11110101B
OUT DX,AL ;熄灭1,3路口绿灯
MOV CX,8H ;1,3路口黄灯灯闪烁8次
LOP1: MOV DX,PTB
MOV AL,10101111B
OUT DX,AL ;1,3路口黄灯亮
CALL DELAY2 ;延时
MOV AL,0FFH
OUT DX,AL ;1,3路口黄灯灭
CALL DELAY2 ;延时
LOOP LOP1 ;循环8次
MOV DX,PTC
MOV AL,0F0H
OUT DX,AL ;所有红灯全亮
CALL DELAY3 ;延时
MOV AL,01011010B
OUT DX,AL ;点亮2,4路口绿灯,点亮1,3路口红灯
CALL DELAY ;延时
MOV AL,11111010B
OUT DX,AL ;熄灭2,4路口绿灯
MOV CX,8H ;2,4路口黄灯灯闪烁8次
LOP2: MOV DX,PTB
MOV AL,01011111B
OUT DX,AL ;2,4路口黄灯亮
CALL DELAY2
MOV AL,0FFH
OUT DX,AL ;2,4路口黄灯灭
CALL DELAY2
LOOP LOP2
MOV DX,PTC
MOV AL,0F0H
OUT DX,AL ;所有红灯亮
CALL DELAY3
JMP LOP
DELAY: PUSH AX ;延时子程序1
PUSH CX
MOV CX,0030H
L1: CALL DELAY2
LOOP L1
POP CX
POP AX
RET
DELAY2: PUSH CX ;延时子程序2
MOV CX,0D000H
L2: LOOP L2
POP CX
RET
DELAY3: PUSH CX ;延时子程序3
MOV CX,0FFFFH
L3: LOOP L3
POP CX
RET
CODE ENDS
END START
六、调试过程:
1. 按连线图连接好,检查无误后打开实验箱电源。
2. 在PC端软件开发平台上输入设计好的程序,编译通过后下载到实验箱。
3. 运行程序后,观察模拟交通管理灯是否按照设计的规律变化。
4. 运行不正常则需要检查连线,程序。一步步排查错误,修改程序,直到运行
程序正常。
七、心得体会:
通过此次实验,对单片机的I/O口的使用的条件有了更深的理解,对单片机的各个管脚功能的理解也加深了,以及在常用编程设计思路技巧的掌握方面也向前迈了一大步。这次的课程设计让我把单片机的理论知识应用在实践中,实现了理论和实践相结合
八、问答题:
1、8255A的哪个端口能实现位操作控制(按位置位/复位)?执行控制字写入操作的端口是哪个?
答:8255A的C端口0FFF4H能实现位操作控制即;
执行控制字写入操作的端口是控制端口0FF2B.
2、写出下图中Intel8255A占用的4个端口地址。
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
1 1 1 1 1 1 1 1 1 1 1 1 0 X X 0
A口地址:0FFF0H,B口地址:0FFF2H,C口地址:0FFF4H,D口地址:0FFF6H