交通灯数电课程设计.docx

上传人:b****1 文档编号:2419855 上传时间:2022-10-29 格式:DOCX 页数:31 大小:163.07KB
下载 相关 举报
交通灯数电课程设计.docx_第1页
第1页 / 共31页
交通灯数电课程设计.docx_第2页
第2页 / 共31页
交通灯数电课程设计.docx_第3页
第3页 / 共31页
交通灯数电课程设计.docx_第4页
第4页 / 共31页
交通灯数电课程设计.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

交通灯数电课程设计.docx

《交通灯数电课程设计.docx》由会员分享,可在线阅读,更多相关《交通灯数电课程设计.docx(31页珍藏版)》请在冰豆网上搜索。

交通灯数电课程设计.docx

交通灯数电课程设计

2013—2014学年第三学期

《数字电子技术课程设计》任务书

(适用专业:

电气12级、自动化12级、勘查(卓越)12级)

 

专业班级

姓名

学号

开课系室

设计日期

 

一、设计任务及要求

1、设计任务及原理:

交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂。

要完成本实验,首先必须了解交通路灯的燃灭规律。

本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各四个。

依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。

其交通灯的燃灭规律为:

东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯闪烁,红灯亮(表示左转弯),再延时一段时间后,黄灯开始闪烁。

闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯闪烁,红灯亮(表示左转弯),再延时一段时间后,黄灯开始闪烁。

闪烁若干次后,再切换到东西路口方向,重复上述过程。

在实验中使用4个七段码管中的任意两个数码管显示时间。

东西路和南北路的通车时间均设定为20s(其中,绿灯亮时间为10s,绿灯闪烁时间为5s,黄灯闪烁时间为5s)。

数码管的时间总是显示为20、19、18、17……2、1、0、20、19、18……。

在显示时间小于等于5秒的时候,通车方向的黄灯闪烁。

在东西向绿灯期间,点阵显示自己的姓名;在南北向绿灯期间,点阵显示自己的学号后3位。

2、扩展要求:

a.利用一个开关将0-20s扩展为0-30s(30-10s之间绿灯亮,其他与基本要求相同);

b.增加交警控制模块:

用一个开关切换自动模式(上述情况属于自动模式)和人工模式(交警控制模式):

用4个开关分别实现东西向通行(东西向绿灯亮,南北向红灯亮,没有时间限制),实现南北向通行(南北向绿灯亮,东西向红灯亮,没有时间限制),实现东西向左转弯(东西向绿灯闪烁,东西向红灯亮,南北向红灯亮,没有时间限制),实现南北向通行(南北向绿灯闪烁,南北向红灯亮,东西向红灯亮,没有时间限制)。

3、具体要求:

本实验要完成任务就是设计一个简单的交通灯控制器,交通灯显示用实验箱的交通灯模块和七段码管中的任意两个来显示。

系统时钟选择时钟模块的50MHz时钟,黄灯和绿灯闪烁时钟要求为2Hz,七段码管的时间显示为1Hz脉冲,即每1s中递减一次。

在东西向绿灯期间,点阵显示自己的姓名;在南北向绿灯期间,点阵显示自己的学号后3位。

显示方式:

1秒显示一个汉字或者一个数字(汉字和数字均静止不动,即不循环),然后全暗1秒,然后再显示一个汉字或者一个数字,以此类推。

二、输入输出资源说明:

1、外部输入脉冲信号时钟源CP(50MHz),经适当分频后供计数器使用。

2、输出2组显示译码信号(每组7个输出端),分别接到外部的两个七段数码管M1、M2上,M1和M2分别显示倒计时的十位和个位。

3、输出6个高低电平信号,分别接到外部的6个指示纵向、横向的LED灯。

(输出高电平时,对应的LED灯亮)

其具体框图如下:

图1交通灯控制电路结构框图

根据如上说明,本设计的主要任务和设计要求是:

1、按照现代数字系统的Top-Down模块化设计方法,提出交通灯控制电路设计系统的整体设计方案,并进行正确的功能划分,分别提出并实现控制器、计数器、输出译码、点阵显示等模块化子系统的设计方案。

2、在QuartusⅡ的EDA设计环境中,完成系统的顶层设计、各子系统的模块化设计。

分别完成各个基于Verilog语言实现的子模块(包括控制器电路、计数器电路、输出译码电路、点阵显示电路)的逻辑功能仿真。

最后对顶层设计进行功能仿真。

3、在2步的基础上,用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。

观察实验结果是否与自己的编程思想一致。

三、电路子模块的设计与仿真

根据设计要求及原理,我所设计的交通灯控制电路主要包含四个子模块,分别是:

分频器、倒计时计数器、点阵显示器、控制器。

1、分频器

1)Verilog源文件

modulefenpinqi(clk,clk1,clk2,clk1000);

inputclk;

