《基于单片机8255交通灯》由会员分享,可在线阅读,更多相关《基于单片机8255交通灯(12页珍藏版)》请在金锄头文库上搜索。
1、8255控制交通灯一、实验目的了解8255芯片的结构及编程方法,学习模拟交通灯控制的实现方法。二、实验内容 用8255做输出口,控制十二个发光二极管燃灭,模拟交通灯管理。三、实验说明1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化情况和规律。假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1东西绿灯通车,南北红灯。过一段时间转状态2,东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再转状态3,南北绿灯通车,东西红灯。过一段时间转状态 4,南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。最后循环至状态1。四、实验程序框图五、实验接线图六、实验步骤8255 PA0PA
2、7、PB0PB3依次接发光二极管L1L12。以连续方式从0BB0H开始执行程序,初始态为四个路口的红灯全亮之后,东西路口的绿灯亮南北路口的红灯亮,东西路口方向通车。延时一段时间后东西路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪耀。闪耀若干次后,再切换到东西路口方向,之后重复以上过程。一 摘要: 本系统采用单片机、键盘、LED显示、交通灯演示系统组成。设计一个用于十字路口的车辆及行人的交通管理,系统包括左拐、右拐、及行基本的交通灯的功能,计时牌显示路口通行转换剩余时间,在出现紧急情况时可由
3、交通手动实现全路口车辆禁行而行人通行状态。另外,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行的状态,15s后系统自动恢复正常管理。其他还有 84s与60s通行管理转换等功能。采用数码管与点阵LED相结合的显示方法,既要求倒计时数字输出,又要求有状态灯输出等。关键字:单片机系统(AT89C51)控制8255、交通规则、LED显示、动态扫描、按键输入、分时段调整参考文献:单片机课程设计指导 北京航天航空大学出版社 基于MCS-51系列的单片机原理的应用设计 国防工业出版社 单片机实训教程 北京大学出版社 单片机系统原理及应用 微机原理及应用二 、方案设计与论证
4、1电源提供方案: 采用独立的稳压电源,此方案稳定可靠,且有各种成熟电路可供选用2显示界面方案 采用数码管和点阵LED相结合的方法,因为实际既要求倒计时施主输出,又要求又状态灯输出等,为方便观看并考虑到现实状况,用数码管与LED分别显示时间和提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。3输入方案 直接在IO口上接按键开关。因为设计时精简和优化了电路,所以剩余口的资源还比较多。4主控制方案采用AT89C51单片机作为控制器,控制8255实行通行倒计时及左拐、右拐、直行、行人通行指示采用单块LCD液晶点阵显示器。这种方案设计占用单片机的端口最少,硬件也少。耗电也最小; 系 统 框
5、 图 正 文一、功能描述本系统由单片机系统、键盘、发光二极管、交通灯演示系统组成,单片机作为主控制器用于十字路口的车辆及行人的交通管理,每个方向具有左拐、右拐、直行及行人4种通行指示灯,计时牌显示路口通行转换剩余时间。另外,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行的状态,15s后系统自动恢复正常管理。并有手动控制分时段 84s与60s通行管理转换等功能。二、系统硬件电路的设计整套电路系统由控制系统模块、通行灯输出控制显示模块、时间显示模块、时间显示模块和自动特种车辆控制模块等组成。1、主控制系统单片机的P0口用于控制8255。8255的PA口和PB口用
6、于控制南北及东 西的通行灯,。PC口及P3.0P3.2口用于4组2位LED计时器的控制,特种车通过时使用外中断1口(P3.3),手动自动转换采用P1.0按键。选择8255的工作方式0,在这种情况下三个端口都可以由程序设置为输入和输出。 2、通行灯输出控制 道口交通灯指示采用高亮度红绿双色发光二极管,左拐、直行、右拐及行人各一个。当发光电流为6mA时,按公式R=(5-1.8)/0.006计算,限流电阻应为510.由于南北通行时双向指示牌相同,因此每个端口应具有12mA的吸收电流能力。图7.4所示为指示灯电路图。 3、时间显示模块道口通行剩余时间采用高亮红色7段LED发光数码管显示,采用共阳数码管
7、,如用单片机吸收电流驱动,列扫描驱动使用三极管,按每段6mA电流算,全显示字形“8”时,每个数码管需6mA8=48mA。由于时间显示每个道口相同,4组需192mA,因此设计中采用中功率三极管9012.由于单片机每个断码输出口需吸收24mA 电流,因此在电路设计中也使用了驱动集成块74HC244。其显示驱动电路如图示。 4、特种车辆自动控制模块 自动道口灯在特种车辆到来时能自动关闭所有绿灯,让特种车通过。设计中采用红外线发生器作为特种车的发生器,使用实时中断来影响特种车的通行要求。红外线接收器一般采用电视机上用的一体化红外接收器,具有很高的灵敏度和较强的抗干扰能力.5、电源电路 由于整个系统采用
8、的电源电压需+5V电压,所以采用不可调的3端稳压器件,用常用的lm7850就可以满足系统电源的要求。LM7850三端集成稳压电源内部由准电压回路、恒流源、过流保护、过压保护和短路保护回路等8部分组成具有低功耗,高效率,波纹系数小,输出电压稳定等优点。 三、系统主要程序的设计道口交通控制系统程序主要分为以下几个模块:初始化程序、主程序、定时中断程序和特种车实时响应程序等。1、 初始化程序初始化程序主要完成内存划,定时器的工作模式、中断方式等的设定。由于子程序调用较多,因此初始化时堆栈指针设于80H处。定时器T0、T1设为16位定时器模式,定时时间位50ms,为秒计时用,T1为通行结束闪烁用。2、
9、 主程序主程序要负责总体程序管理功能,实现人机交换设定。由于采用动态扫描方式显示时间,因此主程序大部分时间要调用扫描显示程序。主程序流程图如下图示。 3、 外中断1中断服务程序经过时,车中发射红外线信号,其信号被道口控制板上的接收器接收,并输出一个低电平处外中断1.中断处理程序流程图如下页图所示。 4、 定时服务中断程序 序主要用于行车与行人的通行指示,按照交通规则,红绿灯控制转换逻辑表如7.1表所列。南北方向 端口 控制功能 120110s 11070s 7060s 6010s 100s P*.7 左拐红 0 0 0 1 1 P*.6 左拐绿 1 1 1 0 0/1 P*.5 直行红 1 1
10、 1 0 0 P*.4 直行绿 0 0 0/1 1 1 P*.3 右拐红 0 1 1 1 1 P*.2 右拐绿 1 0 0 0 0/1 P*.1 行人红 1 1 1 0 0 P*.0 行人绿 0 0 0/1 1 1 道口控制字 66H 6AH 6AH/7BH 99H 99H/DDH东西方向 P*.7 左拐红 0 0 0 0 0 P*.6 左拐绿 1 1 1 1 1 P*.5 直行红 0 0 0 0 0 P*.4 直行绿 1 1 1 1 1 P*.3 右拐红 0 1 1 1 1 P*.2 右拐绿 1 0 0 0 0/1 P*.1 行人绿 0 0 0 0 0 P*.0 行人红 1 1 1 1 1
11、道口控制字 55H 59H 59H 59H 59H/5DH通行规则如下:(1) 车辆南北直行、各路右拐,南北向行人通行。南北向通行时间为1min,各路右拐比直行滞后10s开放。(2) 车辆南北向左拐、各路右拐,行人禁行。通行时间为1min。(3) 车辆东西向直行、各路右拐,东西向行人通行。东西向通行时间为1min,各路右拐比直行滞后10s开放。(4) 车辆东西向左拐、各路右拐,行人禁行。通行时间为1min。表中通行规则,是以给控制红绿灯端口送控制码的方式实现的。它的原理是,将按不同通行规则时的各路口的红绿灯亮灭情况转换为单片机端口控制码。其指示灯功能通过T0定时中断服务程序实现。定时器T0定时
12、益出中断周期为10ms,中断累计20次(即1s)时对120s倒计时单元减1操作。设计中将4种通行规则分成集中不同的亮灯方式,通过查询秒倒计时单元的数据,实现在不同的时间段给控制端口送不同的控制数据码。控制码分为5个时间段:8474s、7458s、5848s、4810s、100s。交通管理定时功能程序流程图如下页图所示。 5、 调试及性能分析设计时按红绿交通灯控制程序和特种车辆经过中断程序两大部分电路进行测试。1、 红绿交通灯控制程序时器T0,直接按照表7.1中算好的数据码送出来控制灯,观察其逻辑状态是否符合要求。可多次、反复地进行调试,直至逻辑关系正确。值得注意的是,南北方向、东西方向的指示灯
13、要同时调试。2、 特殊车辆通行时红外线检测电路的调试在模拟小车中放一块红外发射模块,将示波器输入端接在交通控制灯的红外接收模块的输出引脚上,当小车通过路口时,检测红外线是否被接收。若该脚输出为低电平,则说明可以收到信号,电路正常。本系统以AT89C51单片机为核心,开发程序调试阶段采用W78E516B进行在线编程及修改,可大大加快调试进度。设计的交通灯可用于十字路口的车辆及行人的交通管理,显示采用2位7段数码管,可以很直观的显示红绿灯的开放和关闭的时间;设计中应用了两种倒计时显示方式, 84S 倒计时适用于车流量较大的城市,60s倒计时可用于中小型城市;功能完整,不仅有普通交通灯的指示功能,还
14、增加了特种车辆自动通行功能。其控制功能和效果与真实道口管理红绿灯完全一致。ORG 0630H HA4S: MOV SP,#60H MOV DPTR,#0FF2BH MOV A,#80H MOVX DPTR,A MOV DPTR,#0FF29H MOV A,#49H MOVX DPTR,A INC DPTR MOV A,#49H MOVX DPTR,A MOV R2,#25H LCALL DELAYHA4S3: MOV DPTR,#0FF29H MOV A,#08H MOVX DPTR,A INC DPTR MOV A,#61H MOVX DPTR,A MOV R2,#55H LCALL DELAY MOV R7,#05HHA4S1: MOV DPTR,#0FF29H MOV A,#04H MOVX DPTR,A INC DPTR MOV A,#51H MOVX DPTR,A MOV R2,#20H LCALL DELAY MOV DPTR,#0FF29H MOV A,#00H MOVX DPTR,A INC DPTR MOV A,#41H MOVX DPTR,A MOV R2,#20H LCALL DELAY DJNZ R7,HA4S1 MOV DPTR,#0FF29H MOV A,#03H MOV