导航:首页 > 编程语言 > 交通灯电路编程教程

交通灯电路编程教程

发布时间:2023-06-01 19:36:22

① 谁会用西门子PLC编交通灯的程序啊

(1)
控制要求

1)
交通信号灯系统由一启动开关SB1控制,此开关接通时,信号灯系统开始运行;当该开关断开时,所有的信号灯均熄灭;
2)
南北方向绿灯与东西方向绿灯不能同时亮,一旦出现此情况应关闭信号灯系统;并发出报警信号;
3)
南北红灯亮维持30秒,此时东西方向绿灯也亮并维持25秒,然后进入闪烁3秒,东西方向黄灯点亮维持2秒,然后黄灯熄灭;接着东西方向红灯点亮;同时,南北方向红灯熄灭,绿灯点亮;
4)
东西方向红灯点亮维持30秒,南北绿灯点亮维持25秒,然后闪烁3秒后熄灭,黄灯点亮2秒后熄灭;这时南北红灯点亮,东西绿灯点亮;
5)
以上南北、东西交通信号灯周而复始的交替工作状态,指挥着十字路口的交通;
(2)画出东西、南北方向交通灯的时序图,以作编程时参考;
(3)画出系统的电气原理图、控制流程图;
(4)对I/O进行分配,并标注在电气原理图上;
输入:
SB1(启动开关)
:
X0
输出:
故障警告灯:
Y6
南方向/北方向绿灯:Y5
南方向/北方向黄灯:Y4
南方向/北方向红灯:Y3
东方向/西方向绿灯:Y2
东方向/西方向黄灯:Y1
东方向/西方向红灯:Y0
采纳哦

② 用单片机做交通灯,这么做

基于单片机的交通灯设计
时间:2010-12-08 21:43:12 来源: 作者:
一、 系统功能要求:
1. 设计任务在一十字路口设置交通灯,并用单片机对其进行合理的控制。
时间方向 控制要求
白天 东西 绿灯 黄灯 红灯 南北 红灯 绿灯 黄灯
晚上 东西 黄灯 南北 红灯
2.总体设计方案现在流行的一种设计为两主干线相交的十字路。本设计采用一主干道(南北方向),一从干道(东西方向)的路口,即主干道的通行时间为从干道的2倍。在正常情况下,两干道的交通灯按图1进行转换,并以倒计数的方式将剩余时间显示在每个干道对应的两位LED上;另发挥部分为当出现紧急情况时,路口的交通灯全为红灯,紧急情况解除时,恢复到原来的状态。
二、 总体设计方案提示:
1.假设一个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1东西绿灯通车,南北红灯。过一段时间转状态。
2.东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再转状态。
3.南北绿灯通车,东西红灯。过一段时间转状态。
4.南北绿灯灭,闪几次黄灯,延时几秒,东西仍然红灯。最后循环至状态1。
三.硬件设计
电路原理图如下:

四、软件设计
1、 流程图

