2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩20頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)說明書</b></p><p>  課程:EDA技術(shù)基礎(chǔ)</p><p><b>  組號(hào):B8組</b></p><p>  題 目:病房呼叫系統(tǒng)</p><p><b>  組 員:</b></p><p

2、>  專 業(yè):電子信息科學(xué)與技術(shù)</p><p><b>  指導(dǎo)教師:</b></p><p><b>  2010年1月8日</b></p><p><b>  B8組整體設(shè)計(jì)報(bào)告</b></p><p><b>  目 錄</b><

3、;/p><p>  一、課程設(shè)計(jì)思路………………………………………………………1</p><p>  1、設(shè)計(jì)題目……………………………………………………1</p><p>  2、設(shè)計(jì)要求……………………………………………………1</p><p>  3、設(shè)計(jì)想法……………………………………………………1</p><p>

4、;  二、課程設(shè)計(jì)過程………………………………………………………2</p><p>  1、模塊分配……………………………………………………2</p><p>  2、模塊具體設(shè)計(jì)………………………………………………2</p><p>  三、課程設(shè)計(jì)綜合介紹…………………………………………………4</p><p>  1、整體原理圖…………

5、………………………………………4</p><p>  2、引腳配置……………………………………………………5</p><p>  3、整體設(shè)計(jì)實(shí)現(xiàn)………………………………………………5</p><p>  參考文獻(xiàn)…………………………………………………………………6</p><p>  附件(病房呼叫系統(tǒng)整體程序)……………………………………

6、…7</p><p><b>  一、課程設(shè)計(jì)思路</b></p><p>  一)、設(shè)計(jì)題目:病房呼叫系統(tǒng)</p><p><b>  二)、設(shè)計(jì)要求:</b></p><p>  用8個(gè)開關(guān)模擬8個(gè)病房的呼叫輸入信號(hào),1號(hào)優(yōu)先級(jí)最高;1~8優(yōu)先級(jí)依次降低;</p><p>

7、;  用一個(gè)數(shù)碼管顯示呼叫信號(hào)的號(hào)碼;沒信號(hào)時(shí)顯示0;有多個(gè)信號(hào)呼叫時(shí),顯示優(yōu)先級(jí)最高的呼叫號(hào)(其他呼叫用指示燈顯示);用四個(gè)數(shù)碼管顯示呼叫等待時(shí)間(mm ss)。</p><p>  凡有呼叫發(fā)出5秒的提示聲;呼叫3分鐘未處理輸出報(bào)警信號(hào)。</p><p>  發(fā)揮部分:對(duì)低優(yōu)先級(jí)的呼叫進(jìn)行存儲(chǔ),處理完高優(yōu)先級(jí)的呼叫,再進(jìn)行低優(yōu)先級(jí)呼叫的處理。</p><p>&

8、lt;b>  三)、設(shè)計(jì)想法:</b></p><p>  1、整體設(shè)計(jì)思路:根據(jù)設(shè)計(jì)要求,我們將設(shè)計(jì)分為幾個(gè)模塊來設(shè)計(jì),分別為:鎖存模塊、選優(yōu)模塊(對(duì)病房選優(yōu))、選優(yōu)模塊2(對(duì)復(fù)位選優(yōu))、計(jì)時(shí)模塊、顯示模塊、蜂鳴模塊。</p><p><b>  2、整體設(shè)計(jì)流程:</b></p><p> ?。?)、鎖存器:對(duì)病房呼叫的信

9、號(hào)進(jìn)行存儲(chǔ)并處理信號(hào),需要用一個(gè)對(duì)所有的呼叫信號(hào)進(jìn)行存儲(chǔ)的鎖存器。</p><p> ?。?)、數(shù)據(jù)選擇器(選優(yōu)):對(duì)發(fā)出呼叫的病房進(jìn)行優(yōu)先選擇,選擇優(yōu)先級(jí)最高的一個(gè)病房號(hào),病房號(hào)從1到8優(yōu)先級(jí)一次降低。</p><p> ?。?)、數(shù)據(jù)選擇器2(選優(yōu)2):對(duì)時(shí)間控制信號(hào)進(jìn)優(yōu)先選擇,這樣就是的數(shù)碼管顯示器顯示的時(shí)間為當(dāng)前優(yōu)先級(jí)最高的病房所呼叫的時(shí)間。</p><p>

10、; ?。?)、計(jì)時(shí)器:病房呼叫系統(tǒng)中要求凡有呼叫發(fā)出,呼叫3分種未處理輸出報(bào)警信號(hào),即要求一個(gè)模塊對(duì)呼叫時(shí)間計(jì)時(shí),因此我們?cè)O(shè)計(jì)一個(gè)分秒計(jì)時(shí)器,對(duì)呼叫時(shí)間計(jì)時(shí)。實(shí)驗(yàn)箱中時(shí)鐘頻率為20MHZ,故計(jì)時(shí)部分需加入分頻,我們使之為1s。</p><p> ?。?)、顯示器:用一個(gè)數(shù)碼管顯示呼叫信號(hào)的號(hào)碼,用四個(gè)數(shù)碼管顯示呼叫等待時(shí)間(mm ss),設(shè)計(jì)一七段數(shù)碼顯示器,數(shù)碼片選為低電平有效,掃描信號(hào)定為1KHZ。</

