名稱:基于FPGA的電風(fēng)扇控制器verilog(代碼在文末付費(fèi)下載)
軟件:QuartusII
語言:Verilog
代碼功能:
基于FPGA的電風(fēng)扇控制器
運(yùn)用 EDA SOPO實(shí)驗(yàn)開發(fā)系統(tǒng)設(shè)計(jì)一個(gè)基于FPGA的電風(fēng)扇定時(shí)開關(guān)控制器,能實(shí)現(xiàn)手動(dòng)和自動(dòng)模式之間的切換。要求:
(1)KI為電源開關(guān)由電源開關(guān)控制電風(fēng)扇的開關(guān),即當(dāng)K1為高電平“1”時(shí),風(fēng)扇工作:K1為低 電平“0”時(shí),風(fēng)扇停止工作
(2)K2為模式選擇開關(guān) 用戶可以選擇工作模式,由模式切換開關(guān)實(shí)現(xiàn)手動(dòng)或自動(dòng)模式。K2為“0”時(shí)手 動(dòng)工作,K2為“1”時(shí)自動(dòng)工作
(3)K3為時(shí)間選擇開關(guān) 自動(dòng)模式時(shí),由開關(guān)選擇自動(dòng)工作時(shí)間,K3為“0”時(shí),工作時(shí)間為20分鐘 K3為“1”時(shí),工作時(shí)間為30分鐘:工作時(shí)間結(jié)束時(shí),風(fēng)扇自動(dòng)關(guān)閉。手動(dòng)模式時(shí) 開關(guān)無效
(4)K4為風(fēng)扇搖頭選擇開關(guān) K4為“0”時(shí),風(fēng)扇不搖頭,K4為“1”時(shí),風(fēng)扇搖頭
(5)四個(gè)數(shù)碼管 在手動(dòng)工作時(shí),四個(gè)數(shù)碼管顯示“9999,在自動(dòng)工作時(shí),左邊兩位顯示總時(shí)間
(6)發(fā)光二極管D1,D2 D1表示電風(fēng)扇,電風(fēng)扇工作時(shí),輸高電平,二極管亮,電風(fēng)扇不工作時(shí),輸出 低電平,二極管不亮:D2是電風(fēng)扇搖頭指示燈,搖頭時(shí)點(diǎn)亮。
演示視頻:
FPGA代碼Verilog/VHDL代碼資源下載網(wǎng):www.hdlcode.com
部分代碼展示
module?electric_fan( input?clk,//1000Hz input?K1,//電源,1時(shí)工作,0時(shí)停止 input?K2,//模式,0時(shí)手動(dòng),1時(shí)自動(dòng) input?K3,//時(shí)間選擇,自動(dòng)模式,0時(shí)20分鐘,1時(shí)30分鐘 input?K4,//搖頭選擇,1時(shí)搖頭 output?D1,//工作指示 output?D2,//搖頭指示 //手動(dòng)顯示9999,自動(dòng)顯示左總時(shí)間,右剩余時(shí)間 output?[7:0]?DS1, output?[7:0]?DS2, output?[7:0]?DS3, output?[7:0]?DS4 ); wire?clk_1Hz; wire?[3:0]?data1; wire?[3:0]?data2; wire?[3:0]?data3; wire?[3:0]?data4; //分頻模塊 div?i_div( .?clk(clk),//1000Hz .?clk_1Hz(clk_1Hz) ); //控制模塊 control?i_control( .?clk_1Hz(clk_1Hz),//1Hz .?K1(K1),//電源,1時(shí)工作,0時(shí)停止 .?K2(K2),//模式,0時(shí)手動(dòng),1時(shí)自動(dòng) .?K3(K3),//時(shí)間選擇,自動(dòng)模式,0時(shí)20分鐘,1時(shí)30分鐘 .?K4(K4),//搖頭選擇,1時(shí)搖頭 .?D1(D1),//工作指示 .?D2(D2),//搖頭指示 //手動(dòng)顯示9999,自動(dòng)顯示左總時(shí)間,右剩余時(shí)間 .?data1(data1), .?data2(data2), .?data3(data3), .?data4(data4) ); //譯碼模塊 display?i_display( .?clk(clk),//1000Hz .?data1(data1), .?data2(data2), .?data3(data3), .?data4(data4), //手動(dòng)顯示9999,自動(dòng)顯示左總時(shí)間,右剩余時(shí)間 .?DS1(DS1), .?DS2(DS2), .?DS3(DS3), .?DS4(DS4) ); endmodule
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. 管腳分配
5. RTL圖
6. 仿真圖
整體仿真圖
分頻模塊仿真圖
控制模塊仿真圖
顯示模塊仿真圖
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=214