单片机做交通灯

作者&投稿:芒嵇 (若有异议请与网页底部的电邮联系)
单片机做的交通灯与plc做的相比有哪些优缺点~

1.优点:单片机成本低廉,专用性可能会更强;

2.缺点:可靠性差、抗干扰性能差、通用性差、扩展能力比较弱、处理能力会弱于PLC(若做大系统复杂的交通灯控制,估计有些困难)、通讯不如PLC方便,编程语言复杂些~~~基本上就这样了。

PS:比如要把整个城市的交通灯系统接入交通控制指挥中心,单片机做底层单个交通灯控制没有什么问题,但接着同样需要PLC做信号采集到远端中控室服务器,这样算起来的话,底层还不如用小型PLC来控制更好,因为可以省掉一层架构,直接挂到交换机通过光纤到远端中控室,且小PLC也不贵,西门子S7-200或1200或者 奥地利贝加莱0291CPU 或者三菱FX1/2N,也就2000块左右,控制一个路口交通灯足够!

采用51单片机作为系统的MCU,基本完成控制两组交通指示灯交替亮
每个街口有左拐、直行及行人三种指示灯。直行灯每个灯有红、黄、绿三种颜色。自行车与汽车共用左拐和直行灯。
首先东西向直行绿灯和行人灯亮1分钟,左转灯亮30秒,黄灯亮5秒(同时南北向红灯亮95秒),然后东西向红灯亮95秒钟(同时首先南北向直行绿灯和行人灯亮1分钟,左转灯亮30秒,黄灯亮5秒),然后东西向的绿灯亮,依次类推。
每次绿灯亮的时候,对应的行人灯亮。
60S/30S/5S/60S/30S/5S
东西道
绿和行人/左转/黄/红/红/红
南北道
红/红/红/绿和行人/左转/黄
行人灯亮的时候有声音提示盲人能通过。
突发交通事故的时候能够紧急全红灯。
在有重要人物通过的时候能手动改为绿灯。
ORG 0000H ;主程序的入口地址
LJMP MAIN ;跳转到主程序的开始处
ORG 0003H ;外部中断0的中断程序入口地址
ORG 000BH ;定时器0的中断程序入口地址
LJMP T0_INT ;跳转到中断服务程序处
ORG 0013H ;外部中断1的中断程序入口地址
MAIN : MOV SP,#50H
MOV IE,#8EH ;CPU开中断,允许T0中断,T1中断和外部中断1中断
MOV TMOD,#51H ;设置T1为计数方式,T0为定时方式,且都工作于模式1
MOV TH1,#00H ;T1计数器清零
MOV TL1,#00H
SETB TR1 ;启动T1计时器
SETB EX1 ;允许INT1中断
SETB IT1 ;选择边沿触发方式
MOV DPTR ,#0003H
MOV A, #80H ;给8255赋初值,8255工作于方式0
MOVX @DPTR, A
AGAIN: JB P3.1,N0 ;判断是否要设定东西方向红绿灯时间的初值,若P3.1为1 则跳转
MOV A,P1
JB P1.7,RED ;判断P1.7是否为1,若为1则设定红灯时间,否则设定绿灯时间
MOV R0,#00H ;R0清零
MOV R0,A ;存入东西方向绿灯初始时间
MOV R3,A
LCALL DISP1
LCALL DELAY
AJMP AGAIN
RED: MOV A,P1
ANL A,#7FH ;P1.7置0
MOV R7,#00H ;R7清零
MOV R7,A ;存入东西方向红灯初始时间
MOV R3,A
LCALL DISP1
LCALL DELAY
AJMP AGAIN
;----------------------------------
N0: SETB TR0 ;启动T0计时器
MOV 76H,R7 ;红灯时间存入76H
N00: MOV A,76H ;东西方向禁止,南北方向通行
MOV R3,A
MOV DPTR,#0000H ;置8255A口,东西方向红灯亮,南北方向绿灯亮
MOV A,#0DDH
MOVX @DPTR, A
N01: JB P2.0,B0
N02: SETB P3.0
CJNE R3,#00H,N01 ;比较R3中的值是否为0,不为0转到当前指令处执行
;------黄灯闪烁5秒程序------
N1: SETB P3.0
MOV R3,#05H
MOV DPTR,#0000H ;置8255A口,东西,南北方向黄灯亮
MOV A,#0D4H
MOVX @DPTR,A
N11: MOV R4,#00H
N12: CJNE R4,#7DH,$ ;黄灯持续亮0.5秒
N13: MOV DPTR,#0000H ; 置8255A口,南北方向黄灯灭
MOV A,#0DDH
MOVX @DPTR,A
N14: MOV R4,#00H
CJNE R4,#7DH,$ ;黄灯持续灭0.5秒
CJNE R3,#00H,N1 ;闪烁时间达5秒则退出
;-----------------------------------
N2: MOV R7,#00H
MOV A,R0 ;东西通行,南北禁止
MOV R3,A
MOV DPTR,#0000H ; 置8255A口,东西方向绿灯亮,南北方向红灯亮
MOV A,#0EBH
MOVX @DPTR,A
N21: JB P2.0,T03

