交通灯(LED灯+数码管)

合集下载

单片机课程设计交通灯(完整版)

单片机课程设计交通灯(完整版)
3.5.3.特性
门控串行数据输入
异步中央复位
符合 JEDEC 标准 no.7A
静电放电 (ESD) 保护:
·HBM EIA/JESD22-A114-B 超过 2000 V
·MM EIA/JESD22-A115-A 超过 200 V 。
多种封装形式
额定从-40 °C至 +85 °C和-40 °C至 +125 °C。
设计思想基于完成以上任务分析结合所学有关知识尤其是本学期所学关于单片机的中断系统和定时计数器的相关知识及应用我们知道对于15红绿黄四组各三盏灯的控制可以通过把这十二盏灯分别接到单片机的六个输出引脚若用p1口进行输出则分配如下at89c51l1l2l3l4l5l6东西红东西黄东西绿南北红南北黄南北绿led显示分布1642
亮灯规律:东西绿灯亮25s,南北红灯亮25s
东西绿灯闪5s,南北红灯亮5s
东西黄灯亮2s,南北红灯亮2s
东西红灯亮25s,南北绿灯亮25s
东西红灯亮5s,南北绿灯闪5s
东西红灯亮2s,南北黄灯亮2s
2.2.
(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
3.2.LED
3.2.1.七段数码显示器:
七段发光线段分别用a、b、c、d、e、f、g七个小写字母表示。
3.2.2.LED数码管:
半导体数码管又称LED数码管,是一种广泛使用的显示器件。LED有两种:共阳极型和共阴极型。
LED优点:亮度高、字形清晰,工作电压低(1.5~3V)、体积小、可靠性高、寿命长,响应速度极快。
1.引言
交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。

基于quartusll-交通灯控制系统

基于quartusll-交通灯控制系统

一、设计任务要求交通灯控制器:用于十字路口的交通灯控制器.实验要求:1.东西方向各有一组红,黄,绿灯用于指挥交通,红,黄,绿的持续时间分别为25s,5s,20s。

2.当有紧急情况(如消防车)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,正常工作。

3.组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间.二、设计思路及总体结构框图设计思路:1.硬件:由设计任务要求可知,总体输入电路有:(1)在开始计时之前的等待状态,复位键reset接低电位,接通电源后,首先要将它接高电位,表示计时开始。

(2)当按一下(on_off)键,表示紧急情况发生,两个方向均为红灯亮,计时停止,当再次按下(on_off)键时,控制器恢复原来状态,正常工作。

输出电路:(1)由于东西和南北方向都要显示时间,因此需要4个数码管,这样在设计中就需要四条输出线choose4,用来选通指定一个LED七段显示数码管。

(2)显示器的每一位都采用LED七段显示数码管进行显示,每一个LED七段显示数码管都要有七条输出线控制,一共使用4个七段数码管,故输出电路使用四个七位输出信号:showtime1,showtime2,showtime3,showtime4。

(3)东西和南北方向都有交通灯亮的情况,故输出电路中要有两个状态控制信号state1,state2分别控制东西和南北的灯,每个方向上有4个灯(增加了左、右转弯显示控制功能),所以state1,state2的类型应该是4位数组型的。

reset7/2.软件:(1)在VHDL设计描述中,采用自顶向下的设计思路,该思路,首先要描述顶层的接口,上面的描述已经规定了交通灯控制的输入输出信号:输入信号:复位开关信号reset;紧急情况控制信号on_off;外部时钟信号clk。

输出信号:LED七段显示数码管的选通信号choose4(3 downto 0);LED 七段显示数码管的输出信号showtime1(6 downto 0),showntime2(6 downto 0),showtime3(6 downto 0),showtome4(6 downto 0);交通灯状态控制信号state1(3 downto 0),state2(3 downto 0)。

EDA实验课程大作业报告:设计制作一个用于十字路口的交通灯控制器

EDA实验课程大作业报告:设计制作一个用于十字路口的交通灯控制器

交通灯控制器设计一.系统功能设计要求设计制作一个用于十字路口的交通灯控制器,要求如下:(1)南北和东西方向各有一组红、绿、黄灯来指挥交通,持续时间分别为25S,20S,和5S。

(2)当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮,计时停止。

(3)当特殊情况结束后,控制器恢复原来状态,继续正常运行。

(4)用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。

二.设计原理1.交通灯控制器的状态转换根据题目要求将将红绿灯的状态转换列成如下表:2.设计方案1)由于交通灯需要使用2位7段LED数码管指示通行剩余时间,故采用LED动态扫描方式显示当前时间。

频率设定CLK1k对应的频率为50MHZ。

2)控制模块是交通灯的核心,主要控制交通灯按工作顺序自动变换,同时控制倒计时模块工作,每当倒计时回零时,控制模块接收到一个计时信号,从而控制交通灯进入下一个工作状态。

3)每个方向有一组2位倒计时器模块,用以显示该方向交通灯剩余的点亮时间。

4)显示模块由两部分组成,一是由七段数码管组成的倒计时显示器,每个方向两个七段数码管;二是由发光二极管代替的交通灯,每个方向3个发光二极管。

三.变量符号说明其中,CLK1K为系统时钟信号输入端,SN为禁止通行信号输入通行信号输入端,light0为东西红灯信号输出端,light1为东西黄灯信号输出端,light2为东西绿灯信号输出端,light3为南北红灯信号输出端,light4为南北黄灯信号输出端,light5为南北绿灯信号输出端,led1、led2、led3、led4为数码管地址选择信号输出端。

