eda交通灯设计。
学院:信息工程学院。
班级: 学号:
姓名: 目录。
第一章设计原理 1
第二章设计流程 2
第三章程序设计说明 3
3.1 程序设计流程图 3
3.2 分频模块 3
3.3 特殊功能及清零模块 4
3.4 交通灯运行模块 4
3.5 扫描显示模块 6
第四章**及调试 8
4.1调试步骤 8
第五章总程序设计 9
参考文献 15
摘要:verilog hdl作为一种规范的硬件描述语言,被广泛应用于电路的设计中。他的设计描述可被不同的工具所支持,可用不同器件来实现。
本设计选用了目前应用较为广泛的verilog hdl 硬件描述语言。
verilog hdl提供了简单实用的状态机语句,在设计时把它和实验箱结合起来控制扫描显示交通灯的运**况。其原理框图如图1:
图1通过外部时钟控制整个交通灯的运行,先将外部时钟经过分频电路变为周期1hz的时钟,以这个时钟来控制各个路口灯的亮灭及时间显示。即和计数器结合起来,每一秒钟计数器计一次数并传送给扫描模块显示输出。当计数器达到设定的最大值便清零,相应的灯的状态便改变,如此反复。
至于复位和特殊功能的实现皆是通过单独的时钟翻转来控制,本设计中采用置数的方法来实现。当需要的时候直接将对应的时钟置为高电平即可,再置为低电平时从一开始的状态显示。
当控制开关打开后,主干路和支干路的灯暂时不显示,等待初始化信号。待信号来临后,两路灯均开始显示。其中,主干路红灯和支干路绿灯先亮,待主干路红灯显示35秒后,绿灯开始显示,20s后黄灯显示,黄灯显示5s后红灯再一次点亮,如此循环。
支干路绿灯亮了30s后黄灯点亮,5s后红灯点亮,红灯显示25s后绿灯再一次点亮,如此循环。其流程图如下图2所示:
图2流程图如图3:
图3通过提供一个60hz的外部时钟wclk,经过分频得到一个1hz的时钟clk。其程序如下:
always @(posedge wclk)
beginif(enn)
beginclk=0;
endelse begin
if(dout==29)
beginclk=~clk;
dout<=0;
endelse dout<=dout+1;
endend
通过计数器计数,当计数器从零计到29时clk翻转,即clk每0.5秒翻转一次,产生一个周期为1秒的时钟。
通过外部赋予高电平将交通灯清零或者实现特殊功能,其程序如下:
always @(posedge clk)
beginif(rest)
beginstatea<=a;
atra<=0;
jt1<=3'b000;
endelse if(tclk)
beginstatea<=a;
jt1<=3'b001;
endend
当清零信号rest来临时交通灯全部灭掉,当特殊功能信号为高电平时交通灯黄灯亮,其余全灭。
利用分频得到的1hz时钟clk来控制交通灯的运行,当复位和特殊功能信号均为低电平时,通过en给系统复初值,而后en变为低电平。此时,当检测到clk上升时钟沿时,交通灯通过状态机的选择实现各个路口红、黄、绿灯的点亮以及计时。
always @(posedge clk)
begin
if(rest)
beginstateb<=d;
btra<=0;
jt2<=3'b000;
endelse if(tclk)
beginstateb<=d;
jt2<=3'b001;
endelse if(en)
beginbtra<=8'b00101001;
stateb<=d;
endelse case (stateb)
d:if(btra==0)
beginbtra<=8'b00000100;
stateb<=e;
jt2<=3'b010;
endelse begin
jt2<=3'b100;
if(btra[3:0]==0)
beginbtra[3:0]<=4'b1001;
btra[7:4]<=btra[7:4]-1;
endelse begin
btra[3:0]<=btra[3:0]-1;
endend
e:if(btra==0)
beginbtra<=8'b00100100;
stateb<=f;
jt2<=3'b001;
endelse begin
jt2<=3'b010;
if(btra[3:0]==0)
beginbtra[3:0]<=4'b1001;
btra[7:4]<=btra[7:4]-1;
endelse begin
btra[3:0]<=btra[3:0]-1;
endend
f:if(btra==0)
beginbtra<=8'b00101001;
stateb<=d;
jt2<=3'b100;
endelse begin
jt2<=3'b001;
if(btra[3:0]==0)
beginbtra[3:0]<=4'b1001;
btra[7:4]<=btra[7:4]-1;
endelse begin
btra[3:0]<=btra[3:0]-1;
endend
endcase
end用实验箱实现数字的扫描输出显示,sel0和 sel1为实验箱提供的数码管显示驱动,通过原理图法从外部引一个扫描时钟(本实验用15.6khz),与74161连接控制sel0和 sel1的分频。其中,sel0为2分频而sel1为4分频,从而在一个扫描周期内sel0和 sel1的值从00变化到10,再从10变化到00,即数码管逐个循环往复显示输出。
always @(sel0 or sel1)
begincase()
2'b00:begin a<=atra[3:0]; end
2'b01:begin a<=atra[7:4];end
2'b10:begin a<=btra[3:0]; end
2'b11:begin a<=btra[7:4];end
endcase
case(a)
4'b0000: led7s<=7'b0111111;
4'b0001: led7s <=7'b0000110 ;
4'b0010: led7s <=7'b1011011;
4'b0011: led7s <=7'b1001111;
4'b0100: led7s <=7'b1100110 ;
4'b0101: led7s <=7'b1101101;
4'b0110: led7s <=7'b1111101 ;
4'b0111: led7s <=7'b0000111 ;
4'b1000: led7s <=7'b1111111 ;
4'b1001: led7s <=7'b1101111 ;
endcase
end1. 建立工作库文件夹和编辑设计文件
菜单操作:file—new,在new窗口中,device design files—verilog hdl file产生。v文件。
在verilog hdl文本编辑器中输入源程序。
文件存盘:文件名应该与模块名一致。
2. 创建工程
菜单操作:file—new project wizard,根据实验箱提供的器件型号选择目标器件:epf10k10lc84-4,创建工程产生。gpf文件。
3. 全程编译
菜单操作:processing—start compilation 或
4. 画原理图
1) 用原理图新建顶层文件,并建立工程, file—new—block diagram/schematic file。
2)将转换成元件符号(元件文件的后缀为。bsf)
3).新建文件。
4).file—create/-update—create symbol files for current file,fx元件可以在高层次设计中调用。
5)在顶层原理**件中调用jtd元件,并完成设计。
5. 编译。
6. 时序**。
7. 引脚锁定
菜单操作:assignments—pins,并连接线。
8. 保存并编译。
9. 配置文件**
菜单操作:tools—programmer 或按弹出hardware setop窗口;按弹出add hardware窗口,按选择**接口,按 , 选中文件*.sof ,并使有效,按使文件*.
sof**到目标器件中。
module jtd (atra,jt1,btra,jt2,en,enn,a,led7s,clk,wclk,dout,tclk,rest,sel0,sel1);
output[7:0]atra,btra,dout;
output clk;
output[2:0] jt1,jt2;
output [6:0] led7s;
output [3:0]a;
input tclk,rest,wclk,en,enn;
input sel0,sel1;
reg clk;
reg[7:0]atra,btra,dout;
reg [6:0] led7s;
reg[2:0] jt1,jt2;
reg [3:0]a;
reg[3:0]statea,stateb;
parameter a=4'b0001,b=4'b0010,c=4'b0100,d=4'b1001,e=4'b1010,f=4'b1100;
always @(posedge wclk)
beginif(enn)
beginclk=0;
endelse begin
if(dout==29)
beginclk=~clk;
dout<=0;
endelse dout<=dout+1;
EDA课程设计 交通灯
交通信号灯控制电路设计。1 概述。城市道路交叉口是城市道路网络的基本节点,也是网络交通流的瓶颈。目前,大部分无控制交叉口都存在高峰小时车流混乱 车速缓慢 延误情况严重 事故多发 通行能力和服务水平低下等问题。特别是随着城市车流量的快速增长,城市无控制道路交叉口的交通压力越来越大。因此,做好基于eda...
EDA交通灯课程设计
学院 电气与信息工程学院。1.东西各设有一个绿 黄 红指示灯 一个2位7段数码管。1 南北和东西方向各有一组绿,黄,红灯,各自的持续时间分别为20s,5s,25s 2 当有特殊情况时,两个方向均为红灯,计时暂停,当特殊情况结束后,控制器恢复原来状态,继续正常工作。3 用两组数码管,以倒计时方式显示两...
EDA交通灯课程设计
1.简要说明。在十字路口,每一条道路各有一组红 黄 绿灯和倒计时显示器,用以指挥车辆和行人有序的通行。其中,红灯亮表示该道路禁止通行 黄灯表示停车 绿灯表示可以通行 倒计时显示器是用来显示允许通行或禁止通行的时间。交通灯控制器就是用于自动控制十字路口的交通灯和计时器,指挥各种车辆和行人安全通行。2....