outputclk1,clk2,clk1000;

reg[31:

0]cnt1,cnt2,cnt3;

regclk1,clk2,clk1000;

initial

begin

clk1=0;

clk2=0;

clk1000=0;

cnt1=0;

cnt2=0;

cnt3=0;

end

always@(posedgeclk)

begin

if(cnt1==24999999)

begin

clk1<=~clk1;

cnt1<=0;

end

else

begin

cnt1<=cnt1+1;

end

if(cnt2==12499999)

begin

clk2<=~clk2;

cnt2<=0;

end

else

begin

cnt2<=cnt2+1;

end

if(cnt3==24999)

begin

clk1000<=~clk1000;

cnt3<=0;

end

else

begin

cnt3<=cnt3+1;

end

end

endmodule

2)仿真文件

3)功能仿真波形

1hz和2hz的频率过低,无法仿真。

2、倒计时计数器

1)Verilog源文件

moduledaojishi(clk1,k,seq1,seq2,ji,out);

//ji记录循环次数,out输出二进制秒数

inputclk1,k;

output[6:

0]seq1,seq2;

outputji;

output[4:

0]out;

reg[6:

0]seq1,seq2;

regji;

reg[4:

0]out;

parameterNum1=20;

parameterNum2=30;

integercnt;

initialcnt=0;

integercnt1;

initialcnt1=0;

always@(posedgeclk1)

begin

if(k==0)

begin

if(cnt==0)

begin

cnt<=20;

cnt1=cnt1+1;

end

else

begin

cnt=cnt-1;

end

end

elseif(cnt==0)

begin

cnt<=30;

cnt1=cnt1+1;

end

else

begin

cnt=cnt-1;

end

end

always@(cnt)

begin

case(cnt%10)

0:

seq1=7'b0000001;

1:

seq1=7'b1001111;

2:

seq1=7'b0010010;

3:

seq1=7'b0000110;

4:

seq1=7'b1001100;

5:

seq1=7'b0100100;

6:

seq1=7'b0100000;

7:

seq1=7'b0001111;

8:

seq1=7'b0000000;

9:

seq1=7'b0000100;

endcase

end

always@(cnt)

begin

case((cnt-(cnt%10))/10)

0:

seq2=7'b0000001;

1:

seq2=7'b1001111;

2:

seq2=7'b0010010;

3:

seq2=7'b0000110;

4:

seq2=7'b1001100;

5:

seq2=7'b0100100;

6:

seq2=7'b0100000;

7:

seq2=7'b0001111;

8:

seq2=7'b0000000;

9:

seq2=7'b0000100;

endcase

end

always@(cnt)

begin

out=cnt;//shu

end

always@(cnt1)

begin

case(cnt1%2)

0:

ji=0;//oushu

1:

ji=1;//jishu

endcase

end

endmodule

2)仿真文件

3)功能仿真波形

3、点阵显示器

1)Verilog源文件

inputclk1000,we,ns,k;

input[4:

0]shu;

output[15:

0]r,c;

reg[15:

0]r,c;

integercnt1;

initialcnt1=0;

always@(posedgeclk1000)

begin

cnt1=cnt1+1;

if(k==0)

begin

if(we==0)

begin

if(shu==20||shu==14)//史

begin

if(cnt1%16==0)

begin

c=16'b0000000100000000;

r=16'b0111111111111111;

end

elseif(cnt1%16==1)

begin

c=16'b0000000100000000;

r=16'b1011111111111111;

end

elseif(cnt1%16==2)

begin

c=16'b0011111111111000;

r=16'b1101111111111111;

end

elseif(cnt1%16==3)

begin

c=16'b0010000100001000;

r=16'b1110111111111111;

end

elseif(cnt1%16==4)

begin

c=16'b0010000100001000;

r=16'b1111011111111111;

end

elseif(cnt1%16==5)

begin

c=16'b0010000100001000;

r=16'b1111101111111111;

end

elseif(cnt1%16==6)

begin

c=16'b0010000100001000;

r=16'b1111110111111111;

end

elseif(cnt1%16==7)

begin

c=16'b0011111111111000;

r=16'b1111111011111111;

end

elseif(cnt1%16==8)

begin

c=16'b0000000100000000;

r=16'b1111111101111111;

end

elseif(cnt1%16==9)

begin

c=16'b0001000100000000;

r=16'b1111111110111111;

end

elseif(cnt1%16==10)

begin

c=16'b0000101000000000;

r=16'b1111111111011111;

end

elseif(cnt1%16==11)

begin

c=16'b0000011000000000;

r=16'b1111111111101111;

end

elseif(cnt1%16==12)

begin

c=16'b0000100110000000;

r=16'b1111111111110111;

end

elseif(cnt1%16==13)

begin

c=16'b0001000001100000;

r=16'b1111111111111011;

end

elseif(cnt1%1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1