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