要求:
1.具有暫停/啟動(dòng)功能;
2.具有重新開始功能;
3.用6個(gè)數(shù)碼管分別顯示百分秒、秒和分鐘。
一、設(shè)計(jì)題目及要求
題目: 數(shù)字跑表
要求:1.具有暫停/啟動(dòng)功能;
2.具有重新開始功能;
3.用6個(gè)數(shù)碼管分別顯示百分秒、秒和分鐘。
二、方案論證
方案一? 采用8051IP核設(shè)計(jì)。
用FPGA構(gòu)成一個(gè)8051單片應(yīng)用系統(tǒng)具有如下優(yōu)缺點(diǎn):
1、擁有標(biāo)準(zhǔn)8051完全兼容的指令系統(tǒng)的CPU;
2、256字節(jié)內(nèi)部RAM;
3、4K字節(jié)程序ROM;
4、每一次編譯下載后都能根據(jù)需要更新ROM中的程序,所以該單片機(jī)的實(shí)現(xiàn)和使用如同89C51/52一樣方便。
缺點(diǎn): 1、設(shè)計(jì)煩瑣,可以直接用8051單片機(jī)代替。
2、程序復(fù)雜。
方案二 ?采用芯片EP1K30QC208-3、8字?jǐn)?shù)碼顯示電路、按鍵開關(guān)設(shè)計(jì)。
[1]“EP1K30QC208-3”與單端的I/O口標(biāo)準(zhǔn)相比,這些內(nèi)顯置于器件內(nèi)部的緩沖器保持了信號(hào)的完整性,并且有更低的電磁干擾、更好的電磁兼容)及更低的電源功耗。采用此芯片設(shè)計(jì)簡(jiǎn)單,不需要用匯編語(yǔ)言編寫程序,直接用VHDL編寫即可以.
缺點(diǎn):與8051IP核相比精確度不是很高。但是對(duì)于秒表系統(tǒng)設(shè)計(jì)可以滿足要求。
采用方案二也有兩種具體的實(shí)現(xiàn)方法:
1、模塊式設(shè)計(jì)方法。在此采用此方式設(shè)計(jì)。
2、一個(gè)整體VHDL語(yǔ)言描述的VHDL模塊。
三、設(shè)計(jì)總體框圖
四、硬件電路設(shè)計(jì)與程序設(shè)計(jì)
設(shè)計(jì)思路
今需設(shè)計(jì)一個(gè)計(jì)時(shí)范圍為0.01 秒~1 小時(shí)的數(shù)字秒表。
首先需要獲得一個(gè)比較精確的計(jì)時(shí)基準(zhǔn)信號(hào),這里是周期為1/100 s 的計(jì)時(shí)脈沖,可以把100MHz的信號(hào)經(jīng)過100分頻的分頻器三次分頻得到,其中分頻器經(jīng)過兩次分頻得到的信號(hào)還可作為數(shù)碼管掃描電路的時(shí)鐘。
其次,還需對(duì)每一計(jì)數(shù)器設(shè)置清零信號(hào)輸入和對(duì)六個(gè)計(jì)數(shù)器設(shè)置時(shí)鐘使能信號(hào),即計(jì)時(shí)允許信號(hào),以便作為秒表的計(jì)時(shí)起、??刂乒δ?。為了方便控制所有計(jì)數(shù)模塊清零和使能功能設(shè)計(jì)了一個(gè)控制模塊。
最后把所有計(jì)數(shù)器的輸出數(shù)據(jù)通過數(shù)碼管掃描電路模塊和七段譯碼顯示模塊作為輸出,接到實(shí)驗(yàn)箱上的8字?jǐn)?shù)碼顯示電路上就可顯示結(jié)果了。
因此數(shù)字秒表可由三個(gè)分頻器、四個(gè)十進(jìn)制計(jì)數(shù)器(1/100 秒、1/10 秒、1 秒、1分)、兩個(gè)六進(jìn)制計(jì)數(shù)器(10 秒、10 分)、一個(gè)控制器、一個(gè)數(shù)據(jù)選擇器以及七段譯碼顯示器組成,如總體框圖所示。
根據(jù)設(shè)計(jì)思路,本次設(shè)計(jì)就采用模塊化設(shè)計(jì),共分為分頻器模塊(fenpin)、控制模塊(kongzhi)、十進(jìn)制計(jì)數(shù)模塊(cnt10)、六進(jìn)制計(jì)數(shù)模塊(cnt6)、數(shù)碼管掃描模塊(xuanze)、七段譯碼顯示模塊(decl7s)六個(gè)模塊以及圖形式頂層文件。
下面我們分別對(duì)每個(gè)模塊的功能進(jìn)行描述、程序進(jìn)行設(shè)計(jì)以及各個(gè)模塊功能的仿真。