基于VHDL語言的99小時定時器設計及實現
0 引言
傳統的定時器硬件連接比較復雜,可靠性差,而且計時時間短,難以滿足需要。本設計采用可編程芯片和VHDL語言進行軟硬件設計,不但可使硬件大為簡化,而且穩定性也有明顯提高。由于可編程芯片的頻率精度可達到50 MHz,因而計時精度很高。本設計采用逐位設定預置時間,其最長時間設定可長達99小時59分59秒。完全可以滿足用戶的需要,使用也更為方便。
1 系統原理
本定時器的核心器件為EP1C6Q240C8芯片。該芯片有選位、置位、啟動、復位、倒計時等功能,顯示采用2個3位LED數碼管,并采用共陰接法,可以動態掃描顯示。其系統原理如圖1所示。
2 硬件設計
本系統共有兩大模塊,分別為控制/定時模塊和顯示模塊。其中控制/定時模塊包括按鍵的功能定義和計時的邏輯定義。顯示模塊則包括片選模塊、位掃描模塊和數碼管譯碼模塊。
設計時可將秒信號輸入控制/定時模塊,此時系統將輸出六個四位BCD碼,以分別表示時、分、秒位。在預置數時,計數器可以秒的速度遞增,從而實現逐位預置數;而在定時倒計數時,計數器可以秒的速度遞減,從而實現倒計時。系統中的位選擇器用于對六位進行循環掃描輸出,并將掃描輸出送到譯碼器。譯碼器模塊可對輸入的四位進行譯碼,同時在設置數值時用6個LED燈分別指示其所設置的位。
該系統硬件由兩部分組成,一部分是EPlC6Q240C8芯片,另一部分是按鍵,譯碼器,LED數碼管,發光二極管及可編程芯片的支持電路。圖2所示是其AAA控制定時模塊的引腳排列。其主要功能引腳的定義如下:
Setw(置位鍵):用于選定定時器所需定時的對應位。發光二極管對應七段數碼管設置,當選定對應的位時,相應的發光二極管亮;
Set(置數鍵):用于設置選定位的具體數值;
Start鍵:用于設定好時間后啟動秒表計時。可通過軟件使start按鍵經過鎖存器后進人AAA模塊。Start觸發后可產生持續的高電平;
ALM(揚聲器):可在計時結束時發聲報警;
Clr(清零鍵):用于計時器的清零復位;
七段數碼管用于顯示定時數字,set模塊用控制數碼管的掃描頻率。
評論