N22: CJNE R3,#00H,N21
;------黄灯闪烁5秒程序------
N3: MOV R3,#05H
MOV DPTR,#0000H ;置8255A口,东西,南北方向黄灯亮
MOV A,#0E2H
MOVX @DPTR,A
N31: MOV R4,#00H
CJNE R4,#7DH,$ ;黄灯持续亮0.5秒
N32: MOV DPTR,#0000H ; 置8255A口,南北方向黄灯灭
MOV A,#0EBH
MOVX @DPTR,A
N33: MOV R4,#00H
CJNE R4,#7DH,$ ;黄灯持续灭0.5秒
CJNE R3,#00H,N3 ;闪烁时间达5秒则退出
SJMP N00
;------闯红灯报警程序------
B0: MOV R2,#03H ;报警持续时间3秒
B01: MOV A,R3
JZ N1 ;若倒计时完毕,不再报警
CLR P3.0 ;报警
CJNE R2,#00H,B01 ;判断3秒是否结束
SJMP N02
;------1秒延时子程序-------
N7: RETI
T0_INT:MOV TL0,#9AH ;给定时器T0送定时10ms的初值
MOV TH0,#0F1H
INC R4
INC R5
CJNE R5,#0FAH,T01 ;判断延时是否够一秒,不够则调用显示子程序
MOV R5,#00H ;R5清零
DEC R3 ;倒计时初值减一
DEC R2 ;报警初值减一
T01: ACALL DISP ;调用显示子程序
RETI ;中断返回
;------显示子程序------
DISP: JNB P2.4,T02
DISP1: MOV B,#0AH
MOV A,R3 ;R3中值二转十显示转换
DIV AB
MOV 79H,A
MOV 7AH,B
DIS: MOV A,79H ;显示十位
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0002H
MOVX @DPTR,A
MOV DPTR,#0001H
MOV A,#0F7H
MOVX @DPTR,A
LCALL DELAY
DS2: MOV A,7AH ;显示个位
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0002H
MOVX @DPTR,A
MOV DPTR,#0001H
MOV A,#0FBH
MOVX @DPTR,A
RET
;------东西方向车流量检测程序------
T03: MOV A,R3
SUBB A,#00H ;若绿灯倒计时完毕,不再检测车流量
JZ N3
JB P2.0,T03
INC R7
CJNE R7,#64H,E1
MOV R7,#00H ;中断到100次则清零
E1: SJMP N22
;------东西方向车流量显示程序------
T02: MOV B,#0AH
MOV A,R7 ;R7中值二转十显示转换
DIV AB
MOV 79H,A
MOV 7AH,B
DIS3: MOV A,79H ;显示十位
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0002H
MOVX @DPTR,A
MOV DPTR,#0001H
MOV A,#0F7H
MOVX @DPTR,A
LCALL DELAY
DS4: MOV A,7AH ;显示个位
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0002H
MOVX @DPTR,A
MOV DPTR,#0001H
MOV A,#0FBH
MOVX @DPTR,A
LJMP N7
;------延时4MS子程序----------
DELAY: MOV R1,#0AH
LOOP: MOV R6,#64H
NOP
LOOP1: DJNZ R6,LOOP1
DJNZ R1,LOOP
RET
;------字符表------
TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END

