当前位置:文档之家› verilog课程设计—交通灯1

verilog课程设计—交通灯1

verilog课程设计—交通灯1
verilog课程设计—交通灯1

课程设计

课程名称__EDA技术综合设计与实践__ 题目名称交通灯控制系统

学生学院信息工程学院

专业班级通信工程08(4)

学号 3108002925

学生姓名高高

指导教师李学易

2011 年12 月26 日

基于FPGA 的交通灯控制器的设计

摘要:Verilog 是广泛应用的硬件描述语言,可以用在硬件设计流程的建模、综合和模拟等多个阶段。随着硬件设计规模的不断扩大,应用硬件描述语言进行描述的CPLD 结构,成为设计专用集成电路和其他集成电路的主流。现代城市在日常运行控制中,越来越多的使用红绿灯对交通进行指挥和管理。而一套完整的交通灯控制系统通常要实现自动控制和手动控制去实现其红绿灯的转换。

基于FPGA 设计的交通灯控制系统电路简单、可靠性好。本设计利用Verilog HDL 语言、采用层次化混合输入方式,可控制4个路口的红、黄、绿、左转四盏信号灯,让其按特定的规律进行变化。在QUARTUSⅡ下对系统进行了综合与仿真。仿真结果表明系统可实现十字路口红绿灯及左转弯控制和倒计时显示,并能够自动控制交通灯转变。通过应用Verilog HDL 对交通灯控制器的设计,达到对Verilog HDL 的理解

关键词:FPGA;交通灯自动控制;V erilog HDL;Quartus Ⅱ

1.交通信号控制器设计要求与思路

1.1设计要求

在交通灯系统中(图1),路口1、2、3、4均需要红、黄、绿、左转四盏灯(用RYGL分别表示) ,并且每个路口都需要一个倒数的计时器,假设绿灯每次维持的时间是40 s ,黄灯为5 s ,左转灯10s,红灯60s,黄灯亮时以一定的频率闪动。交通灯系统大多是自动控制来指挥交通的,但有时需要由交警手动控制红绿灯,所以要求设

计的该交通信号系统需要具有该功能。

实现设计目标如下:

(1)设计一个十字路口的交通灯控制电路,每条路配有红、黄、绿交通信号灯,通过电路对十字路口的两组交通灯的状态实现自动循环控制;

(2)实现东西车道和南北车道上的车辆交替运行,绿灯每次维持的时间是40 s ,黄灯为5 s ,左转灯10s,红灯60s;

(3)要求黄灯亮5 秒后,红灯才能转为绿灯,黄灯亮时以一定的频率闪动;

(4)东西车道和南北车道每次通行的时间不同且可调;

图1 交通灯系统示意图

1.2设计思路

为了便于讨论,我们只讨论路口1(用A表示)和路口4(用B表示)。此交通灯控制系统一共设计有5种工作模式。分别为:方式1 :A 向绿灯长亮,B 向红灯亮。方式2 :A 向左转灯长亮,B 向红灯亮。方式3 :B 向绿灯长亮,A 向红灯亮。方式4 :B 向左转灯长亮,A 向红灯亮。方式5 :自动工作方式,两个方向的灯按照显示的顺序,交替循环显示。系统设有总复位开关,可在任意时间内对系统进行复位。

利用M2M1M0对系统工作的状态进行控制(见表1)。A路口和B路口均需要红黄绿加左转四盏灯。所以输出显示可以用8个LED灯代替。又因为最大显示时间为60s,故用两个数码管即可承担显示一个倒数计时器的任务。

由以上分析可知,系统的输入确定为CLK、RST、M2、M1、M0,输出确定为8个LED灯和4个数码管。在这种情况下,设AB方向状态转换如表2。

S1: M2=1,M1=X,M0=X A绿B红。

S2: M2=1,M1=X,M0=X A黄B红

S3: M2=1,M1=X,M0=X, A左转B红

S4: M2=1,M1=X,M0=X, A黄B红

S5: M2=1,M1=X,M0=X, A红B绿

S6: M2=1,M1=X,M0=X, A红B黄

S7: M2=1,M1=X,M0=X, A红B左转

S8: M2=1,M1=X,M0=X, A红B黄

S9: M2=0,M1=0,M0=0, A长绿B长红

S10: M2=0,M1=0,M0=1, A长左转B长红

S11: M2=0,M1=1,M0=0, A长红B长绿

S12: M2=0,M1=1,M0=1, A长红B长左转

1.3系统设计框图

系统采用的时钟频率为10KHZ ,经分频为1HZ 后送入控制计时电路,同时送入控制计时电路的还有控制信号M2M1M0以及复位信号RST ,控制交通灯的运行状态。经处理后输出LED 灯以及数码管显示电路的控制信号,从而完成整个电路的控制与实现。

图3 系统设计示意图

2.交通信号控制器具体模块设计 2.1时钟分频模块设计

系统的时钟输入为10KHZ 的脉冲,而系统时钟计时模块需要1HZ 的脉冲。分频模块主要为系统提供所需的时钟计时脉冲。该模块将10KHZ 的脉冲信号进行分频,产生1S 的方波(占空比为50%),作为系统时钟计时信号。计时模块用来设

定路口计时器的初值,并为扫描显示译码模块提供倒计时时间。

2.2控制模块设计

控制模块根据外部输入信号,产生系统的状态机,控制其他部分协调工作。控制模块采用状态机进行设计,可定义出5种工作方式。当进入自动工作方式时,一共有8种状态。

2.3扫描显示译码模块设计

扫描显示译码模块可以根据控制信号,驱动交通信号灯以及倒计时数码管的显示,其中数码管的显示采用动态扫描显示。

2.4.顶层文件设计

交通灯的顶层文件是一个原理图文件,它包含3个元件,每一个元件均是由一个模块程序生成。3个元件分别为:fenpinqi模块、control模块、xianshi模块。这些模块均经过设计、编译、仿真,结果正确。最后生成可视化元件。然后将各个模块用具体电气性质的导线连接起来,这样原理图文件就建好了。保存编译。在建立一个vwf波形文件,保存并仿真。实验证明,仿真结果正确,符合预期

3.交通信号控制器功能仿真与测试

利用QUARTUSⅡ仿真测试,结果显示,当rst=1时,此时状态led显示为00100100,意思是A向绿灯亮,B向红灯亮数码管输出均为39(图5)。

图5 QUARTUSⅡ仿真结果示意图(一)

当M2M1M0处于000时,时间输出为0,LED灯显示为A向绿灯,B向红灯。当M2M1M0处于001时,时间输出为0,LED灯显示为A向左转,B向红灯。当M2M1M0处于010时,时间输出为0,LED灯显示为A向红灯,B向绿灯。当M2M1M0处于011时,时间输出为0,LED灯显示为A向红灯,B向左转(图6)。

图6 QUARTUSⅡ仿真结果示意图(二)

