【正文】
VARIABLE CNT3: INTEGER RANGE 0 TO 2 。 ARCHITECTURE ONE OF DISPLAY IS SIGNAL CLK_1K : STD_LOGIC 。 END IF 。039。 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 29 ARCHITECTURE BHV OF FENGMING IS SIGNAL ING : STD_LOGIC。 ENTITY SOU IS PORT(SECOND1 : IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 IF SEC20101 THEN SEC2=SEC2+1。 TIMECLK=39。 BEGIN MINITUE1(3 DOWNTO 0)=MINI1(3 DOWNTO 0)。 END IF。 END IF。 LJ:OUT STD_LOGIC)。 END IF 。 THEN YOU=0100。 ENTITY HUANYOU IS PORT(SOUT:IN STD_LOGIC_VECTOR(7 DOWNTO 0)。 IF REST(7)=39。 AND SIN(5)=39。 THEN SOUT(3)=39。 ELSE SOUT(1)=39。 ARCHITECTURE bhv OF SUOCUNQI IS SIGNAL SOUT:STD_LOGIC_VECTOR(7 DOWNTO 0)。 BEGIN U1 : SUOCUNQI PORT MAP ( SIN = SIN_ain ,SOUT1 = A , REST = RST_ain , SOUT3 = E , SOUT2 = SCOUT )。 COMPONENT DISPLAY PORT (CLK:IN STD_LOGIC。 ZQ:OUT STD_LOGIC。 LEDCS_out : OUT STD_LOGIC_VECTOR ( 7 DOWNTO 0 )。 U7 : DISPLAY PORT MAP ( DISP = DISP_out , LEDCS = LEDCS_out , YOU = G ,CLK = CLK_ain , SECOND1 = H , SECOND2 = I , MINITUE1 = J , MINITUE2 = K )。 SIGNAL B : STD_LOGIC_VECTOR ( 15 DOWNTO 0 ) 。 END COMPONENT 。 SOUT2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)。 END PROCESS 。 ELSE IF BCD=0011000000110000 THEN ING=39。 ELSE IF BCD=0010000000000000 THEN ING=39。 JISHI(11 DOWNTO 8)=SECOND2?!?橫杠 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 13 WHEN 1100=DISP=11111111 。 END IF?!?片選信號 DATA=MINITUE2。139。 END TWO 。139。 ELSE IF CNT 120 THEN TIMECLK=39。 SIGNAL CLK12:STD_LOGIC_VECTOR(3 DOWNTO 0 )。 END IF 。 THEN MINI2 =0000。 AND SP=39。 USE 。 ELSE IF YOU1=0110 THEN ZQ=SOUT3(5)。 ELSE IF YOU1=0111 THEN LJ=REST(6)。 功能仿真: 時(shí)間選擇器: 考慮到復(fù)位鍵一一對應(yīng)的問題,我們的計(jì)時(shí)器又只用了一個(gè),顯示當(dāng)前最優(yōu)先病房的等待時(shí)間,所以時(shí)間選擇器連在數(shù)據(jù)選擇器 的后面以及八個(gè)位寬的復(fù)位信號相連,然后通過數(shù)據(jù)選擇器,使得輸出地復(fù)位信號為當(dāng)前最優(yōu)先的病房所對應(yīng)的復(fù)位信號。 ELSE IF SOUT(7)=39。 THEN YOU=0010。 SOUT3=SOUT。139。039。 IF REST(3)=39。 AND SIN(1)=39。 SOUT1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)。這在病房呼叫系統(tǒng)中是必不可少的。如在 3 分鐘內(nèi)有應(yīng)答,則顯示下一個(gè)病房的病房號與時(shí)間,同樣當(dāng)計(jì)時(shí)器的時(shí)間超過 3 分鐘時(shí)報(bào)警,如在 3 分鐘內(nèi)有應(yīng)答則顯示下一個(gè),以此類推。 BEGIN PROCESS(REST,SIN) BEGIN 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 3 IF REST(0)=39。039。139。139。139。 USE 。139。 END IF 。 YOU1:IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 END IF。 END IF。 ARCHITECTURE TWO OF TIME IS SIGNAL TIMECLK,MINI:STD_LOGIC。 ELSE IF CNT 20200000 THEN TIMECLK=39。EVENT AND TIMECLK =39。 TI=TIMECLK。 SECOND1(3 DOWNTO 0 )=SEC1(3 DOWNTO 0)。 END IF。 IF MINI11001 THEN MINI1=MINI1+1。 USE 。039。 ELSE IF CNT2 =0100 THEN LEDCS=00000010?!?0 WHEN 0001=DISP=11111001 。 功能仿真: 掃描信號為 4,時(shí)間輸入為零,病房號為 3 連接器: 由于各個(gè)模塊成功之后進(jìn)行頂層設(shè)計(jì)時(shí),計(jì)時(shí)器與蜂鳴器的位寬不相等,故設(shè)計(jì)一個(gè)連接模塊,使得兩塊模版能夠順利銜接起。超過三分鐘時(shí)再另蜂鳴器工作 5 秒,進(jìn)行報(bào)警工作。039。 END IF 。 ENTITY xitong IS PORT (SIN_ain : IN STD_LOGIC_VECTOR ( 7 DOWNTO 0 )。 YOU2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 JISHI : OUT STD_LOGIC_VECTOR(15 DOWNTO 0))。 SIGNAL G : STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) 。 在這過程中,我們經(jīng)過一個(gè)個(gè)問題的提出和改正,例如 sp 高低電 平的應(yīng)用,端口寬度的不同,計(jì)時(shí)器不工作和計(jì)時(shí)器不停止等等的問題,最總實(shí)現(xiàn)了病房呼叫系統(tǒng)的設(shè)計(jì)。 SOUT1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)。 SECOND1,SECOND2,MINITUE1,MINITUE2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 SIGNAL A : STD_LOGIC_VECTOR ( 7 DOWNTO 0 ) 。 U6 : FENGMING PORT MAP ( BCD = B , MING = MING_out )。 THEN SOUT(0)=39。 AND SIN(2)=39。 IF REST(4)=39。039。139。 BEGIN PROCESS(SOUT,YOU) BEGIN IF SOUT(0)=39。139。 END IF 。 ELSE IF YOU1=0100 THEN LJ=REST(3)。 ELSE IF YOU1=0011 THEN ZQ=SOUT3(2)。 SHI JIAN MO KUAI LIBRARY IEEE。 BEGIN IF (CLK39。 IF REST=39。 ELSE 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 28 MINI2=0000。 END SOU。 ELSE IF BCD=0010000000000000 THEN ING=39。 ELSE IF BCD=0011000000110000 THEN ING=39。 END PROCESS 。139。 THEN CNT2 := CNT2 +1。 END IF。 ENTITY DISPLAY IS 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 30 PORT(CLK:IN STD_LOGIC。 END IF 。 ELSE IF BCD=0101000000000000 THEN ING=39。 FENGMINGMOKUAI LIBRARY IEEE。 END IF。 ELSE IF TIMECLK39。 IF CNT 60 THEN TIMECLK=39。 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 27 END TIME1。 END IF。 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 26 END IF。 USE 。139。 ELSE IF SOUT(2)=39。 SOUT2=SOUT。 THEN SOUT(6)=39。 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 24 ELSE SOUT(4)=39。 END IF。139。 SIN:IN STD_LOGIC_VECTOR (7 DOWNTO 0)。 SIGNAL G : STD_LOGIC_VECTOR ( 3 DOWNTO 0 ) 。 JISHI : OUT STD_LOGIC_VECTOR(15 DOWNTO 0))。 YOU2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 ENTITY xitong IS PORT (SIN_ain : IN STD_LOGIC_VECTOR ( 7 DOWNTO 0 )。 U2 : HUANYOU PORT MAP ( SOUT = A ,YOU1 = F ,YOU2 = G )。 SECOND1,SECOND2,MINITUE1,MINITUE2:IN 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 18 STD_LOGIC_VECTOR(3 DOWNTO 0) 。 LJ:OUT STD_LOGIC)。 DISP_out: OUT STD_LOGIC_VECTOR ( 7 DOWNTO 0 ))。 END IF 。039。 ARCHITECTURE BHV OF FENGMING IS SIGNAL ING : STD_LOGIC。 MINITUE1 : IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 —— 6 WHEN 0111=DISP=11111000 。 CNT2:=0000。 BEGIN IF CLK_1K39。 ARCHITECTURE ONE OF DISPLAY IS SIGNAL CLK_1K : STD_LOGIC 。 END IF 。 MINI1=0000。) AND SP=39。 ENTITY TIME1 IS PORT(REST,SP,CLK:IN STD_LOGIC。 IF MINI11001 THEN MINI1=MINI1+1。 END IF。 SECOND2(3 DOWNTO 0 )=SEC2(3 DOWNTO 0)。 END PROCESS。 PROCESS(SOUT3) BEGIN IF YOU1=0001 THEN ZQ=SOUT3(0)。 ELSE IF YOU1=0010 THEN LJ=REST(1)。 END IF 。139。 BEGIN PROCESS(SOUT,YOU)—— 對病房號進(jìn)行選擇 BEGIN IF SOUT(0)=39。039。 IF REST(6)=39。 AND SIN(4)=39。 THEN SOUT(2)=39。 ELSE SOUT(0)=39。另外一個(gè)相同的輸出信號連接數(shù)據(jù)選擇器 對信號進(jìn)行選擇,還有一個(gè)相同輸出信號控制計(jì)時(shí)模塊中的 SP 信號?;?FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 1 基于 FPGA 的病房呼叫系統(tǒng)的設(shè)計(jì) 中文摘要: 病房呼叫系統(tǒng),顧名思義,是病人在醫(yī)生與護(hù)士不在的情況下病人找尋醫(yī)生尋求幫助的系統(tǒng)。鎖存器的一個(gè)輸入信號與 LED 燈相連,使得有呼叫信號時(shí),與病房相對應(yīng)的燈亮。139。139。139。 END IF。 ELSE SOUT(7)=39。 ARCHITECTURE bhv OF HUANYOU IS SIGNAL YOU:STD_LOGIC_VECTOR(