国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

  • 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

交通燈控制器設(shè)計(jì)Verilog代碼Basys3開發(fā)板vivado軟件

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

1-231122230130321.doc

共1個(gè)文件

名稱:交通燈控制器設(shè)計(jì)Verilog代碼Basys3開發(fā)板vivado軟件(代碼在文末下載)

軟件:VIVADO

語言:Verilog

代碼功能:

交通燈控制器

1.設(shè)計(jì)要求

分兩個(gè)方向(1、2),每個(gè)方向各有紅綠黃(RGY)三個(gè)交通燈。有自動(dòng)、手動(dòng)兩種控制方式。

在自動(dòng)方式下,控制器的狀態(tài)轉(zhuǎn)移表為:

狀態(tài)? ? 亮燈? ? ?停留時(shí)間

S0? ? ? R1,G2? ? 2秒

S1? ? ? R1,Y2? ? 1秒

S2? ? ? G1,R2? ? 2秒

S3? ? ? Y1,R2? ? 1秒

在手動(dòng)方式下,按下K0~K3時(shí)直接進(jìn)入對應(yīng)序號的狀態(tài),隨后轉(zhuǎn)入自動(dòng)方式

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

本代碼已在Basys3開發(fā)板驗(yàn)證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:

basys3開發(fā)板.png

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. 管腳分配

5. Testbench

6. 仿真圖

紅綠燈自動(dòng)變化

按鍵K0~K3控制狀態(tài)變化

紅綠燈自動(dòng)變化

部分代碼展示:

module?traffic_light(
????input?clk_100M,
????input?key0,//按鍵按下高電平--BTNL
????input?key1,//按鍵按下高電平--BTNR
????input?key2,//按鍵按下高電平--BTNU
????input?key3,//按鍵按下高電平--BTND
????output?reg?R1,///紅1--LD0
????output?reg?G1,//綠1--LD1
????output?reg?Y1,//黃1--LD2
????output?reg?R2,//紅2--LD3
????output?reg?G2,//綠2--LD4
????output?reg?Y2//黃2--LD5
????);
parameter?count_second=32'd100_000_000;//100M時(shí)鐘計(jì)數(shù)到100_000_000就是1s,仿真改小為100
reg?[31:0]?count=32'd0;
always@(posedge?clk_100M)
if(key0?|?key1?|?key2?|?key3)
????count<=32'd0;//有按鍵按下時(shí)重新計(jì)時(shí)
else
????if(count>=count_second)begin//100M時(shí)鐘計(jì)數(shù)到count_second就是1s
????????count<=32'd0;
????????end
????else?begin
????????count<=count+32'd1;//計(jì)數(shù)
????????end
//定義狀態(tài)S0~S3
parameter?S0=2'd0;
parameter?S1=2'd1;
parameter?S2=2'd2;
parameter?S3=2'd3;
reg?[1:0]?state=S0;
reg?[1:0]?count_s=2'd0;
always@(posedge?clk_100M)
????if(key0)begin
????????state<=S0;//按鍵K0,進(jìn)入S0狀態(tài)
????????count_s<=0;
????????end
????else?if(key1)begin
????????state<=S1;//按鍵K1,進(jìn)入S1狀態(tài)
????????count_s<=0;
????????end
????else?if(key2)begin
????????state<=S2;?//按鍵K2,進(jìn)入S2狀態(tài)???
????????count_s<=0;
????????end
????else?if(key3)begin
????????state<=S3;//按鍵K3,進(jìn)入S3狀態(tài)
????????count_s<=0;
????????end
????else
????????if(count==count_second)//1秒判斷一次狀態(tài)是否跳轉(zhuǎn)
????????????case(state)
????????????????S0:begin
????????????????????if(count_s>=1)begin//0~1表2秒
????????????????????????count_s<=0;?
????????????????????????state<=S1;//到S1
????????????????????????end
????????????????????else?begin
????????????????????????count_s<=count_s+1;?????
????????????????????????state<=S0;//S0保持2s

點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=302

  • 1-231122230130321.doc
    下載

相關(guān)推薦

石嘴山市| 莫力| 朝阳县| 平罗县| 衡阳市| 宁乡县| 吉木乃县| 洛南县| 那坡县| 深泽县| 晴隆县| 银川市| 南木林县| 甘肃省| 清河县| 封丘县| 威宁| 连江县| 任丘市| 宁海县| 大埔区| 承德市| 垣曲县| 汨罗市| 新沂市| 沙洋县| 西安市| 雷山县| 从江县| 贵德县| 弥勒县| 乌鲁木齐县| 祁门县| 松阳县| 宁远县| 三都| 安达市| 保亭| 黑河市| 武平县| 石台县|