資源描述:
《基于.fpga數(shù)字秒表設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、目錄1.秒表設(shè)計要求12.設(shè)計思路12.1功能模塊12.1.1分頻器12.1.2計數(shù)器12.1.3數(shù)據(jù)鎖存器12.1.4控制器12.1.5掃描顯示的控制電路22.1.6顯示電路32.1.7按鍵消抖電路33.電路實現(xiàn)44.程序仿真104.1分頻器104.1.1計數(shù)器電路綜合114.1.2計數(shù)器電路仿真114.2同步計數(shù)器134.2.1計數(shù)器實現(xiàn)134.2.2計數(shù)器仿真154.2.3同步計數(shù)器電路綜合174.3按鍵消抖電路184.3.1按鍵消抖電路實現(xiàn)184.3.2按鍵消抖電路仿真184.3.3按鍵消抖電路綜合204.4八段
2、譯碼器204.4.1八段譯碼器實現(xiàn)204.4.2八段譯碼器仿真214.4.3八段譯碼器電路綜合224.5控制器234.5.1控制器234.5.1控制器仿真244.5.3控制器電路綜合255.2ViewTechnologySchematic:265.3管腳鎖定:276.實驗結(jié)論271.秒表設(shè)計要求(1)秒表的計時范圍為00:00:00~59:59:99。(2)兩個按鈕開關(guān)Start/Stop和Split/Reset,控制秒表的啟動、停止、分段和復(fù)位:在秒表已經(jīng)被復(fù)位的情況下,按下“Start/Stop”鍵,秒表開始計時。在
3、秒表正常運行的情況下,如果按下“Start/Stop”鍵,則秒表暫停計時;再次按下該鍵,秒表繼續(xù)計時。在秒表正常運行的情況下,如果按下“Split/Reset”鍵,顯示停止在按鍵時的時間,但秒表仍然在計時;再次按下該鍵,秒表恢復(fù)正常顯示。在秒表暫停計時的情況下,按下“Split/Reset”鍵,秒表復(fù)位歸零。2.設(shè)計思路2.1功能模塊2.1.1分頻器對晶體振蕩器產(chǎn)生的時鐘信號進(jìn)行分頻,產(chǎn)生時間基準(zhǔn)信號2.1.2計數(shù)器對時間基準(zhǔn)脈沖進(jìn)行計數(shù),完成計時功能2.1.3數(shù)據(jù)鎖存器鎖存數(shù)據(jù)使顯示保持暫停2.1.4控制器通過產(chǎn)生鎖存
4、器的使能信號來控制計數(shù)器的運行、停止以及復(fù)位設(shè)計分析:2.1.5掃描顯示的控制電路包括掃描計數(shù)器、數(shù)據(jù)選擇器和7段譯碼器,控制8個數(shù)碼管以掃描方式顯示計時結(jié)果,原理圖如下:實驗電路板上的按鍵2.1.6顯示電路2.1.7按鍵消抖電路消除按鍵輸入信號抖動的影響,輸出單脈沖實驗板上的數(shù)碼管為共陽LED數(shù)碼管按鍵按下時,F(xiàn)PGA的輸入為低電平;松開按鍵時,F(xiàn)PGA的輸入為高電平但是在按下按鍵和松開按鍵的瞬間會出現(xiàn)抖動現(xiàn)象2.2電路框圖3.電路實現(xiàn)------------------------------------------
5、------------------------------------------Company:--Engineer:----CreateDate:09:08:3903/12/2011--DesignName:--ModuleName:stopwatch_1-Behavioral--ProjectName:--TargetDevices:--Toolversions:--Description:----Dependencies:----Revision:--Revision0.01-FileCreated--Addi
6、tionalComments:------------------------------------------------------------------------------------libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;----Uncommentthefollowinglibrarydeclarationifinstantiating----anyX
7、ilinxprimitivesinthiscode.--libraryUNISIM;--useUNISIM.VComponents.all;entitystopwatch_1isPort(Clk:inSTD_LOGIC;start_stop:inSTD_LOGIC;split_reset:inSTD_LOGIC;ncs:outSTD_LOGIC;s:outSTD_LOGIC_VECTOR(2downto0);seg:outSTD_LOGIC_VECTOR(7downto0));endstopwatch_1;archite
8、ctureBehavioralofstopwatch_1issignalk1,k2,k3,k4:STD_LOGIC;signalcnt_1,cnt_2:STD_LOGIC_VECTOR(1downto0);signalstart_stop_out,split_reset_out:STD_LOGIC;signalcou