8255红绿灯实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
集美大学
计算机工程学院实验报告
课程名称微机系统与接口技术
实验名称8255可编程并行接口实验
实验类型设计型
姓名翁龙学号2010810117
日期11.1 地点克立楼
成绩教师傅永钢洪玉玲
第1页共6页
1. 实验目的及内容
1.1实验目的
1)了解8255芯片工作原理。学会使用8255并行接口芯片实现数据的I/O操作或各种控制技术。
2)熟悉8255内部结构和与8088的接口逻辑。
3)掌握8255的初始化。
1.2实验内容
设计8255与8086CPU的硬件连接图,分配8255的基地址为0F000H。
1)8255控制交通灯
本设计用LED来模拟交通灯。
交通灯的过程:
东西向的绿灯、南北向的红灯亮5秒。
东西向的绿灯灭、南北向的红灯亮,在此时间段中东西向的黄灯闪烁5次,每次亮0.5秒,灭0.5秒.
南北向的绿灯、东西向的红灯亮点秒
南北向的绿灯灭,东西向的红灯亮,在此时间段中南北向的黄灯闪烁5次,每次亮0.5秒,灭0.5秒。
按此规则重复
2. 实验环境
星研环境
3. 实验方法
通过对端口的定义来实现数据的输入输出
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
BUFFER DB 8 DUP(?)
Counter DB ?
ReDisplayFlag DB 0
.CODE
; 程序段开始
START: MOV AX,@DATA
MOV DS,AX
ORG 0000H ;定义起始地址
MOV AL,CTRLW ;送控制字
MOV DX,CTRLPOT ;DX存控制字端口地址
OUT DX,AL ;把控制字送控制字端口
AG: ;循环亮灯
MOV AL,EWGSNR ;东西向绿灯亮,南北向红灯亮MOV CX,10 ;灯亮5秒
CALL LAMP ;使灯亮
MOV CX,5
LAB1: PUSH CX
MOV AL,EWYSNR ; 东西黄灯亮,南北红灯亮
MOV CX,1 ;亮0.5秒
CALL LAMP
MOV AL,SNR ;黄灯灭
MOV CX,1 ;灭0.5秒
CALL LAMP
POP CX
LOOP LAB1
MOV AL,SNGEWR ;南北绿,东西红亮
MOV CX,10 ;亮5秒
CALL LAMP
MOV CX,5 ;循环亮5次
LAB2: PUSH CX
MOV AL,EWRSNY ;东西红灯南北黄灯亮
MOV CX,1 ;亮0.5秒
CALL LAMP
MOV AL,EWR ;黄灯灭
MOV CX,1 ;灭0.5秒
CALL LAMP
POP CX
LOOP LAB2
JMP AG
DELAY PROC NEAR
; 延长时间子函数,CX=1时,延迟0.5秒
;CX=10时,延迟5秒
AG1: PUSH CX
MOV CX,08178H
T: LOOP T
POP CX
LOOP AG1
RET
DELAY ENDP
LAMP PROC NEAR
;灯亮函数,
;AL存亮哪些灯的信息
;如,AL为EWRSNR时为东西向绿灯亮,南北向红灯亮
;CX为亮灯时长,
MOV DX,BPOT ;B端口地址
OUT DX,AL ;使灯亮
CALL DELAY ;灯亮时长
RET
LAMP ENDP
;子程序结束
END START ;程序段结束
4.4运行调试程序
5. 实验结论及分析
通过这次课程设计,加强了我的手动,思考和分析解决问题的能力。在整个设计过程中,我们按照老师给出的总体方案设计了一套电路原理和电路连接图。通过查阅各方面资料我们编写了程序代码,并通过了调试,最终证实了该系统方案确实可行。
附件
1.程序流程图