当M2等于1时,控制系统进入自动控制状态,数码管倒计时正常,LED灯进入循环状态(图7)。

图7 QUARTUSⅡ仿真结果示意图(三)

4.采用的CPLD器件的型号:EP2C8T144C7

5.结论

通过交通信号控制器功能仿真与测试,本设计达到了预定设计的目的,实现了利用可编程门阵列自动控制十字路口交通灯和计时器,各交通灯及计时器均按设计任务要求正常运行。

再一次的体验到了细心对一个编程者的重要性,和程序的规范性对于程序的

重要性,这些平时我们忽略的问题,其实有时候关乎着我们编程的成功率;还有,verilog HDL设计语言是一门很好的硬件描述语言,可以直白的描述实际的电路,实际的系统模型,易懂而且易于实现,我觉得在以后多加练习,可以对以后的学习和工作带来莫大的帮助。这次期末的课程设计就是对我们的一次考核,也可以说是一次考验,在平时做题目比较简单,而这次课程设计综合考核了我们的学习结果。课程设计培养了学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。参考文献

[1]王正勇.基于FPGA 的交通信号控制器的设计《电子测量技术》第31 卷第10期2008 .10

[2] 蓝运维.基于FPGA的交通灯控制系统的仿真《现代电子技术》2006年第9 期总第224 期

[3]《基于CPLD/FPGA 的数字通信系统建模与设计》作者:段吉海黄智伟电

子工业出版社出版日期:2004年8月书号:ISBN 7121002124

附录:程序源代码

分频模块源代码:

module fenpin(clk10k,rst,clk1); //将10K的频率分频为1

input clk10k,rst;

output clk1;

reg [7:0]j;

reg clk1;

always@(posedge clk10k or posedge rst)

if(rst)begin

clk1<=0;

j<=0;

end

else if(j==9999)begin

j<=0;

clk1<=~clk1;

end

else j<=j+1;

endmodule

控制计时模块源代码:

module control(rst,clk1,

M1,M2,M0, //control mood

led, //traffic light

S_NS, //ns seg shiwei

M_NS, //ns seg gewei

S_WE, //

M_WE //

);

input rst,clk1,M1,M2,M0;

output [7:0]led;

//8 LEDs;00000000means"al,ar,ag,ay;bl,br,bg,by"all off;

output [3:0]S_NS,M_NS,S_WE,M_WE;

reg [7:0]led;

reg [3:0]S_NS,M_NS,S_WE,M_WE;

wire [2:0]a; //判断此时的控制位

reg [11:0]state;

parameter S1=12'b000000000001,

S2=12'b000000000010,

S3=12'b000000000100,

S4=12'b000000001000,

S5=12'b000000010000,

S6=12'b000000100000,

S7=12'b000001000000,

S8=12'b000010000000,

S9=12'b000100000000,

S10=12'b001000000000,

S11=12'b010*********,

S12=12'b100000000000;

assign a={M2,M1,M0};

always@(posedge clk1 or posedge rst)

if(rst)begin

state<=S1;

led<=8'b00100100;

S_NS<=3;M_NS<=9;

S_WE<=3;M_WE<=9;

end

else begin

casex(a)

3'b000:begin

state<=S9;

led<=8'b00100100;

S_NS<=0;M_NS<=0;

S_WE<=0;M_WE<=0;

end

3'b001:begin

state<=S10;

led<=8'b10000100;

S_NS<=0;M_NS<=0;

S_WE<=0;M_WE<=0;

end

3'b010:begin

state<=S11;

led<=8'b01000010;

S_NS<=0;M_NS<=0;

S_WE<=0;M_WE<=0;

end

3'b011:begin

state<=S12;

led<=8'b01001000;

S_NS<=0;M_NS<=0;

S_WE<=0;M_WE<=0;

end

3'b1xx:begin

case(state)

S1:if(S_NS==0&&M_NS==0)begin

state<=S2;

led<=8'b00010100;

S_NS<=0;M_NS<=4;

S_WE<=0;M_WE<=4;

end

else if(M_NS) begin

M_NS<=M_NS-1;

M_WE<=M_WE-1;

end

else if(S_NS) begin

M_NS<=9;

M_WE<=9;

S_NS<=S_NS-1;

S_WE<=S_WE-1;

end

S2:if(S_NS==0&&M_NS==0)begin state<=S3;

led<=8'b10000100;

S_NS<=0;M_NS<=9;

S_WE<=0;M_WE<=9;

end

else if(M_NS) begin

led[4]<=~led[4];

led[5]<=0;

M_NS<=M_NS-1;

M_WE<=M_WE-1;

end

else if(S_NS) begin

M_NS<=9;

M_WE<=9;

S_NS<=S_NS-1;

S_WE<=S_WE-1;

end

S3:if(S_NS==0&&M_NS==0)begin state<=S4;

led<=8'b00010100;

S_NS<=0;M_NS<=4;

S_WE<=0;M_WE<=4;

end

else if(M_NS) begin

M_NS<=M_NS-1;

M_WE<=M_WE-1;

end

else if(S_NS) begin

M_NS<=9;

M_WE<=9;

S_NS<=S_NS-1;

S_WE<=S_WE-1;

end

S4:if(S_NS==0&&M_NS==0)begin state<=S5;

led<=8'b01000010;

S_NS<=3;M_NS<=9;

S_WE<=3;M_WE<=9;

end

else if(M_NS) begin

led[4]<=~led[4];

led[7]<=0;

M_NS<=M_NS-1;

end

else if(S_NS) begin

M_NS<=9;

M_WE<=9;

S_NS<=S_NS-1;

S_WE<=S_WE-1;

end

S5:if(S_NS==0&&M_NS==0)begin state<=S6;

led<=8'b01000001;

S_NS<=0;M_NS<=4;

S_WE<=0;M_WE<=4;

end

else if(M_NS) begin

M_NS<=M_NS-1;

M_WE<=M_WE-1;

end

else if(S_NS) begin

M_NS<=9;

M_WE<=9;

S_NS<=S_NS-1;

S_WE<=S_WE-1;

end

S6:if(S_NS==0&&M_NS==0)begin state<=S7;

led<=8'b01001000;

S_NS<=0;M_NS<=9;

S_WE<=0;M_WE<=9;

end

else if(M_NS)begin

led[0]<=~led[0];

led[1]<=0;

M_NS<=M_NS-1;

M_WE<=M_WE-1;

end

else if(S_NS) begin

M_NS<=9;

S_WE<=S_WE-1;

M_WE<=9;

S_NS<=S_NS-1;

end

S7:if(S_NS==0&&M_NS==0)begin state<=S8;

led<=8'b01000001;

S_WE<=0;M_WE<=4;

end

else if(M_NS) begin

M_WE<=M_WE-1;

M_NS<=M_NS-1;

end

else if(S_NS) begin

S_WE<=S_WE-1;

M_WE<=9;

M_NS<=9;

