名稱:簡易計時鬧鐘(代碼在文末付費下載)
軟件:ISE
語言:Verilog
要求:
簡易計時鬧鐘:有四位數(shù)碼管,前兩位計分鐘,表示00~99分鐘,后面兩位記秒,值為00~59秒。有三個按鍵,第一個是分鍵,第二個是秒鍵,第三個是啟動/暫停鍵。功能:分秒兩鍵同時按下清零且停止計時,外于設置態(tài),按一次分鍵分鐘加1, 99增1變?yōu)?;按一次秒鍵秒增1,59增1變?yōu)?。此狀態(tài)下按啟動/暫停鍵開始計時,設置值為0000則為正計時,設置值為非零值則為倒計時。
正計時時,按啟動/暫停鍵會暫停計時,再按啟動/暫停鍵則會繼續(xù)計時。倒計時時,減到零時停止減數(shù)且發(fā)出警示蜂鳴聲,直到啟動/暫停鍵被按下時進入設置態(tài)且同時顯示前設置值和停止發(fā)出蜂鳴聲。
演示視頻:
設計文檔(文檔點擊可下載):
1. 工程文件
2. 程序文件
3. 程序編譯
4. Testbench
5. 仿真圖
整體仿真圖
正計時
暫停
暫停后重啟
分秒同時按下,設置時間2分4秒,開始倒計時
倒計時結束蜂鳴器buzzer_call拉高
再按下啟動鍵,進入設置態(tài)且同時顯示前設置值和停止發(fā)出蜂鳴聲
頂層端口
//簡易計時鬧鐘 module?time_count( sys_clk,//系統(tǒng)時鐘100Hz minute_BTN,//分按鍵 second_BTN,//秒按鍵 begin_BTN,//啟動按鍵 SEG_min1,//分鐘十位 SEG_min2,//分鐘個位 SEG_sec1,//秒鐘十位 SEG_sec2,//秒鐘個位 buzzer_call//蜂鳴器 ); input?sys_clk;//系統(tǒng)時鐘100Hz input?minute_BTN;//分按鍵 input?second_BTN;//秒按鍵 input?begin_BTN;//啟動按鍵 output?reg?[7:0]?SEG_min1;//分鐘十位 output?reg?[7:0]?SEG_min2;//分鐘個位 output?reg?[7:0]?SEG_sec1;//秒鐘十位 output?reg?[7:0]?SEG_sec2;//秒鐘個位 output?buzzer_call;//蜂鳴器
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=161