您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 1609108004王中祥―交通灯
电子与信息工程学院课程设计报告开课学期:2018-2019学年第一学期课程名称:EDA实验技术基础专业:电子信息科学与技术班级:16电信本1班学号:1609108004姓名:王中祥指导教师:肖开选2018年121月5日第一页共三十一页试验四:交通灯第二页共三十一页目录一,预习内容....................................3二,实验目的....................................3三,实验器材....................................3四,设计任务及要求:.............................3五、设计原理.....................................5六、设计方案.....................................7七、代码输入....................................8八、实验步骤及结果..............................18九、心得体会...................................27第3页共三十一页一,预习内容1,结合教材中的介绍熟悉QuartusII软件的使用及设计级流程;2,数字钟原理。二,实验目的1,掌握图形设计方法;2,熟悉QuartusII软件的使用及流程;3,掌握数字钟原理,能进行多位数字钟的设计。三,实验器材PC机一台,EDA教学实验系统一台,下载电缆一根(已接好),导线若干四,设计任务及要求:4.1设计任务:模拟十字路口交通信号灯的工作过程,利用实验板上的两组红、黄、绿LED作为交通信号灯,设计一个交通信号灯控制器。要求:(1)交通灯从绿变红时,有4秒黄灯亮的间隔时间;(2)交通灯红变绿是直接进行的,没有间隔时间;(3)主干道上的绿灯时间为40秒,支干道的绿灯时间为第4页共三十一页20秒;(4)在任意时间,显示每个状态到该状态结束所需的时间。支干道主干道图1路口交通管理示意图ABC主干道交通灯绿(25秒)黄(5秒)红(30秒)支干道交通灯红(30秒)黄(5秒)绿(25秒)表1交通信号灯的4种状态4.2设计要求:(1)采用VHDL语言编写程序,并在QUARTUSII工具平台中进行仿真,下载到EDA实验箱进行验证。(2)编写设计报告,要求包括方案选择、程序清单、调试过第5页共三十一页程、测试结果及心得体会。五、设计原理5.1、设计目的:学习DEA开发软件和QuartusII的使用方法,熟悉可编程逻辑器件的使用。通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制5.2、设计说明(1)第一模块:clk时钟秒脉冲发生电路在红绿灯交通信号系统中,大多数情况是通过自动控制的方式指挥交通的。因此为了避免意外事件的发生,电路必须给一个稳定的时钟(clock)才能让系统正常运作。模块说明:系统输入信号:Clk:由外接信号发生器提供256的时钟信号;系统输出信号:full:产生每秒一个脉冲的信号;(2)第二模块:计数秒数选择电路计数电路最主要的功能就是记数负责显示倒数的计数值,对下一个模块提供状态转换信号。模块说明:系统输入:full:接收由clk电路的提供的1HZ的时钟脉冲信第6页共三十一页号;系统输出信号:tm:产生显示电路状态转换信号tl:倒计数值秒数个位变化控制信号th:倒计数值秒数十位变化控制信号(3)第三模块:红绿灯状态转换电路本电路负责红绿灯的转换。模块说明:系统输入信号:full:接收由clk电路的提供的1hz的时钟脉冲信号;tm:接收计数秒数选择电路状态转换信号;系统输出信号:comb_out:负责红绿灯的状态显示。(4)第四模块:时间显示电路本电路负责红绿灯的计数时间的显示。模块说明:系统输入信号:tl:倒计数值秒数个位变化控制信号;th:倒计数值秒数十位变化控制信号;系统输出信号:led7s1:负责红绿灯的显示秒数个位。led7s2:负责红绿灯的显示秒数十位。第7页共三十一页六、设计方案时间显示数据输出红黄绿灯信号输出图2交通信号灯控制器的原理框图6.1采用VHDL语言输入的方式实现交通信号灯控制器CLK时间显示数据输出信号灯输出状态发生器(两位二进制计数器)定时时间到检测电路预置数产生电路计时器1秒时钟脉冲信号发生器红黄绿灯输出控制电路(RYG)秒脉冲信号发生器(进程P1和P2)计数器(进程P3、P4和P5)状态寄存器(进程P6)次态发生器信号灯输出信号(进程P7)第8页共三十一页图3交通信号灯控制器程序原理框图该程序由7个进程组成,进程P1和P2将CLK信号分频后产生1秒信号,进程P3、P4、P5构成两个带有预置数功能的十进制计数器,其中P4产生允许十位计数器计数的控制信号。进程P6实现状态转换和产生状态转换的控制信号,进程P7产生次态信号和信号灯输出信号,以及每一个状态的时间值。七、代码输入(1)count_ctrl的代码modulecount_ctrl(clk_1hz,rst_n,led_en,led_out,seg_out);inputclk_1hz;inputrst_n;outputled_en;outputreg[5:0]led_out;outputreg[47:0]seg_out;reg[7:0]tim1_l;reg[7:0]tim1_h;reg[7:0]tim2_l;reg[7:0]tim2_h;assignled_en=1'b0;parameterIDLE=6'b000_001;parameters1=6'b000_010;parameters2=6'b000_100;parameters3=6'b001_000;parameters4=6'b010_000;第9页共三十一页//led_out[5:0]:LED_R1LED_Y1LED_G1LED_R2LED_Y2LED_G2reg[6:0]current_state;//always妯″潡锛屾牸寮忓寲鎻忚堪娆℃€佸瘎瀛樺櫒杈撳嚭always@(posedgeclk_1hzornegedgerst_n)beginif(!rst_n)begintim1_l=9;tim1_h=2;tim2_l=4;tim2_h=2;current_state=IDLE;led_out=6'b001_100;//endelsebegincase(current_state)s1:beginif((tim2_l==0)&&(tim2_h==0))begintim2_l=4;tim2_h=0;current_state=s2;led_out=6'b010_100;endelsebegin第10页共三十一页if(tim2_l==0)begintim2_l=9;tim2_h=tim2_h-1;endelsebegintim2_l=tim2_l-1;endendif((tim1_l==0)&&(tim1_h==0))begintim1_l=4;tim1_h=2;endelsebeginif(tim1_l==0)begintim1_l=9;tim1_h=tim1_h-1;endelsebegintim1_l=tim1_l-1;endendends2:beginif((tim1_l==0)&&(tim1_h==0))begintim1_l=4;tim1_h=2;current_state=s3;第11页共三十一页led_out=6'b100_001;endelsebeginif(tim1_l==0)begintim1_l=9;tim1_h=tim1_h-1;endelsebegintim1_l=tim1_l-1;endendif((tim2_l==0)&&(tim2_h==0))begintim2_l=9;tim2_h=2;endelsebeginif(tim2_l==0)begintim2_l=9;tim2_h=tim2_h-1;endelsebegintim2_l=tim2_l-1;endendends3:begin第12页共三十一页if((tim1_l==0)&&(tim1_h==0))begintim1_l=4;tim1_h=0;current_state=s4;led_out=6'b100_010;endelsebeginif(tim1_l==0)begintim1_l=9;tim1_h=tim1_h-1;endelsebegintim1_l=tim1_l-1;endendif(tim2_l==0)begintim2_l=9;tim2_h=tim2_h-1;endelsebegintim2_l=tim2_l-1;endends4:beginif((tim2_l==0)&&(tim2_h==0))begintim2_l=4;tim2_h=2;第13页共三十一页current_state=s1;led_out=6'b001_100;endelsebeginif(tim2_l==0)begintim2_l=9;tim2_h=tim2_h-1;endelsebegintim2_l=tim2_l-1;endendif((tim1_l==0)&&(tim1_h==0))begintim1_l=9;tim1_h=2;endelsebeginif(tim1_l==0)begintim1_l=9;tim1_h=tim1_h-1;endelsebegintim1_l=tim1_l-1;endendenddefault:begintim1_l=9;第14页共三十一页tim1_h=2;tim2_l=4;tim2_h=2;current_state=s1;endendcaseendendalways@*begincase(tim1_l)0:seg_out[7:0]=8'b0011_1111;1:seg_out[7:0]=8'b0000_0110;2:seg_out[7:0]=8'b0101_1011;3:seg_out[7:0]=8'b0100_1111;4:seg_out[7:0]=8'b0110_0110;5:seg_out[7:0]=8'b0110_1101;6:seg_out[7:0]=8'b0111_1101;7:seg_out[7:0]=8'b0000_0111;8:seg_out[7:0]=8'b0111_1111;default:seg_out[7:0]=8'b0110_0111;endcaseendalways@*begin第15页共三十一页case(tim1_h)0:seg_out[15:8]=8'b0011_1111;1:seg_out[15:8]=8'b0000_0110;2:seg_out[15:8]=8'b0101_1011;3:seg_out[15:8]=8'b0100_1111;4:seg_out[15:8]=8'b0110_0110;5:seg_out[15:8]=8'b0110_1101;6:seg_out[15:8]=8'b0111_1101;7:seg_out[15:8]=8'b0000_0111;8:seg_out[15:8]=8'b0111_1111;default:seg_out[15:8]=8'b0110_0111;endcaseendalways@*begincase(tim2_l)0:seg_out[39:32]=8'b0011_1111;1:seg_out[39:32]=8'b0000_0110;2:seg_out[39:32]=8'b0101_1011;3:seg_out[39:32]=8'b0100_1111;4:seg_out[39:32]=8'b0110_0110;5:seg_out[39:32]=8'b0110_1101;6:seg
本文标题:1609108004王中祥―交通灯
链接地址:https://www.777doc.com/doc-3519915 .html