S_NS<=S_NS-1;

end

S8:if(S_NS==0&&M_NS==0)begin

state<=S1;

led<=8'b00100100;

S_NS<=3;M_NS<=9;

S_WE<=3;M_WE<=9;

end

else if(M_NS) begin

led[0]<=~led[0];

led[3]<=0;

M_WE<=M_WE-1;

M_NS<=M_NS-1;

end

else if(S_NS) begin

M_NS<=9;

S_NS<=S_NS-1;

S_WE<=S_WE-1;

M_WE<=9;

end

default: begin

state<=S1;

led<=8'b00100100;

S_NS<=3;M_NS<=9;

S_WE<=3;M_WE<=9;

end

endcase

end

endcase

end

endmodule

显示模块源代码:

module xianshi(rst,clk,S_NS,M_NS,S_WE,M_WE,sel,seg); input rst,clk;

input [2:0]S_NS,M_NS,S_WE,M_WE; output [6:0]sel;

output [3:0]seg;

reg [6:0]sel;

reg [3:0]seg;

reg [15:0] count;

reg [1:0] cnt;

reg [3:0] data;

reg clk_odd;

always@(posedge clk or posedge rst) begin

if(rst)begin

count<=0;

clk_odd<=0;

end

else if(count==9)

begin

clk_odd<=~clk_odd;

count<=0;

end

else

count<=count+1;

end

always @(posedge rst or posedge clk_odd) if (rst)begin

cnt<=2'b00;

end

else cnt<=cnt+1;

always@(posedge rst or posedge clk_odd) if(rst) begin

seg = 4'b1111 ;

end

else begin

case (cnt)

2'b00: begin

seg =4'b1110 ;

data=S_NS;

end

2'b01: begin

seg = 4'b1101 ;

data =M_NS;

end

2'b10:begin

seg= 4'b1011 ;

data=S_WE;

end

2'b11: begin

seg= 4'b0111 ;

data=M_WE;

end

default :

begin

seg = 4'b1111 ;

end

endcase

end

always @ (data or seg)begin

case(data)

4'b0000:sel=7'b1111110;

4'b0001:sel=7'b0110000;

4'b0010:sel=7'b1101101;

4'b0011:sel=7'b1111001;

4'b0100:sel=7'b0110011;

4'b0101:sel=7'b1011011;

4'b0110:sel=7'b1011111;

4'b0111:sel=7'b1110000;

4'b1000:sel=7'b1111111;

4'b1001:sel=7'b1111011;

default:sel=7'b1111110;

endcase

end

endmodule

顶层模块:

module mylight(clk10k,rst,M2,M1,M0,led,seg,sel);

input clk10k,rst,M2,M1,M0;

output [3:0] seg;

output [6:0] sel;

output [7:0] led;

wire [2:0]S_NS,M_NS,S_WE,M_WE;

wire clk_odd,M2,M1,M0;

wire [3:0] seg;

wire [6:0] sel;

control control1(.led(led),.rst(rst),.clk1(clk_odd),.S_NS(S_NS),

.M_NS(M_NS),.S_WE(S_WE),.M_WE(M_WE),.M2(M2),.M1(M1),.M0(M0));

Xianshi xianshi1(.rst(rst),.clk(clk10k),.S_NS(S_NS),.M_NS(M_NS),

.S_WE(S_WE),.M_WE(M_WE),.sel(sel),.seg(seg));

fenpin fenpin1(.clk10k(clk10k),.rst(rst),.clk1(clk_odd));

endmodule

PLC交通灯课程设计

目录 第一章摘要............................................................................ - 2 - 第二章简述PLC ......................................................................... - 3 - 2.1 PLC简介.............................................................................. - 3 - 2.2 PLC工作原理 ...................................................................... - 4 - 2.3 PLC主要功能 ...................................................................... - 6 - 第三章PLC的交通信号灯系统设计.......................................... - 7 - 3.2 流程图如下:.................................................................... - 8 - 3.3程序梯形图设计: ............................................................. - 9 - 第四章总结.............................................................................. - 12 - 4.1程序调试........................................................................... - 12 - 4.2 收获和体会...................................................................... - 12 -

基于VerilogHDL的通行时间可变的交通灯控制器

通行时间可变的交通灯控制器设计 module tr1(ng,clk,reset,resets,emergency,lighta,lightb,seg,select); input ng,clk,reset,emergency,resets; output[6:0]seg;//显示用的 output[3:0] lighta,lightb;//a是主干道,b是支干道 output [3:0] select;//选择那一个管子进行显示 reg clk1,clk2;//clk1要5HZ clk2要几千HZ reg [3:0] select; reg tim1,tim2;//这是看你的等有没有变过颜色的控制信号 reg [1:0] cont; reg[2:0]state1,state2,ste;两个控制颜色变化状态的信号。 reg[3:0]lighta,lightb;//a是主干道,b是支干道 reg[3:0]num;//译码器是根据这个东西来译码的 reg [35:0] fout; reg[6:0]seg;//显示 reg[7:0] numa,numb; reg[7:0] red1,red2,green1,green2,yellow1,yellow2,left1,left2; always @(ng ) if(!ng) begin //设置计数初值 green1 <=8'b00110000;//30S red1 <=8'b01010001;//51S yellow1<=8'b00000011;//3S left1 <=8'b00010101; //15S green2 <=8'b00110000;//30S

微机原理课程设计报告交通灯

WORD格式微机原理课程设计 设计题目交通灯的设计 实验课程名称微机原理 姓名王培培 学号080309069 专业09自动化班级2 指导教师张朝龙 开课学期2011至2012学年上学期

一、实验设计方案 实验名称:交通灯的设计实验时间:2011/12/23 小组合作:是□否?小组成员:无 1、实验目的: 分析实际的十字路口交通灯的亮灭过程,用实验箱上的8255实现交通灯的控制。(红,黄,绿三色灯) 2、实验设备及材料: 微机原理和接口技术实验室的实验箱和电脑设备等。 3、理论依据: 此设计是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过8253延时的方法,来实现十字路口交通灯的模拟控制。 如硬件连接图所示(在后),红灯(RLED),黄灯(YLEDD)和绿灯(GLED)分别接在8255 的A,B,C口的低四位端口,PA0,PA1,PA2,PA3分别接1,2,3,4(南东北西)路口的红灯,B,C口类推。8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通过地址锁存器8282,接到三八译码器,译码后分别连到8255和8253的CS片选端。8253的 三个门控端接+5V,CLOCK0接由分频器产生的1MHZ的时钟脉冲,OUT0接到CLOCK1和CLOCK,2 OUT1接到8086的AD18,8086通过检测此端口是否有高电平来判断是否30s定时到。OUT2产生 1MHZ方波通过或门和8255的B口共同控制黄灯的闪烁。8255三个口全部工作在方式0既基本 输入输出方式,红绿灯的转换由软件编程实现。

