




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、EDA課程設(shè)計一一病房呼叫系統(tǒng)課程設(shè)計說明書課程:EDA技術(shù)基礎(chǔ)組號:B8<題 目:病房呼叫系統(tǒng) 組專 業(yè):電子信息科學(xué)與技術(shù) 指2010年1月8日B8組整體設(shè)計報告目錄一、課程設(shè)計思路11、設(shè)計題目12、設(shè)計要求13、設(shè)計想法1二、課程設(shè)計過程21、模塊分配22、模塊具體設(shè)計2三、課程設(shè)計綜合介紹41、整體原理圖42、引腳配置53、整體設(shè)計實現(xiàn)5參考文獻(xiàn)6附件(病房呼叫系統(tǒng)整體程序)7第4頁一、課程設(shè)計思路一)、設(shè)計題目: 病房呼叫系統(tǒng)二)、設(shè)計要求:1、用8個開關(guān)模擬8個病房的呼叫輸入信號,MI頁1號優(yōu)先級最高;18優(yōu)先級依次降低;2、用一個數(shù)碼管顯示呼叫信號的號碼;沒信號時顯示0;
2、有多個信號呼叫時,顯示優(yōu)先級最高的呼叫號(其他呼叫用指示燈顯示);用四個數(shù)碼管顯示呼叫等待時間(mm SS)O3、凡有呼叫發(fā)出5秒的提示聲;呼叫3分鐘未 處理輸出報警信號。發(fā)揮部分:對低優(yōu)先級的呼叫進(jìn)行存儲,處理完 高優(yōu)先級的呼叫,再進(jìn)行低優(yōu)先級呼叫的處理。三)、設(shè)計想法:1、整體設(shè)計思路:根據(jù)設(shè)計要求,我們將設(shè)計分為幾個模塊來設(shè)計,分別為:鎖存模塊、選優(yōu) 模塊(對病房選優(yōu))、選優(yōu)模塊2 (對復(fù)位選優(yōu))、 計時模塊、顯示模塊、蜂鳴模塊。2、整體設(shè)計流程:(IX鎖存器:對病房呼叫的信號進(jìn)行存儲并處理信號,需要用一個對所有的呼叫信號進(jìn)行存儲 的鎖存器。(2)、數(shù)據(jù)選擇器(選優(yōu)):對發(fā)出呼叫的病房
3、進(jìn)行優(yōu)先選擇,選擇優(yōu)先級最高的一個病房號, 病房號從1到8優(yōu)先級一次降低。(3) 、數(shù)據(jù)選擇器2 (選優(yōu)2):對時間控制信號 進(jìn)優(yōu)先選擇,這樣就是的數(shù)碼管顯示器顯示的時 間為當(dāng)前優(yōu)先級最高的病房所呼叫的時間。(4) 、計時器:病房呼叫系統(tǒng)中要求凡有呼叫發(fā) 出,呼叫3分種未處理輸出報警信號,即要求一 個模塊對呼叫時間計時,因此我們設(shè)計一個分秒 計時器,對呼叫時間計時。實驗箱中時鐘頻率為20MHZ,故計時部分需加入分頻,我們使之為ISO(5) 、顯示器:用一個數(shù)碼管顯示呼叫信號的號碼,用四個數(shù)碼管顯示呼叫等待時間(mm ss),設(shè)計一七段數(shù)碼顯示器,數(shù)碼片選為低電平有 效,掃描信號定為IKHZ。二
4、、課程設(shè)計過程一)、模塊分配:鎖存模塊:選優(yōu)模塊、對復(fù)位選優(yōu)模塊:計時模塊:顯示模塊:連接模塊、蜂鳴器模塊二)、模塊具體設(shè)計1.鎖存模塊:由于有8個病房所以設(shè)計了 8個輸 入信號且高電平時為信號輸入,另外考慮到時 間模塊顯示的是當(dāng)前等待時間,所以小組討論后決定時間顯示當(dāng)前等待時間為最好,所以在鎖存模塊,把復(fù)位加到鎖存模塊,高電平的時 候表示復(fù)位不工作,低電平的時候表示復(fù)位。 鎖存器的一個輸入信號與LED燈相連,使得有 呼叫信號時,與病房相對應(yīng)的燈亮。另外一個相同的輸出信號連接選優(yōu)器,對信號進(jìn)行選優(yōu),還有一個相同輸出信號控制計時模塊中的SP信號。2.選優(yōu)模塊:由設(shè)計要求,數(shù)碼管要顯示優(yōu)先級 最高
5、的病房的呼叫信號,所以我們須得對病房 呼叫信號進(jìn)行選優(yōu),還考慮到對時間的優(yōu)先級 的問題,所以設(shè)計了兩個優(yōu)先輸出信號。程序 功能部分按優(yōu)先病房號順序依次輸出BCD碼代表的 1、2、3、4、5、6、7、&第3頁3選優(yōu)2:考慮到復(fù)位鍵一一對應(yīng)的問題,我們 的時間模塊又只用了一個,顯示當(dāng)前最優(yōu)先病 房的等待時間,所以選優(yōu)2模塊連在選優(yōu)模塊 的后面以及和8個位寬的復(fù)位信號相連,然后通過選優(yōu)模塊,使得輸出地復(fù)位信號為當(dāng)前最優(yōu)先的病房所對應(yīng)的復(fù)位信號。鎖存器模塊的一個輸出信號也在這時進(jìn)行選優(yōu),選出來的優(yōu) 先級最高的信號與時間模塊中的SP信號對應(yīng)。4.計時模塊:由設(shè)計要求計時用四個數(shù)碼管顯示ss,所以
6、時間方面采用的是以秒進(jìn)位,實驗 箱中的時間頻率為20Z,所以選擇了 0: 20000000即一秒的分頻,另外由于有呼叫信 號時,SP=I,我們得立即計時,所以定義了每個 1秒之內(nèi)出現(xiàn)一個上升沿,當(dāng)上升沿到來時時 間加計Is,另外mmss之中前一個m代表的是 分的十位,后一個m代表的是分的個位,前一 個S代表的是秒的十位,后一個S代表的是秒 的個位。5.顯示模塊:顯示模塊所要顯示的就是優(yōu)先級最第3頁高的呼叫病房的號碼以及呼叫等待的時間 mmss,所以在模塊的設(shè)計當(dāng)中,我們用中間的 六個數(shù)碼管依次顯示當(dāng)前最優(yōu)先呼叫病房號, 分的十位,分的個位,再一個數(shù)碼管顯示一橫 杠,和秒計位區(qū)分開來。在依次是秒
7、的十位, 秒的個位。6.連接模塊:由于各個模塊成功之后進(jìn)行頂層設(shè)計時,時間模塊和蜂鳴器模塊的位寬不相等,故我設(shè)計了一個連接模塊,使得兩模塊能夠丿Il利銜接起來。連接模塊的輸出部分和時間模塊 的mmss各部分相互對應(yīng),模塊輸出部分位寬的15-12位與記秒的個位的3-0位對應(yīng),位寬的11-8位與記秒的十位的3-0相對應(yīng),位寬 的7-4位與記分的個位的3-0相對應(yīng),位寬的 3-0位與記分的十位的3-0位相對應(yīng)。7.蜂鳴器模塊:考慮到計時后發(fā)出5秒的提示聲 以及燈亮3分鐘后進(jìn)行報警,所以我設(shè)計的報 警器模塊和時間的鏈接模塊是聯(lián)系起來的,當(dāng) 輸入為OooO 0001 0000 OOoO表示的是1秒, 0
8、000 0010 0000 0000表示的是2秒,以此類 推,當(dāng)表示的時間是1-5秒時令蜂鳴器響,此 時輸出為低電平,表是的是蜂鳴器工作。當(dāng)時 間在6秒到3分鐘之間的時候,編寫程序另輸 出為高電平,此時蜂鳴器不工作。超過三分鐘 時再令蜂鳴器工作5秒,進(jìn)行報警工作,此時 已經(jīng)達(dá)到設(shè)計要求。三、課程設(shè)計綜合介紹我們對這個模塊剛開始設(shè)計了和現(xiàn)在不 同的方案,然后頂層設(shè)計時發(fā)現(xiàn)并不好實現(xiàn), 而且連接之后模塊也比較復(fù)雜,所以我們重新 思考之后就有了現(xiàn)在模塊的初稿,但是在頂層第6頁設(shè)定好之后,跑實驗箱是顯示的結(jié)果并不如預(yù) 期的,多次調(diào)試沒出結(jié)果之后,我選擇了排除 錯誤,首先從自身下手,我把頂層的連接改成了
9、用系統(tǒng)框圖表示,選它的優(yōu)點是比較直觀, 設(shè)想正確的話基本上不會出現(xiàn)什么錯誤,所 以,當(dāng)問題再次出現(xiàn)時我考慮到了每個模塊的邏輯問題,經(jīng)過一個一個找出現(xiàn)的問題,從時間模塊的SP的高低電平的修改,在到蜂鳴器 和時間表示對應(yīng)的修改,在到對選優(yōu)模塊最后執(zhí)行語句YOU歸零的修改,解決了計時器一直計時、蜂鳴器不工作、病房顯示號不歸零等問題,終于圓滿的完成了實驗的要求。一)、病房呼叫系統(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è)計實現(xiàn)描述實驗箱上有8個7段數(shù)碼管、16個用戶LED燈(8個大LED
14、燈,8個小LED燈)、16個開關(guān)(橫杠)、SeCOnd2、 SeCOndIo量輸入端口、8個撥碼開關(guān)、蜂鳴器等。工程 引腳鎖定下載完后,將其下載進(jìn)FPGA中,進(jìn)行 硬件測試。具體實現(xiàn)如下:實驗箱中有8個7段 數(shù)碼管,我們只用到了其中的6個,除前兩個外 從左到右分別顯示:病房號碼、Ininitue2> minituel>對應(yīng)病房號指示燈我們用8個小LED。接通電源, 計時程序已下載進(jìn)實驗箱,蜂鳴器開始時不響, 6個數(shù)碼管顯示OOO-00,撥碼開關(guān)從SWl-SW7 依次表示的是病房號1-7,當(dāng)按下?lián)艽a開關(guān)SWI 時表示2號病房開始計時,蜂鳴器接著響5秒鐘 然后不響,到時間記為三分鐘時又
15、開始報警。當(dāng) 同時按開關(guān)SW2與SW3時,病房號顯示的還是2, 因為病房2的優(yōu)先級比病房三的要高,另外病房 相應(yīng)的撥碼開關(guān)打開后,相應(yīng)的指示燈也開始 亮,小燈從左到右依次顯示優(yōu)先級從低到高的8 個病房的呼叫情況。我們的實驗的一個特色是設(shè) 置了 8個復(fù)位信號,我們主要考慮到一個實際問題,每一個復(fù)位鍵對應(yīng)了當(dāng)時優(yōu)先級最高的一個 病房的燈控和時間控制,當(dāng)護(hù)士去處理優(yōu)先級最 高病房的呼叫信號時,按下復(fù)位鍵,發(fā)出一個確 知信號:有護(hù)士已經(jīng)去處理這件事情了。而一個 復(fù)位鍵相較之的缺點是,當(dāng)有多個呼叫信號時,按下復(fù)位鍵所有的信號均清零了 O參考文獻(xiàn)1) FPGA實驗指導(dǎo)書(5萬門).doc2) EDA技術(shù)與
16、VHDL清華大學(xué)出版社黃繼業(yè)3) WWW4)(VHDL_與數(shù)字電路設(shè)計5)硬件語言描述與數(shù)字邏輯電路設(shè)計侯伯亨、顧新編著)附件:病房呼叫系統(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;三、計時選優(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;四、時間模塊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)-計時部分程序BEGINIF(REST= O ) THENMINI2 <=,0000n; MINiI <=,0000m; SEC2<=,0000u; SEC1<=0000 ,;ELSIF (TlMECLK EVENT AND TIMECLK= )THEN 檢驗時鐘上升 沿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頁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 的掃描信號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頁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;千萬注意!不能為IlllllIb 否則出 錯,會有空顯示產(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頁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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 投資車行合同協(xié)議書
- 合同變更協(xié)議書范文
- 環(huán)保咨詢合同協(xié)議書
- 合同協(xié)議書紙質(zhì)
- 口罩合同協(xié)議書
- 增加合同協(xié)議書
- 委托設(shè)備購銷合同協(xié)議書
- 合同協(xié)議書字體
- 石材晶面合同協(xié)議書
- 品牌服務(wù)協(xié)議書合同范本
- 2025-2030中國漿果行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國網(wǎng)絡(luò)貸款(融資)行業(yè)市場發(fā)展現(xiàn)狀及發(fā)展趨勢與投資研究報告
- 2025-2030海工裝備制造行業(yè)市場深度調(diào)研及前景趨勢與投資研究報告
- 基建招聘面試題及答案
- 華為測試面試題及答案
- 漂珠銷售合同協(xié)議
- 2025化學(xué)中考解題技巧 專題10 技巧性計算(解析版)
- 部門加班調(diào)休管理制度
- 考勤制度操作指南
- 人力核心指標(biāo) 行業(yè)報告系列 2025年Q1精細(xì)化工行業(yè)薪酬報告
- 垃圾焚燒發(fā)電廠應(yīng)急預(yù)案
評論
0/150
提交評論