《单片机8255控制交通灯实验(4页).doc》由会员分享,可在线阅读,更多相关《单片机8255控制交通灯实验(4页).doc(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-单片机8255控制交通灯实验-第 4 页集 美 大 学计 算 机 工 程 学 院实 验 报 告课程名称单片机原理、接口及应用实验名称8255控制交通灯实验实验类型设计型姓名学号日期地点成绩教师评语:与要求1) 了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。2) 熟悉8255内部结构与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。3) 认真预习本实验内容,尝试自行编写程序,填写实验报告。STAR系列实验仪一套,PC机一台星研集成环境1.编写程序:使用8255的PA0.2、PA
2、5.7控制LED指示灯,实现交通灯功能。2.连接线路验证8255的功能,熟悉它的使用方法。1)实验原理图2) 实验装置的连线说明B4区:CS、A0、A1A3区:CS1、A0、A1B4区:JP56(PA口)G6区:JP655.实验扩展及思考1.如何对8255的PC口进行位操作? 答:8255的控制字中,D7位为1时表示方式选择,D7位为0时,表示对C口进行置为/复位。C口共有8个二进制位,控制字中的D3、D2、D1三位的编码与C口的某一位对应,而对指定位进行的操作则由D0确定。如:D0=0时,D3、D2、D1分别为1、0、1,则C口的第五位PC5置0;若D0=1时,D3、D2、D1分别为0、0、
3、1,则C口的第一位PC1置1。在控制字中D6、D5、D4是无效位。 在实验中,由于对于片选端口所对应的地址不是很熟悉,使得程序运行结果出错;经过翻阅实验书,找到了片选区中各个片选口所对应的端口地址,改正之。附件1. 程序流程图 开始8255初始化(PA口输出)0FF-PA(等全灭)东西绿灯亮,南北红灯亮,延时5秒东西绿灯亮,南北红灯闪烁6次东西黄灯亮,南北红灯亮,延时3秒秒东西红灯亮,南北绿灯亮,延时5秒东西红灯亮,南北绿灯闪烁6次东西红灯亮,南北黄灯亮,延时3秒秒2. 汇编语言源程序 ORG 0000H LJMP START START: MOV DPTR,#03FFH MOV A,#80H
4、 MOVX DPTR,AS1: MOV A,#01111101B MOV DPTR,#00FFH MOVX DPTR,A ;东西绿灯亮,南北红灯亮 CALL DELAY5S ;5秒延时 MOV R0,#6 L: MOV A,#01111101B ;东西绿灯亮,南北红灯亮,绿灯开始闪烁6次 MOV DPTR,#00FFH MOVX DPTR,A CALL DELAY1S MOV A,#11111101B ;东西绿灯灭,南北红灯亮 MOV DPTR,#00FFH MOVX DPTR,A CALL DELAY1S DEC R0 DJNE R0,L MOV A,#10111101B ;东西黄灯亮,南北
5、红灯亮 MOV DPTR,#00FFH MOVX DPTR,A CALL DELAY3S ;3秒延时 MOV R1,#6LL:MOV A,#11010111B ;东西红灯亮,南北绿灯亮,南北绿灯闪烁6次 MOV DPTR,#00FFH MOVX DPTR,A CALL DELAY5S MOV A,#11011111B ;东西红灯亮,南北绿灯灭 MOV DPTR,#00FFH MOVX DPTR,A CALL DELAY1S DEC R1 DJNE R1,LL MOV A,#11011011B ;东西红灯亮,南北黄灯亮 MOV DPTR,#00FFH MOVX DPTR,A CALL DELAY3S LJMP S1 ;跳转到状态S1状态,循环DELAY5S: ;延时5秒 MOV R7,#100L0: MOV R6,#100L1: MOV R5,#248 DJNZ R5,$ DJNZ R6,L1 DJNZ R7,L0 RETDELAY3S: ;延时3秒 MOV R7,#60L4: MOV R6,#100L5: MOV R5,#248 DJNZ R5,$ DJNZ R6,L5 DJNZ R7,L4 RETMOV R3,#10L2: MOV R2,#100L3: MOV R1,#248 DJNZ R1,$ DJNZ R2,L2 DJNZ R3,L3 RET END
限制150内