4、实验方法步骤及注意事项: ○1设计思路 红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0,1 控制。 设8253各口地址分别为:设8253基地址即通道0地址为04A0H,通道1为04A2H,通道2 为04A4H,命令控制口为04A6H。 黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波,8255控制或门打开的时 间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。 由于计数值最大为65535,1MHZ/65536的值远大于2HZ,所以采用两个计数器级联的方 式,8253通道0的clock0输入由分频器产生的1MHZ时钟脉冲,工作在方式3即方波发生器方 式,理论设计输出周期为0.01s的方波。1MHZ的时钟脉冲其重复周期为T=1/1MHZ=1s,因此 通道0的计数初值为10000=2710H。由此方波分别作为clock1和clock2的输入时钟脉冲,所以 通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值3000=BB8H 既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测 到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086 共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态 反馈到8055的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态 变化,计9次状态变化可完成5次闪烁。 三个通道的门控信号都未用,均接+5V即可。 ○ 2硬件原理及电路图 由于8255A与8086CPU是以低八位数据线相连接的,所以应该是8255A的A1、A 0 线分别与 8086CPU的A2、A线相连,而将8086的 1 A 0 线作为选通信号。如果是按8255A内部地址来看, 则在图中它的地址是PA口地址即(CS+000H),PB口地址为(CS+001H),PC口地址为(CS+002H),

数电课程设计交通灯

数字电路课程设计报告书 系部名称:电子工程学院 学生姓名: 专业名称:微电子 班级: 实习时间: 题目:交通灯控制器

一实验目的 1.综合应用数字电路知识设计一个交通灯控制器。了解各种元器件的原理及其应用,锻炼自己的动手能力和实际解决问题的能力。 2.深入了解交通灯的工作原理。 二实验要求 1)在十字路口的两个方向上各设一组红黄绿灯,显示顺序为其中一个方向是绿灯,黄灯,红灯,另一方面是红灯,绿灯,黄灯。 2)设置一组数码管,以计时的方式显示允许通行或禁止通行时间,其中一个方向上绿灯亮的时间为20秒,另一个方向上绿灯亮的时间是30秒,黄灯亮的时间都是5秒。 3)当任何一个方向出现特殊情况,按下手动开关,其中一个方向常通行,倒计时停止,当特殊情况结束后,按下自动控制开关,恢复正常状态。 三使用元件 器件型号数量器件型号数量 161 2 LED 6 08 2 电阻4.7K 1 04 3 电阻150K 1 00 1 电阻100欧姆 1 48 2 电容4.7uF 1 74 1 电容103 1 555 1 数码管 2 面包板 1 斜口钳 1 四总体方案的设计 1.分析系统的逻辑功能,画出其框图 交通灯控制系统的原理框图如图所示。它主要由控制器、定时器和秒

脉冲信号发生器等部分组成。秒脉冲发生器是该系统中定时器和控制器的标准时钟信号源,控制器是系统的主要部分,由它控制定时器,数码管和二极管的工作。 2.分析系统的状态变化,列出状态转换表: (1)主干道绿灯亮,支干道红灯亮。表示主干道上的车辆允许通行, 支干道禁止通行。 (2)主干道黄灯亮,支干道红灯亮。表示主干道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,支干道禁止通行。 (3)主干道红灯亮,支干道绿灯亮。表示主干道禁止通行,支干道上的车辆允许通行。 主控部分 秒脉冲发生 器 交通灯 倒计时控制部分 数码管显示 反馈 控制

交通灯设计 verilog

数电课程设计 学生姓名: 专业:电子信息工程 指导教师: 完成日期: 2016-6-30

摘要 Verilog HDL作为一种规范的硬件描述语言,被广泛应用于电路的设计中。它的设计描述可被不同的工具所支持,可用不同器件来实现。利用Verilog HDL语言自顶向下的设计方法设计交通灯控制系统,使其实现道路交通的正常运转,突出了其作为硬件描述语言的良好的可读性、可移植性和易理解等优点,并通过Quartus5.0完成综合、仿真。此程序通过下载到FPGA芯片后,可应用于实际的交通灯控制系统中。 关键词:Verilog HDL;硬件描述语言;状态;FPGA Abstract As a common language for the description of hardware, Verilog HDL is widely applied in circuit designing. The design description can be supportted by differenttools and implemented by different devices.In this paper, the process of design ing traffic light controller system by the Verilog HDL topdown design method is presented, which has made the road traffic work well, the design of t his system has shown the readability, portability and easily understanding of Verilog HDL as a hard description language Circuit synthesis and simulation are pe rformed by Quartus5.0. The program can be used in the truly traffic light controller system by downloading to the FPGA chip Keywords:Verilog HDL; hardware description language; state; FPGA

基于单片机交通灯课程设计报告书

三峡职业学院 课程设计 课题名称交通灯控制系统设计 交通灯控制系统设计 摘要:本系统由单片机最小系统、按键(开关)、LED 显示等等组成交通灯演示系统。系统用红、黄、绿三个发光二极管模拟交通灯的红灯、黄灯、绿灯的功能。系统除基本交通灯功能外,还具有倒计时(15秒)、时间设置、紧急情况(按键模拟传感器)处理等功能。 关键词:AT89C51,交通规则 引言:随着日新月异的电子变革,电子产品发生了突飞猛进的巨变,而在其中AT89C51扮演着一个重要的角色,AT89C51单片机具有广泛性、工具性、基础性的几个特点。单片机应成为中等技术人员的重要技术知识层面。近年来,我国工程技术队伍的梯队建设有了很大的进展。各类高职、高专如雨后春笋,涉电专业普遍开设单片机类课程。直观性表现在尽可能让我们在学习基本原理时能直观地看到相关实物及实物表演,使基本原理能实现形象化的表达;实践性表现在我们要通过许多实际操作来理解与掌握单片机的本质与技能;综合性表现在最终能使我们达到运用知识与技能来完成一个应用系统开发的全过程,有助于大学生动手能力的培养和提高,课程设计就是一门应用性很强的课程。如何让我们在学好基础知识的同时,迅速掌握设计应用技术,其中,实验与课程设计环节起着非常重要的作用。对我们学习和掌握单片机设计技术起到积极的作用。 一、方案比较、设计与论证