硬件电路:使用芯片:89C51、8255、74LS373。采用Protel电路设计软件绘制原理图。
1. 红、绿、黄四个方向共12盏灯,需要12条口线
取8255 PB口 0~3 PC口 0~7(与DVCC仿真机对应,便于调试)
2. 考虑其带负载能力,加总线驱动器74LS244,并加限流电阻,驱动LED。
3. 连接顺序:
①数据线 P0~P7 =D0~D7,
②PB0~PB3 PC0~PC7作为输出口,控制红绿灯,
③A0、A1 地址需要锁存,从74LS373引出,
④要有相应的读写信号,
⑤不考虑地址分配,片选信号直接接地,
⑥RESET脚与89C51同时复位,
程序编制:
1. 任务分析:交通灯每2(4)秒变化一次,基本状态如下表
序号 状态 PB PC
1 4 南北红 东西绿 1000 01100001
2
3 2 东西绿闪 0000 01000001
4 2 东西黄 0100 01010001
5 4 南北绿 东西红 0011 00001100
6
7 2 南北绿闪 0010 00001000
8 2 南北黄 0010 10001010
红绿黄灯对应表
PB3 PB2 PB1 PB0 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0
东西绿1 东西黄1 东西红1 南北绿1 南北黄1 南北红1 东西绿2 东西黄2 东西红2 南北绿2 南北黄2 南北红2
2. 设计思路可以是:
a) 设计一个循环执行程序,6种状态顺序执行。
b) 列一个数据表,每变化2秒,顺序取数送出,8次一个循环。
c) 更新的思路。
3. 定时方式建议采用定时器中断,定时器查询,或软件延时。
4. 设计难点:绿灯闪烁处理。
5. 设计注意点:8255必须是送控制字后方可工作。8255口地址 FF28~FF2BH
PA口1000 PB口1001 PC口1010 控制字1011
FF28H FF29H FF2AH FF2BH


大学PLC课程设计一般有哪些题目?我想提前吧它做了!
108.150MHz频段窄带调频无线接收机 109.电子体温计 110.基于单片机的病床呼叫控制系统 111.红外测温仪 112.基于单片微型计算机的测距仪 113.智能数字频率计 114.基于单片微型计算机的多路室内火灾报警器 115.信号发生器 116.基于单片微型计算机的语音播出的作息时间控制器 117.交通信号灯控制电路的设计 118.基于单片...

交通灯是怎么来的,一开始就是三色的吗?
一辆转弯的汽车呼地一声擦身而过,吓了他一身冷汗。回到宿舍,他反复琢磨,终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危险。他的建议立即得到有关方面的肯定。就这样,红、黄、绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空交通领域了。

求一片基于西门子PLC的交通灯毕业设计
求一片基于西门子PLC的交通灯毕业设计 50 是以S7-300来做的交通灯设计,有硬件接线图跟程序就可以还要增加传感器来进行智能控制,就是根据车流量多少来控制红绿灯时间,有的发我邮箱455201218@qq.com,收费的不要来烦我,离毕... 是以S7-300来做的交通灯设计,有硬件接线图跟程序就可以还要增加传感器来进行智能控制...

