病房呼叫系统设计与仿真设计
医院住院病人呼喊器的设计与仿真

成绩课程设计名称:电子技术课程设计题目:医院住院病人呼喊器的设计与仿真学院:电气信息学院学生姓名:王邦吉专业:电气工程与自动化医院住院病人呼喊器的设计与仿真摘要:在当今快节奏的社会里,为了让医院能够最好的为病人服务,减少医护人员的巡查次数和工作量,医院住院病人呼喊器十分必要的。
应用本设计可使病人及时通知医生,并使医生能够通过显示器和报警声很快的知道求助病人的确切床位,从而及时抢救。
该设计以555构成的单稳触发器为核心,加上呼叫显示模块来设计病房呼叫系统。
文中还对两种不同的方案进行了比较,并对关键器件进行了功能介绍和整体电路的仿真测试。
关键词:呼喊器, 555定时器,七段数码显示管Abstract:In the fast- paced society, it is of great significance to enable the hospital to best serve the patients by improving efficiency and reducing medical personnel. Therefore, the hospital patient annunciator is very necessary. Using this design can enables the patient to notify the doctor of their needs conveniently at any time. Therefore, the doctor can immediately loacate the patient through the alarm system and the digital display, and thus carry out rescue work in time. Our electronic design is mainly basely on the flip-flop 555 and the display module to form the alarm system. In this paper, we examined closely two possible designs. Then we chose the better one to conduct simulation and test the function of the electric circuit.Keywords:annunciator, digital display,555 timer, alarm目录1.前言 (1)2.总体方案设计 (2)2.1总体功能 (2)2.2 方案比较 (2)2.3方案论证与选择 (3)3.单元模块设计 (4)3.1各单元模块功能介绍及电路设计 (4)3.2电源模块设计 (4)3.3报警模块设计 (5)3.4数码显示模块设计 (10)4.系统调试 (16)5.设计总结 (18)致谢 (19)参考文献 (20)附录 (21)1.前言随着社会的不断发展,医院也需要一个更加完善的医护系统让医院能够最好的为病人服务,减少医护人员的巡查次数和工作量,提高医护人员的工作效率,医院住院病人呼喊器十分必要的。
16路病房呼叫系统仿真

16路病房呼叫系统仿真
病房呼叫系统是指在医院病房中,为了方便患者与医护人员之间的沟通和协作,设计的一套系统。
16路病房呼叫系统仿真,是指通过利用计算机软件进行虚拟模拟,模拟病房呼叫系统的各种功能和场景。
16路病房呼叫系统可以模拟以下功能:
1. 呼叫按钮:患者可以通过按下床头的呼叫按钮向医护人员发送求助信号。
2. 报警按钮:患者在紧急情况下,可以通过按下床头的报警按钮向医护人员发送紧急求助信号。
3. 呼叫显示:医护人员可以通过系统的呼叫显示功能,实时查看哪些床位有呼叫或报警信号。
4. 呼叫取消:医护人员收到呼叫信号后,可以通过系统的呼叫取消功能,取消相应床位的呼叫。
5. 呼叫历史记录:系统可以记录每个床位的呼叫历史,以便医护人员进行查看和分析。
6. 声音和灯光提示:当床位发出呼叫信号时,系统可以通过发出声音和亮起灯
光的方式提醒医护人员。
在16路病房呼叫系统仿真中,可以通过计算机软件进行模拟实现以上功能。
通过虚拟病房和虚拟设备,可以模拟患者按下呼叫按钮、报警按钮,医护人员接收呼叫信号、取消呼叫等场景。
仿真的结果可以用于测试和优化真实的病房呼叫系统,提高其性能和可靠性。
总之,16路病房呼叫系统仿真是通过计算机软件模拟病房呼叫系统的各种功能和场景,以测试和优化系统性能。
EDA课程设计--病房呼叫系统的设计

