当前位置:文档之家› Verilog数字电子技术课程设计报告-交通灯设计

Verilog数字电子技术课程设计报告-交通灯设计

Verilog数字电子技术课程设计报告-交通灯设计
Verilog数字电子技术课程设计报告-交通灯设计

江苏科技大学数字电子技术课程设计报告

姓名:

学号:

学院: 电子信息学院

专业: 电气工程及其自动化

日期: 2015 年 6 月 27日

课题一数字电子钟

任务:用文本法或图形法设计一个能显示时、分、秒的数字电子钟

要求:1 设计由20mhz有源晶振电路产生标准信号的单元电路

2时为00~23二十四进制计数器,分、秒为00~59六十进制计数器;

3 能够显示出时、分、秒;

4 具有清零,调节分钟的功能;

5 模拟钟摆功能

6 具有整点报时功能,整点报时的同时声响电路发出叫声;

7 对时、分、秒单元电路进行仿真并纪录;

8 选作部分:具有定时闹钟功能,可在任意设定一时间,到时间自动提

醒,通过声响电路发出叫声。

分步模块设计如下:

1、分频器

程序

module div(clk_20M,clk_1000,clk_100,clk_10,clk_1);

input clk_20M;

outputreg clk_1000,clk_100,clk_10,clk_1;

reg [15:0]cnt1;

reg [2:0]cnt2,cnt3,cnt4;

always @(posedge clk_20M) //得到1000Hz的信号,并且占空比为50%

begin

if(cnt1==9999)

begin

cnt1<=16'b0000000000000000;

clk_1000<=~clk_1000;

end

else cnt1<=cnt1+1'b1;

end

always @(posedge clk_1000) //得到100Hz的信号,并且占空比为50% begin

if(cnt2==4)

begin

cnt2<=3'b000;

clk_100<=~clk_100;

end

else cnt2<=cnt2+1'b1;

end

always @(posedge clk_100) //得到10Hz的信号,并且占空比为50%

begin

if(cnt3==4)

begin

cnt3<=3'b000;

clk_10<=~clk_10;

end

else cnt3<=cnt3+1'b1;

end

always @(posedge clk_10) //得到1Hz的信号,并且占空比为50%

begin

if(cnt4==4)

begin

cnt4<=3'b000;

clk_1=~clk_1;

end

else cnt4=cnt4+1'b1;

end

endmodule

2,、六十进制计数器

程序:

秒针计数:

module count60(clk,ctr,reset,out,full1,out_m);

inputclk,reset,ctr;

outputreg [7:0]out;

outputreg full1,out_m;

wire CP;

or A(CP,clk,ctr);

always @(posedge CP or negedge reset)

begin

if(~reset)out<=8'b00000000;

else

begin

if(out>=59)

begin

out<=8'b00000000;

full1<=1'b1;

end

else

begin

out<=out+1'b1;

full1<=1'b0;

end

end

always @(out)

begin

if(out==59) out_m=1;

elseout_m=0;

end

endmodule

分针计数:

module count60f(clk,ctr,reset,out,full2,out_m); inputclk,reset,ctr;

outputreg [7:0]out;

outputreg full2,out_m;

wirecp;

or A(cp,clk,ctr);

always @(posedgecp or negedge reset)

begin

if(~reset)out<=8'b00000000;

else

begin

if(out>=59)

begin

out<=8'b00000000;

full2<=1'b1;

end

else

begin

out<=out+1'b1;

full2<=1'b0;

end

end

always @(out)

begin

if(out==59) out_m=1;

elseout_m=0;

end

endmodule

3、二十四进制计数器

程序:

时针计数器:

module C24(clk,ctr,reset,out);

inputclk,ctr,reset;

outputreg [7:0]out;

initial out=8'b00000000;

wire CP;

or A(CP,clk,ctr);

always @(posedge CP or negedge reset)

begin

if(~reset)out<=8'b00000000;

else

begin

if(out>=23)out<=8'b00000000;

else out<=out+1'b1;

end

end

4、调节

程序:

moduletiaojie(mode,ctr,ctr_m,ctr_h);

inputmode,ctr;

outputregctr_m,ctr_h;

reg [1:0]cnt;

always @(posedge mode)

begin