大学数字电子技术的课程设计:数字式电子钟的设计或交通灯控制电路...
大学数字电子技术的课程设计:数字式电子钟的设计或交通灯控制电路设计 题目一:数字式电子钟的设计一、简要说明:利用数字电路的理论和知识进行设计,一般应具有时分秒计时功能,同时可以进行时间的调整;定点报时等。二、设计任务和基本要求:设计数字式... 题目一:数字式电子钟的设计一、 简要说明:利用数字电路的理论和...

PLC课程设计:人行道与车道交叉路口交通灯控制系统
此时主电机导通,进水阀断开(原来中触片与下闭合),并开始洗衣。当旋钮旋至低水位时,凸轮转动,但曲率半径较小。通过一定的机构,橡皮气膜压簧被压缩而产生压力P1,压迫气膜。当桶内水量达到30L时,软管内的空气被压缩,产生空气压力F1,当F1>P1时,中触片上跳,与上触片闭合,主电动机动作,进水阀...

Excel 图表颜色交通灯-Excel图表与图形-excel表格
“交通信号灯”是专为管理报告和分析而设计的软件提供的常见功能。交通信号灯至少提供两个好处。首先,它们提醒读者注意可能会错过的出色结果。其次,它们提供可视化的蒙砂效果,可以使报告更加有趣。此处显示的三个示例说明了交通灯的一种简单形式。所有三个图像在Excel工作表中显示相同的单元格...

利用plc代码区分是发电还是交通
欧姆龙PLC全自动洗衣机编写的控制程序79PLC板式过滤器80PLC在食品仓储物流控制系统的设计,在81VVVF疲劳试验设备控制系统的设计82基于PLC的控制系统的坦克\/>83基于PLC的智能交通灯控制系统的设计1。基于LabVIEW虚拟滤波器的设计与实现双闭环直流调速控制系统的设计24罐液位的远程监视和控制系统论文25。基于MATLAB的PWM波形的...

Led电子显示屏会被取代吗?
国内许多交通记号灯生产厂商展示了LED交通灯的样品;其次是汽车工业上的应用,汽车使用白炽灯不耐振动撞击,及易损坏,使用寿命短,经常需要换,1987年开始,我国开始在汽车上安装高位刹车灯,由于 LED响应速度快,可以及早提醒司机刹车,减少汽车追尾事故,增加安全性,在汽车仪表板及各种照明部分的光源,都可有超高亮度发光灯来...

持摄影机的人的影片评价
随后,影片的大幕缓缓拉开。继而,从一个慢慢推向一面窗户的镜头开始,天逐渐亮了起来,沉睡的人们缓缓苏醒,导演利用一串表现卧室、街头、楼房、路灯、橱窗、公园乃至各式各样的人的镜头组合,表现了在这座大城市的新的一天的到来。银行、打字机、工厂、汽车、报社、轮船、油罐、交通灯、纺织机、小街,...

红灯亮3秒后电子眼才会启动,红灯刚亮时压线直接开过去不会被拍是真...
红灯亮后电子眼不会马上拍照 流言:“红灯亮的3秒之后,电子眼才会开始工作。所以这时你如果压线了,直接开过去就不会被拍到。”实际:对于车辆红灯时跨越停车线的交通违法行为,系统将连续拍摄照片和录像,不存在延迟现象。真相:信号灯系统与电子眼实时同步,红灯一亮,电子眼摄像头就会马上启动,并不...

韶关市13054971457: 单片机最简单的交通灯程序设计 -
高竹胃复: #include<reg52.h> sbit green=P2^0;//绿灯 sbit yellow=P2^1;//黄灯 sbit red=P2^2;//红灯 void main(void) {delay(); green=0; yellow=0; red=0; while(1) {green=1; delay(10000); green=0; yellow=1; delay(500); yellow=0; red=1; delay(10000); red=0; } } void delay(int a) {int i; for(i=o;i<a;i++); }

