




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)字時(shí)鐘的設(shè)計(jì)
摘要:在這快速開展的年代,時(shí)間對(duì)人們來說是越來越珍貴,在快節(jié)奏的生活時(shí),人們往往忘記了時(shí)間,一旦遇到重要的事情而忘記了時(shí)間,這將會(huì)帶來很大的損失。因此我們需要一個(gè)定時(shí)系統(tǒng)來提醒這些忙碌的人。數(shù)字化的鐘表給人們帶來了極大的方便。近些年,隨著科技的開展和社會(huì)的進(jìn)步,人們對(duì)數(shù)字鐘的要求也越來越高,傳統(tǒng)的時(shí)鐘已不能滿足人們的需求。本設(shè)計(jì)主要研究基于FPGA的數(shù)字鐘,要求時(shí)間以24小時(shí)為一個(gè)周期,顯示時(shí)、分、秒。
關(guān)鍵字:數(shù)字時(shí)鐘,EDA,F(xiàn)PGA,VHDL,Max_Plus_II
引言
本設(shè)計(jì)采用的VHDL是一種全方位的硬件描述語言,具有極強(qiáng)的描述能力,能支持系統(tǒng)行為級(jí)、存放器傳輸級(jí)和邏輯門級(jí)三個(gè)不同層次的設(shè)計(jì);支持結(jié)構(gòu)、數(shù)據(jù)流、行為三種描述形式的混合描述、覆蓋面廣、抽象能力強(qiáng),因此在實(shí)際應(yīng)用中越來越廣泛。ASIC是專用的系統(tǒng)集成電路,是一種帶有邏輯處理的加速處理器。而FPGA是特殊的ASIC芯片,與其他的ASIC芯片相比,它具有設(shè)計(jì)開發(fā)周期短、設(shè)計(jì)制造本錢低、開發(fā)工具先進(jìn)、標(biāo)準(zhǔn)產(chǎn)品無需測(cè)試、質(zhì)量穩(wěn)定以及可實(shí)時(shí)在線檢測(cè)等優(yōu)點(diǎn)。
鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地?cái)U(kuò)展了鐘表原先的報(bào)時(shí)功能。諸如定時(shí)自動(dòng)報(bào)警、定時(shí)啟閉電路、定時(shí)開關(guān)烘箱、通斷動(dòng)力設(shè)備,甚至各種定時(shí)電氣的自動(dòng)啟用等,所有這些,都是以鐘表數(shù)字化為根底的。因此,研究數(shù)字鐘及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。
1.課題相關(guān)技術(shù)的開展
當(dāng)今電子產(chǎn)品正向功能多元化,體積最小化,功耗最低化的方向開展。它與傳統(tǒng)的電子產(chǎn)品在設(shè)計(jì)上的顯著區(qū)別師大量使用大規(guī)模可編程邏輯器件,使產(chǎn)品的性能提高,體積縮小,功耗降低.同時(shí)廣泛運(yùn)用現(xiàn)代計(jì)算機(jī)技術(shù),提高產(chǎn)品的自動(dòng)化程度和競(jìng)爭(zhēng)力,縮短研發(fā)周期。EDA技術(shù)正是為了適應(yīng)現(xiàn)代電子技術(shù)的要求,吸收眾多學(xué)科最新科技成果而形成的一門新技術(shù)。
美國(guó)ALTERA公司的可編程邏輯器件采用全新的結(jié)構(gòu)和先進(jìn)的技術(shù),加上MaxplusII(或最新的QUARTUS)開發(fā)環(huán)境,更具有高性能,開發(fā)周期短等特點(diǎn),十分方便進(jìn)行電子產(chǎn)品的開發(fā)和設(shè)計(jì)。
EDA技術(shù),技術(shù)以大規(guī)??删幊踢壿嬈骷樵O(shè)計(jì)載體,以硬件描述語言為系統(tǒng)邏輯描述主要表達(dá)方式,以計(jì)算機(jī)、大規(guī)??删幊踢壿嬈骷拈_發(fā)軟件及實(shí)驗(yàn)開發(fā)系統(tǒng)為設(shè)計(jì)工具,通過有關(guān)的開發(fā)軟件,自動(dòng)完成用軟件的方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯,邏輯化簡(jiǎn),邏輯分割,邏輯映射,編程下載等工作。最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)。
本設(shè)計(jì)利用VHDL硬件描述語言結(jié)合可編程邏輯器件進(jìn)行的,并通過數(shù)碼管動(dòng)態(tài)顯示計(jì)時(shí)結(jié)果。數(shù)字鐘可以由各種技術(shù)實(shí)現(xiàn),如單片機(jī)等.利用可編程邏輯器件具有其他方式?jīng)]有的特點(diǎn),它具有易學(xué),方便,新穎,有趣,直觀,設(shè)計(jì)與實(shí)驗(yàn)工程成功率高,理論與實(shí)踐結(jié)合緊密,體積小,容量大,I/O口豐富,易編程和加密等特點(diǎn),并且它還具有開放的界面,豐富的設(shè)計(jì)庫(kù),模塊化的工具以及LPM定制等優(yōu)良性能,應(yīng)用非常方便。因此,本設(shè)計(jì)采用可編程邏輯器件實(shí)現(xiàn)。
本設(shè)計(jì)主要研究基于FPGA的數(shù)字鐘,要求時(shí)間以24小時(shí)為一個(gè)周期,顯示年、月、日、時(shí)、分、秒。具有校時(shí)以及報(bào)時(shí)功能,可以對(duì)年、月、日、時(shí)、分及秒進(jìn)行單獨(dú)校對(duì),使其校正到標(biāo)準(zhǔn)時(shí)間。
2.數(shù)字鐘整體設(shè)計(jì)方案
2.1數(shù)字鐘的功能
1〕以24小時(shí)制顯示時(shí)、分、秒計(jì)數(shù);
2〕時(shí)間清零,時(shí)設(shè)置,分設(shè)置功能;
3〕整點(diǎn)報(bào)時(shí)功能。
2.2引腳說明以及設(shè)計(jì)方案
clk為秒脈沖輸入端,由晶振與分頻計(jì)數(shù)器〔CD4060〕組成的脈沖發(fā)生電路提供頻率為1Hz的秒脈沖輸入信號(hào);smclk為動(dòng)態(tài)掃描控制模塊的輸入端,由脈沖發(fā)生電路輸入頻率約1kHz的脈沖信號(hào);hourset、minset和reset分別為時(shí)設(shè)置、分設(shè)置和時(shí)間清零輸入端,連接按鈕開關(guān);a、b、c、d、e、f、g、dp為顯示段碼輸出,接數(shù)碼管的段碼輸入〔led7s6-len7s0〕;sel0、sel1、sel2接SN74LS138N譯碼器的輸入端。
3.可編程邏輯器件FPGA的頂層設(shè)計(jì)
用頂層設(shè)計(jì)采用原理圖輸入設(shè)計(jì)、底層設(shè)計(jì)采用VHDL設(shè)計(jì)的原理圖與VHDL混合設(shè)計(jì)方法設(shè)計(jì)帶整點(diǎn)報(bào)時(shí)功能的數(shù)字鐘,所以此設(shè)計(jì)可分為頂層與底層設(shè)計(jì),共分為六個(gè)模塊,即時(shí)模塊、分模塊、秒模塊、動(dòng)態(tài)掃描控制模塊、段碼譯碼模塊和整點(diǎn)報(bào)時(shí)模塊。
秒模塊主體為60進(jìn)制的計(jì)數(shù)器,daout為向動(dòng)態(tài)掃描控制模塊提供秒的個(gè)位和十位數(shù)據(jù)的信號(hào)。reset為秒清零;enmin為分鐘進(jìn)位,每60秒產(chǎn)生一個(gè)高電平的信號(hào),作為分模塊的時(shí)鐘輸入;clk為秒模塊的時(shí)鐘輸入,接1Hz脈沖信號(hào);min_set為分鐘設(shè)置,低電平是不影響秒模塊工作,當(dāng)它為高電平時(shí),enmin信號(hào)會(huì)隨之產(chǎn)生一個(gè)和clk頻率相同的信號(hào),到達(dá)調(diào)整分鐘的目的。
分模塊主體為60進(jìn)制的計(jì)數(shù)器,daout為向動(dòng)態(tài)掃描控制模塊提供分的個(gè)位和十位數(shù)據(jù)的信號(hào)。Enhour為分鐘進(jìn)位,每60分產(chǎn)生一個(gè)高電平的信號(hào),作為時(shí)模塊的時(shí)鐘輸入;秒計(jì)數(shù)到60時(shí)的進(jìn)位輸出信號(hào)enhour1和分鐘調(diào)整輸入信號(hào)minset,經(jīng)或關(guān)系后接分的脈沖輸入端clk;clk1為時(shí)調(diào)整脈沖,接1Hz脈沖;hour_set為時(shí)鐘設(shè)置,低電平是不影響分模塊工作,當(dāng)它為高電平時(shí),enmin信號(hào)會(huì)隨之產(chǎn)生一個(gè)和clk頻率相同的信號(hào),到達(dá)調(diào)整時(shí)的目的。
時(shí)模塊為一個(gè)24進(jìn)制的計(jì)數(shù)器,daout為向動(dòng)態(tài)掃描控制模塊提供秒的個(gè)位和十位數(shù)據(jù)的信號(hào)。分計(jì)數(shù)到60時(shí)的進(jìn)位輸出信號(hào)enhour1和時(shí)調(diào)整輸入信號(hào)hourset,經(jīng)或關(guān)系后接時(shí)脈沖輸入端clk。daout為向動(dòng)態(tài)掃描控制模塊提供時(shí)的個(gè)位和十位數(shù)據(jù)的信號(hào)。
動(dòng)態(tài)掃描模塊中smclk為動(dòng)態(tài)掃描控制模塊的脈沖輸入,由外部脈沖發(fā)生電路提供,頻率約為1kHz;sel0、sel1、sel2接外部3-8譯碼器74LS138的輸入端A、B、C;sec[6..0]、min[6..0]、hour[5..0]分別為秒模塊、分模塊、時(shí)模塊計(jì)數(shù)段碼輸出控制信號(hào)。該模塊實(shí)現(xiàn)時(shí)間的動(dòng)態(tài)掃描顯示控制。
整點(diǎn)報(bào)時(shí)模塊用于產(chǎn)生整點(diǎn)時(shí)的LED發(fā)光二極管彩燈和報(bào)時(shí)輸出。整點(diǎn)聲音報(bào)時(shí)輸出信號(hào)speak接蜂鳴器輸入,信號(hào)lamp[2..0]控制整點(diǎn)時(shí)產(chǎn)生60秒的LED發(fā)光二極管彩燈閃爍報(bào)時(shí)輸出信號(hào)。
圖2-1頂層電路設(shè)計(jì)原理圖
4.數(shù)字時(shí)鐘的底層模塊設(shè)計(jì)
4.1秒模塊設(shè)計(jì)
圖3-1秒模塊頂層設(shè)計(jì)原理圖
4.1.1秒模塊VHDL程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitysecis
port(clk,reset,min_set:instd_logic;--clk為1Hz的秒脈沖輸入信號(hào),reset為秒清零〔復(fù)位〕信號(hào)
--min_set為分鐘調(diào)整
enmin:outstd_logic;--enmin為秒模塊進(jìn)位輸出
daout:outstd_logic_vector(6downto0));--2n-1≥60,n=7,27=64,分鐘用7位二進(jìn)制數(shù)表示
--daout〔6..4〕為十位,daout〔3..0〕為個(gè)位,60循環(huán)計(jì)數(shù)
endentitysec;
architecturebehaveofsecis
signalcount:std_logic_vector(6downto0);--定義內(nèi)部計(jì)數(shù)節(jié)點(diǎn),60循環(huán)計(jì)數(shù)
signalenmin1,enmin2:std_logic;
--enmin為60秒產(chǎn)生的進(jìn)位,enmin2為調(diào)分鍵產(chǎn)生的向分模塊的進(jìn)位
begin
daout<=count;
enmin2<=(min_setandclk);
enmin<=(enmin1orenmin2);--60秒鐘到和調(diào)分鍵均向分模塊產(chǎn)生進(jìn)位脈沖
process(clk,reset,min_set)
begin
if(reset='0')thencount<="0000000";--檢測(cè)秒模塊的1Hz脈沖上升沿
elsif(clk'eventandclk='1')then
if(count(3downto0)="1001")then--秒的個(gè)位是否到“9〞
ifcount(6downto4)="101"then--秒各位到“9〞后,十位計(jì)數(shù)到“5〞
enmin1<='1';
--秒模塊的60秒進(jìn)位輸出enmin置“1〞,向分模塊產(chǎn)生進(jìn)位
count<="0000000";--秒計(jì)數(shù)值“0000000〞〔零秒〕
else
count<=count+7;
--秒各位到“9〞后,十位計(jì)數(shù)沒到“5〞,那么加“7〞變?yōu)椤?〞,同時(shí)向十位進(jìn)位
endif;
else
count<=count+1;--秒個(gè)位沒計(jì)到“9〞時(shí),秒計(jì)數(shù)值加“1〞
enmin1<='0';--秒模塊的60秒進(jìn)位輸出enmin1置“0〞,不向分模塊進(jìn)位
endif;
endif;
endprocess;
endbehave;
4.2秒模塊的仿真實(shí)現(xiàn)
由圖3-2可以看出clk輸入脈沖信號(hào)時(shí),動(dòng)態(tài)掃描控制模塊daout和count開始啟動(dòng)計(jì)數(shù),此時(shí)分設(shè)置min_set為低電平。在570.0ns時(shí)將min_set設(shè)置為高電平,此刻分進(jìn)位enmin產(chǎn)生與clk相同頻率的信號(hào)脈沖,當(dāng)在593.0.0ns時(shí),min_set為低電平,那么enmin也為低電平〔無脈沖〕。當(dāng)723.0ns時(shí),清零reset設(shè)置為低電平,此刻daout和count都將清零,當(dāng)735.0ns時(shí)reset恢復(fù)為高電平,daout和coutn兩者重新開始計(jì)數(shù)。605.0ns時(shí)daout計(jì)數(shù)到六十,enmin產(chǎn)生脈沖后daout和count清零并重新開始計(jì)數(shù)。
如上所述功能實(shí)現(xiàn)。
圖3-2秒模塊仿真圖
4.3分模塊設(shè)計(jì)
圖3-3分模塊頂層設(shè)計(jì)原理圖
4.3.1分模塊VHDL程序
LIBRARYieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
ENTITYminIS
PORT(clk,clk1,hour_set:INSTD_LOGIC;--clk為分鐘模塊的脈沖輸入信號(hào),接秒模塊的進(jìn)位輸出
--clk1接秒脈沖輸入,hour_set為小時(shí)調(diào)整
enhour:OUTSTD_LOGIC;--enhour為分鐘模塊的進(jìn)位輸出
daout:OUTSTD_LOGIC_VECTOR(6DOWNTO0));
--2n-1≥60,n=7,27=64,分鐘用7位二進(jìn)制數(shù)表示
--daout〔6..4〕為十位,daout〔3..0〕,60循環(huán)計(jì)數(shù)
ENDENTITYmin;
ARCHITECTUREbehaveOFminIS
SIGNALcount:STD_LOGIC_VECTOR(6DOWNTO0);--定義內(nèi)部計(jì)數(shù)節(jié)點(diǎn),60循環(huán)計(jì)數(shù)
SIGNALenhour1,enhour2:STD_LOGIC;
--enhour1為60分鐘產(chǎn)生的進(jìn)位。enhour2為調(diào)時(shí)鍵的脈沖
BEGIN
daout<=count;
enhour2<=(hour_setandclk1);
enhour<=(enhour1orenhour2);--60分鐘到和調(diào)時(shí)鍵均向小時(shí)模塊產(chǎn)生進(jìn)位脈沖
PROCESS(clk)
BEGIN
IF(clk'eventandclk='1')THEN--檢測(cè)分鐘模塊的脈沖上升沿
IF(count(3downto0)="1001")THEN--分鐘的各位是否到“9〞
IFcount(6downto4)="101"THEN--分鐘各位到“9〞后,十位計(jì)數(shù)到“5〞
enhour1<='1';
--分鐘模塊的60分鐘進(jìn)位輸出enhour1置“1〞,向時(shí)模塊產(chǎn)生進(jìn)位
count<="0000000";--分鐘計(jì)數(shù)值回零“0000000〞〔零分〕
ELSE
count<=count+7;
--分鐘各位到“9〞后,十位計(jì)數(shù)沒到“5〞,那么“7〞變?yōu)椤?〞,同時(shí)向十位進(jìn)位
ENDIF;
ELSE
count<=count+1;--分鐘各位沒計(jì)到“9〞時(shí),分鐘計(jì)數(shù)值加“1〞
enhour1<='0';--分鐘模塊的60分鐘進(jìn)位輸出enhour1置“0〞,不向時(shí)模塊進(jìn)位
ENDIF;
ENDIF;
ENDPROCESS;
ENDbehave;
4.3.2分模塊的仿真實(shí)現(xiàn)
由圖3-4可以看出,當(dāng)clk輸入脈沖信號(hào)時(shí),態(tài)掃描控制模塊daout和count開始啟動(dòng)計(jì)數(shù),這時(shí)時(shí)進(jìn)位enhour為低電平,且時(shí)設(shè)置hour_set也為低電平。在1.05us時(shí),將hour_set設(shè)置為高電平,此時(shí)enhour產(chǎn)生與clk1相同的頻率信號(hào)。當(dāng)1.09us時(shí),hour_set恢復(fù)低電平,enhour也變?yōu)榈碗娖健矡o脈沖〕。1.21us時(shí),daout計(jì)數(shù)到60,enhour產(chǎn)生脈沖,daout和count清零并將重新計(jì)數(shù)。
如上所述功能實(shí)現(xiàn)。
圖3-4分模塊仿真圖
4.4時(shí)模塊設(shè)計(jì)
圖3-5時(shí)模塊頂層設(shè)計(jì)原理圖
4.4.1時(shí)模塊VHDL程序
LIBRARYieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
ENTITYhourIS
PORT(clk:INSTD_LOGIC;
daout:OUTSTD_LOGIC_VECTOR(5DOWNTO0));
--2n-1≥24,n=6,26=32,小時(shí)用6位二進(jìn)制數(shù)表示
--daout〔5..4〕為十位,daout〔3..0〕為個(gè)位,24循環(huán)計(jì)數(shù)
ENDENTITYhour;
ARCHITECTUREbehaveOFhourIS
SIGNALcount:STD_LOGIC_VECTOR(5DOWNTO0);--定義內(nèi)部計(jì)數(shù)節(jié)點(diǎn),24循環(huán)計(jì)數(shù)
BEGIN
daout<=count;
PROCESS(clk)
BEGIN
IF(clk'eventandclk='1')THEN--檢測(cè)小時(shí)模塊的脈沖上升沿
IF(count(3downto0)="1001")THEN--小時(shí)的各位是否到“9〞
IF(count<16#23#)THENcount<=count+7;
--小時(shí)各位到“9〞后,計(jì)數(shù)沒到“23〞,那么加“7〞變?yōu)椤?〞,同時(shí)向十位進(jìn)位
ELSEcount<="000000";
--小時(shí)各位到“9〞后,如果計(jì)數(shù)值大于“23〞,那么置小時(shí)為“零〞
ENDIF;
ELSIF(count<16#23#)THENcount<=count+1;
--小時(shí)個(gè)位沒計(jì)到“9〞且計(jì)數(shù)沒到“23〞時(shí),加“1〞
ELSEcount<="000000";--小時(shí)計(jì)數(shù)已到“23〞時(shí),計(jì)數(shù)值回零“000000〞〔零時(shí)〕
ENDIF;
ENDIF;
ENDPROCESS;
ENDbehave;
4.4.2時(shí)模塊的仿真實(shí)現(xiàn)
由圖3-6可以看出,當(dāng)clk輸入脈沖信號(hào)時(shí),動(dòng)態(tài)掃描控制模塊daout和count開始啟動(dòng)計(jì)數(shù)。在970.0ns時(shí),daout和count到達(dá)24,并且從重新開始計(jì)數(shù)。
如上所述功能實(shí)現(xiàn)。
圖3-6時(shí)模塊仿真圖
4.5動(dòng)態(tài)顯示掃描模塊設(shè)計(jì)
圖3-7動(dòng)態(tài)顯示掃描模塊頂層設(shè)計(jì)原理圖
4.5.1動(dòng)態(tài)顯示掃描模塊VHDL程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
useieee.std_logic_arith.all;
entityselmkis
port(clk1:instd_logic;--動(dòng)態(tài)掃描輸入脈沖
sec,min:instd_logic_vector(6downto0);--7位二進(jìn)制數(shù)表示的秒、分計(jì)數(shù)輸入
hour:instd_logic_vector(5downto0);--6位二進(jìn)制數(shù)表示的小時(shí)計(jì)數(shù)輸入
daout:outstd_logic_vector(3downto0);--4位十進(jìn)制碼計(jì)數(shù)輸入
dp:outstd_logic;--時(shí)、分、秒間的間隔“點(diǎn)〞輸出
sel:outstd_logic_vector(2downto0));
--3位數(shù)碼管位選輸出,接外部3-8譯碼器輸出,譯碼輸出再經(jīng)驅(qū)動(dòng)接數(shù)碼管共陰極端
endentityselmk;
architecturebehaveofselmkis
signalcount:std_logic_vector(2downto0);
--定義內(nèi)部計(jì)數(shù)節(jié)點(diǎn),六進(jìn)制循環(huán)計(jì)數(shù)〔6個(gè)數(shù)碼管顯示〕
begin
sel<=count;
process(clk1)
begin
if(clk1'eventandclk1='1')then--檢測(cè)動(dòng)態(tài)掃描輸入脈沖上升沿
if(count>="101")thencount<="000";
elsecount<=count+1;--“000~101〞六進(jìn)制循環(huán)計(jì)數(shù)
endif;
endif;
casecountis
when"000"=>daout<=sec(3downto0);dp<='0';
--“000〞時(shí)選擇“秒的各位〞計(jì)數(shù)值顯示,點(diǎn)不亮
when"001"=>daout(3)<='0';daout(2downto0)<=sec(6downto4);dp<='0';
--“001〞時(shí)選擇“秒的各位〞計(jì)數(shù)值顯示,點(diǎn)不亮
when"010"=>daout<=min(3downto0);dp<='1';
--“010〞時(shí)選擇“分的各位〞計(jì)數(shù)值顯示,點(diǎn)亮
when"011"=>daout(3)<='0';daout(2downto0)<=min(6downto4);dp<='0';
--“011〞時(shí)選擇“分的各位〞計(jì)數(shù)值顯示,點(diǎn)不亮
when"100"=>daout<=hour(3downto0);dp<='1';
--“100〞時(shí)選擇“時(shí)的各位〞計(jì)數(shù)值顯示,點(diǎn)亮
whenothers=>daout(3downto2)<="00";
daout(1downto0)<=hour(5downto4);dp<='0';
--“101〞時(shí)選擇“時(shí)的各位〞計(jì)數(shù)值顯示,點(diǎn)不亮
endcase;
endprocess;
endbehave;
4.5.2動(dòng)態(tài)顯示掃描模塊的仿真實(shí)現(xiàn)
由圖3-8可以看出,當(dāng)clk1輸入脈沖信號(hào)時(shí),隨著信號(hào)的變化,sec的十位、個(gè)位,min的十位、個(gè)位,hour的十位、個(gè)位分別送進(jìn)了daout中。
圖3-8動(dòng)態(tài)顯示掃描模塊頂層設(shè)計(jì)原理圖
4.6段碼譯碼模塊設(shè)計(jì)
圖3-9段碼譯碼頂層設(shè)計(jì)原理圖
4.6.1段碼譯碼模塊VHDL程序
libraryieee;
useieee.std_logic_1164.all;
entitydecl7sis
port(num:instd_logic_vector(3downto0);
led7s:outstd_logic_vector(6downto0));
endentitydecl7s;
architecturebehaveofdecl7sis
begin
process(num)
begin
casenumis
--abcdefg--字形
when"0000"=>led7s<="1111110";
when"0001"=>led7s<="0110000";
when"0010"=>led7s<="1101101";
when"0011"=>led7s<="1111001";
when"0100"=>led7s<="0110011";
when"0101"=>led7s<="1011011";
when"0110"=>led7s<="1011111";
when"0111"=>led7s<="1110000";
when"1000"=>led7s<="1111111";
when"1001"=>led7s<="1111011";
whenothers=>null;
endcase;
endprocess;
endbehave;
4.6.2段碼譯碼模塊的仿真實(shí)現(xiàn)
由圖3-10可以看出,此模塊是將掃描模塊的dout信號(hào)輸出的BCD碼轉(zhuǎn)換為數(shù)碼管可以顯示的段碼。
如上所述功能實(shí)現(xiàn)。
圖3-10段碼譯碼模塊時(shí)序仿真圖
4.7整點(diǎn)報(bào)時(shí)模塊設(shè)計(jì)
圖3-11整點(diǎn)報(bào)時(shí)模塊頂層設(shè)計(jì)原理圖
4.7.1整點(diǎn)報(bào)時(shí)模塊VHDL程序
LIBRARYieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitybsmkis
port(clk:instd_logic;--脈沖輸入,可接1Hz秒脈沖輸入,用于整點(diǎn)聲報(bào)時(shí)發(fā)出間斷報(bào)時(shí)響聲
dain:instd_logic_vector(6downto0);--分鐘模塊計(jì)數(shù)輸入
speak:outstd_logic;--整點(diǎn)聲報(bào)時(shí)輸出,外接蜂鳴器
lamp:outstd_logic_vector(2downto0));
--整點(diǎn)光報(bào)時(shí)輸出,可外接紅、藍(lán)、黃三個(gè)發(fā)光二極管
endentitybsmk;
architecturebehaveofbsmkis
signalcount:std_logic_vector(1downto0);--定義內(nèi)部計(jì)數(shù)節(jié)點(diǎn)
begin
process(clk)
begin
speak<=count(0)andclk;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025丹江口水力發(fā)電廠面向社會(huì)招聘員工16人(湖北)筆試參考題庫(kù)附帶答案詳解
- 2025中國(guó)東航東航數(shù)科校園招聘筆試參考題庫(kù)附帶答案詳解
- 2025年上半年安徽省銅陵市人民政府國(guó)資產(chǎn)監(jiān)督管理委員會(huì)招聘編外人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 汽車車載網(wǎng)絡(luò)控制技術(shù) 吉利帝豪EV汽車車載網(wǎng)絡(luò)系統(tǒng)故障檢修教案
- 2025年上半年安徽省含山縣銅閘鎮(zhèn)招聘政府人員筆試易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽省合肥市瑤海區(qū)事業(yè)單位考試招聘易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽省六安市金安區(qū)部分事業(yè)單位招聘130人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽無為縣事業(yè)單位招考人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安徽兩江控股集團(tuán)限公司公開招聘工作人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年安慶市岳西縣事業(yè)單位招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 壓力測(cè)試報(bào)告
- 危險(xiǎn)化學(xué)品生產(chǎn)企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化標(biāo)準(zhǔn)2024
- 船舶建造流程
- 減鹽防控高血壓培訓(xùn)課件
- 小學(xué)信息技術(shù)四年級(jí)上冊(cè)第2課《我的小簡(jiǎn)歷》說課稿
- 用人部門面試官培訓(xùn)
- 《現(xiàn)代家政導(dǎo)論》電子教案 2.1模塊二項(xiàng)目一家庭及功能認(rèn)知
- 醫(yī)學(xué)教程 《失語癥治療》
- 鋰離子電池制造中的電池市場(chǎng)動(dòng)態(tài)分析考核試卷
- 胸腔閉式引流護(hù)理-中華護(hù)理學(xué)會(huì)團(tuán)體標(biāo)準(zhǔn)
- 《智慧運(yùn)輸運(yùn)營(yíng)》全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論