2、程序设计
ORG 0000H
MOV P0,#00H ;确保P0为低电位
lJMP MAIN0
ORG 0030H
MAIN0: MOV 30H,#08H
MOV R6,#00H
MOV R7,#00H
MOV DPTR,#TABLE ;取数码管的译码
MOV TMOD,#01H ;设计定时方式及时间
MOV TL0,#0CDH
MOV TH0,#0BH
SETB TR0
MOV IE,#00H
MAIN: MOV P1,#0F3H ;南北绿灯,东西红灯
MOV R6,#1EH ;红灯30s倒计时
MOV R7,#19H ;绿灯25s倒计时
MAIN1:CALL DELAY ;1S延时子程序
JB P0.1,REL1 ;判断是否有东西方向按钮按下
CJNE R7,#00H,MAIN1 ;判断绿灯25s是否倒计完
MOV P1,#0F5H ;南北黄灯,东西红灯
MAIN2:CALL DELAY
MOV R7,#00H ;红灯继续倒计时,黄灯闪烁,保持0s
CPL P1.1 ;黄灯闪烁
CJNE R6,#00H,MAIN2 ;判断红灯是否倒计时完
MOV P1,#0DEH ;南北红灯,东西绿灯
MOV R7,#1EH
MOV R6,#19H
MAIN3:CALL DELAY
JB P0.0,REL2
CJNE R6,#00H,MAIN3
MOV P1,#0EEH
MAIN4:CALL DELAY
MOV R6,#00H
CPL P1.4
CJNE R7,#00H,MAIN4
JMP MAIN
REL1:MOV P1,#0F5H ;东西方向按钮按下,南北方向强制由绿灯变成黄灯警告
MOV R6,#05H
MOV R7,#00H
JMP MAIN2
REL2:MOV P1,#0EEH ;南北方向按钮按下,东西方向强制由绿灯变成黄灯警告
MOV R7,#05H
MOV R6,#00H
JMP MAIN4
;1s延时子程序
DELAY:MOV A,R6 ;进行南北方向倒计时时间的十进制调整
MOV B,#0AH
DIV AB
MOVC A,@A+DPTR ;找寻相应的数码管代码
MOV P2,#01H
MOV P3,A ;输出个位
MOV R4,#4 ;降低动态显示频率
LOOP2:MOV R3,#125
LOOP3:DJNZ R3,LOOP3
DJNZ R4,LOOP2
MOV A,B
MOVC A,@A+DPTR
MOV P2,#02H ;输出十位
MOV P3,A
MOV R4,#4
LOOP4:MOV R3,#125
LOOP5:DJNZ R3,LOOP5
DJNZ R4,LOOP4
MOV A,R7 ;进行东西方向倒计时时间的十进制调整
MOV B,#0AH
DIV AB
MOVC A,@A+DPTR
MOV P2,#04H
MOV P3,A
MOV R4,#4
LOOP6:MOV R3,#125
LOOP7:DJNZ R3,LOOP7
DJNZ R4,LOOP6
MOV A,B
MOVC A,@A+DPTR
MOV P2,#08H
MOV P3,A
MOV R4,#4
LOOP8:MOV R3,#125
LOOP9:DJNZ R3,LOOP9
DJNZ R4,LOOP8
JBC TF0,LOOP ;判断是否计满125ms
AJMP DELAY
LOOP:MOV TL0,#0CDH ;计满125ms重新给定时器赋值
MOV TH0,#0BH
MOV A,30H
DEC A
MOV 30H,A
JNZ DELAY ;判断是否计满8次125ms,即1s
DEC R6 ;计满1s,东西倒计时减1,南北倒计时减1
DEC R7
MOV 30H,#08H ;重新1s次数,重新计时
RET
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;相应数值的数码管代码
DB 92H,82H,0F8H,80H,90H
END

③ 单片机交通指示灯编程

这是我做的一个交通灯控制电路,包括电路图,程序,程序详细注释说明,仿真图;你可以看一下;

三、硬件电路设计

此电中路设计采用AT89C51单片机,74LS47(数码管驱动)74LS373(数码管驱动输出锁存),8个数码管显示其延时值,四个红、黄、绿指示灯。硬件设计关键在于,延时显示时,要考虑到当个位数字显示时,要确保十位数字显示输出的不变。因此,可加输出锁存器。在延时最后三秒时,要让黄灯进行闪烁,并同时显示数字(这一步在软件设计上很关键)。

(1)电路连接图:

三、软件程序(C语言)

以下是整个设计的软件程序,直接可以编译成*。Hex代码。通过以上电路,下载到单片机,可直接运行。

//*****************************//

//程序名:十字路口交通灯控制

//编写人:黄庭剑

//初写时间:2009年1月2日

//程序功能:南北为车行道,延时60秒;东西方向为人行道,延时20秒,且在最后3秒黄灯显示2秒钟再实现切换.

//CPU说明:AT89C51型单片机;24MHZ晶体振荡器

//完成时间:2009年1月6日

//*****************************//

#include<stdio.h>

#include<reg51.h>

#include<intrins.h>

sfrp0=0x80;

sfrp1=0x90;

sfrp2=0xA0;

