名稱:洗衣機控制器設(shè)計(代碼在文末付費下載)
軟件:Quartus
語言:Verilog
要求:
洗衣機正常一次循環(huán)的工作狀態(tài)為正轉(zhuǎn)(10s)—>待機(5s)→>反轉(zhuǎn)(10s)一>待機(5s)。本洗衣機控制器可由用戶設(shè)定循環(huán)次數(shù),此處設(shè)計最大循環(huán)次數(shù)為7次。為方便用戶在洗衣過程中操作,該洗衣機還具備有暫停功能,當(dāng)用戶操作完成后,可繼續(xù)上次未完成的工作。洗衣完成后即設(shè)定洗衣次數(shù)歸零時,可報警告知用戶。
①clk為系統(tǒng)時鐘,rst為復(fù)位鍵,控制整個系統(tǒng)復(fù)位。
②按set可以設(shè)置循環(huán)次數(shù)(擬設(shè)置一個寄存器,按鍵每按一次,寄存器值加
一,按set鍵超過7次仍算7次)。
③en為洗衣機啟動或暫停控制信號。
④key為選擇輸出信號按鍵。key每次按下,daout在輸出警報器alarm、洗衣機的工作狀態(tài)lamp和輸出剩余循環(huán)次數(shù)tim切換。
4.設(shè)計注意事項
①設(shè)計中注意時鐘頻率的問題,由于系統(tǒng)時鐘頻率過快,會影響顯示時觀察結(jié)果,因此需要分頻使得時鐘頻率降低,計算并得出合適的分頻倍數(shù)。
②設(shè)計中注意按鍵的消抖問題,每次按鍵后需要間隔一段時間才執(zhí)行下一次按鍵操作,否則會造成設(shè)置循環(huán)次數(shù)出錯。因而請依據(jù)此項原則結(jié)合分頻方法設(shè)計適合的按鍵消抖方案,并通過計算給出兩次按鍵之間的間隔有效時間。
③設(shè)計中需使用一定方法使工作狀態(tài)順序循環(huán)切換。本設(shè)計中使用切換使能信號temp的低電平來改變工作狀態(tài)count的值,從而實現(xiàn)工作狀態(tài)的切換。
四、仿真要求說明
測試洗衣機控制器的循環(huán)工作次數(shù)是否正確設(shè)置set,測試key能否切換輸出信號顯示,測試循環(huán)結(jié)束后是否報警,測試en是否能啟動洗衣機以及工作時按下en是否具有暫停工作的功能,測試rst是否具有復(fù)位的功能。
演示視頻:
設(shè)計文檔:
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=130