(1) 电源提供方案 为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案 方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统线路变复杂,且可能影响系统各模块的电路电平。 方案二:采用干电池提供电源。该方案的优点是系统简明扼要,线路易于梳理,节约成本;缺点是输出功率不高。 综上所述,我们选择第二种方案。 (2) 显示界面方案: 该系统要求完成数码管倒计时(15s)、状态灯发光二极管(红、黄、绿)的显示功能。基于上述原因,我们考虑了二种方案: 方案一:东西南北四个方向分别采用两位数码管显示倒计时。这种方案只显示有限的符号和数码字苻,并且制作PCB图时有许多的线相交,线路十分的复杂,不易制作原理图与PCB图,无法胜任题目要求。 方案二:东西南北四面各自采用红、黄、绿三个发光二极管显示,采用一个两位数码管显示倒计时,主要优点是易于调整元件在硬制板上摆放的位置,同时也易于PCB图的制作。 综上所述,我们选择方案二。 (3) 输入方案: 题目要求系统能即时的处理外部紧急情况产生的中断,我们讨论了两种方案: 方案一:采用矩阵键盘。该方案的优点是: 可提供较多I/O 口,实现更多的外部中断。直接站单片机的接口少的特点,但操作起来稍显复杂,而且编程也趋于复杂。 方案二:直接在IO口线上接上按键开关。因为设计时精简和优化了电路。 由于该系统对于交通灯等发光二极管的控制,只用单片机本身的I/O 口就可实现,只要一个开关来模拟一个外部的紧急中断,且本身的计数器及RAM已经够用,故选择方案二。 (4) 系统方案: 本系统的硬件采用模块化设计,以单片机控制器为核心,与LED信号灯电路等组成单片机控制信号系统.

单片机交通灯课程设计报告(含电路图,源程序)

1.引言................................................................. 错误!未定义书签。 2.总体设计方案 (2) 2.1. 设计思路 (2) 2.1.1.设计目的 (2) 2.1.2.设计任务和内容 (3) 2.1.3.方案比较、设计与论证 (3) 2.1.4.芯片简介 (6) 2.2. 设计方框图 (12) 3.设计原理分析 (13) 3.1. 交通灯显示时序的理论分析与计算 (13) 3.2. 交通灯显示时间的理论分析与计算 (15) 3.3. 电路模块 (16) 3.3.1.LED数码管显示模块 (16) 3.3.2.LED红绿灯显示模块 (19) 3.3.3.复位电路 (22) 3.3.4.晶振电路 (23) 4.结束语 (23)