if(cnt>=2'b10)cnt<=2'b00;

elsecnt<=cnt+1'b1;

end

always @(ctr)

begin

case(cnt)

2'b01:begin

ctr_m<=ctr;ctr_h<=1'b0;

end

2'b10:begin

ctr_m<=1'b0;ctr_h<=ctr;

end

default:begin

ctr_m<=1'b0;ctr_h<=1'b0;

end

endcase

end

5、 BCD四段译码器

程序:

//60—4译码

module decode60(in,out_h,out_l);

input [7:0]in;

outputreg [3:0]out_h,out_l;

always @(in)

begin

case(in)

8'b00000000:beginout_h<=4'b0000;out_l<=4'b0000;end //0 8'b00000001:beginout_h<=4'b0000;out_l<=4'b0001;end //1 8'b00000010:beginout_h<=4'b0000;out_l<=4'b0010;end //2 8'b00000011:beginout_h<=4'b0000;out_l<=4'b0011;end //3 8'b00000100:beginout_h<=4'b0000;out_l<=4'b0100;end //4 8'b00000101:beginout_h<=4'b0000;out_l<=4'b0101;end //5 8'b00000110:beginout_h<=4'b0000;out_l<=4'b0110;end //6 8'b00000111:beginout_h<=4'b0000;out_l<=4'b0111;end //7 8'b00001000:beginout_h<=4'b0000;out_l<=4'b1000;end //8 8'b00001001:beginout_h<=4'b0000;out_l<=4'b1001;end //9 8'b00001010:beginout_h<=4'b0001;out_l<=4'b0000;end//10 8'b00001011:beginout_h<=4'b0001;out_l<=4'b0001;end//11 8'b00001100:beginout_h<=4'b0001;out_l<=4'b0010;end//12 8'b00001101:beginout_h<=4'b0001;out_l<=4'b0011;end//13 8'b00001110:beginout_h<=4'b0001;out_l<=4'b0100;end//14 8'b00001111:beginout_h<=4'b0001;out_l<=4'b0101;end//15 8'b00010000:beginout_h<=4'b0001;out_l<=4'b0110;end//16 8'b00010001:beginout_h<=4'b0001;out_l<=4'b0111;end//17

8'b00010011:beginout_h<=4'b0001;out_l<=4'b1001;end//19 8'b00010100:beginout_h<=4'b0010;out_l<=4'b0000;end//20 8'b00010101:beginout_h<=4'b0010;out_l<=4'b0001;end//21 8'b00010110:beginout_h<=4'b0010;out_l<=4'b0010;end//22 8'b00010111:beginout_h<=4'b0010;out_l<=4'b0011;end//23 8'b00011000:beginout_h<=4'b0010;out_l<=4'b0100;end//24 8'b00011001:beginout_h<=4'b0010;out_l<=4'b0101;end//25 8'b00011010:beginout_h<=4'b0010;out_l<=4'b0110;end//26 8'b00011011:beginout_h<=4'b0010;out_l<=4'b0111;end//27 8'b00011100:beginout_h<=4'b0010;out_l<=4'b1000;end//28 8'b00011101:beginout_h<=4'b0010;out_l<=4'b1001;end//29 8'b00011110:beginout_h<=4'b0011;out_l<=4'b0000;end//30 8'b00011111:beginout_h<=4'b0011;out_l<=4'b0001;end//31 8'b00100000:beginout_h<=4'b0011;out_l<=4'b0010;end//32 8'b00100001:beginout_h<=4'b0011;out_l<=4'b0011;end//33 8'b00100010:beginout_h<=4'b0011;out_l<=4'b0100;end//34 8'b00100011:beginout_h<=4'b0011;out_l<=4'b0101;end//35 8'b00100100:beginout_h<=4'b0011;out_l<=4'b0110;end//36 8'b00100101:beginout_h<=4'b0011;out_l<=4'b0111;end//37 8'b00100110:beginout_h<=4'b0011;out_l<=4'b1000;end//38 8'b00100111:beginout_h<=4'b0011;out_l<=4'b1001;end//39 8'b00101000:beginout_h<=4'b0100;out_l<=4'b0000;end//40 8'b00101001:beginout_h<=4'b0100;out_l<=4'b0001;end//41 8'b00101010:beginout_h<=4'b0100;out_l<=4'b0010;end//42 8'b00101011:beginout_h<=4'b0100;out_l<=4'b0011;end//43 8'b00101100:beginout_h<=4'b0100;out_l<=4'b0100;end//44 8'b00101101:beginout_h<=4'b0100;out_l<=4'b0101;end//45 8'b00101110:beginout_h<=4'b0100;out_l<=4'b0110;end//46

8'b00110000:beginout_h<=4'b0100;out_l<=4'b1000;end//48 8'b00110001:beginout_h<=4'b0100;out_l<=4'b1001;end//49 8'b00110010:beginout_h<=4'b0101;out_l<=4'b0000;end//50 8'b00110011:beginout_h<=4'b0101;out_l<=4'b0001;end//51 8'b00110100:beginout_h<=4'b0101;out_l<=4'b0010;end//52 8'b00110101:beginout_h<=4'b0101;out_l<=4'b0011;end//53 8'b00110110:beginout_h<=4'b0101;out_l<=4'b0100;end//54 8'b00110111:beginout_h<=4'b0101;out_l<=4'b0101;end//55 8'b00111000:beginout_h<=4'b0101;out_l<=4'b0110;end//56 8'b00111001:beginout_h<=4'b0101;out_l<=4'b0111;end//57 8'b00111010:beginout_h<=4'b0101;out_l<=4'b1000;end//58 8'b00111011:beginout_h<=4'b0101;out_l<=4'b1001;end//59 default:beginout_h<=7'b0000;out_l<=0000;end //0

endcase

end

endmodule

//24—4译码:

module decode24(in,out_h,out_l);

input [7:0]in;

outputreg [3:0]out_h,out_l;

always @(in)

begin

case(in)

8'b00000000:beginout_h<=4'b0000;out_l<=4'b0000;end //0 8'b00000001:beginout_h<=4'b0000;out_l<=4'b0001;end //1 8'b00000010:beginout_h<=4'b0000;out_l<=4'b0010;end //2 8'b00000011:beginout_h<=4'b0000;out_l<=4'b0011;end //3

8'b00000101:beginout_h<=4'b0000;out_l<=4'b0101;end //5 8'b00000110:beginout_h<=4'b0000;out_l<=4'b0110;end //6 8'b00000111:beginout_h<=4'b0000;out_l<=4'b0111;end //7 8'b00001000:beginout_h<=4'b0000;out_l<=4'b1000;end //8 8'b00001001:beginout_h<=4'b0000;out_l<=4'b1001;end //9 8'b00001010:beginout_h<=4'b0001;out_l<=4'b0000;end//10 8'b00001011:beginout_h<=4'b0001;out_l<=4'b0001;end//11 8'b00001100:beginout_h<=4'b0001;out_l<=4'b0010;end//12 8'b00001101:beginout_h<=4'b0001;out_l<=4'b0011;end//13 8'b00001110:beginout_h<=4'b0001;out_l<=4'b0100;end//14 8'b00001111:beginout_h<=4'b0001;out_l<=4'b0101;end//15 8'b00010000:beginout_h<=4'b0001;out_l<=4'b0110;end//16 8'b00010001:beginout_h<=4'b0001;out_l<=4'b0111;end//17 8'b00010010:beginout_h<=4'b0001;out_l<=4'b1000;end//18 8'b00010011:beginout_h<=4'b0001;out_l<=4'b1001;end//19 8'b00010100:beginout_h<=4'b0010;out_l<=4'b0000;end//20 8'b00010101:beginout_h<=4'b0010;out_l<=4'b0001;end//21 8'b00010110:beginout_h<=4'b0010;out_l<=4'b0010;end//22 8'b00010111:beginout_h<=4'b0010;out_l<=4'b0011;end//23 default:beginout_h<=7'b0000;out_l<=0000;end //0

endcase

end

endmodule

6、钟摆电路

程序

moduleZhongbai(clk_10,out_ZB);

input clk_10;

outputreg [5:0]out_ZB;

reg [3:0]cnt;

always @(posedge clk_10)

begin

if(cnt>=9)cnt<=4'b0000;

elsecnt<=cnt+1'b1;

end

always @(cnt)

begin

case(cnt)

4'b0000:out_ZB<=6'b100000;

4'b0001:out_ZB<=6'b010000;

4'b0010:out_ZB<=6'b001000;

4'b0011:out_ZB<=6'b000100;

4'b0100:out_ZB<=6'b000010;

4'b0101:out_ZB<=6'b000001;

4'b0110:out_ZB<=6'b000010;

4'b0111:out_ZB<=6'b000100;

4'b1000:out_ZB<=6'b001000;

4'b1001:out_ZB<=6'b010000;

default:out_ZB<=6'b000000;

endcase

end

endmodule

7、报时

程序

module ring(clk_1000,clk_100,out_s,out_m,out_ring); input clk_1000,clk_100,out_m;

input [1:0]out_s;

outputregout_ring;

always @( out_s or out_m)

begin

if((out_s==2'b10)&&out_m) //qu 00;

begin

out_ring<=clk_100;

end

else if((out_s==2'b11) &&out_m)

begin

out_ring<=clk_1000;

end

elseout_ring<=1'b0;

end

endmodule

8、顶层文件

程序

module

clock(clk_20M,mode,ctr,reset,out_ZB,out_ring,out_h_s,out_l_s,out_h_m, out_l_m,out_h_h,out_l_h,clk_10,clk_1,out_s);

input clk_20M,mode,ctr,reset;

wire [7:0]out_h,out_m,out_s;

output [5:0]out_ZB;

output [7:0]out_s;

outputout_ring;

wirec_s,c_m;

output clk_10,clk_1;

wire clk_1000, clk_100,clk_10,clk_1;

wirectr_m,ctr_h;

wire [1:0]outs;

wireoutm;

output [3:0]out_h_s,out_l_s,out_h_m,out_l_m,out_h_h,out_l_h;

div div(clk_20M,clk_1000,clk_100,clk_10,clk_1);

count60 count60(clk,ctr,reset,out,full1,outs);

count60f count60f(clk,ctr,reset,out,full2,outm);

C24 C24(clk,ctr,reset,out);

tiaojietiaojie(mode,ctr,ctr_m,ctr_h);

ZhongbaiZhongbai(clk_10,out_ZB);

ring ring(clk_1000,clk_100,outs,outm,out_ring);

decode60 decode60(in,out_h,out_l);

decode60 decode60s(in,out_h,out_1);

decode24 decode24(in,out_h,out_l);

endmodule

仿真结果:

设计总结:

将电路每个部分单元化,在顶层文件中调用相应原件从而实现总的设计。

课题二交通灯控制逻辑电路设计

任务:用CPLD设计路口交通灯控制器

要求:

1 、满足如下时序要求:南北方向红灯亮,东西方向绿灯亮;南北方向绿灯亮,东西方向红灯亮;

2 、每一方向的红(绿)黄灯总共维持30秒;

3 、十字路口要有时间显示,具体为:当某一方向绿灯亮时,置显示器为30秒,然后以每秒减1计数方式工作,直至减到数为4秒时,绿灯熄灭,黄灯开始间隙闪耀4秒,减到0时,红绿灯交换,一次工作循环结束,进入下一步另一方向的工作循环;

4 、红绿黄灯均采用发光二极管;

5 、设计由晶振电路产生1Hz标准秒信号的单元电路

6 、要求对整体电路进行仿真,观察并纪录下仿真波形;

7 、选作部分:可以手动调整和自动控制,夜间为黄灯闪耀;

8 、选作部分:东西方向或南北方向上的绿灯亮变为红灯亮,中间需插入黄灯闪耀4秒

9、东西绿灯30秒,南北绿灯40秒。

分步模块设计如下:

1、分频器

程序

modulefenpinqi(clk,d,fout);

inputclk;

input[15:0]d;

outputfout;

regfout,full;

reg[15:0]cnt;

always @(posedgeclk)

begin

if(cnt=={16{1'b1}})

begin

cnt<=d;

full<=1;

end

else

begin

cnt<=cnt+1;

full<=0;

end

end

always @(posedge full)

begin

fout<=~fout;

end

endmodule

2、译码器

程序

moduleyimaqi(in,out0,out1);

input[4:0] in;

output[3:0]out1,out0;

reg[3:0]out1,out0;

always@(in)

begin

case(in)

5'b00000: begin

out0=4'b0000; out1=4'b0000; end //00 5'b00001: begin

out0=4'b0001;out1=4'b0000; end //01

5'b00010: begin

out0=4'b0010; out1=4'b0000; end //02

5'b00011: begin

out0=4'b0011;out1=4'b0000; end //03

5'b00100: begin

out0=4'b0100;out1=4'b0000; end //04

5'b00101: begin

out0=4'b0101;out1=4'b0000; end //05

5'b00110: begin

out0=4'b0110;out1=4'b0000; end //06

5'b00111: begin

out0=4'b0111;out1=4'b0000; end //07

5'b01000: begin

out0=4'b1000;out1=4'b0000; end //08

5'b01001: begin

out0=4'b1001;out1=4'b0000; end //09

5'b01010: begin

out0=4'b0000;out1=4'b0001;end //10

5'b01011: begin

out0=4'b0001; out1=4'b0001; end //11 5'b01100: begin

out0=4'b0010;out1=4'b0001; end //12

5'b01101: begin

out0=4'b0011; out1=4'b0001; end //13 5'b01110: begin

out0=4'b0100;out1=4'b0001; end //14

5'b01111: begin

out0=4'b0101;out1=4'b0001; end //15

5'b10000: begin

out0=4'b0110;out1=4'b0001; end //16 5'b10001: begin

out0=4'b0111;out1=4'b0001; end //17 5'b10010: begin

out0=4'b1000;out1=4'b0001; end //18 5'b10011: begin

out0=4'b1001;out1=4'b0001; end //19 5'b10100: begin

out0=4'b0000; out1=4'b0010; end //20 5'b10101: begin

out0=4'b0001;out1=4'b0010; end //21 5'b10110: begin

out0=4'b0010; out1=4'b0010; end //22 5'b10111: begin

out0=4'b0011;out1=4'b0010; end //23 5'b11000: begin

out0=4'b0100;out1=4'b0010; end //24 5'b11001: begin

out0=4'b0101;out1=4'b0010; end //25 5'b11010: begin

out0=4'b0110;out1=4'b0010; end //26 5'b11011: begin

out0=4'b0111;out1=4'b0010; end //27 5'b11100: begin

out0=4'b1000;out1=4'b0010; end //28 5'b11101: begin

out0=4'b1001;out1=4'b0010; end //29 5'b11110: begin

out0=4'b0000;out1=4'b0011;end //30

default: begin

out0=4'bz; out1=4'bz; end

endcase

end

endmodule

3、顶层文件

程序:

module jtd(cp,reset,ewr,ewg,ewy,nsr,nsg,nsy,out_a,out_b,out_c,out_d);

inputcp,reset;

outputewr,ewg,ewy,nsr,nsg,nsy;

output [3:0]out_a,out_b,out_c,out_d;

regewr,ewg,ewy,nsr,nsg,nsy;

reg[4:0]count1;

reg[4:0]count2;

reg [3:0]state;

wire [3:0]out_a,out_b,out_c,out_d;

wire fout1,fout2;

parameter gr = 4'b0001, //ew is green,ns is red;

yr = 4'b0010, //ew is yellow,ns is red;

rg = 4'b0100, //ew is red,ns is green;

ry = 4'b1000; //ew is red,ns is yellow

fenpinqi U(.clk(cp),.d(55535),.fout(fout1));

fenpinqi U0(.clk(fout1),.d(65035),.fout(fout2));

always @ ( posedgecp )

begin

if(reset)

begin

count1 <=5'b11110 ;

count2 <=5'b11110;

end

else if(count1 ==5'b00000 && count2 ==5'b00000) begin

count1 <=5'b11110;

count2 <=5'b11110;

end

else

begin

count1 <= count1-5'b00001;

count2 <= count2-5'b00001;

end

end

always @ (posedge reset or posedgecp)

begin

if(reset)

state<= gr;

else

case(state)

gr: if(count2 ==5'b00100 && count1 ==5'b00100)

state<= yr;

else

state<= gr;

yr: if(count2 ==5'b00000 && count1 ==5'b00000)

state<= rg;

else

state<= yr;

rg: if(count2 ==5'b00100 && count1 ==5'b00100)

state<= ry;

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

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),

基于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

微机原理课程设计——交通灯控制系统

南通大学电子信息学院 微机原理课程设计 报告书 课题名交通灯控制系统 班级 _______ 学号 __________ 姓名 ____ 指导教师 ______ 日期 _________

目录 1 设计目的 (1) 2 设计内容 (1) 3 设计要求 (1) 4 设计原理与硬件电路 (2) 5 程序流程图 (4) 6 程序代码 (4) 7 程序及硬件系统调试情况 (8) 8 设计总结与体会 (9) 9 参考文献 (9)

1 设计目的 电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。 交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。 要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。 2 设计内容 交通灯控制系统 利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。要求能实现自动控制和手动应急控制。 3 设计要求 在Proteus环境下,结合课程设计题目,设计硬件原理图,搭建硬件电路 软件设计

交通灯设计报告

设计要求 (1)在十字路口的两个方向上各设一组红灯、绿灯、黄灯,显示顺序为:其中一个方向是绿灯、黄灯、红灯,另一个方向是红灯、黄灯、绿灯。 (2)设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,其中绿灯、黄灯、红灯的持续时间分别为20s、5s、25s。 (3)当各条路中任意一条上出现特殊情况,例如有消防车、救护车或其他需要优先放行的车辆时,各方向上均是红灯亮,倒计时停止,且显示数字在闪烁。当特殊运行状态结束后,控制器恢复原来状态,继续正常运行。 设计原理及框图 交通灯控制系统的原理框图如图1所示,它主要由秒脉冲发生器,时间显示器,倒计时计数器,计数控制器,交通灯控制器,交通显示灯,紧急开关构成。秒脉冲发生器是该系统中定时器的标准时钟信号源,同时控制着正常工作时黄灯与特殊情况下数码管数字的闪烁,倒计时计数器控制器控制倒计时计数器,倒计时计数器输出的数字经过时间显示器显示在数码管上。交通控制器控制交通显示灯的亮灭,交通控制灯的输入信号由紧急开关和倒计时计数器共同提供。 图一:交通灯控制系统的原理框图

状态1 甲车道黄灯亮 乙车道红灯亮 OO O 两方向车道的交通灯的运行状态共有 4种,如图2所 示,它们转换到数子状 态如下图。 TF:表示甲车道或乙车道红灯亮的时间间隔为 25秒,当TF=0时,甲车道为 红灯,25秒倒计时;当TF=1时,乙车道为红灯,25秒倒计时。 TS:表示倒计时到5秒和20秒。TY=0倒计时20秒,否则,TY=1倒计时5秒 一般十字路口的交通灯控制系统的工作过程如下: (1)甲车道绿灯亮,乙车道红灯亮。表示甲车道上的车辆允许通行,乙车 道禁止 通行。此时TF=O,TS=0绿灯亮足规定的时间隔20s ,倒计时计数器发出状态转 换信号使TS=1,使计数控制器使TS=1转到下一工作状态。 (2) 甲车道黄灯亮,乙车道红灯亮。表示甲车道上未过停车线的车辆停止 通 行,已过停车线的车辆继续通行,乙车道禁止通行。黄灯亮足规定时间间隔 5s 时,倒计时计数器发出状态转换信号使 TF=1, TS=O,使控制器控制译码器 转到下一工作状态。 (3) 甲车道红灯亮,乙车道绿灯亮。表示甲车道禁止通行,乙车道上的车 辆允许通行,绿灯亮足规定的时间间隔 20s 时,倒计时计数器发出状态转换信 号使TS=1,使控制器控制译码器转到下一工作状态。 (4)甲车道红灯亮,乙车道黄灯亮。表示甲车道禁止通行,乙车道上位过县停 车线的车辆停止通行,已过停车线的车辆停止通行,已过停车线的车辆继续通 行。黄灯亮足规定的时间间隔5s 时,倒计时计数器发出状态转换信号使 TF=0,TS=0,使计数控制器转到下一工作状态,即系统又转换到第(1)种工作 状态。 因为在上述转换过程中灯的转换只在计数器为零的时候发生且不存在竞争 冒险的问题,所以可设计为当计数器为 00时即发生信号灯的转换,当信号灯 甲车道绿灯亮 乙车道红灯亮 000 以态2 甲车道红灯亮 乙车道碌灯亮 2- 图 ? 00 r 状态3 甲车直红*1亮 乙车道就侯 TS=O TS=1 TF=0 T 状态0 状态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

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

长安大学 电子技术课程设计 题目简易交通信号灯控制器 班级 姓名黄红涛指导教师温 凯歌 日期 前言 在现代城市中,人口和汽车日益增长,市区交通也日益拥挤,人们的安全问题也日益重要。因此,红绿交通信号灯成为交管部门管理交通的重要工具之一。有了交通灯之后人们的安全出行有了很大的保障。 自从交通灯诞生以来,其内部的电路控制系统就不断的被改进,设计方法也开始多种多样,从而使交通灯显得更加智能化。尤其是近几年来,随着电子与计算机技术的飞速发展,电子电路分析和设计方法有了很大的改进,电子设计自动化也已经成为现代电子系统中不可缺少的工具和手段,这些为交通灯控制电路的设计提供了一定的技术基础。 因此,在本次课题为简易交通灯的课程设计中,通过采用数字电路对交通灯控制电路的设计,提出使交通灯控制电路用数字信号自动控制十字路口两组红、黄、绿交通灯的状态转换的方法,指挥各种车辆和行人安全通行,实现十字路口交通管理的自动化。

本设计分为两个部分:第一部分是由定时器、时钟脉冲驱动和控制器组成的秒脉冲信号发生装置;第二部分是有译码器、发光二极管和数码管组成的交通信号灯以及时间显示装置。各部分采用分模块设计,正文中详细介绍了各模块的功能和原理。 为了完成本次设计,参阅了大量的资料,包括所用到的芯片的详细中英文资料。搜集和查阅资料是一个漫长但是非常重要的过程,获取各模块电路原理,然后经过讨论比较,结合课题要求,确定出一套最合适的方案。小组人员花费几天时间,通过图书馆和上网查阅资料,分别查阅到相应资料。经过商讨,结合现有资料,制定基本框架,并基本定出电路图。在MULTISIM软件里进行电路仿真,来验证电路的正确性。通过仿真来验证实验原理和电路的正确性。在整个过程中,充分发挥主观能动性,将平时所学的理论知识和实际相结合,往往理论可行的东西,实际并不一定能出现结果,这就是我们需要解决的问题,通过问老师或者查资料来分析解决问题。最后确定仿真没有错误后,汇总电路图。 本设计分为两大部分,交通信号灯以及译码显示电路(时间显示)部分由黄红涛同学和韩白雨同学负责主导设计;秒脉冲信号发生以及控制部分由任永刚同学负责,最后进过整合后得到完整系统。 由于缺少实践经验,并且知识有限,所以本次课程设计中难免存在缺点和错误,敬请老师批评指正。 黄红涛 2010年12月29日 目录 前言 (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来表示。

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

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.复位方案 复位方式有两种:按键复位与软件复位。由考虑到程序的简洁,避免冗长,本设计采用按键复位,在芯片的复位端口外接复位电路,通过按键对单片机输入一个高电平脉冲,达到复位的目的。

数电课程设计交通灯

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

一实验目的 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)主干道红灯亮,支干道绿灯亮。表示主干道禁止通行,支干道上的车辆允许通行。 主控部分 秒脉冲发生 器 交通灯 倒计时控制部分 数码管显示 反馈 控制

单片机课程设计报告 - 十字路口交通灯控制

宁夏大学新华学院课程考核

绪论 主要内容: 随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电器公司任职员。一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯而正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一身冷汗。回到宿舍,他反复琢磨,终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危险。他的建议立即得到有关方面的肯定。于是红、黄、绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空交通领域了。 交通灯控制器设计主要功能是用单片机控制LED灯模拟指示。模拟东西南北方向的十字路口交通灯信号控制情况。以89C51单片机为核心芯片,采用中断方式实现控制。本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。和复位电路控制电路等组成,较好的模拟了交通路面的控制。

基本要求: 利用单片机的定时器产生秒信号,控制十字路口的红、绿、黄灯交替点亮和熄灭,并且用4只LED数码管显示十字路口两个方向的剩余时间。要求能用按键设置两个方向的通行时间(绿、红等点亮的时间)和暂缓通行时间(黄灯点亮的时间)。 系统的工作应符合一般交通灯控制的要求。 参考文献: [1] 张毅刚,彭喜元编著.《单片机原理与应用设计》 [2] 郭天祥编著.《新概念51单片机C语言教程:入门、提高、开发、拓展全攻略》 [3]编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。 [4]硬件实验部分可选用实验箱测试或Proteus仿真软件实现。

交通灯设计-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) 参考文献、附录Ⅰ、附录Ⅱ............................................................................ 错误!未定义书签。

简易交通灯控制器的设计报告

一、概述 交通灯在人类道路交通发展过程中扮演着非常重要的角色,而我国是一个人口超 级大国,汽车工业的发展正在快速增长的阶段,因此限制车辆的增加不是解决问题的好方法。而采取增加供给,即大量修筑道路基础设施的方法,在资源、环境矛盾越来越突出的今天,面对越来越拥挤的交通,有限的源和财力以及环境的压力,也将受到限制。这就需要依靠除限制需求和提供道路设施之外的其他方法来满足日益增长的交通需求。 智能交通灯系统正是解决这一矛盾的途径之一。对城市交通流进行智能控制,可以使道路畅通,提高交通效率。合理进行交通灯控制可以对交通流进行有效的引导和调度,使交通保持在一个平稳的运行状态,从而避免或缓和交通拥挤状况,大大提高交通运输的运行效率,还可以减少交通事故,增加交通安全,降低污染程度,节省能 源消耗,本文就是通过对交叉路口交通灯的智能控制,达到优化路口交通流的目的。 二、方案论证 设计一个简单的交通灯控制器。实际上就是四个平时状态加上一个紧急状态。我们不妨设: S1:南北方向红灯亮,东西方向绿灯亮,时间15s; S2:南北方向红灯亮,东西方向黄灯亮,时间3s; S3:南北方向绿灯亮,东西方向红灯亮,时间l5s; S4:南北方向黄灯亮,东西方向红灯亮,时间3s; S5(紧急状态):如果发生紧急事件,可以手动控制四个方向红灯全亮。 图1 主电路状态与指示灯状态转换

S5的紧急状态,我们可以设计一个开关来控制这个状态的开启与关闭。剩余的四个状态我们可以放在一起来综合考虑。 因为四个状态是轮换的。首先,用10进制计数器对平时状态下的四种情况进行计数,再用3线——8线译码器对这四种状态进行编码,之后控制四个方向的二极管(代替红绿灯)的亮暗。其次,1Hz脉冲信号我们可以用555时基电路构成的多谐振荡器来实现。555定时器内部的比较器灵敏度高,输出驱动电流大,功能灵活,而且采用差分电路形式,它的振荡频率受电源电压和温度的影响很小。由555定时器构成的多谐振荡器的振荡频率稳定,不易受干扰。再者,用两片十进制可逆计数器来显示黄绿灯亮的秒数。 最后,就可以基本实现红绿灯的简单控制。 图2 红绿灯控制器的基本流程图 三、电路设计 1.脉冲产生电路 脉冲是由555时基电路构成的多谐振荡器产生的。选取两个固定电阻,计算出电容,使其频率为1Hz,其电路图如下:

通过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

微机原理课程设计交通灯

一、课程设计题目 交通灯控制 二、课程设计目的 ●综合运用《微机原理与应用》课程知识,利用集成电路设计实 现一些中小规模电子电路或者完成一定功能的程序,以复习巩 固课堂所学的理论知识,提高程序设计能力及实现系统、绘制 系统电路图的能力,为实际应用奠定一定的基础。 ●掌握8255A方式0的使用与编程方法 ●PC机及配套的接口电路实验装置 ●IC芯片:8255A应用和8253 三、课程设计容 ●采用8255A设计交通灯控制的接口方案 ●采用8253设计延时电路 ●插接电路 ●编写控制程序 四、课程设计过程 1、设计原理 ●8255 8255是Intel公司生产的可编程并行I/O接口芯片,有3 个8位并行I/O口。具有3个通道3种工作方式的可编程 并行接口芯片(40引脚)。其部与引脚图如图所示:

8255有三个端口A、B、C端口,3种不同的工作方式,在其控制字的作用下使某一个端口工作于某一种工作状态下。 8253 intel8253是NMOS工艺制成的可编程计数器/定时器,其部有三个计数器,分别成为计数器0、计数器1和计数器2,他们的机构完全相同,如图所示:

每个计数器的输入和输出都决定于设置在控制寄存器中的控制字,互相之间工作完全独立,采用减1计数方式。控制字如图所示: 在门控信号有效时,每输入1个计数脉冲,通道作1次计数操作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。各通道可有6种可供选择的工作方式,以完成定时、计数或脉冲发生器等多种功能。在这里我们主要采用方式0:计数结

束产生中断 (由低电平变为高电平)。其波形图如图所示: a. 写CW后:OUT=0,直到计数到0 b. 写N后:下1个CLK脉冲下降沿开始计数 c. 计数过程中,可重写N,重写N后,同b. d. GATE的作用:GATE=1计数、=0暂停计数 e. 计数到0:OUT=1,直到再写CW或N 2、方案设计 考虑普通十字路口,交通灯的控制可分东西向和南北向两 组,每组可用红、黄、绿三个灯进行交通管理,所以本方 案要点是至少对六个交通灯进行控制。由于灯光控制只需 要开、关两个状态,所以可以采用开关量实施控制。开关

交通灯课程设计报告

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

目录 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) 参考文献、附录Ⅰ、附录Ⅱ.................................................................. 错误!未定义书签。

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 交通灯系统示意图

数电交通灯课程设计报告

电子技术课程 设计报告 二 级 学 院 机械与电子工程学院 专 业 电气工程及其自动化 年 级 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)

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