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

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

洗衣機控制器VHDL代碼ego1開發(fā)板vivado軟件

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

1-231202102911B1.doc

共1個文件

名稱:洗衣機控制器VHDL代碼ego1開發(fā)板vivado軟件(代碼在文末下載)

軟件:VIVADO

語言:VHDL

代碼功能:

(1)設(shè)計一個洗衣機控制器,使洗衣機作如下運轉(zhuǎn):定時啟動—〉正轉(zhuǎn)20秒—〉暫停10秒—〉反轉(zhuǎn)20秒—〉暫停10秒—〉定時不到,重復(fù)上面過程。

(2)若定時到,則停止,并發(fā)出提示信號。

(3)用兩個數(shù)碼管顯示洗滌的預(yù)置時間(15分鐘),按倒計時方式對洗滌過程作計時顯示,直到時間到停機;洗滌過程由開始信號開始。

(4)三只LED燈表示正轉(zhuǎn)、反轉(zhuǎn)、暫停三個狀態(tài)。

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

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

ego1開發(fā)板.png

演示視頻:

設(shè)計文檔:

1. 工程文件

代碼功能

(1)設(shè)計一個洗衣機控制器,使洗衣機作如下運轉(zhuǎn):定時啟動—〉正轉(zhuǎn)20秒—〉暫停10秒—〉反轉(zhuǎn)20秒—〉暫停10秒—〉定時不到,重復(fù)上面過程。

(2)若定時到,則停止,并發(fā)出提示信號。

(3)用兩個數(shù)碼管顯示洗滌的預(yù)置時間(15分鐘),按倒計時方式對洗滌過程作計時顯示,直到時間到停機;洗滌過程由開始信號開始。

(4)三只LED燈表示正轉(zhuǎn)、反轉(zhuǎn)、暫停三個狀態(tài)。

2. 程序文件

3. 程序編譯

4. RTL圖(代碼框圖)

5. 管腳分配

6. Testbench

7. 仿真圖

整體仿真圖

控制模塊

倒計時模塊

數(shù)碼管譯碼模塊

部分代碼展示:

LIBRARY?ieee;
???USE?ieee.std_logic_1164.all;
???USE?ieee.std_logic_unsigned.all;
ENTITY?washing_machine?IS
???PORT?(
??????clk_in?????:?IN?STD_LOGIC;--100MHz
??????start_key??:?IN?STD_LOGIC;--啟動按鍵-BTNL
??????
??????led????????:?OUT?STD_LOGIC_VECTOR(2?DOWNTO?0);--正轉(zhuǎn),反轉(zhuǎn),暫停??LED?0?1?2
??????end_led????:?OUT?STD_LOGIC;--洗衣結(jié)束信號?LED?3
??????
??????bit_select??:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--數(shù)碼管位選
??????seg_select??:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--數(shù)碼管段選
???);
END?washing_machine;
ARCHITECTURE?Behavioral?OF?washing_machine?IS
--譯碼器驅(qū)動電路模塊
Component?decoder?IS
PORT?(
clk_in?:?IN?STD_LOGIC?;
washing_time?:?IN?STD_LOGIC_VECTOR?(7?downto?0);
bit_select??:?OUT?STD_LOGIC_VECTOR(3?DOWNTO?0);--數(shù)碼管位選
seg_select??:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)--數(shù)碼管段選
);
end?Component?;
Component?subtraction?IS
PORT?(
clk_in??:?IN?STD_LOGIC;--50Hz
start_key_rise??:?IN?STD_LOGIC;
min_en_rise????:?IN?STD_LOGIC;
washing_time???:?OUT?STD_LOGIC_VECTOR(7?DOWNTO?0)
);
end?Component?;
Component?Sequential_circuit?IS
PORT?(
clk_in?????:?IN?STD_LOGIC;--50Hz
start_key??:?IN?STD_LOGIC;--啟動按鍵
washing_time???:?IN?STD_LOGIC_VECTOR(7?DOWNTO?0);??????
led????????:?OUT?STD_LOGIC_VECTOR(2?DOWNTO?0);--正轉(zhuǎn),反轉(zhuǎn),暫停
end_led????:?OUT?STD_LOGIC;--洗衣結(jié)束信號
??????
start_key_rise_out????:?OUT?STD_LOGIC;
min_en_rise_out???:?OUT?STD_LOGIC
);
end?Component?;
???SIGNAL?washing_time????????:?STD_LOGIC_VECTOR(7?DOWNTO?0)?:=?"00000000";--預(yù)置洗衣時間15分鐘
???
???SIGNAL?start_key_rise??????:?STD_LOGIC:='0';
???SIGNAL?min_en_rise?????????:?STD_LOGIC:='0';???
???
???SIGNAL?duanxuan2?????????????:?STD_LOGIC_VECTOR(7?DOWNTO?0)?:=?"00000000";
???SIGNAL?duanxuan1????????????:?STD_LOGIC_VECTOR(7?DOWNTO?0)?:=?"00000000";
BEGIN
--控制模塊
i_Sequential_circuit?:?Sequential_circuit?
port?map?(
clk_in?=>?clk_in,
start_key??=>?start_key,
washing_time?=>?washing_time,??????
led????=>?led,
end_led?=>?end_led,
??????
start_key_rise_out??=>?start_key_rise,
min_en_rise_out???=>?min_en_rise
);
--倒計時模塊
i_subtraction?:?subtraction
port?map?(
clk_in??=>?clk_in,
start_key_rise??=>?start_key_rise,
min_en_rise????=>?min_en_rise,
washing_time???=>?washing_time
);
--譯碼器驅(qū)動電路模塊???
i_decoder?:?decoder?
port?map?(
clk_in?=>?clk_in,
washing_time?=>?washing_time,
bit_select???=>bit_select,--數(shù)碼管位選
seg_select???=>seg_select--數(shù)碼管段選
);
???
END?Behavioral;

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

  • 1-231202102911B1.doc
    下載

相關(guān)推薦

衡南县| 化州市| 长治县| 卓资县| 和平县| 瓮安县| 湘阴县| 犍为县| 贺州市| 郴州市| 邹平县| 娄烦县| 永善县| 仁怀市| 肇源县| 榕江县| 三河市| 德庆县| 景德镇市| 桓仁| 临沭县| 罗江县| 城固县| 剑阁县| 申扎县| 大名县| 房山区| 全椒县| 道孚县| 沐川县| 修水县| 平阴县| 平凉市| 英吉沙县| 福泉市| 丰镇市| 咸阳市| 登封市| 武鸣县| 河东区| 南开区|