6.附录 (24) 6.1. 附录1:程序清单 (24) 6.2. 附录2:电路设计总图 (32) 6.3附录3:实物图 ....................................... 错误!未定义书签。1.总体设计方案 1.1.设计思路 1.1.1.设计目的 (1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知 识。 (2)用单片机模拟实现具体应用,使个人设计能够真正使用。(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。 (4)提高利用已学知识分析和解决问题的能力。 (5)提高实践动手能力。

1.1. 2.设计任务和内容 1.1. 2.1.设计任务 单片机采用用AT89S52芯片,使用发光二极管(红,黄,绿)代表各个路口的交通灯,用8段数码管对转换时间进行倒时(东西路口15秒,南北路口25秒,黄灯时间5秒)。 1.1. 2.2.设计内容 (1)设计并绘制硬件电路图 (2)制作PCB并焊接好元器件 (3)编写程序并将调试好的程序固化到单片机中 1.1.3.方案比较、设计与论证 1.1.3.1.电源提供方案 为使模块稳定工作,须有可靠电源,采用单片机控制模块提供电源。此方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,我们选择第二种方案。 1.1.3. 2.复位方案 复位方式有两种:按键复位与软件复位。由考虑到程序的简洁,避免冗长,本设计采用按键复位,在芯片的复位端口外接复位电路,通过按键对单片机输入一个高电平脉冲,达到复位的目的。

verilog课程设计—交通灯

课程论文 论文题目基于DE2的交通灯设计完成时间 课程名称Verilog语言设计 任课老师 专业 年级

1.交通信号控制器设计要求与思路 1.1设计背景 FPGA是一种用户根据各自需要而自行构造逻辑功能的数字集成电路,其种类很多,内部结构也不同,但共同的特点是体积小、使用方便。本文介绍了用VerilogHDL语言设计交通灯控制器的方法,并在QuartusII系统对FPGA芯片进行编译下载,由于生成的是集成化的数字电路,没有传统设计中的接线问题,所以故障率低、可靠性高,而且体积非常小。本文通过EDA设计,利用VerilogHDL语言模拟仿真交通灯控制电路。 1.2设计要求 根据交通灯控制器要实现的功能,考虑用两个并行执行的always语句来分别控制A方向和B方向的3盏灯。这两个always语句使用同一个时钟信号,以进行同步,也就是说,两个进程的敏感信号是同一个。每个always语句控制一个方向的3种灯按如下顺序点亮,并往复循环:绿灯----黄灯----红灯,每种灯亮的时间采用一个减法计数器进行计数,计数器用同步预置数法设计,这样只需改变预置数据,就能改变计数器的模,因此每个方向只要一个计数器进行预置数就可以。为便于显示灯亮的时间,计数器的输出均采用BCD码,显示由4个数码管来完成,A方向和B方向各用两个数码管。设定A方向红灯、黄灯、绿灯亮的时间分别为:35s、5s、35s,B方向的红灯、黄灯、绿灯亮的时间分别为:35s、5s、35s。假如要改变这些时间,只需要改变计数器的预置数即可。 1.3设计思路 两个方向各种灯亮的时间能够进行设置和修改,此外,假设B方向是主干道,车流量大,因此B方向通行的时间应该比A方向长。交通灯控制器的状态转换表见下表。表中,1表示灯亮,0表示灯不亮。A方向和B方向的红黄绿分别用R1、Y1、G1、R2、Y2、G2来表示。

交通灯设计-verilog.

. 基于Verilog语言交通灯设计报告 院系:工学院自动化系 年级:14级 班级:10班 姓名:周博 学号:14032291

这学期我学习了EDA技术及其创新实践这门课程,通过自己学习的内容和自己查找的一些资料用Verilog语言编写交通灯的程序,并且完成了仿真。Verilog HDL是工业和学术界的硬件设计者所使用的两种主要的HDL之一,另一种是VHDL。现在它们都已成为IEEE标准。两者各有特点,但Verilog HDL拥有更悠久的历史、更广泛的设计群体,资源也远比VHDL丰富,且非常容易学习掌握。一、设计背景和意义 交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。在现代化的大城市中,十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系统就是基于此目的而开发的。 二、设计任务 (1)设计一个交通红绿灯。要求分主干道和支干道,每条道上安装红(主:red1,支:red2)绿(主:green1,支:green2)黄(主:yellow1,支:yellow2)三种颜色灯,由四种状态自动循环构成; (2)在交通灯处在不同的状态时,设计一个计时器以倒计时方式显示计时,主干道上绿灯亮30S,支干道上绿灯亮20S。每个干道上,在绿灯转为红灯时,要

求黄灯先亮5S。 在完成基本要求的基础上,可进一步增加功能、提高性能,如绿灯亮的时间可调。 三、设计方案 1.工作原理: 城市十字交叉路口红绿灯控制系统主要负责控制主干道走向和从干道走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计: S0:当主干道走向的绿灯亮时,从干道走向的红灯亮,并保持30s S1:当主干道走向的黄灯亮时,从干道走向的黄灯亮,并保持5s S2:当主干道走向的红灯亮时,从干道走向的绿灯亮,并保持20s S3:当主干道走向的黄灯亮时,从干道走向的黄灯亮,并保持5s 在S3结束后又回到(1)状态,并周期重复进行。 状态图如下: 30秒 5秒5秒

交通灯课程设计报告

摘要 在今天的交通情况下,很多路口都出现拥堵和秩序混乱的情况,由此可见交通灯在生活中的重要性。我们本次课程设计的题目是交通灯控制器设计,要求设计并制作主/支交通信号灯控制器。我们小组成员通过共同交流和努力,完成了仿真图的设计、电路板的焊接、原理图的绘制。在由主干道和支干道汇成的十字路口,主、支道分别装有红、绿、黄三色信号灯,并完成数码管的置数。 通过本次课设,我们小组成员对数字电路的知识有了更深刻地了解。明白了在课设的各个阶段,我们都必须对元器件的原理非常了解。

目录 1 设计容及要求 (1) 2 方案论证 (1) 3 单元设计电路 (2) 3.1 总原理 (2) 3.2 控制电路 (3) 3.3 时钟产生电路 (3) 3.4 显示电路 (4) 3.5 器件 (5) 3.5.1可预置的十进制同步计数器74LS160 (5) 3.5.2 3 线-8 线译码器74LS138 (5) 3.5.3双时钟方式的十进制可逆计数器74LS192 (bcd,二进制) (6) 3.5.4 七段码译码器CD4511 (6) 4 组装及调试 (7) 4.1 通电前检查 (7) 4.2 通电检查 (7) 4.2.1 555电路模块的检查 (7) 4.2.2 CD4511的检查 (7) 4.2.3 74LS192的检查 (8) 4.2.4 控制电路及相关门电路的检查 (8) 4.2.5 发光二极管的检查 (9) 4.3 结果分析 (9) 5 设计总结 (10) 5.1 体会 (10) 5.2 设计电路的特点和方案的优缺点 (11) 5.3 改进方法 (11) 参考文献、附录Ⅰ、附录Ⅱ............................................................................ 错误!未定义书签。

微机原理-交通灯课程设计报告

微型计算机原理及应用课程设计说明书 交通灯控制系统设计 班级:1401班 姓名: 学号: 指导教师: 日期:2016年6月

一.课程设计目的: 在车辆日渐增多的今天,人们也越来越关注交通问题,而交通灯在安全行车过程中无疑起着十分重要的作用。现在交通灯一般都设在十字路口,用红、绿、黄三种颜色的指示灯和一个倒计时的显示计时器来控制行车, 对一般情况下的安全行车、车辆分流发挥着作用, 但根据实际行车过程中出现的情况, 主要有如下几个缺点: 1、车道轮流放行时间相对固定, 不能根据实际情况中两个车道的车辆多少来设置改变通行时间;2、没有考虑紧急车辆通过时, 两车道应采取的措施。譬如, 有消防车通过执行紧急任务时, 两个车道的车都应停止, 让紧急车辆通过。因此如何合理高效地利用交通灯指示交通情况,是一个亟需解决的问题。 交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。 要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义 二.课程设计内容: 设有一个十字路口,1、3为南北方向,2、4为东西方向。初始为四个路口的红灯全亮,之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车;延时一段时间后,1、3路口的绿灯开始闪烁,闪烁若干次以后,1、3 路口黄灯亮,后1、3路口红灯亮,而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而绿灯开始闪烁,闪烁若干次以后,1、3路口红灯亮,而2、4路口黄灯亮,再切换到1、3路口方向,之后重复上述过程。 三.问题分析及硬件介绍: 本次课程设计的内容为利用8086、8255等接口,实现控制十二个二极管亮灭的过程。需要PC机一台,8255并口:用做接口芯片。LED:共12个LED灯。还有8086芯片,8253a定时器等器材. 将8086和74273、74154和8255连接起来.需用到8255的六个输出端口。所以要求8255工作在方式0,因为二极管是共阳的,所以输出低电平二极管才会亮。8086用作cpu,三个74273是锁存器,锁存地址。 用软件proteus7.8画出电路图,加载程序到8086cpu,进行模拟。 系统硬件设计

交通灯课程设计讲解

设计题目:基于单片机的模拟交通灯控制院系:电气工程系 专业:城轨电子1班 年级: 2012级 姓名:凌洁 指导教师:黎松奇 西南交通大学峨眉校区 年月日

课程设计任务书 专业城轨电子本姓名凌洁学号 20128085 开题日期:2014年 11 月 17 日完成日期: 2014年12月17日题目基于单片机的模拟交通灯控制 一、设计的目的 本次设计的智能交通灯系统采用Proteus设计与仿真,程序的编译与调试采用Keil C51来实现。单片机原理、模拟和数字电路等方面的知识,基于Protues软件设计出一台交通信号灯,模拟路口交通信号。 二、设计的内容及要求 要求用51单片机设计一个智能交通灯控制系统,使其能模仿城市十字路口交通灯的功能,并对满足特殊的控制要求。该系统的具体功能要求如下: 该控制系统能控制东西南北四个路口的红黄绿灯正常工作。东西和南北方向分时准行和禁行。 1)交通信号灯能够控制东西、南北两个方向的交通,红绿黄灯用对应颜色的发光二极管代替; 2)用四个2位数码管分别显示东、南、西、北方向的通行时间,东西或南北通行时间为25秒,红绿灯切换中间黄灯亮5秒。 三、指导教师评语 四、成绩 指导教师 (签章) 年月日

目录 一、引言 (4) 二、设计方案与思路简述 (4) 1、内容简述: (4) 2、设计思路 (5) 三、单元电路设计 (7) 1.数码显示管与LED灯模块 (7) 2、 C51引脚图 (7) 3、时钟电路 (8) 4 、复位电路 (8) 四、总体设计 (9) 1. AT89C51芯片简介 (9) 2、原理框图: (12) 3、详细设计 (13) 4、软件框图 (20) 四、程序及注释 (21) 1、解释状态 (21) 2、附录清单 (22) 附录1:程序清单 (22) 五、调试运行 (27) 六、涉及资料及参考文献 (28) 七、心得体会 (28)

通过Verilog实现交通灯设计实验报告

电子科技大学 实 验 报 告 一、实验室名称:虚拟仪器实验室 二、实验项目名称:交通灯设计实验 三、实验学时:4学时 四、实验原理

