




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、EDA課程設(shè)計(jì)一一病房呼叫系統(tǒng)課程設(shè)計(jì)說(shuō)明書課程:EDA技術(shù)基礎(chǔ)組號(hào):B8<題 目:病房呼叫系統(tǒng) 組專 業(yè):電子信息科學(xué)與技術(shù) 指2010年1月8日B8組整體設(shè)計(jì)報(bào)告目錄一、課程設(shè)計(jì)思路11、設(shè)計(jì)題目12、設(shè)計(jì)要求13、設(shè)計(jì)想法1二、課程設(shè)計(jì)過(guò)程21、模塊分配22、模塊具體設(shè)計(jì)2三、課程設(shè)計(jì)綜合介紹41、整體原理圖42、引腳配置53、整體設(shè)計(jì)實(shí)現(xiàn)5參考文獻(xiàn)6附件(病房呼叫系統(tǒng)整體程序)7第4頁(yè)一、課程設(shè)計(jì)思路一)、設(shè)計(jì)題目: 病房呼叫系統(tǒng)二)、設(shè)計(jì)要求:1、用8個(gè)開關(guān)模擬8個(gè)病房的呼叫輸入信號(hào),MI頁(yè)1號(hào)優(yōu)先級(jí)最高;18優(yōu)先級(jí)依次降低;2、用一個(gè)數(shù)碼管顯示呼叫信號(hào)的號(hào)碼;沒信號(hào)時(shí)顯示0;
2、有多個(gè)信號(hào)呼叫時(shí),顯示優(yōu)先級(jí)最高的呼叫號(hào)(其他呼叫用指示燈顯示);用四個(gè)數(shù)碼管顯示呼叫等待時(shí)間(mm SS)O3、凡有呼叫發(fā)出5秒的提示聲;呼叫3分鐘未 處理輸出報(bào)警信號(hào)。發(fā)揮部分:對(duì)低優(yōu)先級(jí)的呼叫進(jìn)行存儲(chǔ),處理完 高優(yōu)先級(jí)的呼叫,再進(jìn)行低優(yōu)先級(jí)呼叫的處理。三)、設(shè)計(jì)想法:1、整體設(shè)計(jì)思路:根據(jù)設(shè)計(jì)要求,我們將設(shè)計(jì)分為幾個(gè)模塊來(lái)設(shè)計(jì),分別為:鎖存模塊、選優(yōu) 模塊(對(duì)病房選優(yōu))、選優(yōu)模塊2 (對(duì)復(fù)位選優(yōu))、 計(jì)時(shí)模塊、顯示模塊、蜂鳴模塊。2、整體設(shè)計(jì)流程:(IX鎖存器:對(duì)病房呼叫的信號(hào)進(jìn)行存儲(chǔ)并處理信號(hào),需要用一個(gè)對(duì)所有的呼叫信號(hào)進(jìn)行存儲(chǔ) 的鎖存器。(2)、數(shù)據(jù)選擇器(選優(yōu)):對(duì)發(fā)出呼叫的病房
3、進(jìn)行優(yōu)先選擇,選擇優(yōu)先級(jí)最高的一個(gè)病房號(hào), 病房號(hào)從1到8優(yōu)先級(jí)一次降低。(3) 、數(shù)據(jù)選擇器2 (選優(yōu)2):對(duì)時(shí)間控制信號(hào) 進(jìn)優(yōu)先選擇,這樣就是的數(shù)碼管顯示器顯示的時(shí) 間為當(dāng)前優(yōu)先級(jí)最高的病房所呼叫的時(shí)間。(4) 、計(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í)部分需加入分頻,我們使之為ISO(5) 、顯示器:用一個(gè)數(shù)碼管顯示呼叫信號(hào)的號(hào)碼,用四個(gè)數(shù)碼管顯示呼叫等待時(shí)間(mm ss),設(shè)計(jì)一七段數(shù)碼顯示器,數(shù)碼片選為低電平有 效,掃描信號(hào)定為IKHZ。二
4、、課程設(shè)計(jì)過(guò)程一)、模塊分配:鎖存模塊:選優(yōu)模塊、對(duì)復(fù)位選優(yōu)模塊:計(jì)時(shí)模塊:顯示模塊:連接模塊、蜂鳴器模塊二)、模塊具體設(shè)計(jì)1.鎖存模塊:由于有8個(gè)病房所以設(shè)計(jì)了 8個(gè)輸 入信號(hào)且高電平時(shí)為信號(hào)輸入,另外考慮到時(shí) 間模塊顯示的是當(dāng)前等待時(shí)間,所以小組討論后決定時(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)。2.選優(yōu)模塊:由設(shè)計(jì)要求,數(shù)碼管要顯示優(yōu)先級(jí) 最高
5、的病房的呼叫信號(hào),所以我們須得對(duì)病房 呼叫信號(hào)進(jìn)行選優(yōu),還考慮到對(duì)時(shí)間的優(yōu)先級(jí) 的問(wèn)題,所以設(shè)計(jì)了兩個(gè)優(yōu)先輸出信號(hào)。程序 功能部分按優(yōu)先病房號(hào)順序依次輸出BCD碼代表的 1、2、3、4、5、6、7、&第3頁(yè)3選優(yōu)2:考慮到復(fù)位鍵一一對(duì)應(yīng)的問(wèn)題,我們 的時(shí)間模塊又只用了一個(gè),顯示當(dāng)前最優(yōu)先病 房的等待時(shí)間,所以選優(yōu)2模塊連在選優(yōu)模塊 的后面以及和8個(gè)位寬的復(fù)位信號(hào)相連,然后通過(guò)選優(yōu)模塊,使得輸出地復(fù)位信號(hào)為當(dāng)前最優(yōu)先的病房所對(duì)應(yīng)的復(fù)位信號(hào)。鎖存器模塊的一個(gè)輸出信號(hào)也在這時(shí)進(jìn)行選優(yōu),選出來(lái)的優(yōu) 先級(jí)最高的信號(hào)與時(shí)間模塊中的SP信號(hào)對(duì)應(yīng)。4.計(jì)時(shí)模塊:由設(shè)計(jì)要求計(jì)時(shí)用四個(gè)數(shù)碼管顯示ss,所以
6、時(shí)間方面采用的是以秒進(jìn)位,實(shí)驗(yàn) 箱中的時(shí)間頻率為20Z,所以選擇了 0: 20000000即一秒的分頻,另外由于有呼叫信 號(hào)時(shí),SP=I,我們得立即計(jì)時(shí),所以定義了每個(gè) 1秒之內(nèi)出現(xiàn)一個(gè)上升沿,當(dāng)上升沿到來(lái)時(shí)時(shí) 間加計(jì)Is,另外mmss之中前一個(gè)m代表的是 分的十位,后一個(gè)m代表的是分的個(gè)位,前一 個(gè)S代表的是秒的十位,后一個(gè)S代表的是秒 的個(gè)位。5.顯示模塊:顯示模塊所要顯示的就是優(yōu)先級(jí)最第3頁(yè)高的呼叫病房的號(hào)碼以及呼叫等待的時(shí)間 mmss,所以在模塊的設(shè)計(jì)當(dāng)中,我們用中間的 六個(gè)數(shù)碼管依次顯示當(dāng)前最優(yōu)先呼叫病房號(hào), 分的十位,分的個(gè)位,再一個(gè)數(shù)碼管顯示一橫 杠,和秒計(jì)位區(qū)分開來(lái)。在依次是秒
7、的十位, 秒的個(gè)位。6.連接模塊:由于各個(gè)模塊成功之后進(jìn)行頂層設(shè)計(jì)時(shí),時(shí)間模塊和蜂鳴器模塊的位寬不相等,故我設(shè)計(jì)了一個(gè)連接模塊,使得兩模塊能夠丿Il利銜接起來(lái)。連接模塊的輸出部分和時(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)。7.蜂鳴器模塊:考慮到計(jì)時(shí)后發(fā)出5秒的提示聲 以及燈亮3分鐘后進(jìn)行報(bào)警,所以我設(shè)計(jì)的報(bào) 警器模塊和時(shí)間的鏈接模塊是聯(lián)系起來(lái)的,當(dāng) 輸入為OooO 0001 0000 OOoO表示的是1秒, 0
8、000 0010 0000 0000表示的是2秒,以此類 推,當(dāng)表示的時(shí)間是1-5秒時(shí)令蜂鳴器響,此 時(shí)輸出為低電平,表是的是蜂鳴器工作。當(dāng)時(shí) 間在6秒到3分鐘之間的時(shí)候,編寫程序另輸 出為高電平,此時(shí)蜂鳴器不工作。超過(guò)三分鐘 時(shí)再令蜂鳴器工作5秒,進(jìn)行報(bào)警工作,此時(shí) 已經(jīng)達(dá)到設(shè)計(jì)要求。三、課程設(shè)計(jì)綜合介紹我們對(duì)這個(gè)模塊剛開始設(shè)計(jì)了和現(xiàn)在不 同的方案,然后頂層設(shè)計(jì)時(shí)發(fā)現(xiàn)并不好實(shí)現(xiàn), 而且連接之后模塊也比較復(fù)雜,所以我們重新 思考之后就有了現(xiàn)在模塊的初稿,但是在頂層第6頁(yè)設(shè)定好之后,跑實(shí)驗(yàn)箱是顯示的結(jié)果并不如預(yù) 期的,多次調(diào)試沒出結(jié)果之后,我選擇了排除 錯(cuò)誤,首先從自身下手,我把頂層的連接改成了
9、用系統(tǒng)框圖表示,選它的優(yōu)點(diǎn)是比較直觀, 設(shè)想正確的話基本上不會(huì)出現(xiàn)什么錯(cuò)誤,所 以,當(dāng)問(wèn)題再次出現(xiàn)時(shí)我考慮到了每個(gè)模塊的邏輯問(wèn)題,經(jīng)過(guò)一個(gè)一個(gè)找出現(xiàn)的問(wèn)題,從時(shí)間模塊的SP的高低電平的修改,在到蜂鳴器 和時(shí)間表示對(duì)應(yīng)的修改,在到對(duì)選優(yōu)模塊最后執(zhí)行語(yǔ)句YOU歸零的修改,解決了計(jì)時(shí)器一直計(jì)時(shí)、蜂鳴器不工作、病房顯示號(hào)不歸零等問(wèn)題,終于圓滿的完成了實(shí)驗(yàn)的要求。一)、病房呼叫系統(tǒng)框圖如下:二入綜合引腳配置如下:NOcle NdnIeDrerbonLOCatiVO BankVref GroLP1抄 Alh(7InPJtPIN 108B3 NoLVl2AE<6InPJtPlr-JJ 073B3 N0
10、L,l3f<5TnPJtPIrJJo63B3.N0L14抄 A【皿4InPJtPIN 1053B3 NOLVISM AE<3InPJtPlr-JJ 043B3-N0LVI6加岐2InPJtPlrJJo33B3.N0LVI7妙 AtWlJInPJtPIfJ 1003B3 NULvl8AE<OInPJtPIMA93B3.N0LVI92 CLKInpjtPIrJJ 61BlJVJlLVI10> DISP7GUtPIJtPIfJ 1092B2 NULvl11Q DI5P6CUtPU tPlrJJlO2BZJ-JOLVI12Q DISP5CutputPlNJlI2B2JIOLVI
11、13& DISP4CIUtPlJtPlf-J 1122B2 NOLVl:MM DI5P3CUtPUtPlr-JJ 132BZ-NOLVI15Q DISP2OutputPlrjJl42B2JoLvI16妙 DISPlGUtDiJtPIfJJ 192B2N0Lvl17杪 DI5P0OutputPINJZOI?BZ NOLvI18LED7OUtPUtPlN-34181JZLVIgLED6OUtPUtPlM-331B1JJ2LVZOLEDL5OUtPUtPlN 361Bl N2Lv21LED4OUtPUtPlN-351BIJJ2IA22LED3OUtPULPrJ 963B3 IJlLY23&l
12、t;3LED2OUtPUtPINe943B3JJ1LV24LED1OUtDUtPM983B3JJ0LY25LED0OUtPUtPIN,?3B3JJ0LY26LEDCS7OIJtPUtPINJ 222B2JILV27LEDC56OUtPUtPINJZIZB2JJ0LV28LEDCS OUtPUtPINJ 242B2JJ1LM29LEDC54OUtPUtPIN-1Z3ZBZJJILX30LEDCS OUtPUtPINJ 262B2JlLV31LEDCS OutputPIN 1252B2 MlLY32LEDCS1OUtPUtPINJ 22B2JJ1LY33LEDCSlOIOUtPUtPIJ 1272
13、B2JJ1LY34<=>pin-nneOUtPUtPIrV 302D2JJ2LY35REST7IrOLtPIN 261BlJJlLV36PRES6IrPlXPlNJI1BIJJILV37PRES5IrPLtPINO1BlJJOLM38ARE54IrpItPlNJr1blJJOLV39PREST3IrPLtPIN-321B1JJ2LV40REST2IrpLtPIN 311bl N2IA41母REST1IrPutPlN-271BIJJlIA42O-RE50IrOLtPIM 281Bl IJ2LYoZ一一J J三入整體設(shè)計(jì)實(shí)現(xiàn)描述實(shí)驗(yàn)箱上有8個(gè)7段數(shù)碼管、16個(gè)用戶LED燈(8個(gè)大LED
14、燈,8個(gè)小LED燈)、16個(gè)開關(guān)(橫杠)、SeCOnd2、 SeCOndIo量輸入端口、8個(gè)撥碼開關(guān)、蜂鳴器等。工程 引腳鎖定下載完后,將其下載進(jìn)FPGA中,進(jìn)行 硬件測(cè)試。具體實(shí)現(xiàn)如下:實(shí)驗(yàn)箱中有8個(gè)7段 數(shù)碼管,我們只用到了其中的6個(gè),除前兩個(gè)外 從左到右分別顯示:病房號(hào)碼、Ininitue2> minituel>對(duì)應(yīng)病房號(hào)指示燈我們用8個(gè)小LED。接通電源, 計(jì)時(shí)程序已下載進(jìn)實(shí)驗(yàn)箱,蜂鳴器開始時(shí)不響, 6個(gè)數(shù)碼管顯示OOO-00,撥碼開關(guān)從SWl-SW7 依次表示的是病房號(hào)1-7,當(dāng)按下?lián)艽a開關(guān)SWI 時(shí)表示2號(hào)病房開始計(jì)時(shí),蜂鳴器接著響5秒鐘 然后不響,到時(shí)間記為三分鐘時(shí)又
15、開始報(bào)警。當(dāng) 同時(shí)按開關(guān)SW2與SW3時(shí),病房號(hào)顯示的還是2, 因?yàn)椴》?的優(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í)際問(wèn)題,每一個(gè)復(fù)位鍵對(duì)應(yīng)了當(dāng)時(shí)優(yōu)先級(jí)最高的一個(gè) 病房的燈控和時(shí)間控制,當(dāng)護(hù)士去處理優(yōu)先級(jí)最 高病房的呼叫信號(hào)時(shí),按下復(fù)位鍵,發(fā)出一個(gè)確 知信號(hào):有護(hù)士已經(jīng)去處理這件事情了。而一個(gè) 復(fù)位鍵相較之的缺點(diǎn)是,當(dāng)有多個(gè)呼叫信號(hào)時(shí),按下復(fù)位鍵所有的信號(hào)均清零了 O參考文獻(xiàn)1) FPGA實(shí)驗(yàn)指導(dǎo)書(5萬(wàn)門).doc2) EDA技術(shù)與
16、VHDL清華大學(xué)出版社黃繼業(yè)3) WWW4)(VHDL_與數(shù)字電路設(shè)計(jì)5)硬件語(yǔ)言描述與數(shù)字邏輯電路設(shè)計(jì)侯伯亨、顧新編著)附件:病房呼叫系統(tǒng)整體程序一、鎖存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SUOCUNQIISPORT(REST:IN STD_LOGIC_VECTOR(7 DOWNTO 0片 SIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0); SOUTkOUT STD_LOGlC_VECTOR(7 DOWNTO O); SOUT2:OUT STD_LOGIC_VECTOR(7 DOWNTO O); SOUT3
17、:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); END SUOCUNQI;ARCHITECTURE blv OF SUOCUNQIISSIGNAL SOUT:STD_LOGIC_VECTOR(7 DOVVNTO O);BEGINPROCESS(REST,SIN)BEGINIF REST(O)='1 AND SIN(O)=,O, THEN SOUT(O)<= ;ELSE SOUT(O)<= 0,;END IF;IF REST(I)= AND SIN(1)=,O, THEN SOUT(I)<= ;ELSE SOUT(I)<=,0,;END IF
18、;IF REST(2)= AND SIN(2)=,0, THEN SOUT(2)<= ;ELSE SOUT(2)<=,0,;END IF;IF REST(3)= AND SIN(3)=,0, THEN SOUT(3)<= ;ELSE SOUT(3)<=,0,;END IF;IF REST(4)= AND SIN(4)=,0, THEN SOUT(4)<= ;ELSE SOUT(4)<=,0,;END IF;IF REST(5)='1 AND SIN(5)=,0, THEN SOUT(5)<= ;ELSE SOUT(5)<=,0,;END
19、IF;IF REST(6)= AND SIN(6)=,0, THEN SOUT(6)<= ;ELSE SOUT(6)<=,0,;END IF;IF REST(7)= AND SIN(7)=,0, THEN SOUT(7)<= ;ELSE SOUT(7)<=,0,;END IF;END PROCESS;SOUT1<=SOUT;SOUT2<=SOUT;SOUT3<=SOUT;END ARCHITECTURE bhv;二、選優(yōu)模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY XUANYOU ISPORT(SO
20、UT:IN STD_LOGIC_VECTOR(7 DOWNTO 0); YOUl:OUT STD_LOGIC_VECTOR(3 DOWNTO O); YOU2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); END XUANYOU;ARCHITECTURE bhv OF XUANYOU IS SIGNAL YOU:STD_LOGIC_VECTOR(3 DOWNTO O); BEGINPROCESS(SOUT,YV)BEGINIF SOUT(O)= T THEN YOU<=,OOO,;ELSE IF SOUT(I)= THEN YOU<=HOOlO,;ELSE I
21、F SOUT(2)=' THEN YOU<=HOOIr,;ELSE IF SOUT(3)=, THEN YOU<=HOIOO,;ELSE IF SOUT(4)=, THEN YOU<=HOIOr,;ELSE IF SOUT(5)= THEN YOU<=HOlIO,;ELSE IF SOUT(6)=, THEN YOU<=HOllr,;ELSE IF SOUT(7)= THEN YOU<=HIOOO',;ELSEYOUl<=',0000,;END IF;END IF;END IF;END IF;END IF;END IF;END
22、IF;END IF;END PROCESS;zOUl<=YOU;zOU2<=YOU;END ARCHITECTURE bhv;三、計(jì)時(shí)選優(yōu)模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL; ENTITY XUANYOU2 ISPORT(REST:IN STD_LOGIC_VECTOR(7 DOWNTO O); SOUT3:IN STD_LOGIC_VECTOR(7 DOWNTO 0片 YOUl:IN STD_LOGIC_VECTOR(3 DOWNTO 0片 ZQ:OUT STD.LOGIC;LJ:OUT STD.LOGIC);END XUANYO
23、U2; ARCHITECTURE bhv OF XUANYOU2 IS BEGINPROCESS(YOUI)BEGINIFYOUI=,000, THEN LJ<=REST(O);ELSE IFYOUl=nOOlOn THEN LJ<=REST(1);ELSE IFYOUI=,001, THEN LJ<=REST;ELSE IFYOUI=,0100, THEN LJ<=REST(3);ELSE IFVOUI=,010, THEN LJ<=REST(4);ELSE IFVOUI=,0110, THEN LJ<=REST;ELSE IFYOUI=,011, THE
24、N LJ<=REST(6);ELSE IFVOUI=,1000, THEN LJ<=REST(7);END IF;END IF;END IF;END IF;END IF;END IF;END IF;END IF;END PROCESS;PROCESS(SOUT3)BEGINIFYOUI=HOOO, THEN ZQ<=SOUT3(0);ELSE IFYOUI=,0010, THEN ZQ<=SOUT3(1);ELSE IFVOUI=,001' THEN ZQ<=SOUT3(2);ELSE IFVOUI=,'0100' THEN ZQ<=
25、SOUT3(3);ELSE IFYOUI=,'010, THEN ZQ<=SOUT3(4);ELSE IFYOUl=nOllOn THEN ZQ<=SOUT3(5);ELSE IFYOU1=,O THEN ZQ<=SOUT3(6);ELSE IFYOUl=nIOOOn THEN ZQ<=SOUT3(7);END IF;END IF;END IF;END IF;END IF;END IF;END IF;END IF;END PROCESS;END ARCHITECTURE bhv;四、時(shí)間模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164
26、.ALLUSE IEEE.STD_LOGIC_UNSIGNED.ALLENTITz TlME ISPORT(REST,SP,CLK:IN STD.LOGIC;SECOND1,SECOND2,MlNITUE1,MlNITUE2:0UTSTD_LOGIC_VECTOR(3 DOWNTO 0);END TIME;ARCHITECTURE ONE OF TIME ISSIGNALTIMECLK,MINI:STD.LOGIC;SIGNALSECI,SEC2:STD_LOGIC_VECTOR(3 DOWNTO O); SIGNALMINII,MINl2:STD_LOGIC_VECTOR(3 DOWNTO
27、O); BEGINMINITUE 1(3 DOWNTO O)<=MINI1(3 DOWNTO O);MINITUE2(3 DOWNTO 0)<=MINI2(3 DOVVNTO O);SECOND1(3 DOWNTO O)PROCESS(CLK,SP)VARlABLE CNT:INTEGER RANGE O TO 20000000;-分頻 ISBEGINIF CLK EVENTAND CLK= TAND SP= , THEN CNT:=CNT+1;IF CNT<10000000 THEN TIMECLK<= ;ELSIF CNT<20000000 THEN TlME
28、CLK<=,0,;ELSE CNT:=O;TIMECLK<=,0;END IF;END IF;END PROCESS;PROCESS(TIMECLK,REST)-計(jì)時(shí)部分程序BEGINIF(REST= O ) THENMINI2 <=,0000n; MINiI <=,0000m; SEC2<=,0000u; SEC1<=0000 ,;ELSIF (TlMECLK EVENT AND TIMECLK= )THEN 檢驗(yàn)時(shí)鐘上升 沿IFSECl< , 10Or THEN SEC1<=SEC1+1;ELSESECl<=',OOOOu;IF
29、 SEC2< ,010,THEN SEC2<=SEC2+1;ELSESEC2<=,0000u;IF MINIK'100,THEN MlNlK=MINi1+1;ELSEMINlI<=,0000,;IF MINl2<'010'THEN MINl2<=MINI2+1;ELSEMINl2<=,0000,;END IF;END IF;END IF;END IF;END IF;END PROCESS;第14頁(yè)END ONE;五、連接模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SQU I
30、SPORT(SECOND1:1N STD_LOGIC_VECTOR(3 DOWNTO O); SECOND2:1N STD_LOGIC_VECTOR(3 DOWNTO O); MINITUE1:1N STD_LOGIC_VECTOR(3 DOWNTO O); MINITUE2:1N STD_LOGIC_VECTOR(3 DOWNTO O);JISHI:OUT STD_LOGIC_VECTOR( 15 DOWNTO 0); END SQU;ARCHITECTURE ONE OF SQU ISBEGINJISHl(15 DOWNTO 12)<=SECOND1;JISHl(II DOWNTO
31、8)<=SECOND2;JISHl(7 DOWNTO 4)<=MINITUE1;JISHl(3 DOWNTO 0)<=MINITUE2;END ARCHITECTURE ONE;六、蜂鳴模塊LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY FENGMlNG ISPORT(BCD:IN STD_LOGlC_VECTOR( 15 DOWNTO O); MING:OUT STD.LOGIC);END FENGMING;ARCHITECTURE bhv OF FENGMING ISSIGNAL ING:STD.LOGIC;BEGINPRO
32、CESS(BCD)BEGINIF BCD=UOOOOOOOOOOOoOo00" THEN ING<=,1,;ELSE IF BCD= 0001000000000000 THEN ING<=,O,;ELSE IF BCD=,0010000000000000, THEN ING<=,O,;ELSE IF BCD=,0011000000000000n THEN ING<=,O,;ELSE IF BCD=,0100000000000000, THEN ING<=,O,;ELSE IF BCD=,0101000000000000, THEN ING<=,O,
33、;ELSE ING<= ;IF BCD=UOOOOOOOOOOlloO00" THEN ING<=,O,;ELSE IF BCD=,0001000000110000, THEN ING<=,O,;ELSE IF BCD=,0010000000110000, THEN ING<=,O,;ELSE IFBCD='0011000000110000” THEN ING<=,O,;ELSE IF BCD=,0100000000110000, THEN ING<=,O,;END IF;END IF;END IF;END IF;END IF;END IF
34、;END IF;END IF;END IF;END IF;END IF;MING<=ING;END PROCESS;END ARCHITECTURE bhv;七、顯示模塊USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY DlSPLAY ISPORT(CLK:IN STD.LOGIC;SECOND1,SECOND2,MlNITUE1,MINITUE2:1NSTD_LOGIC_VECTOR(3 DOWNTO O);YOU:IN STD_LOGIC_VE
35、CTOR(3 DOVVNTO O);顯示病房DISP:OUT STD_LOGlC_VECTOR(7 DOWNTO O);顯示代碼LEDCS:OUT STD_LOGlC_VECTOR(7 DOWNTO 0)“數(shù)碼管片選 );END DISPLAY;ARCHlTECTURE ONE OF DISPLAYISSIGNAL CLK_1K:STD.LOGIC;SIGNAL DATA:STD_LOGIC_VECTOR(3 DOWNTO O);BEGINCLK_1KHZ:PROCESS(CLK)-產(chǎn)生 Ik 的掃描信號(hào)VARIABLE CNT:INTEGER RANGE O TO 20000;BEGINIF
36、 RISING_EDGE(CLK)THEN CNT:=CNT+1;IF CNT<10000THEN CLK.1K<= ;ELSlF CNT<20000THEN CLK.1K<=,O,;ELSE CNT=O;CLK_1KV=O;END IF;END IF;END PROCESS;PROCESS (CLK_IK) 顯示VARIABLE CNT2:STD_LOGIC_VECTOR(3 DOWNTO O);VARIABLE CNT3:INTEGER RANGE O TO 2;VARIABLE CNT:INTEGER RANGE O TO 2500000;第16頁(yè)BEGINIF
37、CLK.ik,eventand CLK_ik= then CNT2:=CNT2+1;IF CNT2=',OOO,THENLEDCS<=,OOOlOOOOn;DATA<=MINITUE2;ELSIF CNT2=HOOIon THENLEDCS<=,00001000,;DATA<=MINITUE1;ELSlF CNT2=,001, THENLEDCSV="00000100"DATA<=',1010,;ELSlF CNT2=,0100, THENLEDCS<=,00000010,;DATA<=SECOND2;ELSlF C
38、NT2=,010, THENLEDCSV="00000001"DATA<=SECOND1;ELSIF CNT2=,0110m THENLEDCS<=,00100000"DATA<=YOU;CNT2:=”O(jiān)oO0”;END IF;END IF;END PROCESS;PROCESS(DATA)BEGINCASE DATAISWHEN ,OOOO"=>DISP<=,11OOOOOO,5-OWHEN ,0001 ,=>DISP<=,11111001,;-!WHEN ,OO1O,'=>DISP<=,1
39、O1OO1OOh5-2WHEN ,001,=>DISP<=,'10110000,5-3WHEN ,O1OO"=>DISP<=,1OO11OO,5-4WHEN ,O1O1,=>DISP<=,1OO1OO1O,'5-5WHEN ,'0110n=>DISP<=n10000010,5-6WHEN ,'011,=>DISP<=11111000 ,;-?WHEN ,'1000,'=> DISPV=“10000000'8WHEN ,100,=> DISP<=*,lO
40、OlOOOO,5-9WHEN ,1010,'=> DISP<=,1O111,;-間隔橫杠WHEN ,'101,=> DISP<=,1011111,;-間隔橫杠WHEN n1100,'=> DISP <= ,'1111111,;-超出范圍就不顯示停住,直到正 確為止WHEN OTHERS=>NULL;千萬(wàn)注意!不能為IlllllIb 否則出 錯(cuò),會(huì)有空顯示產(chǎn)生END CASE;END PROCESS;END ONE;LIBRARY IEEE;USE IEEE.STD_LOGlC_1164.ALL;USE IEEE.STD_
41、LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY XITONGISPORT ( SIN_AIN: IN STD_LOGIC_VECTOR(7 DOWNTO 0);RST_AIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0片CLK_AIN:IN STD.LOGIC;MING_OUT: OUT STD.LOGIC;SCOUT: OUT STD_LOGIC_VECTOR(7 DOWNTO O);LEDCS_OUT: STD_LOGIC_VECTOR(7 DOWNTO O);DlSP_OUT:STD_LOGIC_VECTOR
42、(7 DOWNTO O);END XITONG;ARCHITECTURE FI OF XITONGCOMPONENT SUOCUNQIPORT(REST:INSTD_LOGIC_VECTOR(7DOWNTO O);SIN:IN STD_LOGlC_VECTOR(7DOWNTO O);SOUTI:OUTSTD_LOGIC_VECTOR(7 DOWNTO O);SOUT2:OUTSTD_LOGIC_VECTOR(7 DOWNTO O);SOUT3:OUTSTD_LOGIC_VECTOR(7 DOWNTO 0);END COMPONENT;PORT(SOUT:IN DOWNTO 0);YOUl:OU
43、TDOWNTO O);YOU2:OUTDOWNTO 0);COMPONENT XUANYOUSTD_LOGIC_VECTOR(7STD_LOGIC_VECTOR(3STD_LOGIC_VECTOR(3END COMPONENT;COMPONENT XUANYOU2PORT(REST:INSTD_LOGIC_VECTOR(7 DOWNTO O);SOUT3:INSTD_LOGIC_VECTOR(7 DOWNTO O);YOUl:INSTD_LOGIC_VECTOR(3 DOWNTO O); ZQ:OUT STD_LOGIC;LJ:OUT STD.LOGIC);END COMPONENT;COMP
44、ONENT TIMEPORT(REST,SP9CLK:IN STD.LOGIC;SECoND1,SECoND2, MlNrrUE1,MINrrUE2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END COMPONENT;COMPONENT SOUPORT(SECOND1:1NSTD_LOGIC_VECTOR(3 DOWNTO O);SECOND2:1NSTD_LOGIC_VECTOR(3 DOWNTO O);MINlTUE1:1NSTD_LOGIC_VECTOR(3 DOWNTO O);MlNITUE2:1NSTD_LOGIC_VECTOR(3 DOWNTO O);Ji
45、shloutSTD_LOGIC_VECTOR(15 DOWNTO 0);END COMPONENT;COMPONENT FENGMINGPORT(BCD:IN STD_LOGIC_VECTOR(15DOWNTO 0);MING: OUT STD_LOGIC);END COMPONENT;COMPONENT FENGMlNGPORT(CLK:IN STD_LOGIC;SECoND1,SECoND2, MlNrrUE1,MlNrrUE2:IN STD_LOGIC_VECTOR(3 DOWNTO O);YOU:IN STD_LOGIC_VECTOR(3 DOWNTOO); 顯示病房DISP:OUTS
46、TD_LOGIC_VECTOR(7第26頁(yè)DOWNTO 0);“顯示代碼LEDCS:OUTSTD_LOGIC_VECTOR(7DOWNTO 0)“數(shù)碼管片選);END COMPONENT;SIGNAL A: STD_LOGIC_VECTOR(7 DOWNTO O);SlGNAL B: STD_LOGIC_VECTOR(15 DOWNTO O);SIGNALC: STD_LOGICSIGNALD: STD_LOGICSIGNALE: STD_LOGIC_VECTOR(7DOWNTO O);SlGNALF: STD_LOGlC_VECTOR(3DOWNTO O);SIGNALG:STD_LOGIC
47、_VECTOR(3DOWNTO O);SIGNALH:STD_LOGIC_VECTOR(3DOWNTO O);SIGNALI:STD_LOGIC_VECTOR(3DOWNTO O);SIGNALJ: STD_LOGlC_VECTOR(3DOWNTO O);SlGNALK:STD_LOGIC_VECTOR(3DOWNTO O);BEGINUl:SUOCUNQIPORTMAP(SlN=>SIN_AIN,OUT1=>A9REST=>RST_ AIN,SOUT3=>E,SOUT2=>SCOUT);U2:XUANYOU PORT MAP(SOUT=>A9YOU1=>F9YOU2=>G);U3:XUANYOU2PORT MAP(LJ=>C9ZQ=>D,REST=>RST.AIN,SOUT3=>EYOU1=>F);U4:TIME PORT MAP (REST=>C,SP=>D,CLK=
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 風(fēng)險(xiǎn)管理教育在保險(xiǎn)專業(yè)人才培養(yǎng)中的應(yīng)用考核試卷
- 事故案例分析及教訓(xùn)總結(jié)考核試卷
- 醫(yī)療器械不良事件監(jiān)測(cè)與分析考核試卷
- 政務(wù)數(shù)據(jù)治理與政府透明度提升策略考核試卷
- 內(nèi)燃機(jī)仿真在發(fā)動(dòng)機(jī)輕量化設(shè)計(jì)中的應(yīng)用考核試卷
- 儀器考核試題及答案
- 輔警考試題目及答案
- 酒店試題及答案
- 種禽技術(shù)員考試試題及答案
- 魔法穿越測(cè)試題及答案
- 欣賞《嘎達(dá)梅林》-課件
- GB/T 4074.8-2009繞組線試驗(yàn)方法第8部分:測(cè)定漆包繞組線溫度指數(shù)的試驗(yàn)方法快速法
- GB/T 28575-2020YE3系列(IP55)三相異步電動(dòng)機(jī)技術(shù)條件(機(jī)座號(hào)63~355)
- 國(guó)際公法學(xué) 馬工程課件 4 第四章
- 青海省西寧市《職業(yè)能力測(cè)試》事業(yè)單位國(guó)考真題
- 溝通中的提問(wèn)技巧課件
- 2023年浙江黃龍?bào)w育發(fā)展有限公司招聘筆試模擬試題及答案解析
- 外科學(xué)骨折概論課件
- 阿片類藥物鎮(zhèn)痛機(jī)制課件
- 產(chǎn)品成本核算流程圖
- 母線槽安裝檢驗(yàn)批質(zhì)量驗(yàn)收記錄
評(píng)論
0/150
提交評(píng)論