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

洗衣機(jī)控制電路VHDL代碼Quartus仿真

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

2-240113134I2419.doc

共1個(gè)文件

名稱:洗衣機(jī)控制電路VHDL代碼Quartus仿真

軟件:Quartus

語(yǔ)言:VHDL

代碼功能:

洗衣機(jī)控制電路

設(shè)計(jì)要求:

1、控制洗衣機(jī)實(shí)現(xiàn)正轉(zhuǎn),待機(jī),反轉(zhuǎn)三種狀態(tài)并用三個(gè)LED顯示

2、正轉(zhuǎn)60秒,待機(jī)5秒,反轉(zhuǎn)60秒,這個(gè)過(guò)程循環(huán)15次,直至循環(huán)次數(shù)為零時(shí),蜂鳴器發(fā)聲。

3、時(shí)間由數(shù)碼管顯示。

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

演示視頻:

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

1.工程文件

2.程序文件

3.程序編譯

4.仿真圖

部分代碼展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
--洗衣機(jī)控制電路
ENTITY?wash?IS
???PORT?(
??????clk??????:?IN?STD_LOGIC;--時(shí)鐘1Hz
??????rst_p????:?IN?STD_LOGIC;--復(fù)位
??????start_p??:?IN?STD_LOGIC;--開始
??????led_Z????:?OUT?STD_LOGIC;--正轉(zhuǎn)
??????led_D????:?OUT?STD_LOGIC;--待機(jī)
??????led_F????:?OUT?STD_LOGIC;--反轉(zhuǎn)
??????beep?????:?OUT?STD_LOGIC;--蜂鳴器
??????HEX0?????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0);--數(shù)碼管-分鐘十位
??????HEX1?????:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)?--數(shù)碼管-分鐘個(gè)位
???);
END?wash;
ARCHITECTURE?RTL?OF?wash?IS
--定義狀態(tài)
???TYPE??state_type?IS
???(
??????s_idle???,
??????s_start??,
??????s_ledZ???,
??????s_ledD???,
??????s_ledF???,
??????s_end????
???);???
???SIGNAL?state????:?state_type;
???SIGNAL?cnt_Z????:?STD_LOGIC_VECTOR(5?DOWNTO?0)?:=?"000000";
???SIGNAL?cnt_D????:?STD_LOGIC_VECTOR(5?DOWNTO?0)?:=?"000000";
???SIGNAL?cnt_F????:?STD_LOGIC_VECTOR(5?DOWNTO?0)?:=?"000000";
???SIGNAL?time_cnt?:?STD_LOGIC_VECTOR(4?DOWNTO?0)?:=?"00000"?;
???SIGNAL?time_ten?:?STD_LOGIC_VECTOR(4?DOWNTO?0)?:=?"00000"?;
???SIGNAL?time_one?:?STD_LOGIC_VECTOR(4?DOWNTO?0)?:=?"00000"?;
BEGIN
???
--正轉(zhuǎn)時(shí)間計(jì)數(shù)
???PROCESS?(clk,?rst_p)
???BEGIN
??????IF?(rst_p?=?'1')?THEN
?????????cnt_Z?<=?"000000";--復(fù)位
??????ELSIF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????IF?(state?=?s_ledZ)?THEN--正轉(zhuǎn)狀態(tài)
????????????cnt_Z?<=?cnt_Z?+?"000001";--計(jì)數(shù)
?????????ELSE
????????????cnt_Z?<=?"000000";--清零
?????????END?IF;
??????END?IF;
???END?PROCESS;
--待機(jī)時(shí)間計(jì)數(shù)???
???PROCESS?(clk,?rst_p)
???BEGIN
??????IF?(rst_p?=?'1')?THEN
?????????cnt_D?<=?"000000";--復(fù)位
??????ELSIF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????IF?(state?=?s_ledD)?THEN--待機(jī)狀態(tài)
????????????cnt_D?<=?cnt_D?+?"000001";--計(jì)數(shù)
?????????ELSE
????????????cnt_D?<=?"000000";--清零
?????????END?IF;
??????END?IF;
???END?PROCESS;
--反轉(zhuǎn)時(shí)間計(jì)數(shù)???
???PROCESS?(clk,?rst_p)
???BEGIN
??????IF?(rst_p?=?'1')?THEN
?????????cnt_F?<=?"000000";--復(fù)位
??????ELSIF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????IF?(state?=?s_ledF)?THEN--反轉(zhuǎn)狀態(tài)
????????????cnt_F?<=?cnt_F?+?"000001";--計(jì)數(shù)
?????????ELSE
????????????cnt_F?<=?"000000";--清零
?????????END?IF;
??????END?IF;
???END?PROCESS;
--狀態(tài)機(jī)控制模塊???
???PROCESS?(clk,?rst_p)
???BEGIN
??????IF?(rst_p?=?'1')?THEN
?????????state?<=?s_idle;--復(fù)位
??????ELSIF?(clk'EVENT?AND?clk?=?'1')?THEN
?????????CASE?state?IS
????????????WHEN?s_idle?=>--空閑狀態(tài)
???????????????IF?(start_p?=?'1')?THEN--開始按鍵
??????????????????state?<=?s_start;
???????????????END?IF;
????????????WHEN?s_start?=>--開始狀態(tài)
???????????????state?<=?s_ledZ;
????????????WHEN?s_ledZ?=>--正轉(zhuǎn)狀態(tài)
???????????????IF?(time_cnt?=?"00000")?THEN--時(shí)間倒計(jì)時(shí)結(jié)束
??????????????????state?<=?s_end;
???????????????ELSIF?(cnt_Z?=?"111100")?THEN--計(jì)數(shù)到60s
??????????????????state?<=?s_ledD;
???????????????END?IF;
????????????WHEN?s_ledD?=>--待機(jī)狀態(tài)
???????????????IF?(cnt_D?=?"000101")?THEN--計(jì)數(shù)到5s
??????????????????state?<=?s_ledF;
???????????????END?IF;
????????????WHEN?s_ledF?=>--反轉(zhuǎn)狀態(tài)
???????????????IF?(time_cnt?=?"00000")?THEN--時(shí)間倒計(jì)時(shí)結(jié)束
??????????????????state?<=?s_end;
???????????????ELSIF?(cnt_F?=?"111100")?THEN--計(jì)數(shù)到60s
??????????????????state?<=?s_ledZ;
???????????????END?IF;
????????????WHEN?s_end?=>--結(jié)束狀態(tài)
???????????????IF?(start_p?=?'1')?THEN--開始按鍵
??????????????????state?<=?s_start;
???????????????END?IF;
????????????WHEN?OTHERS?=>
?????????END?CASE;
??????END?IF;
???END?PROCESS;

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

  • 2-240113134I2419.doc
    下載

相關(guān)推薦