四.代码说明library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity Hongld ISport (clk1k,SN:in std_logic; --SN紧急情况led1, led2, led3, led4 :out std_logic_vector (6 downto 0);--显示管显示时间用light:out std_logic_vector (5 downto 0)); --红绿黄灯end Hongld;architecture traffic1 of Hongld ISsignal S:std_logic_vector (1 downto 0); --状态signal DXT:std_logic_vector(7 downto 0):=X"01"; --东西方向时间signal NBX:std_logic_vector(7 downto 0):=X"01"; --南北方向时间signal ART,AGT,AYT,BRT,BGT,BYT: std_logic_vector(7 downto 0); --红绿黄灯信号signal temp: integer range 0 to 49999999; --产生1s计数器时计数signal clk: std_logic;beginART<="00100101";AGT<="00100000";AYT<="00000100";BRT<="00100101";BGT<="00100000";BYT<="00000100";process(clk1k) -- 选频率为50MHZ beginif (clk1k'event and clk1k='1') thenif temp=49999999 thentemp<=0;clk<='1';elsetemp<=temp+1;clk<='0';end if;end if;end process;process(clk,DXT,NBX) --状态转换进程beginif clk'event and clk ='1' thenif(DXT ="00000001")OR (NBX = "00000001") then S<=S+1;else S<=S;end if; --状态转换结束end if;end process;process (clk,SN,S) --倒计时模块beginif SN = '1' then DXT<=DXT; NBX<=NBX;elseif clk'event and clk='1' thenif (DXT="0000000") OR (NBX="00000000") thencase S ISwhen "00"=>DXT<=ART; NBX<=BGT; --南北红灯、东西绿灯when "01"=>NBX<=BYT; --南北红灯、东西黄灯when "10"=>DXT<=AGT; NBX<=BRT; --南北绿灯、东西红灯when "11"=>DXT<=AYT; --南北黄灯、东西红灯when others=>NULL;end case;end if;if DXT/="00000000" thenif DXT(3 downto 0)= "0000" thenDXT(3 downto 0)<="1001";DXT(7 downto 4)<=DXT(7 downto 4)-1;else DXT(3 downto 0)<=DXT(3 downto 0)-1;DXT(7 downto 4)<=DXT(7 downto 4);end if;end if;if NBX/="00000000" thenif NBX(3 downto 0)="0000" thenNBX(3 downto 0)<="1001";NBX(7 downto 4)<=NBX(7 downto 4)-1;else NBX(3 downto 0)<=NBX(3 downto 0)-1;NBX(7 downto 4)<=NBX(7 downto 4);end if;end if;end if;end if;end process; --倒计时模块结束process(DXT,NBX,S,SN) --显示模块begincase NBX(3 downto 0) iswhen "0000"=>led1<="1000000";when "0010"=>led1<="0100100"; when "0011"=>led1<="0110000"; when "0100"=>led1<="0011001"; when "0101"=>led1<="0010010"; when "0110"=>led1<="0000010"; when "0111"=>led1<="1111000"; when "1000"=>led1<="0000000"; when "1001"=>led1<="0010000"; when others=>led1<="1111111"; end case;case NBX(7 downto 4) iswhen "0000"=>led2<="1000000"; when "0001"=>led2<="1111001"; when "0010"=>led2<="0100100"; when "0011"=>led2<="0110000"; when "0100"=>led2<="0011001"; when "0101"=>led2<="0010010"; when "0110"=>led2<="0000010"; when "0111"=>led2<="1111000"; when "1000"=>led2<="0000000"; when "1001"=>led2<="0010000"; when others=>led2<="1111111"; end case;case DXT(3 downto 0) iswhen "0000"=>led3<="1000000"; when "0001"=>led3<="1111001"; when "0010"=>led3<="0100100"; when "0011"=>led3<="0110000"; when "0100"=>led3<="0011001"; when "0101"=>led3<="0010010"; when "0110"=>led3<="0000010"; when "0111"=>led3<="1111000"; when "1000"=>led3<="0000000"; when "1001"=>led3<="0010000"; when others=>led3<="1111111"; end case;case DXT(7 downto 4) iswhen "0000"=>led4<="1000000"; when "0001"=>led4<="1111001"; when "0010"=>led4<="0100100";when "0100"=>led4<="0011001";when "0101"=>led4<="0010010";when "0110"=>led4<="0000010";when "0111"=>led4<="1111000";when "1000"=>led4<="0000000";when "1001"=>led4<="0010000";when others=>led4<="1111111";end case;if SN ='1' then light<="001001";elsecase S ISwhen "00"=>light<="010001";when "01"=> light <="100001";when "10"=> light <="001010";when "11"=> light <="001100";when others=>NULL;end case;end if;end process;end traffic1;五.仿真波形图仿真时序波形图。

VHDL编程实现交通灯控制(数电实验)解析

VHDL编程实现交通灯控制(数电实验)解析


emergencykey:in std_logic; --紧急开关

time_h,time_l:out std_logic_vector(3 downto 0); ; --定时

red,green,yellow:out std_logic_vector(3 downto 0) ; --红黄绿灯

);
描述状态机的进程
状态机的描述方式: 三进程、二进程、单进程(本实验采用)
一般采用三个进程来描述状态机 描述状态机寄存器的时序进程 描述次态产生逻辑的组合逻辑进程 描述输出组合逻辑进程
状态机寄存器的时序进程
process(reset,clk)
begin
if reset='1' then
current_state<=初始状态;
在进程中利用自定义数据类型定义交通灯的4个状态, 根据东西、南北方向的时间计数器的计数结果利用CASE 语句实现4个状态的转换,在每一个状态中利用内部信号 传递实现对红黄绿灯的显示控制。
FSM设计方法
• 分析控制器设计指标, 建立系统算法模型, 即状态转换图;
• 分析被控对象的时序, 确定控制器的有限 状态机的各个状态及输入、输出条件;
end if;

);
• end scandisplay;
• architecture behav of scandisplay is
• end if; •end process;
• signal num_in: std_logic_vector(3 downto 0); • signal counter:integer range 0 to 1; • signal led_chioce:std_logic; • Begin

数字电路 交通灯

数字电路  交通灯