sfrp3=0xb0;//这部分内容其实在“#include<reg51.h>”里已经有,但里面定义的必须区分大小写,在这里,因为我程序采用的是小写,reg51.h里对各个端口与寄存器的定义都是大写,所以在编译连接时,会报错,所以,在本设计程序里,我只用到了端口,在这里也就只定义了四个,而没有去改reg51.h里面的内容。其实两者是一样的。

sbitsw=p0^0;

sbitOE=P0^6;

sbitLE=P0^7;//74LS373锁存器控制端定义

chardisplay[]={0x00,0x11,0x22,0x33,0x44,0x55,0x66,0x77,0x88,0x99};//p1口的数码管时间显示调用,利用74L74BCD码,8位驱动输出;

//函数声明begin

voiddelay1(intcount);

voiddelay_long(intnumber1,intnumber2);

voidpeople_car_drive();

//函数声明end

//***********************//延时子程序

voiddelay1(intcount)

{inti;

for(i=count;i>0;i--)

{;}

}

voiddelay_long(intnumber1,intnumber2)

{

inta,b;

for(a=number1;a>0;a--)

{

for(b=number2;b>0;b--)

{_nop_();}

}

}

//**********************//延时子程序

voidpeople_car_drive()

{

intp_1=2,i,j=9,p_2=6;//****************//行人通行时,延时20秒

p2=0x09;//南北红灯亮

p3=0x24;//东西绿灯亮

while(p_1-->0)

{LE=1;

OE=0;

if(p_1==0){OE=1;}//当十位数减到0时,只显示个位数

p1=display[p_1];

delay1(1000);

LE=0;

j=9;

for(i=10;i>0;i--)

{

if(p_1==0&&j==3)break;//减到3时退出循环,让其黄灯闪烁显示

p1=display[j--];

delay_long(16000,2);

if(sw==1)return;

}

}

//*******************************************************************************//

p2=0x12;//南北黄灯闪烁三秒,以提醒行人注意

p3=0x12;

p1=display[3];

delay_long(8000,1);

p2=0x00;

p3=0x00;

delay_long(14000,1);

p2=0x12;

p3=0x12;

p1=display[2];

delay_long(8000,1);

p2=0x00;

p3=0x00;

delay_long(14000,1);

p2=0x12;

p3=0x12;

p1=display[1];

delay_long(8000,1);

p2=0x00;

p3=0x00;

delay_long(14000,1);

//*****************以下是车辆通行时延时60秒//

p2=0x24;//南北绿灯亮

p3=0x09;//东西红灯亮

while(p_2-->0)

{LE=1;

OE=0;

if(p_2==0){OE=1;}//当十位数减到0时,只显示个位数

p1=display[p_2];

delay1(1000);

LE=0;

j=9;

for(i=10;i>0;i--)

{

if(p_2==0&&j==3)break;//减到2时退出循环

p1=display[j--];

delay_long(16000,2);

if(sw==1)return;

}

}

p2=0x12;//南北黄灯闪烁三秒,以提醒行人注意

p3=0x12;

p1=display[3];

delay_long(8000,1);

p2=0x00;

p3=0x00;

delay_long(14000,1);

p2=0x12;

p3=0x12;

p1=display[2];

delay_long(8000,1);

p2=0x00;

p3=0x00;

delay_long(14000,1);

p2=0x12;

p3=0x12;

p1=display[1];

delay_long(8000,1);

p2=0x00;

p3=0x00;

delay_long(14000,1);//南北黄灯闪烁三秒完毕

}

voidmain()//主函数入口处

{

p0=0x01;

p1=0x00;

p2=0x00;

p3=0x00;//初始化各端口

{while(1)

{

if(sw==0)

{people_car_drive();}

else

{

p2=0x00;

p3=0x00;//关闭所有交通灯

}

}

}

}

详细资料,你可以参考这里:http://hi..com/hjiannew/blog/item/b1b17a40f0b52a1a9313c6bb.html

另外硬件,软件你有不懂的,你可以加我QQ:314955772,我在线指导你。

