8255控制交通灯实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五:集美大学诚毅学院实验报告
课程名称:单片机原理及其接口技术
班级:计算1371
实验成绩:
指导教师:夏梦 姓名:方雅圣
实验项目名称:
8255控制交通灯实验 学号:201342051022
上机实践日期:
实验项目编号:
组号:
上机实践时间: 学时
一、实验目的与要求
1、 了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。
2、 熟悉8255内部结构和与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。
3、 认真预习本节实验内容,尝试自行编写程序,填写实验报告。
二、实验设备
STAR 系列实验仪一套、PC 机一台
三、实验内容
1、编写程序:使用8255的PA0、PA1、PA
2、PA4、PA5、PA6控制LED 指示灯,实现交通灯功能。 2、连接线路验证8255的功能,熟悉它的使用方法。
四、实验原理图
D034D133D232D331D430D529D628D727PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC7
10
RD 5WR 36A09A18RESET 35CS
6
8255
U36
D0D1D2D3D4D5D6D7WR
RD RST
A0
A1
PC5PC6PC7
PC2PC3PC4PC0PC1DS35DS36DS37DS38DS39DS40DS4112345678
VCC
DS42
A0A1
CS
CS1(0F000H)
510
R111510
R112
510R113510R114510R115510R116510R117510R118
绿 黄 红 绿
黄 红
(东
西)
(南北)
8255各端口地址: PA 口:7CFFH PB 口:F001H PC 口:F002H 控制口:7FFFH
五、实验步骤
2、观察实验结果,是否能看到模拟的交通灯控制过程。
六、实验软件流程图(见下页)
七、预习及实验报告要求:同实验三。
八、实验扩展及思考
1、如何对8255的PC口进行位操作?
8255控制交通灯程序流程图
1号灯:东西绿 2号灯:东西黄 3号灯:东西红
6号灯:南北绿 7号灯:南北黄 8号灯:南北红
实现代码:
ORG 0000H
LJMP START
START:
MOV DPTR,#03FFH
MOV A,#80H
MOVX @DPTR,A
S1: MOV A,#01111110B;1,8亮 0为亮
MOV DPTR,#00FFH
MOVX @DPTR,A ;东西绿灯亮,南北红灯亮 ; 东西绿灯,南北红灯(1、8号灯亮)LCALL DELAY5S ;5秒延时
MOV R0,#6
L: MOV A,#01111111B;8亮,1闪烁6次
MOV DPTR,#00FFH
MOVX @DPTR,A
LCALL DELAY1S
MOV A,#01111110B;1,8亮
MOV DPTR,#00FFH
MOVX @DPTR,A
LCALL DELAY1S
;DEC R0
DJNZ R0,L
MOV A,#01111101B;2,8亮
MOV DPTR,#00FFH
MOVX @DPTR,A
LCALL DELAY3S ;3秒延时
MOV A,#11011011B ;3,6亮
MOV DPTR,#00FFH
MOVX @DPTR,A
LCALL DELAY5S ;5s
MOV R0,#6
LL: MOV A,#11111011B ;3亮,6灭
MOV DPTR,#00FFH
MOVX @DPTR,A
LCALL DELAY1S ;0.5s
MOV A,#11011011B ;3亮,6亮
MOV DPTR,#00FFH
MOVX @DPTR,A
LCALL DELAY1S ;0.5s
;DEC R0;r1
DJNZ R0,LL;r1
MOV A,#10111011B
MOV DPTR,#00FFH
MOVX @DPTR,A
LCALL DELAY3S
LJMP S1 ;跳转到状态S1状态,循环DELAY5S:MOV R7,#100 ;延时5秒
L0: MOV R6,#100
L1: MOV R5,#248
DJNZ R5,$
DJNZ R6,L1
DJNZ R7,L0
RET
DELAY3S:MOV R7,#60 ;延时3秒
L4: MOV R6,#100
L5: MOV R5,#248
DJNZ R5,$
DJNZ R6,L5
DJNZ R7,L4
RET
DELAY1S:MOV R3,#10 ;延时0.5秒