摘要 ----------------------------------------------------------------------------------------------------------------------- 2 正文 ----------------------------------------------------------------------------------------------------------------------- 3 1.十字路口交通管理控制器的设计 ----------------------------------------------------------------------------- 31.2设计要求: ------------------------------------------------------------------------------------------------- 31.3应满足的工作时序---------------------------------------------------------------------------------------- 42. 设计方案 ------------------------------------------------------------------------------------------------------------ 42.1 设计思路---------------------------------------------------------------------------------------------------- 42.2信号灯变化情况: ----------------------------------------------------------------------------------------- 52.3 器件清单---------------------------------------------------------------------------------------------------- 63.脉冲信号的设计---------------------------------------------------------------------------------------------------- 63.1 555 VIRTUAL time--------------------------------------------------------------------------------------- 63.2 555定时器芯片工作原理,功能及应用 ------------------------------------------------------------ 73.3 555定时器 ------------------------------------------------------------------------------------------------- 73.4 555 芯片的充放电实现的秒信号脉冲 ------------------------------------------------------------- 84. 74LS00芯片的介绍和运用 ------------------------------------------------------------------------------------ 84.1 HD74LS00P的介绍: ------------------------------------------------------------------------------------ 84.2 HD74LS00P的运用: ------------------------------------------------------------------------------------ 95. HD74LS20P的介绍---------------------------------------------------------------------------------------------- 105.1 HD74LS20P的运用: ---------------------------------------------------------------------------------- 106. 74LS90芯片的介绍和运用 ---------------------------------------------------------------------------------- 116.1 HD74LS90P的介绍: ---------------------------------------------------------------------------------- 116.2 HD74LS90P的运用: ---------------------------------------------------------------------------------- 117. 74LS48芯片和数码管的使用 ------------------------------------------------------------------------------- 128. 发光二极管的介绍 --------------------------------------------------------------------------------------------- 128.1 基本介绍-------------------------------------------------------------------------------------------------- 128.2二极管作用简介 ----------------------------------------------------------------------------------------- 139. 交通信号灯使用说明------------------------------------------------------------------------------------------ 149.1 实物展示-------------------------------------------------------------------------------------------------- 149.2 注意事项-------------------------------------------------------------------------------------------------- 149.3 基本功能-------------------------------------------------------------------------------------------------- 159.4系统常见故障分析-------------------------------------------------------------------------------------- 1510. 心得体会 -------------------------------------------------------------------------------------------------------- 15 参考文献--------------------------------------------------------------------------------------------------------------- 16交通信号灯是交通信号中的重要组成部分,是道路交通的基本语言。

简易交通灯控制电路的设计

简易交通灯控制电路的设计

简易交通灯控制电路的设计交通灯控制电路是现代城市交通管理的重要组成部分,其设计方案的合理性和可靠性对保障人民出行的安全和畅通至关重要。

在本文中,我将介绍一个简单的交通灯控制电路的设计方案,涉及到所需材料、电路设计、电路连接和电路测试等方面,旨在提供一种可行的设计思路及实现方法。

一、所需材料1. PCB板2. AT89C2051单片机3. LCD12864液晶显示屏4. DS1302时钟模块5. 7段LED数码管6. 红绿黄LED发光二极管7. 继电器8. 12V电源适配器9. 74HC595芯片10. 电容、电阻、连接线等二、电路设计本次交通灯控制电路采用单片机AT89C2051作为控制核心,通过LCD12864液晶显示屏展示交通灯状态,并且控制红绿黄三色LED灯。

还采用DS1302时钟模块来实现交通灯的定时控制,以确保交通灯的安全和准确性。

具体的电路设计如下:1.电源模块本电路采用12V电源适配器作为供电来源,将电源接入100uf电解电容并接入AT89C2051芯片VCC引脚,以确保芯片工作电压稳定。

2.时钟模块DS1302时钟模块通过连接到P1.0、P1.1和P1.2引脚来实现对交通灯的定时控制。

还需将时钟模块的CLK、DIO和RST引脚分别连接到AT89C2051芯片的P1.4、P1.5和P1.6引脚来实现数据传输和控制信号输出。

3.LCD显示模块将LCD显示屏的RS、RW和E引脚连接到AT89C2051芯片的P3.0、P3.2和P3.1引脚,将LCD数据引脚DB0-DB7连接到AT89C2051芯片的P2.0-P2.7引脚,以在交通灯控制过程中显示交通灯状态。

4.7段LED数码管模块将74HC595芯片、CD4511译码器和7段LED数码管连接在一起,将74HC595芯片的SER、SRCLK和RCLK引脚连接到AT89C2051芯片的P1.7、P1.5和P1.6,将CD4511译码器的A、B、C、D和O引脚分别连接到74HC595芯片的Q0-Q3和74HC595芯片的Q4引脚,将7段LED数码管的公阴极连接到CD4511译码器的O引脚,在交通灯控制过程中实现倒计时显示。

《EDA技术及应用》交通灯控制电路的设计

《EDA技术及应用》交通灯控制电路的设计

《EDA技术及应用》交通灯控制电路的设计1 系统设计1.1 设计要求1.1.1 设计任务1、用4个八段数码管分别显示道路东西和南北通行和禁止的倒计时时间。

2、能设置道路东西和南北两侧通行和禁止的倒计时时间,最大设置时间为99秒,最小设置时间为1秒。

3、交通灯用红、绿、黄三种发光二极管(LED)显示控制的结果。

4、红、绿、黄灯显示的次序应符合实际交通道路控制的要求。

5、其它功能。

1.1.2性能指标要求设计一个交通控制器,用LED 显示灯表示交通状态,并以8 段数码显示器显示当前状态剩余秒数南北方向绿灯亮时,东西方向红灯亮;反之亦然,二者交替允许通行,南北方向每次放行99s,东西方向每次放行99s,南北红绿灯始终比东西红绿灯快3s。

每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时间为3s。

因为开发板没有绿黄灯,所以用两组三个led灯替代显示红黄绿灯。

南北方向与东西方向各用两个8位数码管显示倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。

1.2 设计思路及设计框图1.2.1设计思路本次设计是针对十字路口,进行南北和东西直行情况下交通灯控制。

设定东西方向为主干道方向,根据交通灯的亮的规则,在初始状态下两个方向的都为红灯亮启,进入正常工作状态后,当南北方向红绿灯上绿灯亮时,东西方向红绿灯上红灯亮,各方向最后倒计时3s时,南北方向红绿灯和东西方向红绿灯上的代表黄灯的led灯亮启,持续3S后,南北方向红绿灯上红灯亮启,东西方向红绿灯上绿灯亮启持续99s,之后南北方向和东西方向上的黄灯都亮启3s,一个循环完成,循环往复的直行这个过程。