病房呼叫系统的设计1 设计要求1.用5个开关模拟5个病房的呼叫输入信号,1号优先级最高;1到5优先级依次降低;2.用一个数码管显示呼叫信号的号码;没信号呼叫时显示0;又多个信号呼叫时,显示优先级最高的呼叫号(其它呼叫号用指示灯显示);3.凡有呼叫发出5秒的呼叫声;4加)。
2用33.1健低电1所示。
表1 74148输入输出真值表3.2 模五计数器以及灯闪烁五秒的模拟模五计数器电路图如图2所示。
图2 模五计数器电路图如图先将74193接成模五计数器,当有病房呼叫时CLR为0,计数器计数,当没有病房呼叫时计数器清零,通过调节clock输入脉冲的频率来实现闪烁五秒的控制。
3.33.443显示为0.当3号病房呼叫,闪烁灯开始闪烁5秒,out3指示灯亮,7447输出编码为:0000110,对应的显示数字符号为3.护士按下action使其为0,实现复位。
图6 2、3、4号床位同时呼叫仿真图2,3,4病房同时呼叫的仿真图如图6所示。
2、3、4同时呼叫时闪烁灯开始闪烁5秒,out2,out3,out4指示灯亮,7447输出编码为:0010010,对应的数码显示为2.图7 复位后新一轮的呼叫仿真图复位后新一轮的呼叫仿真图如图7所示。
护士复位后,开始新一轮的病房呼叫。
图8 优先级高的呼叫仿真图优先级高的呼叫仿真图如图8所示。
优先级高的呼叫时,在还没处理低的优先级时,有高优先级呼叫,数码显示会变成高优先级病房号的显示。
设计总结本设计是为在病人紧急需要时能很快进行救治的呼叫系统,增强医护人员更好的监护病人。
此[2] 汪国强.SOPC技术与应用.机械工业出版社,2006[3] 范忠.实用数字电子技术.电子工业出版社,1998[4] 刘延飞.数字电子技术实验与仿真.西北工业大学出版社,2010[5] 侯建军,郭勇.SOPC技术基础教程.清华大学出版社,2008附录设计程序1:非门library ieee;use ieee.std_logic_1164.all; entity as_not isport(a:in std_logic;f:out std_logic);end as_not;architecture behave of as_not isbegin2:2entitybeginend behave;3:2输入与门library ieee;use ieee.std_logic_1164.all; entity as_and2 isport(a:in std_logic;b:in std_logic;f:out std_logic);end as_and2;architecture behave of as_and2 is beginf<=a AND b;end behave;4beginif(e1='1') thenQ<="111";GS<='1';E0<='1';Q<="111";GS<='1';E0<='0';elsif(D(7)='0' and E1='0')thenQ<="000";GS<='0';E0<='1';elsif(D(6)='0' and E1='0')thenE0<='1';elsif(D(2)='0' and E1='0')thenQ<="101";GS<='0';E0<='1';elsif(D(1)='0' and E1='0')thenQ<="110";GS<='0';E0<='1';elsif(D(0)='0' and E1='0')thenQ<="111";GS<='0';E0<='1';end rtl;5:7447port(num:in std_logic_vector(3 downto 0); dout:out std_logic_vector(6 downto 0));end as_7447;architecture a1 of as_7447 isbeginwith num selectdout<="1111110" when "0000", "0110000" when "0001","1101101" when "0010","1111001" when "0011","0110011" when "0100",end a1;6:DQ:out std_logic;QB:out std_logic; end as_d;architecture rtl of as_d isbeginprocess(CP,R)beginif(CP' event and cp='1')thenif(R='0')thenQ<='0';QB<='1';ELSEQ<=D;end rtl;。
病房呼叫系统的multisim仿真

技能训练报告学生姓名学号班级专业电子信息科学与技术题目病房呼叫系统的设计指导教师(姓名)(职称)2010 年 5 月一、设计指标本设计是实现一个具有优先级的病房呼叫系统。
通过优先编码器对模拟病房编码,再通过译码器译出模拟的最高级病房号,当有病房呼叫时信号通过译码器和逻辑门触发,值班室的数码管即显示相对最高优先级别的病房号,而且峰鸣器发声,从而实现呼叫作用。
当相对优先级高的病房事情处理结束,由护士将该病房呼叫开关打开,再去处理下一个相对最高优先级的病房的事务。
全部处理完毕后,即没有病室呼叫,此时值班室的数码管显示“0”。
二、设计方框图呼叫显示模块病房多谐振荡优先显示模块复位按钮呼叫模块三、元器件介绍1 、8-3优先编码器74LS148D0~D7为输入信号,A2、A1、A0为三位二进制编码输出信号,IE为使能输入端,OE为是能输出端,GS为片优先编码输出。
由真值表可知74LS148的输出逻辑方程为:A2=(I4+I5+I6+I7)IE A1=(I2I4I5+I3I4I5+I6+I7)IEA0=(I1I2I4I6+I3I4I6+I5I6+I7)IE使能输出端OE的逻辑方程为:OE=I0•I1•I2•I3•I4•I5•I6•I7扩展片优先编码输出端GS的逻辑方程为:GS=(I0+I1+I2+I3+I4+I5+I6+I7)•OE图1 74LS148管脚排列图表1 74LS148 真值表由真值表,在1S =0电路正常工作状态下,允许0Y ~7Y 当中同时有几个输入端为低电平,即有编码输入信号, 7Y 的优先权最高0Y 的优先权最低。
当7Y =0时,无论其他输入端有无输入信号(表中以×表示),输出端只给出7Y 的编码。
2、74LS47译码器图2 74LS47 译码器74LS47是输出低电平有效的七段字形译码器,该电路是由与非门、输入缓冲器和7 个与或非门组成的BCD-7 段译码器/驱动器。
通常是低电平有效,高的灌入电流的输出可直接驱动显示器。
医院病房呼叫系统设计

医院病房呼叫系统设计系统架构:医院病房呼叫系统可以采用分布式架构,包括前端界面、服务器端和数据库组成。
前端界面可以采用电脑或者移动设备作为终端,通过界面与服务器端进行通信。
服务器端作为系统的核心,主要负责接收前端界面发送的请求,并将请求进行处理和分发。
数据库用于存储病人的信息、呼叫记录等数据,以便做进一步的分析和查询。
功能模块:1.呼叫按钮:每个病人床位上都应该设有一个呼叫按钮,供病人按下求助。
2.前台接收:前台接收所有病房呼叫的信息,可通过电脑显示或者移动设备进行接收和处理。
3.护士站显示:护士站会收到病房内各个病人的呼叫信息,并可以及时回应和处理。
4.历史记录:系统应该有一个历史记录功能,以便对病人的求助情况进行分析和查看。
技术实现:1. 前端界面可以使用HTML、CSS和JavaScript等Web技术进行开发,以实现病人呼叫按钮、前台界面显示等功能。
2. 服务器端可以采用Java或者Python等编程语言,通过网络协议实现与前端界面的通信和数据传输。
3. 数据库可以选择关系型数据库,如MySQL或者Oracle,以便对数据进行灵活的存储和查询。
系统流程:1.病人按下呼叫按钮,前端界面向服务器端发送请求。
2.服务器端接收到请求后,将呼叫信息分发给相应的护士站。
3.护士站接收到呼叫信息后,及时回应病人的求助,并记录下来。
4.前台可以通过系统界面查看病人的呼叫记录,以及护士的回应情况。
系统优势:1.提高病房内的工作效率。
通过呼叫系统,病人可以更方便地向医护人员求助,医护人员也可以更及时地回应病人的需求,提高了工作效率。
2.方便病人管理和跟踪。
系统可以记录下病人的呼叫信息和回应情况,可以方便地管理和跟踪病人的求助情况。
3.数据分析和查询。
系统可以将病人的呼叫记录进行存储和分析,以便后续的查询和分析。
总结:医院病房呼叫系统是一种可以提高医院病房管理效率的系统。
通过使用前端界面、服务器端和数据库等技术手段,实现了病人呼叫、护士回应和数据存储等功能。
病房呼叫系统设计与仿真设计

病房呼叫系统设计与仿真设计1.提供简单易用的界面:病房呼叫系统的用户主要是病人和医护人员。
对于病人来说,他们可能年龄较大或身体虚弱,所以系统的界面应该简单明了,易于操作。
对于医护人员来说,他们的时间宝贵,所以系统的操作流程应该简单,能够快速发起和响应呼叫请求。
2.实时监控和响应:病房呼叫系统应该能够实时监控病人的呼叫请求,并及时响应。
当病人有紧急情况或急需帮助时,系统应该能够立即把呼叫请求传输给相应的医护人员,并确保他们能够及时赶到病房提供帮助。
3.提供预警机制:病房呼叫系统应该能够提供预警机制,当病人的生命体征出现异常时能够及时通知医护人员。
例如,当病人的心率过快或过慢、血氧饱和度低等情况发生时,系统应该能够自动发出警报,并发送给相应的医护人员,以便他们能够及时处理。
4.数据记录和分析:病房呼叫系统应该能够记录和分析病人的呼叫数据。
这些数据可以用于评估病人的需求,优化医院的资源配置,并提供医疗质量监控的依据。
针对上述设计原则,我们可以进行仿真设计。
首先,我们可以使用软件工具如 UML(Unified Modeling Language)来设计系统架构和用户界面。
在系统架构设计中,我们可以使用类图和顺序图来描述系统的各个组件和它们之间的交互。
在用户界面设计中,我们可以使用原型设计工具来创建系统的界面,并模拟用户的交互过程。
然后,我们可以使用仿真工具来模拟系统的运行过程。
通过建立一个虚拟的病房环境,我们可以模拟病人的呼叫请求和医护人员的响应过程。
在仿真中,我们可以设置不同的参数,如呼叫请求的频率、响应时间等,以评估系统的性能和效果。
最后,我们可以使用数据分析工具来分析仿真结果。
通过对仿真数据的统计和分析,我们可以评估系统的响应时间、病人满意度、资源利用率等指标。
根据分析结果,我们可以对系统进行优化和改进,以提高病人的护理质量和医护人员的工作效率。
总结起来,病房呼叫系统的设计与仿真设计是一个综合性的过程。
病房呼叫系统设计与仿真设计

病房呼叫系统一)、设计题目:病房呼叫系统二)、实验目的:1、用8个开关模拟8个病房的呼叫输入信号,1号优先级最高;1~8优先级依次降低;2、用一个数码管显示呼叫信号的号码;没信号时显示0;有多个信号呼叫时,显示优先级最高的呼叫号(其他呼叫用指示灯显示);用四个数码管显示呼叫等待时间(mm ss)。
3、凡有呼叫发出5秒的提示声;呼叫3分钟未处理输出报警信号。
发挥部分:对低优先级的呼叫进行存储,处理完高优先级的呼叫,再进行低优先级呼叫的处理。
三)、设计思路:1、整体设计思路:根据设计要求,我们将设计分为几个模块来设计,分别为:锁存模块、选优模块(对病房选优)、选优模块2(对复位选优)、计时模块、显示模块、蜂鸣模块。
2、整体设计流程:(1)、锁存器:对病房呼叫的信号进行存储并处理信号,需要用一个对所有的呼叫信号进行存储的锁存器。
(2)、数据选择器(选优):对发出呼叫的病房进行优先选择,选择优先级最高的一个病房号,病房号从1到8优先级一次降低。
(3)、数据选择器2(选优2):对时间控制信号进优先选择,这样就使得数码管显示器显示的时间为当前优先级最高的病房所呼叫的时间。
(4)、计时器:病房呼叫系统中要求凡有呼叫发出,呼叫3分种未处理输出报警信号,即要求一个模块对呼叫时间计时,因此设计一个分秒计时器,对呼叫时间计时。
实验箱中时钟频率为20MHZ,故计时部分需加入分频,使之为1s。
(5)、显示器:用一个数码管显示呼叫信号的号码,用四个数码管显示呼叫等待时间(mm ss),设计一七段数码显示器,数码片选为低电平有效,扫描信号定为1KHZ。
二、课程设计过程一)、模块分配:锁存模块:选优模块、对复位选优模块:计时模块:显示模块:连接模块、蜂鸣器模块二)、模块具体设计1.锁存模块:由于有8个病房所以设计了8个输入信号且高电平时为信号输入,另外考虑到时间模块显示的是当前等待时间,所以时间显示当前等待时间为最好,所以在锁存模块,把复位加到锁存模块,高电平的时候表示复位不工作,低电平的时候表示复位。
病房无线呼叫系统的设计

病房无线呼叫系统的设计引言:在现代医院中,有时患者需要紧急呼叫医护人员,但是传统的呼叫方式可能不够高效。
为了提高医护人员对患者紧急呼叫的响应速度,病房无线呼叫系统应运而生。
本文将从硬件和软件两个方面对病房无线呼叫系统进行设计。
一、硬件设计:1.呼叫按钮:患者床头必须安装一个呼叫按钮,以便患者在需要时可以进行紧急呼叫。
呼叫按钮应该易于操作,且适合患者手部操作。
2.接收器设备:医护人员需携带一个接收器设备,以便能够接收到患者的呼叫信息。
接收器设备应小巧方便携带,同时能够接收并显示出患者床位号、呼叫类型等关键信息。
3.基站设备:为了保证无线信号的可靠传输,需在病房中安装基站设备。
基站设备负责接收患者的呼叫信息,并将信息传输给医护人员的接收器设备。
二、软件设计:1.患者管理系统:为了能够及时准确地识别患者床位号,需要建立一个患者管理系统。
患者管理系统可以将患者床位号与呼叫按钮进行绑定,确保无线呼叫系统能够准确地识别患者的呼叫信息。
2.呼叫信息处理系统:将患者的呼叫信息传输给医护人员之前,需要对呼叫信息进行处理,以区分呼叫类型的紧急程度。
呼叫信息处理系统应具备自动识别呼叫类型的功能,例如紧急呼叫、普通呼叫等。
3.呼叫分配算法:医院内的医护资源有限,为了在患者呼叫时能够迅速分配医护人员进行响应,需要建立一个呼叫分配算法。
呼叫分配算法应根据医护人员的位置、工作状态和患者呼叫类型等因素,将呼叫信息分配给最合适的医护人员。
三、系统流程:1.患者按下床头的呼叫按钮。
2.呼叫按钮发送呼叫信息给基站设备。
3.基站设备接收到呼叫信息后,将信息传输给呼叫信息处理系统。
4.呼叫信息处理系统根据呼叫类型进行处理,并将处理结果发送给医护人员的接收器设备。
5.医护人员接收到呼叫信息,并根据信息中的床位号、呼叫类型等关键信息进行响应。
四、系统优势:1.增加患者对医护人员的呼叫效率,减少等待时间,提高医院服务质量。
2.可根据不同的呼叫类型给予不同的响应优先级,更好地满足患者的需求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
病房呼叫系统一)、设计题目:病房呼叫系统二)、实验目的:1、用8个开关模拟8个病房的呼叫输入信号,1号优先级最高;1~8优先级依次降低;2、用一个数码管显示呼叫信号的;没信号时显示0;有多个信号呼叫时,显示优先级最高的呼叫号(其他呼叫用指示灯显示);用四个数码管显示呼叫等待时间(mm ss)。
3、凡有呼叫发出5秒的提示声;呼叫3分钟未处理输出报警信号。
发挥部分:对低优先级的呼叫进行存储,处理完高优先级的呼叫,再进行低优先级呼叫的处理。
三)、设计思路:1、整体设计思路:根据设计要求,我们将设计分为几个模块来设计,分别为:锁存模块、选优模块(对病房选优)、选优模块2(对复位选优)、计时模块、显示模块、蜂鸣模块。
2、整体设计流程:(1)、锁存器:对病房呼叫的信号进行存储并处理信号,需要用一个对所有的呼叫信号进行存储的锁存器。
(2)、数据选择器(选优):对发出呼叫的病房进行优先选择,选择优先级最高的一个病房号,病房号从1到8优先级一次降低。
(3)、数据选择器2(选优2):对时间控制信号进优先选择,这样就使得数码管显示器显示的时间为当前优先级最高的病房所呼叫的时间。
(4)、计时器:病房呼叫系统中要求凡有呼叫发出,呼叫3分种未处理输出报警信号,即要求一个模块对呼叫时间计时,因此设计一个分秒计时器,对呼叫时间计时。
实验箱中时钟频率为20MHZ,故计时部分需加入分频,使之为1s。
(5)、显示器:用一个数码管显示呼叫信号的,用四个数码管显示呼叫等待时间(mm ss),设计一七段数码显示器,数码片选为低电平有效,扫描信号定为1KHZ。
二、课程设计过程一)、模块分配:锁存模块:选优模块、对复位选优模块:计时模块:显示模块:连接模块、蜂鸣器模块二)、模块具体设计1.锁存模块:由于有8个病房所以设计了8个输入信号且高电平时为信号输入,另外考虑到时间模块显示的是当前等待时间,所以时间显示当前等待时间为最好,所以在锁存模块,把复位加到锁存模块,高电平的时候表示复位不工作,低电平的时候表示复位。
锁存器的一个输入信号与LED灯相连,使得有呼叫信号时,与病房相对应的灯亮。
另外一个相同的输出信号连接选优器,对信号进行选优,还有一个相同输出信号控制计时模块中的SP信号。
2.选优模块:由设计要求,数码管要显示优先级最高的病房的呼叫信号,所以须得对病房呼叫信号进行选优,还考虑到对时间的优先级的问题,所以设计了两个优先输出信号。
程序功能部分按优先病房号顺序依次输出BCD码代表的1、2、3、4、5、6、7、8.3.选优2:考虑到复位键一一对应的问题,我们的时间模块又只用了一个,显示当前最优先病房的等待时间,所以选优2模块连在选优模块的后面以及和8个位宽的复位信号相连,然后通过选优模块,使得输出地复位信号为当前最优先的病房所对应的复位信号。
锁存器模块的一个输出信号也在这时进行选优,选出来的优先级最高的信号与时间模块中的SP信号对应。
4.计时模块:由设计要求计时用四个数码管显示mmss, 所以时间方面采用的是以秒进位,实验箱中的时间频率为20MHZ,所以选择了0:20000000即一秒的分频,另外由于有呼叫信号时,SP=1,我们得立即计时,所以定义了每个1秒之出现一个上升沿,当上升沿到来时时间加计1s,另外mmss之中前一个m代表的是分的十位,后一个m代表的是分的个位,前一个s代表的是秒的十位,后一个s代表的是秒的个位。
5.显示模块:显示模块所要显示的就是优先级最高的呼叫病房的以及呼叫等待的时间mmss,所以在模块的设计当中,我们用中间的六个数码管依次显示当前最优先呼叫病房号,分的十位,分的个位,再一个数码管显示一横杠,和秒计位区分开来。
在依次是秒的十位,秒的个位。
6.连接模块:由于各个模块成功之后进行顶层设计时,时间模块和蜂鸣器模块的位宽不相等,故需要一个连接模块,使得两模块能够顺利衔接起来。
连接模块的输出部分和时间模块的mmss各部分相互对应,模块输出部分位宽的15-12位与记秒的个位的3-0位对应,位宽的11-8位与记秒的十位的3-0相对应,位宽的7-4位与记分的个位的3-0相对应,位宽的3-0位与记分的十位的3-0位相对应。
7.蜂鸣器模块:考虑到计时后发出5秒的提示声以及灯亮3分钟后进行报警,所以报警器模块和时间的模块是联系起来的,当输入为00000表示的是1秒,00000表示的是2秒,以此类推,当表示的时间是1-5秒时令蜂鸣器响,此时输出为低电平,表是的是蜂鸣器工作。
当时间在6秒到3分钟之间的时候,编写程序另输出为高电平,此时蜂鸣器不工作。
超过三分钟时再令蜂鸣器工作5秒,进行报警工作,此时已经达到设计要求。
三、课程设计综合介绍我们对这个模块刚开始设计了和现在不同的方案,然后顶层设计时发现并不好实现,而且连接之后模块也比较复杂,所以我们重新思考之后就有了现在模块的初稿,但是在顶层设定好之后,跑实验箱是显示的结果并不如预期的,多次调试没出结果之后,我选择了排除错误,首先从自身下手,我把顶层的连接改成了用系统框图表示,选它的优点是比较直观,设想正确的话基本上不会出现什么错误,所以,当问题再次出现时我考虑到了每个模块的逻辑问题,经过一个一个找出现的问题,从时间模块的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个复位信号,我们主要考虑到一个实际问题,每一个复位键对应了当时优先级最高的一个病房的灯控和时间控制,当护士去处理优先级最高病房的呼叫信号时,按下复位键,发出一个确知信号:有护士已经去处理这件事情了。
而一个复位键相较之的缺点是,当有多个呼叫信号时,按下复位键所有的信号均清零了。
病房呼叫系统整体程序一、锁存器LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SUOCUNQI ISPORT(REST:IN STD_LOGIC_VECTOR(7 DOWNTO 0);SIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);SOUT1:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);SOUT2:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);SOUT3:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END SUOCUNQI;ARCHITECTURE bhv OF SUOCUNQI ISSIGNAL SOUT:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(REST,SIN)BEGINIF REST(0)='1' AND SIN(0)='0' THEN SOUT(0)<='1'; ELSE SOUT(0)<='0';END IF;IF REST(1)='1' AND SIN(1)='0' THEN SOUT(1)<='1'; ELSE SOUT(1)<='0';END IF;IF REST(2)='1' AND SIN(2)='0' THEN SOUT(2)<='1'; ELSE SOUT(2)<='0';END IF;IF REST(3)='1' AND SIN(3)='0' THEN SOUT(3)<='1'; ELSE SOUT(3)<='0';END IF;IF REST(4)='1' AND SIN(4)='0' THEN SOUT(4)<='1'; ELSE SOUT(4)<='0';END IF;IF REST(5)='1' AND SIN(5)='0' THEN SOUT(5)<='1'; ELSE SOUT(5)<='0';END IF;IF REST(6)='1' AND SIN(6)='0' THEN SOUT(6)<='1'; ELSE SOUT(6)<='0';END IF;IF REST(7)='1' AND SIN(7)='0' THEN SOUT(7)<='1'; ELSE SOUT(7)<='0';END IF;END PROCESS;SOUT1<=SOUT;SOUT2<=SOUT;SOUT3<=SOUT;END ARCHITECTURE bhv;二、选优模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY XUANYOU ISPORT(SOUT:IN STD_LOGIC_VECTOR(7 DOWNTO 0);YOU1:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);YOU2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END XUANYOU;ARCHITECTURE bhv OF XUANYOU ISSIGNAL YOU:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINPROCESS(SOUT,YOU)BEGINIF SOUT(0)='1' THEN YOU<="0001";ELSE IF SOUT(1)='1' THEN YOU<="0010";ELSE IF SOUT(2)='1' THEN YOU<="0011";ELSE IF SOUT(3)='1' THEN YOU<="0100";ELSE IF SOUT(4)='1' THEN YOU<="0101";ELSE IF SOUT(5)='1' THEN YOU<="0110";ELSE IF SOUT(6)='1' THEN YOU<="0111";ELSE IF SOUT(7)='1' THEN YOU<="1000";ELSE YOU<="0000";END IF;END IF;END IF;END IF;END IF;END IF;END IF;END IF;END PROCESS;YOU1<=YOU;YOU2<=YOU;END ARCHITECTURE bhv;仿真分析根据SOUT的不同的值给YOU赋值,并将最终结果赋给YOU1和YOU2三、计时选优模块LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY XUANYOU2 ISPORT(REST:IN STD_LOGIC_VECTOR(7 DOWNTO 0);SOUT3:IN STD_LOGIC_VECTOR(7 DOWNTO 0);YOU1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);ZQ:OUT STD_LOGIC;LJ:OUT STD_LOGIC);END XUANYOU2;ARCHITECTURE bhv OF XUANYOU2 ISBEGINPROCESS(YOU1)BEGINIF YOU1="0001" THEN LJ<=REST(0);ELSE IF YOU1="0010" THEN LJ<=REST(1);ELSE IF YOU1="0011" THEN LJ<=REST(2);ELSE IF YOU1="0100" THEN LJ<=REST(3);ELSE IF YOU1="0101" THEN LJ<=REST(4);ELSE IF YOU1="0110" THEN LJ<=REST(5);ELSE IF YOU1="0111" THEN LJ<=REST(6);ELSE IF YOU1="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)BEGINIF YOU1="0001" THEN ZQ<=SOUT3(0);ELSE IF YOU1="0010" THEN ZQ<=SOUT3(1); ELSE IF YOU1="0011" THEN ZQ<=SOUT3(2); ELSE IF YOU1="0100" THEN ZQ<=SOUT3(3); ELSE IF YOU1="0101" THEN ZQ<=SOUT3(4); ELSE IF YOU1="0110" THEN ZQ<=SOUT3(5); ELSE IF YOU1="0111" THEN ZQ<=SOUT3(6); ELSE IF YOU1="1000" 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;仿真分析:第一个仿真图中,分别选通sout[0],sout[1],sout[4],sout[7],在选同的过程中,分别设置0,1电平,与其余电平不相同,所以可以看出选通的情况。