11、p><p><b>  二、課程設(shè)計(jì)過程</b></p><p><b>  一)、模塊分配</b></p><p><b> ?。烘i存模塊</b></p><p> ?。哼x優(yōu)模塊、對(duì)復(fù)位選優(yōu)模塊</p><p><b> ?。河?jì)時(shí)模塊</b

12、></p><p><b> ?。猴@示模塊</b></p><p> ?。哼B接模塊、蜂鳴器模塊</p><p><b>  二)、模塊具體設(shè)計(jì)</b></p><p>  鎖存模塊:由于有8個(gè)病房所以設(shè)計(jì)了8個(gè)輸入信號(hào)且高電平時(shí)為信號(hào)輸入,另外考慮到時(shí)間模塊顯示的是當(dāng)前等待時(shí)間,所以小組討論后

13、決定時(shí)間顯示當(dāng)前等待時(shí)間為最好,所以在鎖存模塊,把復(fù)位加到鎖存模塊,高電平的時(shí)候表示復(fù)位不工作,低電平的時(shí)候表示復(fù)位。鎖存器的一個(gè)輸入信號(hào)與LED燈相連,使得有呼叫信號(hào)時(shí),與病房相對(duì)應(yīng)的燈亮。另外一個(gè)相同的輸出信號(hào)連接選優(yōu)器,對(duì)信號(hào)進(jìn)行選優(yōu),還有一個(gè)相同輸出信號(hào)控制計(jì)時(shí)模塊中的SP信號(hào)。</p><p>  選優(yōu)模塊:由設(shè)計(jì)要求,數(shù)碼管要顯示優(yōu)先級(jí)最高的病房的呼叫信號(hào),所以我們須得對(duì)病房呼叫信號(hào)進(jìn)行選優(yōu),還考慮到

14、對(duì)時(shí)間的優(yōu)先級(jí)的問題,所以設(shè)計(jì)了兩個(gè)優(yōu)先輸出信號(hào)。程序功能部分按優(yōu)先病房號(hào)順序依次輸出BCD碼代表的1、2、3、4、5、6、7、8.</p><p>  選優(yōu)2:考慮到復(fù)位鍵一一對(duì)應(yīng)的問題,我們的時(shí)間模塊又只用了一個(gè),顯示當(dāng)前最優(yōu)先病房的等待時(shí)間,所以選優(yōu)2模塊連在選優(yōu)模塊的后面以及和8個(gè)位寬的復(fù)位信號(hào)相連,然后通過選優(yōu)模塊,使得輸出地復(fù)位信號(hào)為當(dāng)前最優(yōu)先的病房所對(duì)應(yīng)的復(fù)位信號(hào)。鎖存器模塊的一個(gè)輸出信號(hào)也在這時(shí)進(jìn)

15、行選優(yōu),選出來的優(yōu)先級(jí)最高的信號(hào)與時(shí)間模塊中的SP信號(hào)對(duì)應(yīng)。</p><p>  計(jì)時(shí)模塊:由設(shè)計(jì)要求計(jì)時(shí)用四個(gè)數(shù)碼管顯示mmss, 所以時(shí)間方面采用的是以秒進(jìn)位,實(shí)驗(yàn)箱中的時(shí)間頻率為20MHZ,所以選擇了0:20000000即一秒的分頻,另外由于有呼叫信號(hào)時(shí),SP=1,我們得立即計(jì)時(shí),所以定義了每個(gè)1秒之內(nèi)出現(xiàn)一個(gè)上升沿,當(dāng)上升沿到來時(shí)時(shí)間加計(jì)1s,另外mmss之中前一個(gè)m代表的是分的十位,后一個(gè)m代表的是分的

16、個(gè)位,前一個(gè)s代表的是秒的十位,后一個(gè)s代表的是秒的個(gè)位。</p><p>  顯示模塊:顯示模塊所要顯示的就是優(yōu)先級(jí)最高的呼叫病房的號(hào)碼以及呼叫等待的時(shí)間mmss,所以在模塊的設(shè)計(jì)當(dāng)中,我們用中間的六個(gè)數(shù)碼管依次顯示當(dāng)前最優(yōu)先呼叫病房號(hào),分的十位,分的個(gè)位,再一個(gè)數(shù)碼管顯示一橫杠,和秒計(jì)位區(qū)分開來。在依次是秒的十位,秒的個(gè)位。</p><p>  連接模塊:由于各個(gè)模塊成功之后進(jìn)行頂層設(shè)