假设交通灯处于南北和东西两条大街的“十”字路口,如图1所示。用FPGA 开发板的LED 灯来模拟红、黄、绿3种颜色信号,并按一定顺序、时延来点亮LED ,如图2所示。图3给出了交通灯的状态转移图。设计使用频率为1Hz 的时钟来驱动电路(注1:仿真时采用1MHz 的时钟来驱动电路),则停留1个时钟可得到1S 的延时,类似停留3个时钟可得到3S 的延时,停留15个时钟可得到15S 的延时(注2:开发板工作时钟为50MHz )。 北 南 西东 图1. 六个彩色LED 可以表示一组交通信号灯 图2. 交通灯状态 南北 东西 红 黄 绿 红 黄 绿 S0 1 0 0 0 0 1 S1 1 0 0 0 1 0 S2 1 0 0 1 0 0 S3 0 0 1 1 0 0 S4 0 1 0 1 0 0 S5 1 0 0 1 0 0

图3. 交通灯的状态转移图 顶层模块 时钟分频模块状态机跳转模块 图4. 交通灯的原理框图 五、实验目的 本实验是有限状态机的典型综合实验,掌握如何使用状态转移图来定义Mealy状态机和Moore状态机,熟悉利用HDL代码输入方式进行电路的设计和仿真的流程,掌握Verilog语言的基本语法。并通过一个交通灯的设计掌握利用EDA软件(Xilinx ISE 13.2)进行HDL代码输入方式的电子线路设计与仿真的详细流程。。 六、实验内容 在Xilinx ISE 13.2上完成交通灯设计,输入设计文件,生成二进制码流文件下载到FPGA开发板上进行验证。 七、实验器材(设备、元器件)

交通灯控制器课程设计报告

. 中南林业科技大学 课程设计报告 设计名称:交通灯控制器 姓名: 学号: 专业班级: 院(系): 一、课程设计题目:交通灯控制器

时间:2015年6月29日至7月13日 地点: 指导老师: 二、课程设计目的 交通灯控制信号的应用非常广泛。本电路设计一个交通灯控制器,需要达到的目的如下: 一个周期64秒,平均分配,前32秒红灯亮,后32秒绿灯亮。 在红灯亮的期间的后8秒与红灯在一起的黄灯闪烁(注意:红灯同时亮)。为了显示效果明显,设计闪烁频率为1。 在绿灯亮的期间的后8秒与绿灯在一起的黄灯闪烁(注意:绿灯同时亮),为了显示效果明显,设计闪烁频率为1。 在黄灯闪烁期间,数码管同时倒计时显示,在此期间以外,数码管不亮. 三、课程设计方案 为了完成交通灯控制电路的设计,方案考虑如下: 一个脉冲信号发生器,一个二进制加法计数器,一个十进制减法计数器,红灯与绿灯以及黄灯是否亮是由二进制加法计数器的输出端状态来决定的,因此,设计一个组合逻辑电路,它的输入信号就是二进制加法计数器的输出信号,它的输出就是发光二极管的控制信号,因此,需要一个组合逻辑电路,六个发光二极管(二个红色发光二极管,二个绿色发光二极管,二个黄色发光二极管)电路,一个数码管显示电路。结构图如下:

四、课程设计原理 脉冲信号发生器由定时器555构成。 二进制加法计数器由七位二进制加法计数器4024构成。 十进制减法计数器由74LS193可逆可预置十进制计数器构成。 组合逻辑电路根据其输入输出的逻辑关系后再确定电路芯片。 驱动器选用4511。 从以上讨论可知,需要对所采用的芯片有比较详细的了解。下面对以上几种芯片的基本知识和基本特性进行介绍。 1、555定时器 555定时器是一块常用的集成电路,电路符号如左图所示,8为电源端VCC,1为公共端GND。所加电源电压围:4.5V

数电交通灯课程设计报告

电子技术课程 设计报告 二 级 学 院 机械与电子工程学院 专 业 电气工程及其自动化 年 级 2014级 学 号 14106***** 学 生 姓 名 苏 运 指 导 教 师 杨** 完 成 时 间 2015 年12 月25 日 简易交通灯的设计

简易交通灯的设计 作者:苏运 指导老师:杨** 摘要:利用数码管,74LS48译码器、74LS192计数器、ne555、与非门、或非门、触发器、蜂鸣器和小彩灯等电子元件,制作简易交通灯,实现15秒倒计时开始后,到达5秒时红灯熄灭,黄灯闪烁同时蜂鸣器响,到达0秒时切换到另外两个方向的红绿灯亮的功能。经测试,系统达到红绿灯转换和显示的基本要求,具有电路美观稳定性高的优点。 关键词:数电交通灯;交通灯;简易交通灯;计数器

目录 1 设计要求及方案选择 (1) 1.1设计要求 (1) 1.2方案选择 (1) 2 理论分析与设计 (1) 2.1脉冲发生器电路的分析及设计 (1) 2.2定时器电路的分析及设计 (2) 2.3交通灯和蜂鸣器电路的分析及设计 (3) 2.4控制器电路的分析及设计 (4) 2.5数码显示电路的分析及设计 (4) 3电路设计 (5) 3.1脉冲发生器电路的设计 (5) 3.2定时器电路的设计 (6) 3.3交通灯和蜂鸣器电路的设计 (6) 3.4控制电路的设计 (7) 3.5码显示电路的设计 (9) 3.6电源开关和指示灯电路的设计 (9) 4系统测试实验 (10) 4.1调试所用的基本仪器清单 (10) 4.2软件仿真调试 (10) 4.3实物电路板的调试 (10) 4.4时钟脉冲信号的测定 (10) 4.5调试结果 (11) 4.6测试结果分析 (11) 5 总结 (12) 附录 (13) 附录A 仿真图 (13) 附录B 原理图 (13) 附录C PCB图 (14) 附录D 实物图 (14) 附录E 脉冲信号测试图 (15) 附录F 元件清单 (15) 参考文献 (16)

verilog课程设计—交通灯1

课程设计 课程名称__EDA技术综合设计与实践__ 题目名称交通灯控制系统 学生学院信息工程学院 专业班级通信工程08(4) 学号 3108002925 学生姓名高高 指导教师李学易 2011 年12 月26 日

