数电课程设计报告交通灯控制电路设计任务书.docx
《数电课程设计报告交通灯控制电路设计任务书.docx》由会员分享,可在线阅读,更多相关《数电课程设计报告交通灯控制电路设计任务书.docx(25页珍藏版)》请在三一办公上搜索。
1、20142015学年第一学期数字电子技术课程设计任务书(适用专业:勘查12级、地物12级) 专业班级 地物一班 姓 名 张瑞 学 号 12013103 开课系室 电工电子学教学中心 设计日期 2014年12月22日30日 目录一、 设计题目二、 设计任务及要求1, 具体要求2, 输入输出资源说明三、 设计与仿真1, 基本要求的设计1.1时钟分频模块1.2闪烁模块1.3计数器模块1.4译码器模块1.5交通灯控制模块1.6点阵显示模块2,扩展模块的设计2.1自动切换手动模块的设计2.2交警控制模块的设计3,顶层模块的设计四、 总结与讨论一、 设计题目数字电子技术课程设计题目:交通灯控制电路设计。交
2、通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂。要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各四个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通灯的燃灭规律为:东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯闪烁,红灯亮(表示左转弯),再延时一段时间后,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的
3、绿灯闪烁,红灯亮(表示左转弯),再延时一段时间后,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。在实验中使用4个七段码管中的任意两个数码管显示时间。东西路和南北路的通车时间均设定为20s(其中,绿灯亮时间为10s,绿灯闪烁时间为5s,黄灯闪烁时间为5s)。数码管的时间总是显示为20、19、18、172、1、0、20、19、18。在显示时间小于等于5秒的时候,通车方向的黄灯闪烁。在东西向绿灯期间,点阵显示自己的姓名;在南北向绿灯期间,点阵显示自己的学号后3位。二、 设计任务及要求1. 具体要求本课程设计要完成的任务就是设计一个简单的交通灯控制器,交通灯显示用实验箱的交通灯模块和
4、七段码管中的任意两个来显示。系统时钟选择时钟模块的50MHz时钟,黄灯和绿灯闪烁时钟要求为2Hz,七段码管的时间显示为1Hz脉冲,即每1s中递减一次。在东西向绿灯期间,点阵显示自己的姓名;在南北向绿灯期间,点阵显示自己的学号后3位。显示方式:1秒显示一个汉字或者一个数字(汉字和数字均静止不动,即不循环),然后全暗1秒,然后再显示一个汉字或者一个数字,以此类推。实验箱中用到的数字时钟模块、按键开关、数码管、点阵与FPGA的接口电路,以及数字时钟源、按键开关、数码管、点阵与FPGA的管脚连接在以前的实验中都做了详细说明,这里不再赘述。交通灯模块原理与LED灯模块的电路原理一致,当有高电平输入时LE
5、D灯就会被点亮,反之不亮。只是LED发出的光有颜色之分。2. 输入输出资源说明1、外部输入脉冲信号时钟源CP(50MHz),经适当分频后供计数器使用。2、输出2组显示译码信号(每组7个输出端),分别接到外部的两个七段数码管M1、M2上,M1和M2分别显示倒计时的十位和个位。3、输出6个高低电平信号,分别接到外部的6个指示纵向、横向的LED灯。(输出高电平时,对应的LED灯亮)其具体框图如下:1Hz纵向指示灯LED1控制器计数器(倒计时;通车时间倒计时)七段LED数码管显示(2个)50MHz纵向指示灯LED3横停指示灯LED6纵向指示灯LED2横向指示灯LED5横向指示灯LED4CLK显示姓名或
6、者学号图1 交通灯控制电路结构框图根据如上说明,本设计的主要任务和设计要求是:1、按照现代数字系统的Top-Down模块化设计方法,提出交通灯控制电路设计系统的整体设计方案,并进行正确的功能划分,分别提出并实现控制器、计数器、输出译码、点阵显示等模块化子系统的设计方案。2、在Quartus的EDA设计环境中,完成系统的顶层设计、各子系统的模块化设计。分别完成各个基于Verilog语言实现的子模块(包括控制器电路、计数器电路、输出译码电路、点阵显示电路)的逻辑功能仿真。最后对顶层设计进行功能仿真。 3、在2步的基础上,用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与
7、自己的编程思想一致。三、 设计与仿真1.基本要求的设计1.1时钟分频模块通过设计分频器产生1khz、2hz、1hz时钟频率,为后面模块提供时钟脉冲。Verilog程序如下:module clk_div(clk_50MHz,clk_1KHz,clk_2Hz,clk_1Hz);input clk_50MHz;output clk_1KHz,clk_2Hz,clk_1Hz;reg 31:0 count1;reg 31:0 count2;reg 31:0 count3;reg clk_1KHz,clk_2Hz,clk_1Hz;always (posedge clk_50MHz)begincount1=
8、(count1=32d49999)?1d0:(count1+1d1);clk_1KHz=32d25000)?1d1:1d0;count2=(count2=32d24999999)?1d0:(count2+1d1);clk_2Hz=32d12500000)?1d1:1d0;count3=(count3=32d49999999)?1d0:(count3+1d1);clk_1Hz=32d25000000)?1d1:1d0;endendmodule生成的模块为:仿真测试结果:1.2闪烁模块考虑到灯有闪烁功能,加了一个闪烁模块控制灯的闪烁功能。Verilog程序如下:module flash(clk_2
9、Hz,start,flash);input clk_2Hz;input start;output flash;reg flash;always (clk_2Hz or start)beginif(clk_2Hz=1&start=1) flash=1;else flash=0;endendmodule生成的模块为:仿真测试结果:1.3计数器模块用计数器实现倒计时,引入了一个变量reg4:0cnt来是实现计数器模值得改变。Verilog程序如下:module cnt20or30(clk_1Hz,k0,q,ew_sn);input clk_1Hz,k0;output 4:0 q;output ew_
10、sn;reg 4:0 q;reg 4:0 cnt;reg ew_sn;initial beginq=5d20;cnt=5d20;ew_sn=1;endalways (k0)beginif(k0=1)begincnt=5d30;endelse begincnt=5d20;endendalways (posedge clk_1Hz)beginif(q=5d0)beginq=cnt;if(ew_sn=1) ew_sn=0;else ew_sn=1;endelse q=q-5d1;endendmodule生成的模块为:仿真测试结果:1.4译码器模块实现将计数器的值显示到7段数码管上。Verilog程序
11、如下:module yimaqi(clk_1KHz,q,Led1,Led2);input clk_1KHz;input 4:0 q;output 6:0 Led1;output 6:0 Led2;reg 6:0 Led1; reg 6:0 Led2; reg 3:0 A,B;always (posedge clk_1KHz)beginA=q/10;B=q%10;case (A)4b0000: Led1 = 7b1000_000;4b0001: Led1 = 7b1111_001;4b0010: Led1 = 7b0100_100;4b0011: Led1 = 7b0110_000;4b0100
12、: Led1 = 7b0011_001;4b0101: Led1 = 7b0010_010;4b0110: Led1 = 7b0000_010;4b0111: Led1 = 7b1111_000;4b1000: Led1 = 7b0000_000;4b1001: Led1 = 7b0010_000;default : Led1 = 7b1111_111;endcasecase (B)4b0000: Led2 = 7b1000_000;4b0001: Led2 = 7b1111_001;4b0010: Led2 = 7b0100_100;4b0011: Led2 = 7b0110_000;4b0
13、100: Led2 = 7b0011_001;4b0101: Led2 = 7b0010_010;4b0110: Led2 = 7b0000_010;4b0111: Led2 = 7b1111_000;4b1000: Led2 = 7b0000_000;4b1001: Led2 = 7b0010_000;default : Led2 5d10)beging11=1;g12=0;y1=0;r1=0;g21=0;g22=0;y2=0;r2=1;endif(ew_sn=1&q5d5&q=10)beging11=0;g12=1;y1=0;r1=0;g21=0;g22=0;y2=0;r2=1;endif
14、(ew_sn=1&q5d10)beging11=0;g12=0;y1=0;r1=1;g21=1;g22=0;y2=0;r2=0;endif(ew_sn=0&q5d5&q=10)beging11=0;g12=0;y1=0;r1=1;g21=0;g22=1;y2=0;r2=0;endif(ew_sn=0&q=5d5)beging11=0;g12=0;y1=0;r1=1;g21=0;g22=0;y2=1;r2=0;endif(k=1)beging11=0;g12=0;y1=0;r1=0;g21=0;g22=0;y2=0;r2=0;endendendmodule生成的模块为:仿真测试结果为:1.6点阵
15、显示模块点阵是一行一行显示的,由于变化频率太高,肉眼分辨不出来,最后显示出想要的图案。Verilog程序如下:module dianzhendisplay(clk_1KHz,clk_1Hz,g11,g21,row,con); input clk_1KHz,clk_1Hz,g11,g21; output15:0 row; output15:0 con; reg15:0 row; reg15:0 con; integer cnt,a=0,b=4; reg15:0 r159:0; initial begin /张 r0 = 16b 0000001011111101; r1 = 16b 1111101
16、011111011; r2 = 16b 1111101011110111; r3 = 16b 1111101011101111; r4 = 16b 0000001011011111; r5 = 16b 0111111010111111; r6 = 16b 0100000000000000;r7 = 16b 0111111001111111; r8 = 16b 0000001010111111; r9 = 16b 1111101011011111; r10 =16b 1111101011101111; r11 =16b 1111101011110111; r12 =16b 11111010111
17、11011; r13 =16b 1101101011011101; r14 =16b 1110101010111110; r15 =16b 1111001001111111; /全暗r16 =16b 1111111111111111; r17 =16b 1111111111111111; r18 =16b 1111111111111111; r19 =16b 1111111111111111; r20 =16b 1111111111111111; r21 =16b 1111111111111111; r22 =16b 1111111111111111; r23 =16b 11111111111
18、11111; r24 =16b 1111111111111111; r25 =16b 1111111111111111; r26 =16b 1111111111111111; r27 =16b 1111111111111111; r28 =16b 1111111111111111; r29 =16b 1111111111111111; r30 =16b 1111111111111111; r31 =16b 1111111111111111; /瑞 r32 =16b 0000000101101101; r33 =16b 1110111101101101; r34 =16b 11101111011
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 报告 交通灯 控制电路 设计 任务书
链接地址:https://www.31ppt.com/p-4264480.html