韶关市13054971457: 单片机简单交通灯怎么编程?? -
高竹胃复: 红、黄、绿. 用LED来显示. 有专门的控制系统, 细节不说了. 编程就是 if (red) // 如果是红灯 yellow = false; green = false; else if (yellow) // 如果是黄灯 green = true; car_crash = true; sleep(3); // 3秒 red = true; green = false; else // 绿灯 yellow = false; red = false; 这里可以把false理解为“不亮灯”或者熄灭状态, 而true就是亮灯状态, car_crash作为一个模拟说明还可以运行.

韶关市13054971457: 用51单片机做交通信号灯 -
高竹胃复: 有以下可能的原因:1、51单片机高电平驱动能力较小,建议低电平点亮,也就是说二极管接正.2、启动电路(第9脚)有没有接到一个阻容电路上?99脚悬空,程序可能乱跑的.

韶关市13054971457: 求单片机汇编交通灯程序??
高竹胃复: 单片机交通灯控制器的设计程序单片机交通灯控制器的设计一. 设计任务在一十字路口设置交通灯,并用单片机对其进行合理的控制.时间 方向 控制要求白天 东西 绿灯 ...

韶关市13054971457: 单片机做红绿灯 -
高竹胃复: 安装后Keil uVision2 7.06后 C:\Keil\C51\EXAMPLES\TRAFFIC就是 交通灯范例 软件没有可找我,QQ:316362373

韶关市13054971457: 请教高手用单片机设计交通信号灯 -
高竹胃复: 这个涉及电路连接 你把电路连好了,就可以写程序了 我就给你点提示 电路连接上,你可以直接使用单片机的I/O口来连接信号灯,显示时间的部分可以用数码管,中间可能需要驱动,看你的灯是什么样的了.此程序可以用汇编也可以用C语言,编写都很简单,要某灯亮,即在其对应的单片机的输出口上输出有效电平即可,例如SETB P1.0,至于数码管的显示,教程上都有举例的,上网也很容易找到例子.另外,还有延时和循环,这些上网都可以查到很多例子.其实都很简单,只要你设计好灯亮的规则

韶关市13054971457: 80c51单片机交通灯程序 -
高竹胃复: ORG 1000H L:JNB P3.0,LP3JNB P3.1,LP2 ;判断p3.1,p3.0口;如果P3.0为1的话,正常运行交通灯;如果P3.1为1的话,正常运行交通灯;如果P3.1为0的话,依次点亮灯;如果P3.0为0的话,停止交通灯,只有黄灯闪烁;正常运行交通...

韶关市13054971457: 基于单片机的交通灯 -
高竹胃复: 给一个类似的程序供你参考,你通过读懂后,按自己的要求修改,可能会有助于你对此问题的理解. 采用51单片机作为系统的MCU,基本完成控制两组交通指示灯交替亮 每个街口有左拐、直行及行人三种指示灯.直行灯每个灯有红、黄、绿三...

韶关市13054971457: 最简单的单片机制作交通灯需要的元器件 -
高竹胃复: 89S5111.0592M 晶振1K电阻 、10UF电容12个灯,红、黄、绿各四个,12个1K电阻 ,十字路口嘛.蜂鸣器一个.按键一个,按键复位 采用AT89s51型号的单片机,由于交通十字路口的对称性,所以一个引脚可以同时控制两个灯,将发光二极管分别接到P1各个引脚,在其中加入一个时振荡当电路,来控制时间,在P3.0引脚接入蜂鸣器只黄灯亮的时候发出声响,这里我们让每次黄灯亮的时候发出六声响,通过C程序的控制就可以实现,每次循环是10秒.

韶关市13054971457: 单片机编程:设计十字路口交通灯,以最常用的两条线路的交通信号控制为例. -
高竹胃复: ORG 0000H MAIN:MOV DPTR,#0FF20H MOV A,#03H MOVX @DPTR,A MOV 2AH,#1FH MOV P1,#0CH MOV R7,#19H PRG1: LCALL DELAY1 DJNZ R7,PRG1 MOV P1,#0AH MOV R7,#05H PRG2: LCALL DELAY1 DJNZ R7, PRG2 MOV P1,#...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网