④ 编程里有个制作汽车红灯停绿灯行的怎么弄

交通红绿灯plc编程实例_交通红绿灯控制。
控制要求:
1、确定设计任务书; 本设计主要实现对十字路口的东西向和南北向的红绿灯的有序控制。

2、确定外围I/O设备。
3、选定PLC型号。
I/O地址表
编制PLC的I/O地址表,如表10-1所示。
表10-1 ------------------I/O地址表
编号
地址
说明
功能
6路数字输出
1
Q0.0
绿灯
控制东西方向绿灯
2
Q0.1
黄灯
控制东西方向黄灯
3
Q0.2
红灯
控制东西方向红灯
4
Q0.3
绿灯
控制南北方向绿灯
5
Q0.4
黄灯
控制南北方向黄灯
6
Q0.5
红灯
控制南北方向红灯
1路数字输入
1
10.0
开关
电源开关
红绿灯控制图
1、硬件图 ---硬件图如图10-1

流程图10-3

交通灯的PLC接线图10-2

交通灯的逻辑控制图10-4

交通灯时序图10-5

红绿灯控制plc编程
1、新建工程
单击"New"新建工程,输入工程名:红绿灯控制。

2、编写程序
当按下“启动”键,则系统开始计时,以一时间段的时间为周期,循环。在不同的时间范围内,开启不同的灯,周而复始。

程序如表10-2所示。 表10-2 交通灯控制程序表

Network1
按开启,开始计时,设定基时,即秒的时间。

Network2
基时复位。

Network3
时间周期的设定,电源关则计数器复位。

Network4
周期复位。

Network5
设定开Q0.0的时间段。

Network6
设定开Q0.1 的时间段。

Network7
设定开Q0.2 的时间段。

Network8
设定开Q0.3 的时间段。

Network9
设定开Q0.4 的时间段。

Network10
设定开Q0.5 的时间段。

⑤ PLC怎么实现程序循环(交通灯)

PLC实现程序循环(交通灯)方法
交通信号灯分东、西、南、北四组,每组分别有“红”“黄”“绿”三种颜色。

其工作状态由PLC过程控制,“启动”、“停止”按钮分别控制信号灯的启动和停止。
G1表示东西绿灯的信号,Y1表示东西黄灯的信号,R1表示东西红灯的信号;
G2表示南北绿灯的信号,Y2表示南北黄灯的信号,R3表示南北红灯的信号;

SB2表示“停止”信号,SB1表示“启动”信号。
1.按下启动按钮,东西绿灯亮,南北红灯亮; 30秒后,熄灭。
2.东西,南北四个黄灯同时闪烁5次(5秒)后,熄灭。
3.东西红灯亮,南北绿灯亮20秒。
4.东西,南北四个黄灯同时闪烁5次(5秒)后,熄灭。按如下波形图,连续循环。
5.按下停止按钮,所有指示灯全部熄灭。
6.选定PLC的机型是S7-200系列PLC。确定I/O点,绘制I/O点分配表,编程。
7.编程后,认真检查PLC的梯形图程序。

阅读全文

与交通灯电路编程教程相关的资料

热点内容
高三倒计时缓解压力 浏览:619
一捏就变形的解压玩具怎么折 浏览:196
易融贷app借钱怎么 浏览:939
单片机侧重点 浏览:867
江苏惠普服务器虚拟化设计云主机 浏览:647
在欧拉app好猫充电桩怎么申请 浏览:449
反编译代码教程 浏览:798
linuxio阻塞 浏览:973
8脚单片机pic 浏览:821
如何看彩色涂鸦遮住的字安卓 浏览:688
摆渡机器人编程 浏览:654
软程序员着装 浏览:139
宝鸡云存储服务器 浏览:668
推荐超解压游戏无广告 浏览:634
大华服务器怎么添加门禁 浏览:784
战地服务器60hz什么意思 浏览:760
成高级程序员学什么 浏览:501
阿里云接入备案后退掉服务器 浏览:928
ne40e命令 浏览:85
安卓输入法使用什么编码 浏览:184