1.2.2总体设计框图根据任务需求,总体设计有:分频器模块、控制器模块、倒计时模块、红绿灯显示模块、码模块和译码显示模块如下图所示:2 各个模块程序的设计led红绿灯显示:module led(clk,led,N,D,cout,zt);input clk;input [6:0] N;input [6:0] D;output reg [5:0] led;output reg [1:0] zt;output reg [6:0] cout;always@(posedge clk)begincout=cout+1;if(cout<N-3)led=6'b100001;//南北绿灯,东西红灯else if(cout>N-3&&cout<N)led=6'b100010;//南北黄灯,东西红灯else if(cout>N&&cout<D+N-3)led=6'b001100;//南北红灯,东西绿灯else if(cout>N+D-3&&cout<N+D)led=6'b010100;//南北红灯,东西黄灯else if(cout==N+D)cout=0;if(cout<N-4)zt=0;else if(cout>N-4&&cout<N-1)zt=1;else if(cout>N-1&&cout<D+N-4)zt=2;else if(cout>D+N-4&&cout<N+D-1)zt=3;endEndmodule分频器:module div(clk,clkout);input clk;output reg clkout;Parameter CNT_MAX =50_000_000;//1s->1hz(50_000_000/1),0.5s->2hz(50_000_000/2=25_000_000) //parameter CNT_MAX = 1; //for simulationreg [25:0] cnt;always @ (posedge clk)if (cnt < CNT_MAX - 1'b1)cnt <= cnt + 1'b1;elsecnt <= 26'd0;always @(posedge clk)if(cnt == CNT_MAX - 1'b1)clkout=1'b1;elseclkout=1'b0; Endmodule调时控制:module ts(s,N,D,mode);input [1:0] s;input mode;output [6:0] N;output [6:0] D;j u1(.s(s[0]),.q(N),.mode(mode));j u2(.s(s[1]),.q(D),.mode(mode));Endmodule倒计时计数:module seg(clk,N,D,cout,zt,fs1,fs2); input clk;input [6:0] N;input [6:0] D;input [6:0] cout;input [1:0] zt;output reg [6:0] fs1;output reg [6:0] fs2;always@(posedge clk)case(zt)2'b00:begin fs1=N-cout-4; fs2=N-cout-1;end2'b01:begin fs1=N+D-cout-1; fs2=N-cout-1;end2'b10:begin fs1=N+D-cout-1; fs2=N+D-4-cout;end2'b11:begin fs1=N+D-cout-1; fs2=2*N+D-cout-1;endendcaseEndmodule计时输出:module j(s,q,mode);input s,mode;output reg [6:0] q;initialq=15;//初始从15开始启动always@(posedge s)if(mode)q=q+1;elseq=q-1;Endmodule数码管调用:// Module Function:数码管的译码模块初始化module segment7 (seg_datin,seg_led,en);input [3:0] seg_datin; //数码管需要显示0~f共16个数字,所以需要4位数据输入端 input en; //数码管使能端output [7:0] seg_led; //在DE10-Standard上控制一个数码管需要7个信号MSB~LSB=DP、G、F、E、D、C、B、Areg [7:0] seg [15:0]; //定义了一个reg型的数组变量,相当于一个16*8的存储器,存储器一共有16个数,每个数有8位宽initial //在过程块中只能给reg型变量赋值,Verilog中有两种过程块always和initial//initial和always不同,其中语句只执行一次beginseg[0] = ~(8'h3f) ; //对存储器中第一个数赋值8'b0011_1111,7段显示数字 0 seg[1] = ~(8'h06); //7段显示数字 1seg[2] = ~(8'h5b); //7段显示数字 2seg[3] = ~(8'h4f); //7段显示数字 3seg[4] = ~(8'h66); //7段显示数字 4seg[5] = ~(8'h6d); //7段显示数字 5seg[6] = ~(8'h7d); //7段显示数字 6seg[7] = ~(8'h07); //7段显示数字 7seg[8] = ~(8'h7f); //7段显示数字 8seg[9] = ~(8'h6f); //7段显示数字 9seg[10] = ~(8'h77); //7段显示数字 aseg[11] = ~(8'h7c); //7段显示数字 bseg[12] = ~(8'h39); //7段显示数字 cseg[13] = ~(8'h5e); //7段显示数字 dseg[14] = ~(8'h79); //7段显示数字 eseg[15] = ~(8'h71); //7段显示数字 fendassign seg_led = en?seg[seg_datin]:8'hff; //连续赋值,输入不同四位数,输出对于译码的8位输出,共阴数码管取反。

交通灯实验报告

交通灯实验报告

微机原理课程设计报告新疆农业大学计算机与信息工程学院课程题目:微机原理与几口技术班级:电科112指导老师:张婧婧姓名:刘建国学号:114633222基于8086的交通信号控制器的设计报告摘要:这次课程设计,我们的任务是:基于8086的交通信号控制器的设计。

8086系统是我们这个学期学习的主线方向,我们将在8086系统的基础上完成交通信号控制器的设计,其具体功能是:1.显示十字路口东西、南北2个方向的红、黄、绿的指示状态。

2.实现正常的倒计时功能。

用2组数码管作为东西和南北方向的倒计时显示,显示时间为红灯30s,绿灯50s,黄灯5s。

3.按S1键能实现特殊的功能,显示倒计时的2组数码管闪烁,计数器停止计数并保持在原来的状态;东西、南北路口均显示红灯状态;特殊状态解除后能继续计数。

4.按S2键实现总体清零功能。

计数器由初始状态计数,对应的指示灯亮。

关键词:8086系统 74154 74HC373 8255A LED交通灯(一)1) 设计目的交通信号控制灯是日常交通不可缺少的工具,涉及到人们的人生和财产安全,在道路行驶上起了相当关键的作用,因而设计交通信号控制灯是非常有意义的。