17、計(jì)時(shí),時(shí)間模塊和蜂鳴器模塊的位寬不相等,故我設(shè)計(jì)了一個(gè)連接模塊,使得兩模塊能夠順利銜接起來。連接模塊的輸出部分和時(shí)間模塊的mmss各部分相互對(duì)應(yīng),模塊輸出部分位寬的15-12位與記秒的個(gè)位的3-0位對(duì)應(yīng),位寬的11-8位與記秒的十位的3-0相對(duì)應(yīng),位寬的7-4位與記分的個(gè)位的3-0相對(duì)應(yīng),位寬的3-0位與記分的十位的3-0位相對(duì)應(yīng)。</p><p>  蜂鳴器模塊:考慮到計(jì)時(shí)后發(fā)出5秒的提示聲以及燈亮3分鐘后進(jìn)行

18、報(bào)警,所以我設(shè)計(jì)的報(bào)警器模塊和時(shí)間的鏈接模塊是聯(lián)系起來的,當(dāng)輸入為0000 0001 0000 0000表示的是1秒,0000 0010 0000 0000表示的是2秒,以此類推,當(dāng)表示的時(shí)間是1-5秒時(shí)令蜂鳴器響,此時(shí)輸出為低電平,表是的是蜂鳴器工作。當(dāng)時(shí)間在6秒到3分鐘之間的時(shí)候,編寫程序另輸出為高電平,此時(shí)蜂鳴器不工作。超過三分鐘時(shí)再令蜂鳴器工作5秒,進(jìn)行報(bào)警工作,此時(shí)已經(jīng)達(dá)到設(shè)計(jì)要求。 </p><p>

19、;  三、課程設(shè)計(jì)綜合介紹</p><p>  我們對(duì)這個(gè)模塊剛開始設(shè)計(jì)了和現(xiàn)在不同的方案,然后頂層設(shè)計(jì)時(shí)發(fā)現(xiàn)并不好實(shí)現(xiàn),而且連接之后模塊也比較復(fù)雜,所以我們重新思考之后就有了現(xiàn)在模塊的初稿,但是在頂層設(shè)定好之后,跑實(shí)驗(yàn)箱是顯示的結(jié)果并不如預(yù)期的,多次調(diào)試沒出結(jié)果之后,我選擇了排除錯(cuò)誤,首先從自身下手,我把頂層的連接改成了用系統(tǒng)框圖表示,選它的優(yōu)點(diǎn)是比較直觀,設(shè)想正確的話基本上不會(huì)出現(xiàn)什么錯(cuò)誤,所以,當(dāng)問題再次出

20、現(xiàn)時(shí)我考慮到了每個(gè)模塊的邏輯問題,經(jīng)過一個(gè)一個(gè)找出現(xiàn)的問題,從時(shí)間模塊的SP的高低電平的修改,在到蜂鳴器和時(shí)間表示對(duì)應(yīng)的修改,在到對(duì)選優(yōu)模塊最后執(zhí)行語(yǔ)句YOU歸零的修改,解決了計(jì)時(shí)器一直計(jì)時(shí)、蜂鳴器不工作、病房顯示號(hào)不歸零等問題,終于圓滿的完成了實(shí)驗(yàn)的要求。</p><p>  一)、病房呼叫系統(tǒng)框圖如下:</p><p><b>  引腳配置如圖:</b></

21、p><p>  二)、綜合引腳配置如下:</p><p>  三)、整體設(shè)計(jì)實(shí)現(xiàn)描述:</p><p>  實(shí)驗(yàn)箱上有8個(gè)7段數(shù)碼管、16個(gè)用戶LED燈(8個(gè)大LED燈,8個(gè)小LED燈)、16個(gè)開關(guān)量輸入端口、8個(gè)撥碼開關(guān)、 蜂鳴器等。工程引腳鎖定下載完后,將其下載進(jìn)FPGA中,進(jìn)行硬件測(cè)試。具體實(shí)現(xiàn)如下:實(shí)驗(yàn)箱中有8個(gè)7段數(shù)碼管,我們只用到了其中的6個(gè),除前兩個(gè)外從左

22、到右分別顯示:病房號(hào)碼、minitue2、minitue1、——(橫杠)、second2、 second1。對(duì)應(yīng)病房號(hào)指示燈我們用8個(gè)小LED。接通電源,計(jì)時(shí)程序已下載進(jìn)實(shí)驗(yàn)箱,蜂鳴器開始時(shí)不響,6個(gè)數(shù)碼管顯示000--00,撥碼開關(guān)從SW1-SW7依次表示的是病房號(hào)1-7,當(dāng)按下?lián)艽a開關(guān)SW1時(shí)表示2號(hào)病房開始計(jì)時(shí),蜂鳴器接著響5秒鐘然后不響,到時(shí)間記為三分鐘時(shí)又開始報(bào)警。當(dāng)同時(shí)按開關(guān)SW2與SW3時(shí),病房號(hào)顯示的還是2,因?yàn)椴》?的

