资源描述
集 美 大 学计 算 机 工 程 学 院实 验 报 告课程名称单片机原理、接口及应用实验名称8255控制交通灯实验实验类型设计型姓名学号日期地点成绩教师评语:1.实验目的与要求1) 了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧。学会使用8255并行接口芯片实现各种控制功能,如本实验(控制交通灯)等。2) 熟悉8255内部结构与单片机的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式。3) 认真预习本实验内容,尝试自行编写程序,填写实验报告。2.实验设备STAR系列实验仪一套,PC机一台3.实验环境星研集成环境4.实验内容1.编写程序:使用8255的PA0.2、PA5.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、1,则C口的第一位PC1置1。在控制字中D6、D5、D4是无效位。6.实验中遇到的困难及解决方法 在实验中,由于对于片选端口所对应的地址不是很熟悉,使得程序运行结果出错;经过翻阅实验书,找到了片选区中各个片选口所对应的端口地址,改正之。附件1. 程序流程图 开始8255初始化(PA口输出)0FF-PA(等全灭)东西绿灯亮,南北红灯亮,延时5秒东西绿灯亮,南北红灯闪烁6次东西黄灯亮,南北红灯亮,延时3秒秒东西红灯亮,南北绿灯亮,延时5秒东西红灯亮,南北绿灯闪烁6次 东西红灯亮,南北黄灯亮,延时3秒秒2. 汇编语言源程序 ORG 0000H LJMP START START: MOV DPTR,#03FFH MOV A,#80H 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 ;东西黄灯亮,南北红灯亮 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 RETDELAY1S: ;延时0.5秒MOV R3,#10L2: MOV R2,#100L3: MOV R1,#248 DJNZ R1,$ DJNZ R2,L2 DJNZ R3,L3 RET END
展开阅读全文