《(完整word版)FPGA交通灯实验报告.doc》由会员分享,可在线阅读,更多相关《(完整word版)FPGA交通灯实验报告.doc(15页珍藏版)》请在金锄头文库上搜索。
1、交通灯实验报告一, 实验目的实现两路信号灯交替亮起,并利用两组数码管分别对两路信号进行倒计时。两路信号时间分别为:V:绿灯(30S) H:红灯(35S) 黄灯(5s) 绿灯(30S) 红灯(35S) 黄灯(5S)二, 实验步骤建立工程可在欢迎界面点击“Creat a New Project”进入工程建立界面,亦可关闭欢迎界面,点击菜单栏的“File”,点击“New Project Wizard”进入建立工程界面。右侧为建立工程界面,点击next。在此界面选定工程路径,取好工程名,点击“Next”。注意:路径中不能有中文,工程名也不能有中文。一直点击“Next”进入器件设置界面,DE2-70开发
2、工具采用的Cyclone II系列的EP2C70F896C6N。点击“Finish”,完成工程建立1、 点击“File”,点击“New” 选择“Verilog HDL”2, 点击主界面工具栏中的 选择“Verilog HDL” 3、写入verilog代码。代码如下:module traffic(Clk_50M,Rst,LedR_H,LedG_H,LedY_H,LedR_V,LedG_V,LedY_V,Seg7_VH,Seg7_VL,Seg7_HH,Seg7_HL,led15);parameter S1=2b00;parameter S2=2b01;parameter S3=2b10;param
3、eter S4=2b11;input Clk_50M,Rst;output LedR_H,LedG_H,LedY_H,LedR_V,LedG_V,LedY_V;output6:0 Seg7_VH,Seg7_VL,Seg7_HH,Seg7_HL;output led15;/-div for 1Hz-start-reg Clk_1Hz;reg 31:0 Cnt_1Hz;always(posedge Clk_50M or negedge Rst)begin if(!Rst) begin Cnt_1Hz=1; Clk_1Hz=25000000) begin Cnt_1Hz=1; Clk_1Hz=Clk
4、_1Hz; end else Cnt_1Hz=30) Cnt30=1; else Cnt30=5) Cnt30=1; else Cnt30=30) Cnt30=1; else Cnt30=5) Cnt30=1; else Cnt30=30) CntV=1; else CntV=5) CntV=1; else CntV=35) CntV=1; else CntV=35) CntH=1; else CntH=30) CntH=1; else CntH=5) CntH=1; else CntH29)begin CntDis7:4=3; CntDis3:019)begin CntDis7:4=2; C
5、ntDis3:09)begin CntDis7:4=1; CntDis3:0=CntVV - 10;endelse CntDis29)begin CntDiss7:4=3; CntDiss3:019)begin CntDiss7:4=2; CntDiss3:09)begin CntDiss7:4=1; CntDiss3:0=CntHH - 10;endelse CntDiss=30) begin state=5) begin state=30) begin state=5) begin state=S1; enddefault: begin state=S1; endendcaseendalw
6、ays(posedge Clk_1Hz)begin case(state) S1: begin stateH=S1; stateV=S1; endS2: begin stateH=S1; stateV=S2; endS3: begin stateH=S2; stateV=S3; endS4: begin stateH=S3; stateV=S3; endendcaseendalways(posedge Clk_50M or negedge Rst)begin if(!Rst) begin LedR_H=0; LedG_H=0;LedY_H=0; LedR_V=0; LedG_V=0;LedY_V=0;endelse begin case(state) S1: begin LedR_H=1; LedG_H=0; LedY_H=0; LedR_V=0; LedG_V=1; LedY_V=0; end S2: begin LedR_H=1; LedG_H=0; LedY_H=0; LedR_V=0; LedG_V=0; LedY_V=1; end S3: