首页 病房呼叫系统设计与仿真设计

病房呼叫系统设计与仿真设计

举报
开通vip

病房呼叫系统设计与仿真设计....PAGE/NUMPAGES病房呼叫系统一)、设计题目:病房呼叫系统二)、实验目的:用8个开关模拟8个病房的呼叫输入信号,1号优先级最高;1~8优先级依次降低;用一个数码管显示呼叫信号的;没信号时显示0;有多个信号呼叫时,显示优先级最高的呼叫号(其他呼叫用指示灯显示);用四个数码管显示呼叫等待时间(mmss)。凡有呼叫发出5秒的提示声;呼叫3分钟未处理输出报警信号。发挥部分:对低优先级的呼叫进行存储,处理完高优先级的呼叫,再进行低优先级呼叫的处理。三)、设计思路:1、整体设计思路:根据设计要求,我...

病房呼叫系统设计与仿真设计
....PAGE/NUMPAGES病房呼叫系统一)、设计题目:病房呼叫系统二)、实验目的:用8个开关模拟8个病房的呼叫输入信号,1号优先级最高;1~8优先级依次降低;用一个数码管显示呼叫信号的;没信号时显示0;有多个信号呼叫时,显示优先级最高的呼叫号(其他呼叫用指示灯显示);用四个数码管显示呼叫等待时间(mmss)。凡有呼叫发出5秒的提示声;呼叫3分钟未处理输出报警信号。发挥部分:对低优先级的呼叫进行存储,处理完高优先级的呼叫,再进行低优先级呼叫的处理。三)、设计思路:1、整体设计思路:根据设计要求,我们将设计分为几个模块来设计,分别为:锁存模块、选优模块(对病房选优)、选优模块2(对复位选优)、计时模块、显示模块、蜂鸣模块。2、整体设计 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 :(1)、锁存器:对病房呼叫的信号进行存储并处理信号,需要用一个对所有的呼叫信号进行存储的锁存器。(2)、数据选择器(选优):对发出呼叫的病房进行优先选择,选择优先级最高的一个病房号,病房号从1到8优先级一次降低。(3)、数据选择器2(选优2):对时间控制信号进优先选择,这样就使得数码管显示器显示的时间为当前优先级最高的病房所呼叫的时间。(4)、计时器:病房呼叫系统中要求凡有呼叫发出,呼叫3分种未处理输出报警信号,即要求一个模块对呼叫时间计时,因此设计一个分秒计时器,对呼叫时间计时。实验箱中时钟频率为20MHZ,故计时部分需加入分频,使之为1s。(5)、显示器:用一个数码管显示呼叫信号的,用四个数码管显示呼叫等待时间(mmss),设计一七段数码显示器,数码片选为低电平有效,扫描信号定为1KHZ。二、课程设计过程一)、模块分配:锁存模块:选优模块、对复位选优模块:计时模块:显示模块:连接模块、蜂鸣器模块二)、模块具体设计锁存模块:由于有8个病房所以设计了8个输入信号且高电平时为信号输入,另外考虑到时间模块显示的是当前等待时间,所以时间显示当前等待时间为最好,所以在锁存模块,把复位加到锁存模块,高电平的时候 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示复位不工作,低电平的时候表示复位。锁存器的一个输入信号与LED灯相连,使得有呼叫信号时,与病房相对应的灯亮。另外一个一样的输出信号连接选优器,对信号进行选优,还有一个一样输出信号控制计时模块中的SP信号。选优模块:由设计要求,数码管要显示优先级最高的病房的呼叫信号,所以须得对病房呼叫信号进行选优,还考虑到对时间的优先级的问题,所以设计了两个优先输出信号。程序功能部分按优先病房号顺序依次输出BCD码代表的1、2、3、4、5、6、7、8.选优2:考虑到复位键一一对应的问题,我们的时间模块又只用了一个,显示当前最优先病房的等待时间,所以选优2模块连在选优模块的后面以与和8个位宽的复位信号相连,然后通过选优模块,使得输出地复位信号为当前最优先的病房所对应的复位信号。锁存器模块的一个输出信号也在这时进行选优,选出来的优先级最高的信号与时间模块中的SP信号对应。计时模块:由设计要求计时用四个数码管显示mmss,所以时间方面采用的是以秒进位,实验箱中的时间频率为20MHZ,所以选择了0:20000000即一秒的分频,另外由于有呼叫信号时,SP=1,我们得立即计时,所以定义了每个1秒之出现一个上升沿,当上升沿到来时时间加计1s,另外mmss之中前一个m代表的是分的十位,后一个m代表的是分的个位,前一个s代表的是秒的十位,后一个s代表的是秒的个位。显示模块:显示模块所要显示的就是优先级最高的呼叫病房的以与呼叫等待的时间mmss,所以在模块的设计当中,我们用中间的六个数码管依次显示当前最优先呼叫病房号,分的十位,分的个位,再一个数码管显示一横杠,和秒计位区分开来。在依次是秒的十位,秒的个位。连接模块:由于各个模块成功之后进行顶层设计时,时间模块和蜂鸣器模块的位宽不相等,故需要一个连接模块,使得两模块能够顺利衔接起来。连接模块的输出部分和时间模块的mmss各部分相互对应,模块输出部分位宽的15-12位与记秒的个位的3-0位对应,位宽的11-8位与记秒的十位的3-0相对应,位宽的7-4位与记分的个位的3-0相对应,位宽的3-0位与记分的十位的3-0位相对应。蜂鸣器模块:考虑到计时后发出5秒的提示声以与灯亮3分钟后进行报警,所以报警器模块和时间的模块是联系起来的,当输入为00000表示的是1秒,00000表示的是2秒,以此类推,当表示的时间是1-5秒时令蜂鸣器响,此时输出为低电平,表是的是蜂鸣器工作。当时间在6秒到3分钟之间的时候,编写程序另输出为高电平,此时蜂鸣器不工作。超过三分钟时再令蜂鸣器工作5秒,进行报警工作,此时已经达到设计要求。三、课程设计综合介绍我们对这个模块刚开始设计了和现在不同的 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ,然后顶层设计时发现并不好实现,而且连接之后模块也比较复杂,所以我们重新思考之后就有了现在模块的初稿,但是在顶层设定好之后,跑实验箱是显示的结果并不如预期的,多次调试没出结果之后,我选择了排除错误,首先从自身下手,我把顶层的连接改成了用系统框图表示,选它的优点是比较直观,设想正确的话基本上不会出现什么错误,所以,当问题再次出现时我考虑到了每个模块的逻辑问题,经过一个一个找出现的问题,从时间模块的SP的高低电平的修改,再到蜂鸣器和时间表示对应的修改,再到对选优模块最后执行语句YOU归零的修改,解决了计时器一直计时、蜂鸣器不工作、病房显示号不归零等问题,终于圆满的完成了实验的要求。一)、病房呼叫系统框图如下:二)、综合引脚配置如下:三)总体功能仿真三)、整体设计实现描述:实验箱上有8个7段数码管、16个用户LED灯(8个大LED灯,8个小LED灯)、16个开关量输入端口、8个拨码开关、蜂鸣器等。工程引脚锁定下载完后,将其下载进FPGA中,进行硬件测试。具体实现如下:实验箱中有8个7段数码管,我们只用到了其中的6个,除前两个外从左到右分别显示:病房、minitue2、minitue1、——(横杠)、second2、second1。对应病房号指示灯我们用8个小LED。接通电源,计时程序已下载进实验箱,蜂鸣器开始时不响,6个数码管显示000--00,拨码开关从SW1-SW7依次表示的是病房号1-7,当按下拨码开关SW1时表示2号病房开始计时,蜂鸣器接着响5秒钟然后不响,到时间记为三分钟时又开始报警。当同时按开关SW2与SW3时,病房号显示的还是2,因为病房2的优先级比病房三的要高,另外病房相应的拨码开关打开后,相应的指示灯也开始亮,小灯从左到右依次显示优先级从低到高的8个病房的呼叫情况。实验的一个特色是设置了8个复位信号,我们主要考虑到一个实际问题,每一个复位键对应了当时优先级最高的一个病房的灯控和时间控制,当护士去处理优先级最高病房的呼叫信号时,按下复位键,发出一个确知信号:有护士已经去处理这件事情了。而一个复位键相较之的缺点是,当有多个呼叫信号时,按下复位键所有的信号均清零了。病房呼叫系统整体程序一、锁存器LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSUOCUNQIISPORT(REST:INSTD_LOGIC_VECTOR(7DOWNTO0);SIN:INSTD_LOGIC_VECTOR(7DOWNTO0);SOUT1:OUTSTD_LOGIC_VECTOR(7DOWNTO0);SOUT2:OUTSTD_LOGIC_VECTOR(7DOWNTO0);SOUT3:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDSUOCUNQI;ARCHITECTUREbhvOFSUOCUNQIISSIGNALSOUT:STD_LOGIC_VECTOR(7DOWNTO0);BEGINPROCESS(REST,SIN)BEGINIFREST(0)='1'ANDSIN(0)='0'THENSOUT(0)<='1';ELSESOUT(0)<='0';ENDIF;IFREST(1)='1'ANDSIN(1)='0'THENSOUT(1)<='1';ELSESOUT(1)<='0';ENDIF;IFREST(2)='1'ANDSIN(2)='0'THENSOUT(2)<='1';ELSESOUT(2)<='0';ENDIF;IFREST(3)='1'ANDSIN(3)='0'THENSOUT(3)<='1';ELSESOUT(3)<='0';ENDIF;IFREST(4)='1'ANDSIN(4)='0'THENSOUT(4)<='1';ELSESOUT(4)<='0';ENDIF;IFREST(5)='1'ANDSIN(5)='0'THENSOUT(5)<='1';ELSESOUT(5)<='0';ENDIF;IFREST(6)='1'ANDSIN(6)='0'THENSOUT(6)<='1';ELSESOUT(6)<='0';ENDIF;IFREST(7)='1'ANDSIN(7)='0'THENSOUT(7)<='1';ELSESOUT(7)<='0';ENDIF;ENDPROCESS;SOUT1<=SOUT;SOUT2<=SOUT;SOUT3<=SOUT;ENDARCHITECTUREbhv;二、选优模块LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYXUANYOUISPORT(SOUT:INSTD_LOGIC_VECTOR(7DOWNTO0);YOU1:OUTSTD_LOGIC_VECTOR(3DOWNTO0);YOU2:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDXUANYOU;ARCHITECTUREbhvOFXUANYOUISSIGNALYOU:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(SOUT,YOU)BEGINIFSOUT(0)='1'THENYOU<="0001";ELSEIFSOUT(1)='1'THENYOU<="0010";ELSEIFSOUT(2)='1'THENYOU<="0011";ELSEIFSOUT(3)='1'THENYOU<="0100";ELSEIFSOUT(4)='1'THENYOU<="0101";ELSEIFSOUT(5)='1'THENYOU<="0110";ELSEIFSOUT(6)='1'THENYOU<="0111";ELSEIFSOUT(7)='1'THENYOU<="1000";ELSEYOU<="0000";ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDPROCESS;YOU1<=YOU;YOU2<=YOU;ENDARCHITECTUREbhv;仿真分析根据SOUT的不同的值给YOU赋值,并将最终结果赋给YOU1和YOU2三、计时选优模块LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYXUANYOU2ISPORT(REST:INSTD_LOGIC_VECTOR(7DOWNTO0);SOUT3:INSTD_LOGIC_VECTOR(7DOWNTO0);YOU1:INSTD_LOGIC_VECTOR(3DOWNTO0);ZQ:OUTSTD_LOGIC;LJ:OUTSTD_LOGIC);ENDXUANYOU2;ARCHITECTUREbhvOFXUANYOU2ISBEGINPROCESS(YOU1)BEGINIFYOU1="0001"THENLJ<=REST(0);ELSEIFYOU1="0010"THENLJ<=REST(1);ELSEIFYOU1="0011"THENLJ<=REST(2);ELSEIFYOU1="0100"THENLJ<=REST(3);ELSEIFYOU1="0101"THENLJ<=REST(4);ELSEIFYOU1="0110"THENLJ<=REST(5);ELSEIFYOU1="0111"THENLJ<=REST(6);ELSEIFYOU1="1000"THENLJ<=REST(7);ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDPROCESS;PROCESS(SOUT3)BEGINIFYOU1="0001"THENZQ<=SOUT3(0);ELSEIFYOU1="0010"THENZQ<=SOUT3(1);ELSEIFYOU1="0011"THENZQ<=SOUT3(2);ELSEIFYOU1="0100"THENZQ<=SOUT3(3);ELSEIFYOU1="0101"THENZQ<=SOUT3(4);ELSEIFYOU1="0110"THENZQ<=SOUT3(5);ELSEIFYOU1="0111"THENZQ<=SOUT3(6);ELSEIFYOU1="1000"THENZQ<=SOUT3(7);ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDPROCESS;ENDARCHITECTUREbhv;仿真分析:第一个仿真图中,分别选通sout[0],sout[1],sout[4],sout[7],在选同的过程中,分别设置0,1电平,与其余电平不一样,所以可以看出选通的情况。第二个仿真图中,分别选通sout[0],sout[1],sout[4],sout[6],sout[7],在选同的过程中,分别设置0,1电平,与其余电平不一样,所以可以看出选通的情况。四、时间模块LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYTIMEISPORT(REST,SP,CLK:INSTD_LOGIC;SECOND1,SECOND2,MINITUE1,MINITUE2:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDENTITYTIME;ARCHITECTUREARTOFTIMEISSIGNALMINI:STD_LOGIC;--SIGNALTIMECLK:STD_LOGIC;SIGNALSEC1,SEC2:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALMINI1,MINI2:STD_LOGIC_VECTOR(3DOWNTO0);BEGINMINITUE1(3DOWNTO0)<=MINI1(3DOWNTO0);MINITUE2(3DOWNTO0)<=MINI2(3DOWNTO0);SECOND1(3DOWNTO0)<=SEC1(3DOWNTO0);SECOND2(3DOWNTO0)<=SEC2(3DOWNTO0);--PROCESS(CLK,SP)--VARIABLECNT:INTEGERRANGE0TO100;--分频1S--BEGIN--IFCLK'EVENTANDCLK='1'ANDSP='1'THENCNT:=CNT+1;--IFCNT<50THENTIMECLK<='1';--ELSIFCNT<100THENTIMECLK<='0';--ELSECNT:=0;TIMECLK<='0';--ENDIF;--ENDIF;--ENDPROCESS;--------------PROCESS(CLK,REST,SP)--计时部分程序BEGINIF(REST='0')THENMINI2<="0000";MINI1<="0000";SEC2<="0000";SEC1<="0000";ELSIF(CLK'EVENTANDCLK='1'ANDSP='1')THEN--检验时钟上升沿IFSEC1<"1001"THENSEC1<=SEC1+1;ELSESEC1<="0000";IFSEC2<"0101"THENSEC2<=SEC2+'1';ELSESEC2<="0000";IFMINI1<"1001"THENMINI1<=MINI1+1;ELSEMINI1<="0000";IFMINI2<"0101"THENMINI2<=MINI2+1;ELSEMINI2<="0000";ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDPROCESS;ENDART;仿真分析:由上图可以看出,在始终的作用下,每隔一个始终脉冲,second1进一位,second1每进10位,second2进一位,second2每进6位,minitue1进一位,minitue1每进10位,minitue2进一位。在此实验中,由于版面关系,所以没能捕捉到minitue2进位的情况。五、连接模块LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSQUISPORT(SECOND1:INSTD_LOGIC_VECTOR(3DOWNTO0);SECOND2:INSTD_LOGIC_VECTOR(3DOWNTO0);MINITUE1:INSTD_LOGIC_VECTOR(3DOWNTO0);MINITUE2:INSTD_LOGIC_VECTOR(3DOWNTO0);JISHI:OUTSTD_LOGIC_VECTOR(15DOWNTO0));ENDSQU;ARCHITECTUREONEOFSQUISBEGINJISHI(15DOWNTO12)<=SECOND1;JISHI(11DOWNTO8)<=SECOND2;JISHI(7DOWNTO4)<=MINITUE1;JISHI(3DOWNTO0)<=MINITUE2;ENDARCHITECTUREONE;仿真分析进行计时,将时钟的分的十位和个位分别赋给JISHI前4位和5~8位,将时钟的秒的十位和个位分别赋给JISHI9~12位和后13~16位,六、蜂鸣模块LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYFENGMINGISPORT(BCD:INSTD_LOGIC_VECTOR(15DOWNTO0);MING:OUTSTD_LOGIC);ENDFENGMING;ARCHITECTUREbhvOFFENGMINGISSIGNALING:STD_LOGIC;BEGINPROCESS(BCD)BEGINIFBCD="00000"THENING<='1';ELSEIFBCD="00000"THENING<='0';ELSEIFBCD="00000"THENING<='0';ELSEIFBCD="00000"THENING<='0';ELSEIFBCD="00000"THENING<='0';ELSEIFBCD="00000"THENING<='0';ELSEING<='1';IFBCD="10000"THENING<='0';ELSEIFBCD="10000"THENING<='0';ELSEIFBCD="10000"THENING<='0';ELSEIFBCD="10000"THENING<='0';ELSEIFBCD="10000"THENING<='0';ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;ENDIF;MING<=ING;ENDPROCESS;ENDARCHITECTUREbhv;七、显示模块USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;ENTITYDISPLAYISPORT(CLK:INSTD_LOGIC;SECOND1,SECOND2,MINITUE1,MINITUE2:INSTD_LOGIC_VECTOR(3DOWNTO0);YOU:INSTD_LOGIC_VECTOR(3DOWNTO0);--显示病房DISP:OUTSTD_LOGIC_VECTOR(7DOWNTO0);--显示代码LEDCS:OUTSTD_LOGIC_VECTOR(7DOWNTO0)--数码管片选);ENDDISPLAY;ARCHITECTUREONEOFDISPLAYISSIGNALCLK_1K:STD_LOGIC;SIGNALDATA:STD_LOGIC_VECTOR(3DOWNTO0);BEGINCLK_1KHZ:PROCESS(CLK)--产生1k的扫描信号VARIABLECNT:INTEGERRANGE0TO20000;BEGINIFRISING_EDGE(CLK)THENCNT:=CNT+1;IFCNT<10000THENCLK_1K<='1';ELSIFCNT<20000THENCLK_1K<='0';ELSECNT:=0;CLK_1K<='0';ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK_1K)--显示VARIABLECNT2:STD_LOGIC_VECTOR(3DOWNTO0);VARIABLECNT3:INTEGERRANGE0TO2;VARIABLECNT:INTEGERRANGE0TO2500000;BEGINIFCLK_1K'EVENTANDCLK_1K='1'THENCNT2:=CNT2+1;IFCNT2="0001"THENLEDCS<="00010000";DATA<=MINITUE2;ELSIFCNT2="0010"THENLEDCS<="00001000";DATA<=MINITUE1;ELSIFCNT2="0011"THENLEDCS<="00000100";DATA<="1010";ELSIFCNT2="0100"THENLEDCS<="00000010";DATA<=SECOND2;ELSIFCNT2="0101"THENLEDCS<="00000001";DATA<=SECOND1;ELSIFCNT2="0110"THENLEDCS<="00100000";DATA<=YOU;CNT2:="0000";ENDIF;ENDIF;ENDPROCESS;PROCESS(DATA)BEGINCASEDATAISWHEN"0000"=>DISP<="11000000";--0WHEN"0001"=>DISP<="11111001";--1WHEN"0010"=>DISP<="10100100";--2WHEN"0011"=>DISP<="10110000";--3WHEN"0100"=>DISP<="10011001";--4WHEN"0101"=>DISP<="10010010";--5WHEN"0110"=>DISP<="10000010";--6WHEN"0111"=>DISP<="11111000";--7WHEN"1000"=>DISP<="10000000";--8WHEN"1001"=>DISP<="10010000";--9WHEN"1010"=>DISP<="10111111";--间隔横杠WHEN"1011"=>DISP<="10111111";--间隔横杠WHEN"1100"=>DISP<="11111111";--超出围就不显示停住,直到正确为止WHENOTHERS=>NULL;---千万注意!!!!!!不能为11111111,否则出错,会有空显示产生ENDCASE;ENDPROCESS;ENDONE;
本文档为【病房呼叫系统设计与仿真设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥17.6 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
zlanb
暂无简介~
格式:doc
大小:584KB
软件:Word
页数:17
分类:
上传时间:2021-12-02
浏览量:14