同时我们这次设计的课题就是“基于8086交通信号控制器的设计”,基于以上目的,我利用一周时间精心设计出课题要求的交通灯。

2) 设计思想在此次设计过程中,我们选择了数码管、发光二极管、74LS138、74LS373、8255A和8086来控制实现交通灯按设计要求工作。

3)硬件部分1、LED设计说明:用LED作为倒计时时间的显示器,LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。

LED与LCD的功耗比大约为10:1,利用LED技术,可以制造出比LCD更薄、更亮、更清晰的显示器,LED是发光二极管属于二极管的一种,LCD是液晶显示器,两者相差太多.但是用LED的点阵也能组成显示器,适用于户外大屏幕显示,分辨率较低,LED与LCD具体比较如下图表1-1:LCD与LED的比较2、8255设计说明:用8255A可编程并行接口芯片的A、B、C三口作为红、绿、黄交通灯的控制输入口。

单片机课程设计交通灯

单片机课程设计交通灯

单片机课程设计 - 红绿灯第一章介绍随着我国社会经济的发展和城市化进程的加快,道路交通拥堵问题越来越严重。

如何合理管理和调度交通,尽可能减少交通拥堵,已成为我国许多地区特别是特大城市迫切需要解决的问题。

问题,显然交通信号灯在其中起着不可或缺的作用。

本文讨论了控制红绿灯的方法,分析了各种方案的成本效益,并通过软件和硬件实现了它们。

然后,对6车道以上道路的“路口红绿灯控制”进行了分析。

最后对城市交通信号灯网络的控制进行了展望。

希望能给相关政府部门一些参考,更好的改善我们的城市交通。

今天的交通发展迅速,车辆大量增加,道路拓宽,人行横道相对较少。

即使在车流量大的地方有人行横道,行人也很难过马路。

行人自动控制指示系统可以有效改善这种状况。

尤其是像这样的大都市,经济高速发展,车辆多,人口稠密。

缓解交通问题已成为重中之重。

比如我们新校区西门(塔南路)就是这种情况。

每天进出校门的学生很多,而且大部分要穿过这条繁忙的高速公路,给师生带来了很大的好处。

不便。

该系统主要应用于交通运输领域,具有很高的实用价值。

该系统利用红灯、黄灯、绿灯来引导车辆和行人,以达到使车辆和行人停下来,减少交通拥堵,为行人节省时间的目的,即保证行人过马路时的安全,也减轻了交管部门的负担。

面向公共交通设施,该产品不注重经济效益,而是着眼于未来的发展潜力,从而带动相关产业。

用户可以完全掌握行人自动控制指示系统的操作方法,并配合每个按钮的功能,科技的飞速进步直接将我们带入了信息社会,计算机的应用在各个方面得到了普及。

经济和社会生活领域。

第二章设计要求和任务第一个程序的要求和要求:一、实验要求:编写一个程序,以89c端口52作为输出端口,控制4个双色LED灯(可以发出红绿黄灯),模拟路口红绿灯的管理。

2、实验目的:(1)学习I/O口的扩展方法;掌握89c52的工作原理和编程方法,了解软硬件调试技术。

(2)学习模拟红绿灯控制方法;(3)学习双色LED灯的使用;Section 2设计任务及设计内容:(CPU使用89c52)1.软件延时实现模拟路口红绿灯控制:(图1)实验效果:软件延时控制A、C路口红灯,B、D路口绿灯亮60秒;则A、C路口不变,B、D路口绿灯闪烁5次,B、D路口黄灯亮; A、C路口绿灯,B、D路口红灯延时3秒;然后A和C路口的绿灯闪烁5次,然后黄灯亮,B和D保持不变。

交通灯设计-8255-8254(附连线图和源代码)

交通灯设计-8255-8254(附连线图和源代码)