23、優(yōu)先級(jí)比病房三的要高,另外病房相應(yīng)的撥碼開關(guān)打開后,相應(yīng)的指示燈也開始亮,小燈從左到右依次顯示優(yōu)先級(jí)從低到高的8個(gè)病房的呼叫情況。我們的實(shí)驗(yàn)的一個(gè)特色是設(shè)置了8個(gè)復(fù)位信號(hào),我們主要考慮到一個(gè)實(shí)際問題,每一個(gè)復(fù)位鍵對(duì)應(yīng)了當(dāng)時(shí)優(yōu)先級(jí)最高的一個(gè)病房的燈控和時(shí)間控制,當(dāng)護(hù)士去處理優(yōu)先級(jí)最高病房的呼叫信號(hào)</p><p><b>  參考文獻(xiàn)</b></p><p>  FPG

24、A實(shí)驗(yàn)指導(dǎo)書(5萬門).doc </p><p>  EDA技術(shù)與VHDL 清華大學(xué)出版社 黃繼業(yè) </p><p>  www.eetop.cn</p><p>  (VHDL_與數(shù)字電路設(shè)計(jì)</p><p>  硬件語(yǔ)言描述與數(shù)字邏輯電路設(shè)計(jì) 侯伯亨 、顧新 編著)</p><p><b>  附件

25、:</b></p><p>  病房呼叫系統(tǒng)整體程序</p><p><b>  一、鎖存器</b></p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  ENTITY SUOCUNQI IS&