基于FPGA 的交通灯控制器的设计 摘要:Verilog 是广泛应用的硬件描述语言,可以用在硬件设计流程的建模、综合和模拟等多个阶段。随着硬件设计规模的不断扩大,应用硬件描述语言进行描述的CPLD 结构,成为设计专用集成电路和其他集成电路的主流。现代城市在日常运行控制中,越来越多的使用红绿灯对交通进行指挥和管理。而一套完整的交通灯控制系统通常要实现自动控制和手动控制去实现其红绿灯的转换。 基于FPGA 设计的交通灯控制系统电路简单、可靠性好。本设计利用Verilog HDL 语言、采用层次化混合输入方式,可控制4个路口的红、黄、绿、左转四盏信号灯,让其按特定的规律进行变化。在QUARTUSⅡ下对系统进行了综合与仿真。仿真结果表明系统可实现十字路口红绿灯及左转弯控制和倒计时显示,并能够自动控制交通灯转变。通过应用Verilog HDL 对交通灯控制器的设计,达到对Verilog HDL 的理解 关键词:FPGA;交通灯自动控制;V erilog HDL;Quartus Ⅱ 1.交通信号控制器设计要求与思路 1.1设计要求 在交通灯系统中(图1),路口1、2、3、4均需要红、黄、绿、左转四盏灯(用RYGL分别表示) ,并且每个路口都需要一个倒数的计时器,假设绿灯每次维持的时间是40 s ,黄灯为5 s ,左转灯10s,红灯60s,黄灯亮时以一定的频率闪动。交通灯系统大多是自动控制来指挥交通的,但有时需要由交警手动控制红绿灯,所以要求设 计的该交通信号系统需要具有该功能。 实现设计目标如下: (1)设计一个十字路口的交通灯控制电路,每条路配有红、黄、绿交通信号灯,通过电路对十字路口的两组交通灯的状态实现自动循环控制; (2)实现东西车道和南北车道上的车辆交替运行,绿灯每次维持的时间是40 s ,黄灯为5 s ,左转灯10s,红灯60s; (3)要求黄灯亮5 秒后,红灯才能转为绿灯,黄灯亮时以一定的频率闪动; (4)东西车道和南北车道每次通行的时间不同且可调; 图1 交通灯系统示意图

智能交通灯系统课程设计报告

江苏师范大学物电学院课程设计报告 课程名称:单片机课程实训 题目:智能交通灯系统 专业班级: 学生姓名: 学生学号: 日期: 指导教师:

说明: 1、报告中的第一、二、三项由学生在课程设计开始前填写,由指导教师指 导并确认签字。 2、学生成绩由指导教师根据学生的设计情况给出各项分值及总评成绩,并 填写成绩评定表。 3、所有学生必须参加课程设计的答辩环节,凡不参加答辩者,其成绩一律 按不及格处理。答辩小组成员应由2人及以上教师组成。答辩后学生根据答辩情况填写答辩记录表。 4、报告正文字数一般应不少于3000字,也可由指导教师根据本门课程设 计的情况另行规定。 5、平时表现成绩低于6分的学生,取消答辩资格,其该课程设计成绩按不 及格处理。 6、课程设计完成后,由指导教师根据完成情况写出总结。 7、此表格式为江苏师范大学物理与电子工程学院提供的基本格式,指导教 师可根据本门课程设计的特点及内容做适当的调整。

一、课程设计目的、任务和内容要求: 通过该课程设计使学生进一步了解和加深智能化仪器设计的一般原则;熟练掌握智能化仪器与装置的软、硬件设计方法;掌握仪器的软件调试及软硬件联合统调方法与技能。掌握仪器的接口技术和程控方法;熟练掌握仪表总线的工作原理、设计步骤、编程及调试;掌握C设计软件的编程与调试方法;掌握网络化仪器设计编程与调试方法。 本课程设计的任务就是设计一个智能交通灯系统。鼓励学生在熟悉基本原理的前提下,与实际应用相联系,提出自己的方案,完善设计。 具体设计任务如下: 1.熟悉QG8芯片与ISD语音模块的工作原理; 2.写出智能交通灯系统的设计方案; 3.用硬件加以实现; 4.写课程设计报告。 设计要求: 1.数码管显示倒计时,且时间可调; 2.红绿灯亮时间与数码管一致; 3.红灯亮时对应语音模块提示; 4.绿灯亮时对应语音模块提示。

交通灯课程设计说明书

华北水利水电学院 院系:机械学院 专业:机械设计制造及其自动化 班级: 59班 学号: 200905918 姓名:杨亚坤 指导老师:雷冀南 2012年5月11日

目录 目录 (2) 2、设计要求 (3) 二、交通管理的方案论证 (3) 三、总体方案设计 (4) 1.系统框图 (4) 2.工作原理 (4) 2.1、正常模式 (4) 3.计时控制方案 (6) 4.显示控制方案 (6) 四、芯片的选择与简介 (6) 3. 80C51单片机的外接晶体引脚 (7) 4. 80C51单片机的控制线 (7) 5. 80C51单片机复位方式 (7) 五系统电路设计 (8) 1.电路原理图 (8) 3.单片机最小系统 (9) 4.显示部分 (10) 6.主程序模块 (10) 7.显示程序模块 (11) 七、结论 (11) 八、参考文献 (12) 附录2:电路原理图 (18) 一、课程设计任务书及计划书

1 、设计目的及任务 《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的内容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 课程设计任务:根据给定的模拟交通灯控制任务要求选择合适的单片机和其他电子元器件,进行系统硬件电路设计和软件编程,根据系统制作并调试系统电路板,使之实现任务要求。 2、设计要求 (1)运用所学的知识设计一个交通灯控制系统。 (2)上电的时候南北方向的红灯亮30秒;东西方向的绿灯亮30秒,黄灯秒闪5秒。再接下来东西方向的红灯亮30秒;南北方向的绿灯亮30秒,黄灯秒闪5秒。如此循环。 (3)各种信号灯所亮的时间由数码管显示出来。 (4)外接4个控制按钮,分别实现紧急模式、夜间模式、主干道绿灯支道红灯模式、管理模式。 二、交通管理的方案论证 东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设南北道比东西道的车流量大,指示灯燃亮的方案如表2。 表2说明:

基于VerilogHDL的交通灯控制器设计

目录 第一章设计原理 (1) 1.1设计要求 (1) 1.2设计思路和原理 (1) 1.3实现方法 (1) 第二章Verilog 程序设计 (2) 2.1整体设计 (2) 2.2 具体设计 (3) 第三章仿真 (7) 3.1 波形仿真 (7) 第四章设计总结 (9) 4.1 总结 (9) 4.2参考资料 (9) 程序清单 (10)

交通灯控制器设计 第一章 设计原理 1.1设计要求 设计一个交通控制器,用LED 显示灯表示交通状态,并以7段数码显示器显示当前状态剩余秒数 主干道绿灯亮时,支干道红灯亮;反之亦然,二者交替允许通行,主干道每次放行35s ,支干道每次放行25s 。每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时间为5s 。能进行特殊状态显示,特殊状态时东西、南北路口均显示红灯状态。用LED 灯显示倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。 1.2设计思路和原理 本次设计是针对十字路口,进行南北和东西直行情况下交通灯控制。设定东西方向为主干道方向,根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续35S 后,主干道和支干道上的黄灯都亮启,持续5S 后,主干道上红灯亮启,支干道上绿灯亮启持续25S ,之后主干道和支干道上的黄灯都亮启5s ,一个循环完成。循环往复的直行这个过程。其过程如下图所示: 0s 30s 25s 主干道方向 支干道方向 图1.交通灯点亮时间控制说明 1.3实现方法 本次采用文本编辑法,即利用Verilog 语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示。设计中用两组红黄绿LED 模拟两个方向上的交通灯,用4个7段数码管分别显示两个方向上的交通灯剩余时间,控制时钟由试验箱上频率信号提供。

相关主题
文本预览
相关文档 最新文档