西安郵電學院硬件课程设计报告题目:微机原理与接口课程设计;^院系名称:计算机学院专业名称:软件工程班级:软件0802学生姓名:王晶晶学号(8位): 04085047指导教师:刘军设计起止时间:2011年05月23日~2011年05月27日[一、设计目的通过可编程并行接口芯片8255A和可编程定时器/计数器芯片8253/8254以及中断控制器 8259实现十字路口交通灯的模拟控制,进一步掌握并行接口和定时器/计数器及数码管控制的实际应用。

二、设计内容1.用试验台提供的发光二极管(红绿黄各两支,共六支)作为南北路口(红绿黄各一支)和东西路口(红绿黄各一支)的模拟交通灯。

2.用可编程并行接口芯片8255A控制模拟交通灯的亮与灭和数码管的倒计时显示。

3.用可编程定时器/计数器芯片8253实现模拟交通灯亮与灭的时间延迟控制。

4.用数码管作为模拟交通灯亮与灭的时间延迟控制的倒计时显示。

'5.用汇编语言编程使六个灯按交通灯变化规律“亮/灭”。

交通灯变化规律要求:① 南北路口的绿灯,东西路口的红灯同时亮30秒,且数码管30秒倒计时显示。

② 南北路口的黄灯闪烁3秒(三亮三灭),同时东西路口的红灯继续亮,且数码管3秒倒计时显示。

③ 南北路口的红灯,东西路口的绿灯同时亮20秒,且数码管20秒倒计时显示。

④ 南北路口的红灯继续亮,同时东西路口的黄灯闪烁3秒(三亮三灭),且数码管3秒倒计时显示。

⑤ 转①重复⑥按压“东西紧急键”,则东西方向绿灯,南北方向红灯;再次按压“东西紧急键”,解除东西紧急通行状态。

(“东西紧急键”可是键盘键,亦可是逻辑开关键)⑦按压“南北紧急键”,则南北方向绿灯,东西方向红灯;再次按压“南北紧急键”,解除南北紧急通行状态。

(“南北紧急键”可是键盘键,亦可是逻辑开关键)"⑧按 <ESC>键退出程序。

备注:1、按键用 8255A 芯片的 PC 口实现或用键盘模拟实现。

2、8253定时到可以通过8259,用中断的方式实现定时器。

8086交通灯微机课程设计

8086交通灯微机课程设计

课程设计报告题目交通灯的设计课程名称微机原理及应用院部名称机电工程学院专业电气工程及其自动化班级XXXXXXXXXXX学生姓名 XXXXX学号XXXXXXXXXX课程设计地点工科楼 C304课程设计学时20指导教师 XXXXXXXXX金陵科技学院教务处制成绩运用了8086 CPU芯片以及8255A芯片、8253芯片和数码管等辅助硬件电路,进行了数码管倒计时的设计。

进行了软件设计并编写了源程序。

交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。

交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。

本系统采用8086为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展强。

本设计就是采用8086最小方式下在Protues7.8SP2软件下模拟十字路口交通灯的各种状态显示以及倒计时显示时间。

本设计系统由8255AI/O口扩展系统、交通灯状态显示系统、LED数码显示系统等几大部分组成。

系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。

本系统采用8086汇编语言编写,主要编写了主程序,LED数码管显示程序等。

总体上完成了软件的编写。

关键词:带倒计时功能的交通灯;8255A;8086微机系统一、概述1.1 课程设计的目的 (3)1.2课程设计的要求 (3)二、总体设计方案及说明2.1 系统总体设计方案 (4)2.2系统工作框图 (4)三、系统硬件电路设计3.1 Intel 8086 微处理器的简介 (5)3.2 8255A芯片的工作原理 (7)3.3多位数码管的工作原理 (8)3.4 74LS273芯片简介 (10)3.5系统电路图设计 (11)3.5.1.系统总电路图设计 (11)3.5.2.8086最小系统原理图设计 (12)四、系统软件部分设计4.1 系统流程图 (14)4.2 系统软件源程序 (15)4.2.3 汇编源程序及说明 (16)五、总结5.1系统调试 (18)5.2 心得与体会 (20)六、参考文献 (22)一、概述1.课程设计应达到的目的通过本课程设计,使学生掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法。

51单片机控制的交通灯系统实验报告

51单片机控制的交通灯系统实验报告

系统实验报告——基于51单片机的交通灯设计专业:XX学生姓名:xx XX学号:***********指导教师:wwwwwwwwwww2000年x月x日目录1 设计任务和性能指标 (1)1.1设计任务 (1)1.2性能指标 (1)2 设计方案 (2)2.1任务分析 (2)2.2方案设计 (2)3 系统硬件设计 (3)3.1单片机的最小系统 (3)3.2电源电路 (4)3.3数码管显示时间电路设计 (4)3.4信号灯控制电路设计 (5)4 系统软件设计 (5)4.1主程序设计 (5)5 调试及性能分析 (6)5.1调试分析 (6)5.1.1 软件调试 (6)5.1.2 硬件调试 (6)5.1.3 系统功能调试 (6)6 心得体会 (6)参考文献 (8)附录1 系统原理图 (9)附录3 程序清单 (10)附录3元器件清单 (14)1 设计任务和性能指标1.1设计任务利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。

用红、绿、黄发光二极管作信号灯。

如图上图所示。

设东西向为主干道,南北为支干道。

1.2性能指标1. 状态1:仅亮灯,数码管不工作。

按下键4,红/黄/绿三色灯交替亮:红—〉(20秒)黄(闪烁)—〉(5秒)绿—〉(20秒) 黄(闪烁)—〉(5秒)红2. 状态2:灯和数码管相结合,模拟十字路口的交通灯 在以上功能的基础上数码管倒计时显示时间。

南东2 设计方案2.1任务分析模拟交通灯控制器就是使用单片机来控制一些LED 和数码管,模拟真实交通灯的功能。

红、黄、绿交替闪亮,利用数码管倒计数显示间隔等,用于管理十字路口的车辆及行人交通,计时牌显示路口通行转换剩余时间等2.2方案设计根据设计的要求可知,系统的硬件原理框图如下图所示。

单片机键盘LED 显示三色指示灯系统硬件框图单片机选用A T89S52,它与8051系列单片机全兼容,但其内部带有4KB 的FLASH R OM ,设计时无需外接程序存储器,为设计和调试带来极大的方便。

交通灯控制系统的设计

交通灯控制系统的设计
据此,本设计系统以单片机为控制核心,连接成最 小系统,由按键设置模块等产生输入,信号灯状态模 块、LED倒计时模块接受输出。系统的总体框图如上 图所示。系统进入正常工作状态,执行交通灯状态显 示控制,同时将倒计时数据输入到 LED数码管上实 时显示。在此过程中还要实时检测按键信号,以达到 对异常状态进行实时控制的目的。
1.3 系统设计
框图设计
基于AT89C51单片机的交通信号控制系统由电源电路、单片 机主控电路、按键控制电路、时钟电路、复位电路和数码管
显示电路几部分组成,框图所示。
系统原理
单片机设计交通灯控制系统,可用单片机直接控制 信号灯的状态变化,指挥交通的具体通行。当然,接 入 LED数码管就可以显示倒计时,以提醒行使者, 更具人性化。
Hale Waihona Puke 晶振电路复位电路系统刚上电时,单片机内部的程序还没有开始执行,需要一 段准备时间,也就是复位时间。一个稳定的单片机系统必须设 计复位电路。当程序跑飞或死机时,也需要进行系统复位。复 位电路有很多种,有上电复位,手动复位等。
按键电路
本设计设置了有 4个 键: (1)、S1 键设置按键。 (2)、S2键为增加时间按 键。 (3)、 S3 键为减少时间按 键。 (4)、S4键为模式切换按键。
(4) 通过单片机的P3.0位来控制系统是工作或设 置初值,当为0就对系统进行初始化,为1系统就 开始工作。
元件清单
软件设计
总体流程图
1.6 系统仿真及调试
基于AT89 C51单片机的交通信号灯控制系统仿真过程参考附 录C。交通信号与控制状态仿真结果。
单片机系统的硬件调试和软件调试是不能分开的,许多硬件 错误是在软件调试过程中被发现和纠正的。但通常是先排除 明显的硬件故障以后,再和软件结合起来调试以进一步排除 故障。可见硬件的调试是基础,如果硬件调试不通过,软件 设计则无从谈起。

交通灯控制系统C程序代码

交通灯控制系统C程序代码
delay(100); //延时
i=v%100/10; //暂存十位
P0=led_seg_code[i];
P2=0xfd;
delay(100); //延时
-----------
void timer1() interrupt 3 //T1中断
{ T1_cnt++;
EW_red=1 ;//东西方向红灯
break;
}
}
}
}
//-------------------------
main()
{//初始化各变量
cnt_sn=init_sn[0];
cnt_ew=init_ew[0];
T1_cnt=0;
state_val_sn=0; //启动后,默认工作在序号为1 的状态
if (state_val_ew>2) state_val_ew=0;
cnt_ew=init_ew[state_val_ew];
switch (state_val_ew) //根据状态值,刷新各信号灯的状态
{ case 0: EW_green=1 ;//东西方向绿灯
EW_yellow=1;//东西方向黄灯
//晶振:11.0592M T1-250微秒溢出一次
/*变量的定义:
show_val_sn,show_val_ew: 显示的值0-59
state_val_sn,state_val_ew: 状态值 南北方向0-绿灯亮;1-黄灯亮;2-红灯亮
T1_cnt: 定时器计数溢出数
cnt_sn,cnt_ew: 倒计时的数值
init_sn[3],init_ew[3] 倒计时

带有数码管的plc交通灯

带有数码管的plc交通灯

苏州工业园区职业技术学院毕业项目2011 届、摘要PLC可编程序控制器是以微处理器为基础,综合了计算机技术、自动控制技术和通讯技术发展而来的一种新型工业控制装置.它具有结构简单、编程方便、可靠性高等优点,已广泛用于工业过程和位置的自动控制中。

据统计,可编程控制器是工业自动化装置中应用最多的一种设备。

专家认为,可编程控制器将成为今后工业控制的主要手段和重要的基础设备之一,PLC、机器人、CAD/CAM将成为工业生产的三大支柱。

由于PLC具有对使用环境适应性强的特性,同时其内部定时器资源十分丰富,可对目前普遍使用的“渐进式”信号灯进行精确控制,特别对多岔路口的控制可方便地实现。

因此现在越来越多地将PLC应用于交通灯系统中。

同时,PLC本身还具有通讯联网功能,将同一条道路上的信号灯组成一局域网进行统一调度管理,可缩短车辆通行等候时间,实现科学化管理关键词交通灯 PLC 程序设计目录绪论 (4)第一章 PLC的特点及应用 (5)1。

1 概述 (5)1.2 PLC的特点 (5)1.3 PLC的应用 (5)1.3。

1开关量的逻辑控制 (5)1。

3。

2 模拟量控制 (6)1.3.3 运动控制 (6)1.3。

4 过程控制 (6)1.3.5数据处理 (6)第二章 PLC的结构及原理 (8)2.1 PLC的分类 (8)2。

2 PLC的结构 (8)2。

3 PLC的工作原理 (8)2。

4 PLC汇编语言 (9)第三章硬件整体设计 (10)3.1 电源设计 (10)3.1。

1 7805整流器的使用方法 (10)3。

3.2 7805整流器使用时应注意事项 (10)3.2 译码器 (11)3.2.1译码器的原理 (11)3。

2.2译码器的分类 (11)3.2.3译码器的选择 (11)3.3发光二极管 (12)3。

3.1发光二极管的原理 (12)3。

3。

2发光二极管分类 (12)3.3.3发光二极管的使用注意事项 (13)3。

LED模拟交通灯实验实训报告

LED模拟交通灯实验实训报告

实训报告FPGA系统LED模拟交通灯实验姓名:学号:班级:专业:指导教师:年月日一、大规模多FPGA系统概述大规模多FPGA系统是针对大学、研究机构和集成电路设计公司的教学及科研推出的多FPGA开发平台。

该平台采用了Altera公司的FPGA芯片,核心芯片选择了Cyclone II系列的EP2C20,该平台可以支持四块FPGA芯片的单独下载及调试,也支持级联下载以应对更为复杂的设计。

FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。

现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。

FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。

FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。

二、FPGA的应用及本次试验主要器件FPGA的应用可分为三个层面:电路设计,产品设计,系统设计。

电路设计:连接逻辑,控制逻辑是FPGA早期发挥作用比较大的领域也是FPGA应用的基石。

事实上在电路设计中应用FPGA要求开发者要具备相应的硬件知识(电路知识)和软件应用能力(开发工具)。

产品设计:把相对成熟的技术应用到某些特定领域开发出满足行业需要并能被行业客户接受的产品。

单片机课程设计报告书---交通灯控制电路设计

单片机课程设计报告书---交通灯控制电路设计

交通灯控制电路设计一、选题背景交通灯控制系统是城市道路管理中极为重要的一个环节,其在加强道路交通管理,减少交通事故的发生,提高道路使用效率等方面具有不可替代的作用。

近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制技术日益更新。

本文将介绍一种用单片机作为系统的主控单元,通过单片机嵌入软件程序来实现交通信号灯的多重控制方式,整个系统以STC89C52RC单片机为核心加以晶振电路、复位电路、电源电路构成系统的控制枢纽,系统状态显示系统采用7段LED数码管进行倒计时的现实,红、黄、绿三色LED灯作为信号指示。

系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较好的模拟实现了十字路口出现的状况。

本系统性能稳定,功能完善,实用性强。

二、方案论证(设计理念)1.主要内容用单片机系统设计十字路口交通灯控制电路,要求东西方向的红、黄、绿灯和南北方向的红、黄、绿灯按照下面的工作时序进行工作,黄灯亮时应为闪烁状态:(1)南北和东西车辆交替进行,各通行时间 24 秒(2)每次绿灯变红灯时,黄灯先闪烁 4 秒,才可以变换运行方向。

(3)十字路口要有数字显示作为时间提示,以倒计时按照时序要求进行显示;具体为:当某方向绿灯亮时,置显示器为某值,然后以每秒减 1 计数方式工作,直至减到数为“0”,十字路口红、绿等交换,一次工作循环结束,而进入下一步某方向的工作循环。

(4)可以手动调整和自动控制,夜间为黄灯闪耀状态2.教学要求选择适当元器件设计单片机外围电路、由单片机系统完成二十四进制倒计时、四进制倒计时、显示及模式切换逻辑控制等;仿真实现各电路功能;搭建、调试电路实现设计要求的功能;掌握复杂数字电路的一般设计方法,具备初步的独立设计能力;掌握对电子线路进行仿真调试的方法和技能;掌握实现电路的实验方法和电路的调试方法。

3.方案设计与选择3.1交通信号控制原理交通信号控制原理是按照一定的控制程序,在交叉路口的每个方向上通过红、黄、绿三色灯循环显示,指挥交通流,在时间上实施隔离。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
使用说明:将P1.0~P1.7接到流水灯D1~D7;将P0.0~P0.7接到J182对应O11~018;将P2.0~P2.7接到74HC573输入端J181的对应I11~I18
晶振:11.0592
******************************************************/
uchar flag;//定义0.5秒记一次数的标志位
uchar ds;//定义1秒记一次数的标志位
uchar shi1,ge1,shi2,ge2;//定义主通道、次通道的显示位
uchar num1,num2;
void delay_xms(uint);//申明延时函数
void display(uchar,uchar,uchar,uchar);//申明数码显示函数
for(j=110;j>0;j--);
}
{
P1通道黄灯亮三次,每次0.5秒。次通道亮红灯
Y1=0;
R2=0;
}
else if(flag==25||flag==27||flag==29)
{
P1=0XFF;//主通道黄灯灭三次,每次0.5秒。次通道亮红灯
Y1=1;
R2=0;
}
else if(flag>30&&flag<=40)
ge2=num2%10;
num1--;
num2--;
}
}
}
void display(uchar shi1,uchar ge1,uchar shi2,uchar ge2)
{
P0=duantable[shi1];
P2=0x01;
delay_xms(1);
P0=duantable[ge1];
P2=0x02;
delay_xms(1);
P0=duantable[shi2];
P2=0x10;
delay_xms(1);
P0=duantable[ge2];
P2=0x20;
delay_xms(1);
}
void delay_xms(uint xms)//延时xms毫秒
{
uint i,j;
for(i=xms;i>0;i--)
/*****************************************************
程序名称:交通灯(LED灯+数码管)
作者:陈善平
指导老师:王韧
时间:2014/7/17
功能:主通道首先放行,绿灯亮10秒后,黄灯开始亮2秒,接着黄灯闪烁3次,每次一秒,接着红灯亮,主通道停止放行;次通道开始放行,绿灯亮5秒后,黄灯开始亮2秒,接着黄灯闪烁3次,每次一秒,次通道停止放行;依次循环。
#include"reg52.h"
#define uchar unsigned char
#define uint unsigned int
/*定义P1.0~P01.2为主通道,分别为红、黄、绿。定义P1.5~P1.7为次通道,分别为红、黄、绿。*/
sbit R1=P1^0;
sbit R2=P1^5;
else if(ds>10&&ds<=15)
{
if(num1==0)
num1=5;
shi1=num1/10;
ge1=num1%10 ;
shi2=num2/10;
ge2=num2%10;
num1--;
num2--;
}
else if(ds>15&&ds<=20)
{
if(num1==0)
num1=10;
if(num2==0)
num2=5;
shi1=num1/10;
ge1=num1%10 ;
shi2=num2/10;
ge2=num2%10;
num1--;
num2--;
}
else if(ds>20&&ds<=25)
{
if(num2==0)
num2=5;
shi1=num1/10;
ge1=num1%10 ;
shi2=num2/10;
main()
{
EA=1; //开总中断
ET0=1; //定时器T0中断允许
TMOD=0x01; //使用定时器T0的模式2
TH0=(65536-46083)/256; //定时器T0的高8位赋初值
TL0=(65536-46083)%256; //定时器T0的高8位赋初值
TR0=1; //启动定时器T0
函数功能:定时器T0的中断服务程序
“interrupt”声明函数为中断服务函数
其后的1为定时器T0的中断编号;0表示使用第0组工作寄存器
**************************************************************/
void Time0(void) interrupt 1 using 0
sbit Y1=P1^1;
sbit Y2=P1^6;
sbit G1=P1^2;
sbit G2=P1^7;
uchar code duantable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳极0~9编码所对应的段
uchar code weitable[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//共阳极1~8对应的位
while(1)//无限循环等待中断
{
display(shi1,ge1,shi2,ge2);
if(flag<=20)//主通道绿灯亮10s,次通道亮红灯
{
P1=0XFF;
G1=0;
R2=0;
}
else if((flag>20&&flag<=24)||flag==26||flag==28||flag==30)
{
uchar i,j;
i++;
j++;
TH0=(65536-46083)/256; //定时器T0的高8位重新赋初值
TL0=(65536-46083)%256; //定时器T0的高8位重新赋初值
if(i==10)
{
flag++;
i=0;
if(flag==50)//0.5秒记一次数,共25秒
flag=0;
}
if(j==20)
{
j=0;
ds++;
if(ds==25)
ds=0;
if(ds<=10)
{
if(num1==0)
num1=10;
if(num2==0)
num2=15;
shi1=num1/10;
ge1=num1%10 ;
shi2=num2/10;
ge2=num2%10;
num1--;
num2--;
}
Y2=0;
}
else if(flag==45||flag==47||flag==49)
{
P1=0XFF;//主通道亮红灯、次通道黄灯灭三次,每次0.5秒。
R1=0;
Y2=1;
}
}
}
/**************************************************************
{
P1=0XFF;//主通道红灯亮、次通道绿灯亮5S
R1=0;
G2=0;
}
else if((flag>40&&flag<=44)||flag==46||flag==48||flag==50)
{
P1=0XFF;//主通道红灯亮、次通道黄灯亮2s
R1=0;//主通道亮红灯、次通道黄灯亮三次,每次0.5秒。
相关文档
最新文档