26、lt;/p><p>  PORT(REST:IN STD_LOGIC_VECTOR(7 DOWNTO 0); </p><p>  SIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p>  SOUT1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p>  SOUT2

27、:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p>  SOUT3:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p>  END SUOCUNQI;</p><p>  ARCHITECTURE bhv OF SUOCUNQI IS</p><p>  SIGNAL SOU

28、T:STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  PROCESS(REST,SIN)</p><p><b>  BEGIN</b></p><p>  IF REST(0)='1' AND SIN(0

29、)='0' THEN SOUT(0)<='1';</p><p>  ELSE SOUT(0)<='0';</p><p><b>  END IF;</b></p><p>  IF REST(1)='1' AND SIN(1)='0' THEN S

30、OUT(1)<='1';</p><p>  ELSE SOUT(1)<='0';</p><p><b>  END IF;</b></p><p>  IF REST(2)='1' AND SIN(2)='0' THEN SOUT(2)<='1'

31、;;</p><p>  ELSE SOUT(2)<='0';</p><p><b>  END IF;</b></p><p>  IF REST(3)='1' AND SIN(3)='0' THEN SOUT(3)<='1';</p><p&g

32、t;  ELSE SOUT(3)<='0';</p><p><b>  END IF;</b></p><p>  IF REST(4)='1' AND SIN(4)='0' THEN SOUT(4)<='1';</p><p>  ELSE SOUT(4)<=

33、'0';</p><p><b>  END IF;</b></p><p>  IF REST(5)='1' AND SIN(5)='0' THEN SOUT(5)<='1';</p><p>  ELSE SOUT(5)<='0';</p>

34、;<p><b>  END IF;</b></p><p>  IF REST(6)='1' AND SIN(6)='0' THEN SOUT(6)<='1';</p><p>  ELSE SOUT(6)<='0';</p><p><b>

35、;  END IF;</b></p><p>  IF REST(7)='1' AND SIN(7)='0' THEN SOUT(7)<='1';</p><p>  ELSE SOUT(7)<='0';</p><p><b>  END IF;</b>

36、</p><p>  END PROCESS;</p><p>  SOUT1<=SOUT;</p><p>  SOUT2<=SOUT;</p><p>  SOUT3<=SOUT;</p><p>  END ARCHITECTURE bhv;</p><p><b&

37、gt;  二、選優(yōu)模塊</b></p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  ENTITY XUANYOU IS</p><p>  PORT(SOUT:IN STD_LOGIC_VECTOR(7 DOWNTO 0);</p&

38、gt;<p>  YOU1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  YOU2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p>  END XUANYOU;</p><p>  ARCHITECTURE bhv OF XUANYOU IS</p><

39、p>  SIGNAL YOU:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  PROCESS(SOUT,YOU)</p><p><b>  BEGIN</b></p><p>  IF SOUT(0)='

40、1' THEN YOU<="0001";</p><p>  ELSE IF SOUT(1)='1' THEN YOU<="0010";</p><p>  ELSE IF SOUT(2)='1' THEN YOU<="0011";</p><p>

41、  ELSE IF SOUT(3)='1' THEN YOU<="0100";</p><p>  ELSE IF SOUT(4)='1' THEN YOU<="0101";</p><p>  ELSE IF SOUT(5)='1' THEN YOU<="0110"

42、;;</p><p>  ELSE IF SOUT(6)='1' THEN YOU<="0111";</p><p>  ELSE IF SOUT(7)='1' THEN YOU<="1000";</p><p>  ELSE YOU1<="0000";&l

43、t;/p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b

44、>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><

45、;p>  YOU1<=YOU;</p><p>  YOU2<=YOU;</p><p>  END ARCHITECTURE bhv;</p><p><b>  三、計(jì)時(shí)選優(yōu)模塊</b></p><p>  LIBRARY IEEE;</p><p>  USE IEEE.S

46、TD_LOGIC_1164.ALL;</p><p>  ENTITY XUANYOU2 IS</p><p>  PORT(REST:IN STD_LOGIC_VECTOR(7 DOWNTO 0); </p><p>  SOUT3:IN STD_LOGIC_VECTOR(7 DOWNTO 0); </p><p>  YOU

47、1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  ZQ:OUT STD_LOGIC;</p><p>  LJ:OUT STD_LOGIC);</p><p>  END XUANYOU2;</p><p>  ARCHITECTURE bhv OF XUANYOU2 IS</p><

48、;p><b>  BEGIN</b></p><p>  PROCESS(YOU1)</p><p><b>  BEGIN</b></p><p>  IF YOU1="0001" THEN LJ<=REST(0);</p><p>  ELSE IF YOU1=&

49、quot;0010" THEN LJ<=REST(1);</p><p>  ELSE IF YOU1="0011" THEN LJ<=REST(2);</p><p>  ELSE IF YOU1="0100" THEN LJ<=REST(3);</p><p>  ELSE IF YOU1=&q

50、uot;0101" THEN LJ<=REST(4);</p><p>  ELSE IF YOU1="0110" THEN LJ<=REST(5);</p><p>  ELSE IF YOU1="0111" THEN LJ<=REST(6);</p><p>  ELSE IF YOU1=&qu

51、ot;1000" THEN LJ<=REST(7);</p><p><b>  END IF; </b></p><p><b>  END IF; </b></p><p><b>  END IF; </b></p><p><b>  END

52、 IF; </b></p><p><b>  END IF; </b></p><p><b>  END IF; </b></p><p><b>  END IF; </b></p><p>  END IF; </p><p

53、>  END PROCESS;</p><p>  PROCESS(SOUT3)</p><p><b>  BEGIN</b></p><p>  IF YOU1="0001" THEN ZQ<=SOUT3(0);</p><p>  ELSE IF YOU1="0010&qu

54、ot; THEN ZQ<=SOUT3(1);</p><p>  ELSE IF YOU1="0011" THEN ZQ<=SOUT3(2);</p><p>  ELSE IF YOU1="0100" THEN ZQ<=SOUT3(3);</p><p>  ELSE IF YOU1="0101&

55、quot; THEN ZQ<=SOUT3(4);</p><p>  ELSE IF YOU1="0110" THEN ZQ<=SOUT3(5);</p><p>  ELSE IF YOU1="0111" THEN ZQ<=SOUT3(6);</p><p>  ELSE IF YOU1="100

56、0" THEN ZQ<=SOUT3(7);</p><p><b>  END IF; </b></p><p><b>  END IF; </b></p><p><b>  END IF; </b></p><p><b>  END IF;

57、</b></p><p><b>  END IF; </b></p><p><b>  END IF; </b></p><p><b>  END IF; </b></p><p>  END IF; </p><p> 

58、 END PROCESS; </p><p>  END ARCHITECTURE bhv;</p><p><b>  四、時(shí)間模塊</b></p><p>  LIBRARY IEEE; </p><p>  USE IEEE.STD_LOGIC_1164.ALL</p><p>  USE

59、 IEEE.STD_LOGIC_UNSIGNED.ALL</p><p>  ENTITY TIME IS</p><p>  PORT(REST,SP,CLK :IN STD_LOGIC;</p><p>  SECOND1,SECOND2,MINITUE1,MINITUE2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p&

60、gt;<p><b>  END TIME;</b></p><p>  ARCHITECTURE ONE OF TIME IS</p><p>  SIGNAL TIMECLK,MINI:STD_LOGIC;</p><p>  SIGNAL SEC1,SEC2:STD_LOGIC_VECTOR(3 DOWNTO 0);<

61、/p><p>  SIGNAL MINI1,MINI2:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  MINITUE1(3 DOWNTO 0)<=MINI1(3 DOWNTO 0);MINITUE2(3 DOWNTO 0)<=MINI2(3 DOWNTO

62、0);</p><p>  SECOND1(3 DOWNTO 0)</p><p>  PROCESS(CLK,SP)</p><p>  VARIABLE CNT:INTEGER RANGE 0 TO 20000000;--分頻 1S</p><p><b>  BEGIN</b></p><p&g

63、t;  IF CLK'EVENT AND CLK='1'AND SP='1' THEN CNT:=CNT+1;</p><p>  IF CNT<10000000 THEN TIMECLK<='1';</p><p>  ELSIF CNT<20000000 THEN TIMECLK<='0';

64、</p><p>  ELSE CNT:=0;TIMECLK<='0';</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  -----

65、---------</p><p>  PROCESS(TIMECLK,REST) --計(jì)時(shí)部分程序</p><p><b>  BEGIN </b></p><p>  IF(REST='0') THEN </p><p>  MINI2 <="0000"; MINI1 <

66、;="0000"; SEC2<="0000"; SEC1<="0000";</p><p>  ELSIF (TIMECLK'EVENT AND TIMECLK='1')THEN --檢驗(yàn)時(shí)鐘上升沿</p><p>  IF SEC1<"1001"THEN SEC1&l

67、t;=SEC1+1;</p><p><b>  ELSE</b></p><p>  SEC1<="0000";</p><p>  IF SEC2<"0101"THEN SEC2<=SEC2+1;</p><p><b>  ELSE</b&g

68、t;</p><p>  SEC2<="0000";</p><p>  IF MINI1<"1001"THEN MINI1<=MINI1+1;</p><p><b>  ELSE</b></p><p>  MINI1<="0000"

69、;</p><p>  IF MINI2<"0101"THEN MINI2<=MINI2+1;</p><p><b>  ELSE</b></p><p>  MINI2<="0000";</p><p><b>  END IF;</b>

70、</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  E

71、ND PROCESS; </p><p><b>  END ONE;</b></p><p><b>  五、連接模塊</b></p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p> 

72、 ENTITY SQU IS</p><p>  PORT(SECOND1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SECOND2:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  MINITUE1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p>

73、<p>  MINITUE2:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  JISHI:OUT STD_LOGIC_VECTOR(15 DOWNTO 0));</p><p><b>  END SQU;</b></p><p>  ARCHITECTURE ONE OF SQU IS<

74、/p><p><b>  BEGIN</b></p><p>  JISHI(15 DOWNTO 12)<=SECOND1;</p><p>  JISHI(11 DOWNTO 8)<=SECOND2;</p><p>  JISHI(7 DOWNTO 4)<=MINITUE1;</p>&l

75、t;p>  JISHI(3 DOWNTO 0)<=MINITUE2;</p><p>  END ARCHITECTURE ONE;</p><p><b>  六、 蜂鳴模塊</b></p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL

76、;</p><p>  ENTITY FENGMING IS</p><p>  PORT( </p><p>  BCD:IN STD_LOGIC_VECTOR(15 DOWNTO 0);</p><p>  MING:OUT STD_LOGIC);</p><p>  END FENGMING;<

77、/p><p>  ARCHITECTURE bhv OF FENGMING IS</p><p>  SIGNAL ING:STD_LOGIC;</p><p><b>  BEGIN</b></p><p>  PROCESS(BCD)</p><p><b>  BEGIN</b&

78、gt;</p><p>  IF BCD="0000000000000000" THEN ING<='1';</p><p>  ELSE IF BCD="0001000000000000" THEN ING<='0';</p><p>  ELSE IF BCD="001

79、0000000000000" THEN ING<='0';</p><p>  ELSE IF BCD="0011000000000000" THEN ING<='0';</p><p>  ELSE IF BCD="0100000000000000" THEN ING<='0

80、9;;</p><p>  ELSE IF BCD="0101000000000000" THEN ING<='0';</p><p>  ELSE ING<='1';</p><p>  IF BCD="0000000000110000" THEN ING<='0&#

81、39;;</p><p>  ELSE IF BCD="0001000000110000" THEN ING<='0'; </p><p>  ELSE IF BCD="0010000000110000" THEN ING<='0';</p><p>  ELSE IF BCD=&

82、quot;0011000000110000" THEN ING<='0';</p><p>  ELSE IF BCD="0100000000110000" THEN ING<='0';</p><p><b>  END IF;</b></p><p><b>

83、;  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b><

84、/p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b&g

85、t;  END IF;</b></p><p>  MING<=ING;</p><p>  END PROCESS;</p><p>  END ARCHITECTURE bhv;</p><p><b>  七、顯示模塊</b></p><p>  USE IEEE.STD

86、_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  USE IEEE.STD_LOGIC_ARITH.ALL;</p><p>  ENTITY DISPLAY IS</p><p><b>  PORT(</b></p>

87、<p>  CLK:IN STD_LOGIC;</p><p>  SECOND1,SECOND2,MINITUE1,MINITUE2:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  YOU:IN STD_LOGIC_VECTOR(3 DOWNTO 0);--顯示病房</p><p>  DISP:OUT STD_

88、LOGIC_VECTOR(7 DOWNTO 0);--顯示代碼</p><p>  LEDCS:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--數(shù)碼管片選</p><p><b>  );</b></p><p>  END DISPLAY;</p><p>  ARCHITECTURE ONE OF

89、 DISPLAY IS</p><p>  SIGNAL CLK_1K:STD_LOGIC; </p><p>  SIGNAL DATA:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  CLK_1KHZ:PROCESS(CLK)--產(chǎn)生1k

90、的掃描信號(hào)</p><p>  VARIABLE CNT:INTEGER RANGE 0 TO 20000;</p><p><b>  BEGIN</b></p><p>  IF RISING_EDGE(CLK)THEN CNT:=CNT+1;</p><p>  IF CNT<10000THEN CLK_1K

91、<='1';</p><p>  ELSIF CNT<20000THEN CLK_1K<='0';</p><p>  ELSE CNT:=0;CLK_1K<='0';</p><p><b>  END IF;</b></p><p><b&

92、gt;  END IF;</b></p><p>  END PROCESS;</p><p>  PROCESS (CLK_1K) --顯示</p><p>  VARIABLE CNT2:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  VARIABLE CNT3:INTEGER RANGE 0

93、 TO 2;</p><p>  VARIABLE CNT:INTEGER RANGE 0 TO 2500000;</p><p><b>  BEGIN</b></p><p>  IF CLK_1K'EVENT AND CLK_1K='1'THEN CNT2:=CNT2+1;</p><p>

94、  IF CNT2="0001"THEN </p><p>  LEDCS<="00010000";</p><p>  DATA<=MINITUE2;</p><p>  ELSIF CNT2="0010" THEN</p><p>  LEDCS<="

95、00001000";</p><p>  DATA<=MINITUE1; </p><p>  ELSIF CNT2="0011" THEN</p><p>  LEDCS<="00000100";</p><p>  DATA<="1010"; <

96、;/p><p>  ELSIF CNT2="0100" THEN </p><p>  LEDCS<="00000010";</p><p>  DATA<=SECOND2;</p><p>  ELSIF CNT2="0101" THEN</p><p&

97、gt;  LEDCS<="00000001";</p><p>  DATA<=SECOND1;</p><p>  ELSIF CNT2="0110" THEN </p><p>  LEDCS<="00100000";</p><p>  DATA<=YO

98、U; </p><p>  CNT2:="0000";</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  PROCESS(DATA)&l

99、t;/p><p><b>  BEGIN</b></p><p>  CASE DATA IS</p><p>  WHEN "0000"=>DISP<="11000000";--0</p><p>  WHEN "0001"=>DISP<=

100、"11111001";--1</p><p>  WHEN "0010"=>DISP<="10100100";--2</p><p>  WHEN "0011"=>DISP<="10110000";--3</p><p>  WHEN &quo

101、t;0100"=>DISP<="10011001";--4</p><p>  WHEN "0101"=>DISP<="10010010";--5</p><p>  WHEN "0110"=>DISP<="10000010";--6</p

102、><p>  WHEN "0111"=>DISP<="11111000";--7</p><p>  WHEN "1000"=> DISP <="10000000";--8</p><p>  WHEN "1001"=> DISP <=

103、"10010000";--9</p><p>  WHEN "1010"=> DISP <="10111111";--間隔橫杠</p><p>  WHEN "1011"=> DISP <="10111111";--間隔橫杠</p><p> 

104、 WHEN "1100"=> DISP <="11111111";--超出范圍就不顯示停住,直到正確為止</p><p>  WHEN OTHERS=>NULL; ---千萬注意?。。。。?!不能為11111111,否則出錯(cuò),會(huì)有空顯示產(chǎn)生</p><p><b>  END CASE;</b></p>

105、;<p>  END PROCESS;</p><p><b>  END ONE;</b></p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;&

106、lt;/p><p>  USE IEEE.STD_LOGIC_ARITH.ALL;</p><p>  ENTITY XITONG IS</p><p>  PORT ( SIN_AIN: IN STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p>  RST_AIN:IN STD_LOGIC_VECTOR(7 DOWNTO

107、 0);</p><p>  CLK_AIN:IN STD_LOGIC;</p><p>  MING_OUT: OUT STD_LOGIC;</p><p>  SCOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p>  LEDCS_OUT: STD_LOGIC_VECTOR(7 DOWNTO 0)

108、;</p><p>  DISP_OUT:STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p>  END XITONG;</p><p>  ARCHITECTURE F1 OF XITONG </p><p>  COMPONENT SUOCUNQI </p><p>  PORT(REST:

109、IN STD_LOGIC_VECTOR(7 DOWNTO 0); </p><p>  SIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p>  SOUT1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p>  SOUT2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0

110、);</p><p>  SOUT3:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));</p><p>  END COMPONENT;</p><p>  COMPONENT XUANYOU</p><p>  PORT(SOUT:IN STD_LOGIC_VECTOR(7 DOWNTO 0);</p>&

111、lt;p>  YOU1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  YOU2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p>  END COMPONENT;</p><p>  COMPONENT XUANYOU2</p><p>  PORT(REST

112、:IN STD_LOGIC_VECTOR(7 DOWNTO 0); </p><p>  SOUT3:IN STD_LOGIC_VECTOR(7 DOWNTO 0); </p><p>  YOU1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  ZQ:OUT STD_LOGIC;</p><p

113、>  LJ:OUT STD_LOGIC);</p><p>  END COMPONENT;</p><p>  COMPONENT TIME</p><p>  PORT(REST,SP,CLK :IN STD_LOGIC;</p><p>  SECOND1,SECOND2,MINITUE1,MINITUE2:OUT STD_

114、LOGIC_VECTOR(3 DOWNTO 0));</p><p>  END COMPONENT;</p><p>  COMPONENT SOU</p><p>  PORT(SECOND1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SECOND2:IN STD_LOGIC_VECTOR(3

115、DOWNTO 0);</p><p>  MINITUE1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  MINITUE2:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  JISHI:OUT STD_LOGIC_VECTOR(15 DOWNTO 0));</p><p&

116、gt;  END COMPONENT;</p><p>  COMPONENT FENGMING</p><p>  PORT( BCD:IN STD_LOGIC_VECTOR(15 DOWNTO 0);</p><p>  MING:OUT STD_LOGIC);</p><p>  END COMPONENT;</p>

117、<p>  COMPONENT FENGMING</p><p><b>  PORT(</b></p><p>  CLK:IN STD_LOGIC;</p><p>  SECOND1,SECOND2,MINITUE1,MINITUE2:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p>&

118、lt;p>  YOU:IN STD_LOGIC_VECTOR(3 DOWNTO 0);--顯示病房</p><p>  DISP:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--顯示代碼</p><p>  LEDCS:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--數(shù)碼管片選</p><p><b>  )

119、;</b></p><p>  END COMPONENT;</p><p>  SIGNAL A: STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p>  SIGNAL B: STD_LOGIC_VECTOR(15 DOWNTO 0);</p><p>  SIGNAL C: STD_LOGIC&

120、lt;/p><p>  SIGNAL D: STD_LOGIC</p><p>  SIGNAL E: STD_LOGIC_VECTOR(7 DOWNTO 0);</p><p>  SIGNAL F: STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SIGNAL G:STD_LOGIC_VECTOR(3

121、DOWNTO 0);</p><p>  SIGNAL H:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SIGNAL I:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SIGNAL J: STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  

122、SIGNAL K:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b>  BEGIN </b></p><p>  U1:SUOCUNQI PORT MAP(SIN=>SIN_AIN,OUT1=>A,REST=>RST_AIN,</p><p>  SOUT3=>E,SOUT2=>

123、SCOUT);</p><p>  U2: XUANYOU PORT MAP ( SOUT=>A,YOU1=>F,YOU2=>G);</p><p>  U3: XUANYOU2 PORT MAP ( LJ=>C,ZQ=>D,REST=>RST_AIN,SOUT3=>E,</p><p><b>  YOU1=&g

124、t;F);</b></p><p>  U4: TIME PORT MAP (REST=>C, SP=>D,CLK=>CLK.AIN,SECOND1=>H,</p><p>  SECOND2=>I,MINITUE1=>J,MINITUE2=>K);</p><p>  U5:SOU PORT MAP ( JIS

125、HI=>B,SECOND1=>H,SECOND2=>I,</p><p>  MINITUE1=>J,MINITUE2=>K);</p><p>  U6: FENGMING PORT MAP(BCD=>B,MING=>,MING_OUT);</p><p>  U7:DISPLAY PORT MAP (DISP=>D

126、ISP_OUT,LEDCS=>LEDCS_OUT,YOU=>G,</p><p>  CLK=>CLK_AIN,SECOND1=>H,SECOND2=>I,</p><p>  MINITUE1=>J,MINITUE2=>K);</p><p>  END ARCHITECTURE F1;</p><p

127、>  LIBRARY IEEE; </p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY TIME IS</p><p>  PORT(REST,SP,CLK :IN STD_LOGIC;

128、</p><p>  TI:OUT STD_LOGIC;</p><p>  SECOND1,SECOND2,MINITUE1,MINITUE2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));</p><p><b>  END TIME;</b></p><p>  ARCHITECTURE ON

129、E OF TIME IS</p><p>  SIGNAL TIMECLK:STD_LOGIC;</p><p>  SIGNAL CLK12:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SIGNAL SEC1,SEC2:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SIG

130、NAL MINI1,MINI2:STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  MINITUE1(3 DOWNTO 0)<=MINI1(3 DOWNTO 0);</p><p>  MINITUE2(3 DOWNTO 0)<=MINI2(3 DOWNTO

131、 0);</p><p>  SECOND1(3 DOWNTO 0)<=SEC1(3 DOWNTO 0);</p><p>  SECOND2(3 DOWNTO 0)<=SEC2(3 DOWNTO 0);</p><p>  PROCESS(CLK,SP)</p><p>  VARIABLE CNT:INTEGER RANGE

132、0 TO 120; --分頻 1S</p><p><b>  BEGIN</b></p><p>  IF (CLK'EVENT AND CLK='1') AND SP='1' THEN CNT:=CNT+1;</p><p>  IF CNT<60 THEN TIMECLK<='1

133、';</p><p>  ELSIF CNT<120 THEN TIMECLK<='0';</p><p>  ELSE CNT:=0;TIMECLK<='0';</p><p><b>  END IF;</b></p><p><b>  END I

134、F;</b></p><p>  IF(REST='0') THEN </p><p>  MINI2 <="0000"; MINI1 <="0000"; SEC2<="0000"; SEC1<="0000";</p><p><

135、b>  ELSE </b></p><p>  IF (TIMECLK'EVENT AND TIMECLK='1') THEN --檢驗(yàn)時(shí)鐘上升沿</p><p>  IF SEC1<"1001"THEN SEC1<=SEC1+1;</p><p><b>  ELSE</b&

136、gt;</p><p>  SEC1<="0000";</p><p>  IF SEC2<"0101"THEN SEC2<=SEC2+1;</p><p><b>  ELSE</b></p><p>  SEC2<="0000";&l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論