精华内容
下载资源
问答
  • 很好的交通灯程序哦,还带有黄灯闪烁的,而且还有proteus仿真,课程设计没问题啦!
  • 单片机 汇编语言 控制交通灯 红绿黄三种
  • ①设计一个十字路口交通灯控制电路,要求甲车道和乙车道两条 交叉道路上的车辆交替运行,每次通行时间25秒;     ②要求黄灯先亮5秒,才能变换运行车道;    ③黄灯亮时要求每秒闪亮一次。 
  • 自动循环显示,红灯12秒倒计时,直行箭头为红色,红灯倒计时到1秒时候,黄灯开始3秒闪烁,黄灯3秒结束后 ,绿灯开始显示,红灯灭,直行箭头变为绿色,12秒倒计时,依次循环。 编程思路教程视频链接:...

    自动循环显示,红灯12秒倒计时,直行箭头为红色,红灯倒计时到1秒时候,黄灯开始3秒闪烁,黄灯3秒结束后

    ,绿灯开始显示,红灯灭,直行箭头变为绿色,12秒倒计时,依次循环。

    编程思路教程视频链接:http://edu.csdn.net/course/detail/8785

    展开全文
  • 51单片机用C语言实现交通灯(红绿灯)源程序交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改。源程序如下:#include bit red,green,yellow,turnred; //定义红、黄、绿及转红标志code...

    51单片机用C语言实现交通灯(红绿灯)源程序

    交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改。

    源程序如下:

    #include

    bit red,green,yellow,turnred; //定义红、黄、绿及转红标志

    code unsigned char tab[]=

    {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

    //共阴数码管 0-9

    unsigned char Dis_Shiwei;//定义十位

    unsigned char Dis_Gewei; //定义个位

    void delay(unsigned int cnt) //用于动态扫描数码管的延时程序

    {

    while(--cnt);

    }

    main()

    {

    TMOD |=0x01;//定时器设置 10ms in 12M crystal定时器0,工作方式1,16位定时器

    TH0=0xd8; //65535-10000=55535=D8F0(十六进制)

    TL0=0xf0;

    IE= 0x82; //中断控制,EA=1开总中断,ET0=1:定时器0中断允许

    TR0=1; //开定时器0中断

    P1=0xfc;//红灯亮,根据红黄绿接灯的顺序。

    red =1;

    while(1)

    {

    P0=Dis_Shiwei;//显示十位,这里实现用8位数码管,即左1位

    P2=0;

    delay(300);//短暂延时

    P0=Dis_Gewei; //显示个位,左数,2位

    P2=1;

    delay(300);

    }

    }

    void tim(void) interrupt 1 using 1

    {

    static unsigned char second=60,count; //初值60

    TH0=0xd8;//重新赋值,10毫秒定时

    TL0=0xf0;

    count++;

    if (count==100)

    {

    count=0;

    second--;//秒减1

    if(second==0)

    { //这里添加定时到0的代码 ,可以是灯电路,继电器吸合等,或者执行一个程序

    if(red) //红灭,先转黄

    {

    red=0;yellow=1;

    second=4;

    P1=0xF3;//黄灯亮4秒,黄灯为过渡灯,再根据情况转绿或转红

    }

    else if(yellow && !turnred)

    {

    yellow=0;green=1;

    second=25;

    P1=0xCF;//绿灯亮25秒,

    }

    else if(green)

    {

    yellow=1;green=0;

    second=4;

    P1=0xF3;//黄灯亮4秒

    turnred=1;

    }

    else if(yellow && turnred)

    //绿灯灭,转黄灯,后红灯,turnred=1时

    {

    red=1;yellow=0;

    P1=0xFC;//红灯亮60秒

    second=60;

    turnred=0; //接下来是转黄,绿。

    }

    }

    Dis_Shiwei=tab[second/10];//十位显示值处理

    Dis_Gewei=tab[second]; //个位显示处理

    }

    }

    电子小制作:http://www.5imcu.net/

    展开全文
  • 51单片机-交通灯-红绿灯

    千次阅读 2020-02-27 12:18:56
    51单片机-交通灯-红绿灯 1. 视频 bilibili视频地址: 2. 文件 文件下载地址: 3. 说明 绿灯亮10秒;黄灯亮5秒;红灯亮10秒 4. 代码 #include <reg52.h> sbit DULA = P2^6; sbit WELA = P2^7; unsigned ...

    51单片机-交通灯-红绿灯


    1. 视频

    bilibili视频地址:

    https://www.bilibili.com/video/av91934816

    51单片机-交通灯-红绿灯

    2. 文件

    文件下载地址:

    https://download.csdn.net/download/weixin_43130546/12194351

    3. 说明

    绿灯亮10秒;黄灯亮5秒;红灯亮10秒

    4. 代码

    
    #include <reg52.h>
    
    sbit DULA = P2^6;
    sbit WELA = P2^7;
    
    unsigned char code DUTable[16] = 
    {
    	0x3F,0x06,0x5B,0x4F,
    	0x66,0x6D,0x7D,0x07,
    	0x7F,0x6F,0x77,0x7C,
    	0x39,0x5E,0x79,0x71
    };
    
    unsigned char code WETable[8] = 
    {
    	~0x80,~0x40,~0x20,~0x10,
    	~0x08,~0x04,~0x02,~0x01
    };
    
    unsigned char LedBuff[8] = 
    {
    	0x3F,0x3F,0x00,0X00,
    	0X00,0X00,0X00,0X00
    };
    
    unsigned char T0RH,T0RL;
    bit flag1s = 0;
    
    void ConfigTimer0(unsigned char ms);
    void TransLED(void);
    
    void main(void)
    {
    	ConfigTimer0(1);
    	while(1)
    	{
    		if(flag1s)
    		{
    			flag1s = 0;
    			TransLED();
    		}
    	}
    }
    
    void TransLED(void)
    {
    	static unsigned char num = 0;
    	static unsigned char led = 0;
    
    	if(0 == num)
    	{
    		switch(led)
    		{
    			case 0 : led = 1; num = 9; P1 = ~0x04; break;
    			case 1 : led = 2; num = 4; P1 = ~0x02; break;
    			case 2 : led = 0; num = 9; P1 = ~0x01; break;
    		}
    	}
    	else
    	{
    		num--;
    	}
    
    	LedBuff[0] = DUTable[num/1%10];
    	LedBuff[1] = DUTable[num/10%10];
    }
    
    void ConfigTimer0(unsigned char ms)
    {
    	unsigned long tmp;
    
    	tmp = 11059200 / 12;
    	tmp = tmp * ms / 1000;
    	tmp = 65536 - tmp;
    	tmp += 12;
    
    	T0RH = (unsigned char)(tmp>>8);
    	T0RL = (unsigned char)tmp;
    
    	TH0 = T0RH;
    	TL0 = T0RL;
    	TMOD &= 0xF0;
    	TMOD |= 0x01;
    	EA = 1;
    	ET0 = 1;
    	TF0 = 0;
    	TR0 = 1;
    }
    
    void LedScan(void)
    {
    	static unsigned char i = 0;
    
    	P0 = 0x00;
    	DULA = 1;
    	DULA = 0;
    	P0 = WETable[i];
    	WELA = 1;
    	WELA = 0;
    	P0 = LedBuff[i];
    	DULA = 1;
    	DULA = 0;
    
    	i++;
    	if(i>=8)
    	{
    		i = 0;
    	}
    }
    
    void InterruptTimer0(void) interrupt 1
    {
    	static unsigned int tmr1s = 0;
    
    	TH0 = T0RH;
    	TL0 = T0RL;
    
    	LedScan();
    
    	tmr1s++;
    	if(tmr1s>=1000)
    	{
    		tmr1s = 0;
    		flag1s = 1;
    	}
    }
    
    
    展开全文
  • 交通灯测试 使用定时器学习 倒计时 红绿灯原理 主要程序与倒计时相同
  • 交通信号红绿灯.zip

    2020-03-14 16:21:10
    实现信号的切换,没有标注时间,只能在后台修改。实现功能:十字路口信号的切换,停止、等待、通行功能。可以实现正常变换显示黄灯
  • 设计一个交通红绿灯控制器模块,实现主干道和支路之间红绿黄灯的信号转换。 Design Block: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY TRAFFIC IS PORT(CLK,RST:IN ...

    设计一个交通红绿灯控制器模块,实现主干道和支路之间红绿黄灯的信号转换。
    在这里插入图片描述
    在这里插入图片描述
    Design Block:

    LIBRARY IEEE;
    USE IEEE.STD_LOGIC_1164.ALL;
    USE IEEE.STD_LOGIC_UNSIGNED.ALL;
    ENTITY TRAFFIC IS
    	PORT(CLK,RST:IN STD_LOGIC;
    		NSLIGHTS,WELIGHTS:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));
    END TRAFFIC;
    ARCHITECTURE BEHAV OF TRAFFIC IS
    TYPE STATES IS (S0,S1,S2,S3);
    	ATTRIBUTE ENUM_ENCODING:STRING;
    	ATTRIBUTE ENUM_ENCODING OF STATES:TYPE IS "one-hot/gray";
    	SIGNAL C_ST,N_ST:STATES:=S0;
    	SIGNAL TIME0:STD_LOGIC_VECTOR(6 DOWNTO 0);
    	BEGIN
    	COUNT:PROCESS(CLK,RST)
    	VARIABLE T:STD_LOGIC_VECTOR(6 DOWNTO 0);
    		BEGIN
    		IF RST='1' THEN T:=(OTHERS=>'0');
    		ELSIF CLK'EVENT AND CLK='1' THEN 
    			IF(T<68) THEN T:=T+1;
    			ELSE T:=(OTHERS=>'0');
    			END IF;
    		END IF;
    		TIME0<=T;
    	END PROCESS COUNT;
    	COM:PROCESS(C_ST,TIME0)
    		BEGIN
    		CASE C_ST IS
    		WHEN S0 => NSLIGHTS<="010";WELIGHTS<="100";
    			IF TIME0=39 THEN N_ST<=S1;
    			ELSE N_ST<=S0;
    			END IF;
    		WHEN S1 => NSLIGHTS<="001";WELIGHTS<="100";
    			IF TIME0=43 THEN N_ST<=S2;
    			ELSE N_ST<=S1;
    			END IF;
    		WHEN S2 => NSLIGHTS<="100";WELIGHTS<="010";
    			IF TIME0=63 THEN N_ST<=S3;
    			ELSE N_ST<=S2;
    			END IF;
    		WHEN S3 => NSLIGHTS<="100";WELIGHTS<="001";
    			IF TIME0=67 THEN N_ST<=S0;
    			ELSE N_ST<=S3;
    			END IF;
    		END CASE;
    	END PROCESS COM;
    	REG:PROCESS(CLK,RST)
    		BEGIN
    		IF RST='1' THEN C_ST<=S0;
    		ELSIF CLK'EVENT AND CLK='1' THEN C_ST<=N_ST;
    		END IF;
    	END PROCESS REG;
    END BEHAV;
    

    Test Bench:

    LIBRARY ieee;                                               
    USE ieee.std_logic_1164.all;                                
    USE IEEE.STD_LOGIC_UNSIGNED.ALL;
    ENTITY TRAFFIC_vhd_tst IS
    END TRAFFIC_vhd_tst;
    ARCHITECTURE TRAFFIC_arch OF TRAFFIC_vhd_tst IS                                                  
    SIGNAL CLK1 : STD_LOGIC;
    SIGNAL RST1 : STD_LOGIC;
    SIGNAL NS : STD_LOGIC_VECTOR(2 DOWNTO 0);
    SIGNAL WE : STD_LOGIC_VECTOR(2 DOWNTO 0);
    CONSTANT CLK_P:TIME:=1 us;
    COMPONENT TRAFFIC
    	PORT(CLK,RST:IN STD_LOGIC;
    		NSLIGHTS,WELIGHTS:OUT STD_LOGIC_VECTOR(2 DOWNTO 0));
    END COMPONENT;
    BEGIN
    	i1 : TRAFFIC PORT MAP(CLK => CLK1, RST => RST1, NSLIGHTS => NS, WELIGHTS => WE);
    	PROCESS
    		BEGIN
    		CLK1<='0'; WAIT FOR CLK_P;
    		CLK1<='1'; WAIT FOR CLK_P;
    	END PROCESS;
    	RST1<='1','0' AFTER 2 us;
    END TRAFFIC_arch;
    

    仿真波形图:
    在这里插入图片描述

    展开全文
  • 设置按键按下可以进行红灯和绿灯时间调整,加键调整时间。调整完后再次按下设置程序回到倒计时运行。 特殊模式键按下第一次红灯全亮,数码管显示全为0代表紧急模式停止同行。再次按下数码管显示为全FF,代表夜间...
  • 采用一个中断作为特殊车辆的控制位,采用P1口作为输入控制口即A道和B道的控制口,其为双向IO口同时作为交通灯的输出口,采用P0口作为LED的输出口,但P0口做输出口时需要接上拉电阻,其显示的是红绿黄灯的切换时间,...
  • 系统实现语言是汇编 用字符画出车道,用字符的不同颜色显示...根据交通规则控制红绿交替变化,时间自定。 在十字路口中间显示倒计时的时间。 根据红绿灯状态控制四个方向的车辆移动。 有动画效果、符合实际情况。
  • 1,东西方向为绿灯,行人和车辆东西方向可以同行东西绿灯时间长20s。南北方向为红灯行人车辆禁止同行时长25s。 2,东西方向黄灯闪烁5秒,南北方向还是红灯等待,警示车辆和行人状态即将切换。 3,南北方向为绿灯,...
  • 【c51单片机】交通红绿灯设计

    万次阅读 多人点赞 2018-10-04 21:54:04
    观察十字路口红绿灯工作流程,设计交通灯。 1、初始时:南北向、东西向直行左转均为红灯 2、南北向直行: ①南北向直行绿灯亮,延时若干秒 ②启动南北向左转数码管显示:倒计时6秒;同时南北向直行绿灯闪烁3下,...
  • 采用一个中断作为特殊车辆的控制位,采用P1口作为输入控制口即A道和B道的控制口,其为双向IO口同时作为交通灯的输出口,采用P0口作为LED的输出口,但P0口做输出口时需要接上拉电阻,其显示的是红绿黄灯的切换时间,...
  • 本设计是采用AT89C5单片机控制的交通灯控制系统电路,设计系统主要由单片机系统、LED显示、交通控制灯等部分组成。系统具有基本的交通灯功能能遵循程序自动实习红绿灯的转换和延时,使得此系统能适应于现代交通控制...
  • 51单片机自学--交通红绿灯模拟

    千次阅读 2018-06-03 08:24:06
    51单片机自学--交通红绿灯模拟(黄灯闪烁与不闪两种模式) ABC东西红黄绿DEF南北红黄绿S时间K选择模式 或许看这文章的是初学者,有些话还是要说的,就是要使用本代码,需要把对应的端口进行更改为你连接的IO端口,就...
  • 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下: 1.异步随机生成按照各个路线行驶的车辆。 2.信号灯忽略黄灯,只考虑红灯和绿灯。 3.应考虑左转车辆控制信号灯,右转车辆不受信号灯控制。 4.具体信号灯...
  • 课 程 设 计课程设计名称: 交通灯控制实验专 业 班 级 :学 生 姓 名 :学 号 :指 导 教 师 :课程设计时间: 2014.12.22---2015.1.2微机原理 专业课程设计任务书学生姓名专业班级学号题 目交通灯控制实验课题性质...
  • 通过对I/O接口的编程,控制器可以实现对交通灯的红、绿、黄灯定时控制及倒计时的信号触发(倒计时由单片机控制板控制,当单片机接收到PLC的倒计时开始信号时,倒计时电路开始显示9,然后每隔1s递减1,直至显示完1后...
  • 接线方法: TurnipBit扩展板与发光二极管接口对应如下表: Turnip扩展板 发光二极管 PO 红灯正极 P1 黄灯正极 P2 绿灯正极 GND GND fritzing图示:(想学这个的可以看我之前的一篇介绍fritzing的文章,非常有趣) 5....
  • 可由红绿黄灯的状态控制车子运动.绿灯亮,车子通行; 黄灯亮,车子慢行;红灯亮,车子停止. 4.可以改变车子运动速度(0-5)档. 5.实现车子返还运动时方向改变. 6.实现不同状态提示相应文字. 7.实现晚上21:00至...
  • 数字电路课设源码。基于multisim实现的交通灯实验,实现十字路口交通灯红绿黄灯的定时转换,有倒计时时显示,红绿黄灯的转换。
  • 观察十字路口红绿灯工作流程,设计交通灯。 1、初始时:南北向、东西向直行左转均为红灯 2、南北向直行: ①南北向直行绿灯亮,延时若干秒 ②启动南北向左转数码管显示:倒计时6秒;同时南北向直行绿灯闪烁3下,灭亮...
  • 红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。本系统实用性强、操作简单、...
  • 知识点和关键字:定时器 触点比较指令 传送...程序控制1十字路口交通灯控制程序1,使用了一个定时器来控制,该定时器在一个动作周期内,从0开始随着时间经过逐步增大一直到140,使用定时器过程值来控制红绿灯, 如图...
  • 要求:(1)用字符画出车道,用字符的不同颜色显示红灯、绿灯、黄灯;(2)在十字路口中间显示倒计时的时间;(3)可进一步用字符显示停下的和运行的车辆。 附件内容: ...┠─────模拟交通灯流程图.doc

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,022
精华内容 808
关键字:

交通灯的红绿黄灯时间