中国石油大学华东交通灯控制电路.doc
《中国石油大学华东交通灯控制电路.doc》由会员分享,可在线阅读,更多相关《中国石油大学华东交通灯控制电路.doc(14页珍藏版)》请在三一办公上搜索。
1、20132014学年第三学期数字电子技术课程设计任务书(适用专业:电气12级、自动化12级、勘查(卓越)12级) 专业班级 姓 名 学 号 开课系室 设计日期 数字电子技术课程设计题目:交通灯控制电路设计一、设计任务及要求1、设计任务及原理:交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂。要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各四个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的燃灭
2、规律为:东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯闪烁,红灯亮(表示左转弯),再延时一段时间后,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯闪烁,红灯亮(表示左转弯),再延时一段时间后,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。在实验中使用4个七段码管中的任意两个数码管显示时间。东西路和南北路的通车时间均设定为20s(其中,绿灯亮时间为10s,绿灯闪烁时间为5s,黄灯闪烁时间为5s)。数码管的时间总是显示为20、19、18、172、1、0、20、19、18。在显示时
3、间小于等于5秒的时候,通车方向的黄灯闪烁。在东西向绿灯期间,点阵显示自己的姓名;在南北向绿灯期间,点阵显示自己的学号后3位。2、扩展要求:a.利用一个开关将0-20s扩展为0-30s(30-10s之间绿灯亮,其他与基本要求相同);b.增加交警控制模块:用一个开关切换自动模式(上述情况属于自动模式)和人工模式(交警控制模式):用4个开关分别实现东西向通行(东西向绿灯亮,南北向红灯亮,没有时间限制),实现南北向通行(南北向绿灯亮,东西向红灯亮,没有时间限制),实现东西向左转弯(东西向绿灯闪烁,东西向红灯亮,南北向红灯亮,没有时间限制),实现南北向通行(南北向绿灯闪烁,南北向红灯亮,东西向红灯亮,没
4、有时间限制)。3、具体要求:本实验要完成任务就是设计一个简单的交通灯控制器,交通灯显示用实验箱的交通灯模块和七段码管中的任意两个来显示。系统时钟选择时钟模块的50MHz时钟,黄灯和绿灯闪烁时钟要求为2Hz,七段码管的时间显示为1Hz脉冲,即每1s中递减一次。在东西向绿灯期间,点阵显示自己的姓名;在南北向绿灯期间,点阵显示自己的学号后3位。显示方式:1秒显示一个汉字或者一个数字(汉字和数字均静止不动,即不循环),然后全暗1秒,然后再显示一个汉字或者一个数字,以此类推。二、输入输出资源说明:1、外部输入脉冲信号时钟源CP(50MHz),经适当分频后供计数器使用。2、输出2组显示译码信号(每组7个输
5、出端),分别接到外部的两个七段数码管M1、M2上,M1和M2分别显示倒计时的十位和个位。3、输出6个高低电平信号,分别接到外部的6个指示纵向、横向的LED灯。(输出高电平时,对应的LED灯亮)其具体框图如下:1Hz纵向指示灯LED1控制器计数器(倒计时;通车时间倒计时)七段LED数码管显示(2个)50MHz纵向指示灯LED3横停指示灯LED6纵向指示灯LED2横向指示灯LED5横向指示灯LED4CLK显示姓名或者学号图1 交通灯控制电路结构框图根据如上说明,本设计的主要任务和设计要求是:1、按照现代数字系统的Top-Down模块化设计方法,提出交通灯控制电路设计系统的整体设计方案,并进行正确的
6、功能划分,分别提出并实现控制器、计数器、输出译码、点阵显示等模块化子系统的设计方案。2、在Quartus的EDA设计环境中,完成系统的顶层设计、各子系统的模块化设计。分别完成各个基于Verilog语言实现的子模块(包括控制器电路、计数器电路、输出译码电路、点阵显示电路)的逻辑功能仿真。最后对顶层设计进行功能仿真。 3、在2步的基础上,用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与自己的编程思想一致。三、电路子模块的设计与仿真 根据设计要求及原理,我所设计的交通灯控制电路主要包含四个子模块,分别是:分频器、倒计时计数器、点阵显示器、控制器。1、分频器1)Veril
7、og 源文件module fenpinqi(clk,clk1,clk2,clk1000);input clk;output clk1,clk2,clk1000;reg 31:0cnt1,cnt2,cnt3;reg clk1,clk2,clk1000;initialbegin clk1=0; clk2=0; clk1000=0; cnt1=0; cnt2=0; cnt3=0;endalways(posedge clk) begin if(cnt1=24999999)beginclk1=clk1;cnt1=0;endelse begin cnt1=cnt1+1; endif(cnt2=124999
8、99)beginclk2=clk2;cnt2=0;endelse begin cnt2=cnt2+1; endif(cnt3=24999)beginclk1000=clk1000;cnt3=0;endelse begin cnt3=cnt3+1; endendendmodule2)仿真文件3)功能仿真波形1hz和2hz的频率过低,无法仿真。2、倒计时计数器1)Verilog 源文件module daojishi(clk1,k,seq1,seq2,ji,out);/ji记录循环次数,out输出二进制秒数input clk1,k;output6:0 seq1,seq2;output ji;outp
9、ut4:0out;reg6:0 seq1,seq2;reg ji;reg4:0out;parameter Num1=20;parameter Num2=30;integer cnt;initial cnt=0;integer cnt1;initial cnt1=0;always(posedge clk1)begin if(k=0) begin if(cnt=0) begin cnt=20; cnt1=cnt1+1; end else begin cnt=cnt-1; end end else if(cnt=0) begin cnt=30; cnt1=cnt1+1; end else begin
10、cnt=cnt-1; endendalways(cnt)begincase(cnt%10)0:seq1=7b0000001;1:seq1=7b1001111;2:seq1=7b0010010;3:seq1=7b0000110;4:seq1=7b1001100;5:seq1=7b0100100;6:seq1=7b0100000;7:seq1=7b0001111;8:seq1=7b0000000;9:seq1=7b0000100;endcaseendalways(cnt)begincase(cnt-(cnt%10)/10)0:seq2=7b0000001;1:seq2=7b1001111;2:se
11、q2=7b0010010;3:seq2=7b0000110;4:seq2=7b1001100;5:seq2=7b0100100;6:seq2=7b0100000;7:seq2=7b0001111;8:seq2=7b0000000;9:seq2=7b0000100;endcaseendalways(cnt)beginout=cnt;/shuendalways(cnt1)begincase(cnt1%2)0:ji=0;/oushu1:ji=1;/jishuendcaseendendmodule2)仿真文件3)功能仿真波形3、点阵显示器1)Verilog源文件input clk1000,we,ns,
12、k;input4:0shu;output 15:0 r,c;reg15:0 r,c;integer cnt1;initial cnt1=0;always(posedge clk1000)begincnt1=cnt1+1;if(k=0)beginif(we=0)beginif(shu=20|shu=14)/史beginif (cnt1%16=0)beginc=16b0000000100000000; r=16b0111111111111111;end else if(cnt1%16=1) beginc=16b0000000100000000;r=16b1011111111111111; ende
13、lse if(cnt1%16=2) beginc=16b0011111111111000;r=16b1101111111111111;endelse if(cnt1%16=3)beginc=16b0010000100001000;r=16b1110111111111111;endelse if(cnt1%16=4)beginc=16b0010000100001000;r=16b1111011111111111;endelse if(cnt1%16=5)beginc=16b0010000100001000;r=16b1111101111111111;end else if(cnt1%16=6)b
14、eginc=16b0010000100001000;r=16b1111110111111111;end else if(cnt1%16=7)beginc=16b0011111111111000;r=16b1111111011111111;endelse if(cnt1%16=8)beginc=16b0000000100000000;r=16b1111111101111111;endelse if(cnt1%16=9)beginc=16b0001000100000000;r=16b1111111110111111;end else if(cnt1%16=10)beginc=16b00001010
15、00000000;r=16b1111111111011111;end else if(cnt1%16=11)beginc=16b0000011000000000;r=16b1111111111101111;end else if(cnt1%16=12)beginc=16b0000100110000000;r=16b1111111111110111;endelse if(cnt1%16=13)beginc=16b0001000001100000;r=16b1111111111111011;endelse if(cnt1%16=14)beginc=16b0010000000011000;r=16b
16、1111111111111101;endelsebeginc=16b1100000000000111;r=16b1111111111111110; end endelse if(shu=18|shu=12)/育beginif (cnt1%16=0) beginc=16b0000000100000000;r=16b011111111111111111; endelse if(cnt1%16=1)beginc=16b0000000010000000;r=16b1011111111111111;endelse if(cnt1%16=2)beginc=16b0111111111111111;r=16b
17、1101111111111111;endelse if(cnt1%16=3)begin module xianshi(shu,clk1000,we,ns,k,r,c);c=16b0000010000000000;r=16b1110111111111111;endelse if(cnt1%16=4)beginc=16b0000100000001000;r=16b1111011111111111;endelse if(cnt1%16=5)beginc=16b0001111111111100;r=16b1111101111111111;endelse if(cnt1%16=6)beginc=16b0
18、000000000000100;r=16b1111110111111111;endelse if(cnt1%16=7)beginc=16b0000111111111000;r=16b1111111011111111;endelse if(cnt1%16=8)beginc=16b0000100000001000;r=16b1111111101111111;endelse if(cnt1%16=9)beginc=16b0000111111111000;r=16b1111111110111111;endelse if(cnt1%16=10)beginc=16b0000100000001000;r=1
19、6b1111111111011111;endelse if(cnt1%16=11)beginc=16b0000111111111000;r=16b1111111111101111;endelse if(cnt1%16=12)beginc=16b0000100000001000;r=16b1111111111110111;endelse if(cnt1%16=13)beginc=16b0000100000001000;r=16b1111111111111011;endelse if(cnt1%16=14)beginc=16b0000100000101000;r=16b11111111111111
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国 石油大学 华东 交通灯 控制电路

链接地址:https://www.31ppt.com/p-3427492.html