《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應用 > 基于VHDL語言的超長時間定時器設(shè)計及實現(xiàn)
基于VHDL語言的超長時間定時器設(shè)計及實現(xiàn)
摘要: 傳統(tǒng)的定時器硬件連接比較復雜,可靠性差,,而且計時時間短,,難以滿足需要,。本設(shè)計采用可編程芯片和VHDL語言進行軟硬件設(shè)計,,不但可使硬件大為簡化,,而且穩(wěn)定性也有明顯提高,。
Abstract:
Key words :

引言

  傳統(tǒng)的定時器硬件連接比較復雜,,可靠性差,,而且計時時間短,,難以滿足需要。本設(shè)計采用可編程芯片和VHDL語言進行軟硬件設(shè)計,,不但可使硬件大為簡化,,而且穩(wěn)定性也有明顯提高。由于可編程芯片的頻率精度可達到50 MHz,,因而計時精度很高,。本設(shè)計采用逐位設(shè)定預置時間,其最長時間設(shè)定可長達99小時59分59秒,。完全可以滿足用戶的需要,,使用也更為方便。

  
1 系統(tǒng)原理

  本定時器的核心器件為EP1C6Q240C8芯片,。該芯片有選位,、置位、啟動,、復位,、倒計時等功能,顯示采用2個3位LED數(shù)碼管,,并采用共陰接法,,可以動態(tài)掃描顯示。其系統(tǒng)原理如圖1所示,。

 

  
2 硬件設(shè)計

  本系統(tǒng)共有兩大模塊,,分別為控制/定時模塊和顯示模塊。其中控制/定時模塊包括按鍵的功能定義和計時的邏輯定義,。顯示模塊則包括片選模塊,、位掃描模塊和數(shù)碼管譯碼模塊。

  設(shè)計時可將秒信號輸入控制/定時模塊,,此時系統(tǒng)將輸出六個四位BCD碼,,以分別表示時、分,、秒位,。在預置數(shù)時,,計數(shù)器可以秒的速度遞增,從而實現(xiàn)逐位預置數(shù),;而在定時倒計數(shù)時,,計數(shù)器可以秒的速度遞減,從而實現(xiàn)倒計時,。系統(tǒng)中的位選擇器用于對六位進行循環(huán)掃描輸出,,并將掃描輸出送到譯碼器。譯碼器模塊可對輸入的四位進行譯碼,,同時在設(shè)置數(shù)值時用6個LED燈分別指示其所設(shè)置的位,。

  該系統(tǒng)硬件由兩部分組成,一部分是EPlC6Q240C8芯片,,另一部分是按鍵,,譯碼器,LED數(shù)碼管,,發(fā)光二極管及可編程芯片的支持電路,。圖2所示是其AAA控制定時模塊的引腳排列。其主要功能引腳的定義如下:

  Setw(置位鍵):用于選定定時器所需定時的對應位,。發(fā)光二極管對應七段數(shù)碼管設(shè)置,,當選定對應的位時,相應的發(fā)光二極管亮,;

  Set(置數(shù)鍵):用于設(shè)置選定位的具體數(shù)值,;

  Start鍵:用于設(shè)定好時間后啟動秒表計時??赏ㄟ^軟件使start按鍵經(jīng)過鎖存器后進人AAA模塊,。Start觸發(fā)后可產(chǎn)生持續(xù)的高電平;

  ALM(揚聲器):可在計時結(jié)束時發(fā)聲報警,;

  Clr(清零鍵):用于計時器的清零復位,;

  七段數(shù)碼管用于顯示定時數(shù)字,set模塊用控制數(shù)碼管的掃描頻率,。

 

 


3 主要模塊軟件程序

  圖3所示是該定時器的軟件系統(tǒng)構(gòu)成,。本軟件包括控制/定時模塊和顯示模塊兩大部分。

 

  3.1 控制/定時模塊

  AAA控制/定時模塊是該定時器的核心部分,,該模塊的程序流程圖如圖4所示。

 

  當START為高電平時,,該定時器將進入倒計時階段,。當CLK脈沖上升沿到來時,計數(shù)以秒的速度減1,,直到計時結(jié)束,,使ALM位為高電平為止,。CLR為復位端,可用來清零,,通常采用異步復位方式,。SETW用于選位,高電平有效,。SET用于對選定的位進行置數(shù),,也是高電平有效。ALM輸出端將在定時結(jié)束時產(chǎn)生高電平,。Q0~Q5為四位BCD碼輸出端口,,主要用于顯示。

 

3.2 顯示模塊

  通過XUAN模塊可完成BCD碼的轉(zhuǎn)化,,再經(jīng)DISP模塊譯碼.然后輸出給七段數(shù)碼管,。

  (1)XUAN模塊

  XUAN可產(chǎn)生四位BCD碼輸入,并從sel端輸出,。該模塊的管腳圖如圖5所示,。其源程序代碼如下:

 

  (2)DISP模塊

  DISP模塊主要用于譯碼,可定義七段數(shù)碼管顯示的數(shù)字,。其源程序如下:


 


4 系統(tǒng)仿真及結(jié)果

  圖6所示是對AAA控制/定時模塊的仿真結(jié)果,。由此結(jié)果可見,當setw置“1”時,,statea位選從0到5循環(huán),,分別代表六個數(shù)碼管的位置。當start置“1”時,,q5-q0進行借位減法,。q5、q4表示小時,,最高可到99小時,;q3、q2表示分鐘,,最高59分鐘,;q1、q0表示秒,,最高為59秒,。

 

  
5 結(jié)束語

  本設(shè)計從總體要求出發(fā),采用模塊化設(shè)計方法,,實現(xiàn)了長達99小時的定時設(shè)計,。同時采用QuartusⅡ4.0仿真環(huán)境進行了仿真。結(jié)果證明,,本系統(tǒng)可以實現(xiàn)理想的定時操作而且設(shè)計體現(xiàn)了人性化,,具有較強的實際應用價值,。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。