FPGA電子秒表綜合實驗報告_第1頁
FPGA電子秒表綜合實驗報告_第2頁
FPGA電子秒表綜合實驗報告_第3頁
FPGA電子秒表綜合實驗報告_第4頁
FPGA電子秒表綜合實驗報告_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

現(xiàn)代電子綜合實驗報告課題名稱:電子秒表程序設(shè)計實驗名稱:用VHDL實現(xiàn)基于FPGA的電子秒表實驗?zāi)康模赫莆栈镜腣HDL語言,可以實現(xiàn)簡單的程序編寫對系統(tǒng)設(shè)計原理、單元電路設(shè)計方法及仿真技術(shù)有所了解學(xué)會使用ISE軟件與Modelsim仿真軟件實驗內(nèi)容:實驗任務(wù):電路設(shè)計:分頻器:對晶體振蕩器產(chǎn)生的時鐘信號進行分頻,產(chǎn)生時間基準信號;計數(shù)器:對時間基準脈沖進行計數(shù),完成計時功能;數(shù)據(jù)鎖存器:鎖存數(shù)據(jù)使顯示保持暫停;控制器:控制計數(shù)器的運行、停止以及復(fù)位,產(chǎn)生鎖存器的時能信號;掃描顯示與控制電路:包括掃描計數(shù)器、數(shù)據(jù)選擇器和七段譯碼器,控制八個數(shù)碼管以掃描方式顯示記時結(jié)果;按鍵消抖電路:消除按鍵輸入信號抖動的影響,輸出單脈沖。實驗儀器與軟件1.ISE軟件,界面如下該軟件編程步驟:創(chuàng)建工程項目;設(shè)計輸入;功能仿真;設(shè)計綜合;設(shè)計實現(xiàn);生成編程文件;配置目標器件。2..Modelsim軟件,界面如下:3.FPGA實驗電路板:實驗過程:程序編寫該程序采用采用嵌套結(jié)構(gòu)編寫,先設(shè)計一個主程序,然后再分步寫出分頻器、按鍵消抖、按鍵控制、計數(shù)器、鎖存器、掃描顯示幾個子模塊。首先設(shè)置了clk,start_stop,split_reset三個輸入變量,分別表示時鐘信號、開始停止控制以及分段復(fù)位控制;另設(shè)置了display,dig,ncs三個輸出變量,分別表示顯示輸出,位選和接地。顯示電路部分:七段顯示譯碼器中小數(shù)點位由于都設(shè)置為‘1’,所以都不亮,按鍵控制由于管腳設(shè)置的約束,kye-1代表開始停止,key-2代表分段復(fù)位。實驗結(jié)果1.分頻器的作用是把48Mhz的晶振信號分頻為1khz的標準時鐘信號,分給按鍵消抖、計數(shù)器、鎖存器和掃描顯示部分作為時鐘輸入。分頻器仿真:2.按鍵控制電路的作用是由按鍵輸入信號,輸出計數(shù)器的使能、清零信號,和鎖存器的使能信號,以此來控制計數(shù)器的運行、停止和清零,還有鎖存器的運行和停止。用case語句將3個輸出的初始狀態(tài)state按照輸入的不同,轉(zhuǎn)換到下個狀態(tài)new_state。然后寫另一個進程,當標準時鐘信號到來時,把處理完的信號new_state賦給state作為輸出。狀態(tài)圖如下:按下開始停止鍵,將開始停止控制鍵設(shè)置為‘1‘,開始計時,保持1000ns后松開開始鍵,計時仍在進行中,延續(xù)1ms。再次按下開始停止鍵,保持1000ns后松開,此時暫停計時,保持1ms。再按下分段復(fù)位鍵復(fù)位,保持1000ns后松開,此時處于復(fù)位狀態(tài),延續(xù)1ms。最后再開始計時,1ms后按下分段復(fù)位鍵分段,保持1000ns后松開,此時仍在計時只是在數(shù)碼顯示管上不顯示走秒,1ms后再按下此鍵,則正常計時。3.計數(shù)器是秒表的核心部分,作用是對時鐘信號進行計數(shù),輸出各位的計數(shù)結(jié)果,從而完成計時功能。計數(shù)器有3個輸入:100hz的時鐘信號、清零、使能,6個結(jié)果輸出q1,q2,q3,q4,q5,q6。由于共需要輸出的計數(shù)結(jié)果為6個:十毫秒、百毫秒、秒、十秒、分、十分,而其中十秒和十分為6進制,其他為10進制,故需4個10進制計數(shù)器和2個6進制計數(shù)器按順序級聯(lián)。計數(shù)器部分電路圖如下:10進制計數(shù)器是由模10的加法器和觸發(fā)器組成,原理同分頻器,只是在加法器中用if語句設(shè)定了只有當進位輸入信號為‘1’時,加法器才進行加1的工作,否則不加1而直接把state賦給new_state。在觸發(fā)器中還設(shè)置了清零輸入clr的功能,即在clr=‘1’時,將state的所有位全變0。最后對進位輸出進行定義:只有當進位輸入carry_in=‘1’而且state=9的時候,進位輸出carry_out=‘仿真結(jié)果如下:q1代表10ms位,當q1計數(shù)到9時進一位。q2代表100ms位,當q2計數(shù)到9時進一位。q3代表秒個位,當q3計數(shù)到9時進一位。q4代表秒十位,當q4計數(shù)到5時進一位。q5代表個分位,當q5計數(shù)到9時進一位。4.鎖存器的作用是把數(shù)據(jù)鎖存使顯示保持暫停。有6個由計數(shù)器出來的輸入,和6個輸出,還有一個使能端。其原理很簡單,就是一個觸發(fā)器,當使能信號=‘1’時,觸發(fā)器工作,把計數(shù)器的6個輸出d1-d6賦給另外6個變量q1-q6,作為顯示部分的輸入;而當使能信號=‘0’時,不作任何賦值,也就是使顯示部分的輸入信號保持不變,產(chǎn)生顯示保持暫停的效果。結(jié)構(gòu)如右圖:5.顯示譯碼部分的作用是控制8個數(shù)碼管以掃描的方式顯示計數(shù)輸出結(jié)果。由6個由鎖存器出來的輸入,2個輸出,一個時鐘輸入組成。掃描計數(shù)器是一個模8計數(shù)器,產(chǎn)生掃描信號,同時也是選擇8個數(shù)碼管的信號。數(shù)據(jù)選擇器根據(jù)掃描信號來控制6個計數(shù)結(jié)果的輪流輸出,另外還有兩個輸出為橫杠。七段譯碼器是將輸入的bcd碼轉(zhuǎn)換成控制數(shù)碼管中的7段LED的信號,顯示數(shù)字0-9以及橫杠。先將d1—d6分別設(shè)為1,2,3,4,5,6。由下面的仿真結(jié)果,dig為2,5時,表示橫杠位,對應(yīng)七段譯碼管顯示為“11111101”;dig為0時,選擇d1輸出,輸出結(jié)果“10011111”,同設(shè)置的d1為1一致;dig為1時,選擇d2輸出,輸出結(jié)果“00100101”,同設(shè)置的d2為2一致;dig為3時,選擇d3輸出,輸出結(jié)果“00001101”,同設(shè)置的d3為3一致;dig為4時,選擇d4輸出,輸出結(jié)果“10011001”,同設(shè)置的d4為4一致;dig為6時,選擇d5輸出,輸出結(jié)果“01001001”,同設(shè)置的d5為5一致;七、實驗結(jié)論本實驗通過用VHDL程序編寫,在ise軟件中綜合,并用modelsim軟件仿真,最后下載到FPGA實驗板上實

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論