
课程设计论文基于单片机的交通灯控制系统设计.doc
12页课程设计报告—基于单片机的交通灯控制系统设计学 号: 姓 名:班 级:指导教师:日 期:2008-3-26目 录一.设计目的……………………………………………………3二.设计方案……………………………………………………3三.设计原理……………………………………………………3四.理论分析与计算……………………………………………5五.程序设计流程图与程序源代码……………………………7六.设计总结……………………………………………………10七.设计心得体会………………………………………………11八.参考文献……………………………………………………11九.附录…………………………………………………………12基于单片机交通灯控系统设计 一:设计目的 1、了解8255芯片的工作原理,熟悉其初始化编程方法以及输入、输出程序设计技巧学会使用8255并行接口芯片实现各种控制功能 2、熟悉8255内部结构和与8088的接口逻辑,熟悉8255芯片的3种工作方式以及控制字格式3、 通过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力;4、分析了现代城市交通控制与管理问题的现状,结合实际阐述了交通灯控制系统的工作原理,设计出一种简单实用的城市交通灯控制系统的硬件电路设计方案。
二:设计方案东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行红灯亮禁止通行,绿灯亮允许通行黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间 直接在IO口线上接上按键开关因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用四个按键,分别是K1、K2、K3、K4由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择此方案三:设计原理8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线 8255是INTEL公司专为需要扩展IO 接口的各种微处理器专门设计的一种可编程IO扩展具有使用方便,通用性强的特点,也成为单片机与外部设备连接时所选用的中间接口芯片,在单片机应用系统中得到广泛使用其可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7~PA0、PB7~PB0和PC7~PC0。
其内部还有一个控制寄存器,即控制口通常A口、B口作为输入输出的数据端口C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入8255可编程并行接口芯片方式控制字格式说明:8255有两种控制命令字;一个是方式选择控制字;另一个是C口按位置位/复位控制字其中C口按位置位/复位控制字方式使用较为繁难,说明也较冗长,故在此不作叙述,需要时用户可自行查找有关资料方式控制字格式说明如下表: D7D6D5D4D3D2D1D0 D7:设定工作方式标志,1有效 D6、D5:A口方式选择 0 0 —方式0 0 1 —方式1 1 ×—方式2 D4:A口功能 (1=输入,0=输出) D3:C口高4位功能 (1=输入,0=输出) D2:B口方式选择 (0=方式0,1=方式1) D1:B口功能 (1=输入,0=输出)D0:C口低4位功能 (1=输入,0=输出) 8255可编程并行接口芯片工作方式说明: 方式0:基本输入/输出方式。
适用于三个端口中的任何一个每一个端口都可以用作输入或输出输出可被锁存,输入不能锁存 方式1:选通输入/输出方式这时A口或B口的8位外设线用作输入或输出,C口的4条线中三条用作数据传输的联络信号和中断请求信号 方式2 :双向总线方式只有A口具备双向总线方式,8位外设线用作输入或输出,此时C口的5条线用作通讯联络信号和中断请求信号交通灯控制电路图四:理论分析与计算1.交通灯显示时序的理论分析与计算对于一个交通路口来说,能在最短的时间内达到最大的车流量,就算是达到了最佳的性能,我们称在单位时间内多能达到的最大车流为车流量,用公式:车流量= 车流 / 时间 来表示先设定一些标号如图2-1 所示 说明:此图为直方图,上边为北路口灯,右边为东路口灯,下边为南路口灯,左边为西路口灯分别设定为S1、S2、S3、S4,交通灯以这四的状态为一个周期,循环执行(见图2-3)注意:图2-1b和图2-1d,它们在一个时间段中四个方向都可以通车,这种状态能在一定的时间内达到较大的车流量,效率特别高依据上述的车辆行驶的状态图,可以列出各个路口灯的逻辑表,由于相向的灯的状态图是一样的,所以只需写出相邻路口的灯的逻辑表;根据图2-3 可以看出,相邻路口的灯它们的状态在相位上相差180°。
因此最终只需写出一组S1、S2、S3、S4的逻辑状态表 表中的“×”代表是红灯亮(也代表逻辑上的0),“√”是代表绿灯亮(也代表逻辑上的1),依上表,就可以向相应的端口送逻辑值2.交通灯显示时间的理论分析与计算东西和南北方向的放行时间的长短是依据路口的各个方向平时的车流量来设定,并且S1、S2、S3、S4各个状态保持的时间之有严格的对应关系,其公式如下所示T-S1+T-S2=T-S3T-S2=T-S4T-S1=T-S3我们可以依据上述的标准来改变车辆的放行时间按照一般的规则,一个十字路口可分为主干道和次干道,主干道的放行时间大于次干道的放行时间,我们设定值时也应以此为参考五:程序设计流程图与程序源代码 图5:交通灯控制系统流程图 ORG 0BB0HJOD0: MOV SP,#60H MOV DPTR,#0FFDBH MOV A,#88H MOVX @DPTR,A ;8255初始化 MOV DPTR,#0FFD8H MOV A,#0B6H MOVX @DPTR,A INC DPTR MOV A,#0DH MOVX @DPTR,A ;点亮4个红灯 MOV R2,#25H ;延时 LCALL DELYJOD3: MOV DPTR,#0FFD8H MOV A,#75H MOVX @DPTR,A INC CPTR MOVA,#0DH MOVX @DPTR,A ;东西绿灯亮,南北红灯亮 MOV R2,#55H LCALL DELY ;延时 MOV R7,#05H ;闪烁次数JOD1: MOV DPTR,#0FFD8H MOV A,#0F3H MOVX @DPTR,A INC DPTR MOV A,#0CH MOVX @DPTR,A ;东西黄灯亮,南北红灯亮 MOV R2,#20H LCALL DELY ;延时 MOV DPTR,#0FFD8H MOV A,#0F7H MOVX @DPTR,A INC DPTR MOV A,#0DH MOVX @DPTR,A ;南北红灯亮 MOV R2,#20H LCALL DELY ;延时 DJNZ R7,JOD1 ;闪烁次数未到,继续 MOV DPTR,#0FFD8H MOV A,#0AEH MOVX @DPTR,A INC DPTR MOV A,#0BH MOVX @DPTR,A ;东西红灯亮,南北绿灯亮 MOV R2,#55H LCALL DELY ;延时 MOV R7,#05H ;闪烁次数JOD2: MOV DPTR,#0FFD8H MOV A,#9EH MOVX @DPTR,A INC DPTR MOV A,@07H MOVX @DPTR,A ;东西红灯亮,南北黄灯亮 MOV R2,#20H LCALL DELY ;延时 MOV DPTR,#0FFD8H MOV A,#0BEH MOVX @DPTR,A INC DPTR MOV A,#0FH MOVX @DPTR,A ;东西红灯亮 MOV R2,#20H LCALL DELY ;延时 DJNZ R7,JOD2 ;闪烁次数未到,继续 LJMP JOD3 ;循环;-------------------------------DELY: PUSH 02HDEL2: PUSH 02H DEL3: PUSH 02H ;延时DEL4: DJNZ R2,DEL4 POP 02H DJNZ R2,DEL3 POP 02H DJNZ R2,DEL2 OPO 02H DJNZ R2,DELY RET;------------------------------。





![河南新冠肺炎文件-豫建科[2020]63号+豫建科〔2019〕282号](http://img.jinchutou.com/static_www/Images/s.gif)






