病房呼叫系统报告.docx
- 文档编号:28241073
- 上传时间:2023-07-09
- 格式:DOCX
- 页数:10
- 大小:17.79KB
病房呼叫系统报告.docx
《病房呼叫系统报告.docx》由会员分享,可在线阅读,更多相关《病房呼叫系统报告.docx(10页珍藏版)》请在冰豆网上搜索。
病房呼叫系统报告
引言
本设计是为在病人紧急需要时能很快进展救治的呼叫系统,增强医护人员更好的监护病人。
此系统的优点特色在于可以设立呼叫优先等级而不是单纯的病人呼叫,这样防止在有多个病人同时呼叫时,医护人员不知道应该先救治哪个。
同时我们可以全面熟悉、掌握VHDL语言根本知识,掌握利用VHDL语言对常用的的组合逻辑电路和时序逻辑电路编程,把编程和实际结合起来,熟悉编制和调试程序的技巧,掌握分析结果的假设干有效方法,进一步提高上机动手能力,培养使用设计综合电路的能力,养成提供文档资料的习惯和标准编程的思想。
1.系统的设计要求
1.用5个开关模拟5个病房的呼叫输入信号,1号优先级最高;1到5优先级依次降低;
2.用一个数码管显示呼叫信号的;没信号呼叫时显示0;又多个信号呼叫时,显示优先级最高的呼叫号〔其它呼叫号用指示灯显示〕;
3.凡有呼叫发出5秒的呼叫声;
4.对低优先级的呼叫进展存储,处理完高优先级的呼叫,再进展低优先级呼叫的处理。
2.设计思路及方案
用74148优先编码器来实现病房呼叫的优先显示,用7447七段字形译码器接半导体数码管来用数字显示最高优先级的病房号,用计数器74193来实现模五的计数器,调节clock输入脉冲的频率来实现五秒的控制来实现闪烁五秒。
再用D触发器来实现锁存和复位清零功能。
3.设计过程
3.1设计总图
设计总图如图1所示。
图1设计总图
说明:
护士将action调节为1,表示工作。
当有病人呼叫时,数码管显示优先级高的病房号,所有的指示灯均亮。
74193和脉冲输入clock来控制灯闪烁5秒。
该设计根本上实现了病房呼叫系统的根本要求。
3.2优先编码和数据清零模块
优先编码和数据清零模块的电路图如图2所示。
图2优先编码和数据清零模块
此电路用到的74148管脚输入对应输出真值表如表1所示。
表174148输入输出真值表
输入
输出
*
*
*
*
0
0
0
1
*
*
*
0
1
0
1
0
*
*
0
1
1
0
1
1
*
0
1
1
1
1
0
0
0
1
1
1
1
1
0
1
3.3模五计数器以及灯闪烁五秒的模拟
模五计数器电路图如图3所示。
图3模五计数器电路图
如图先将74193接成模五计数器,当有病房呼叫时CLR为0,计数器计数,当没有病房呼叫时计数器清零,通过调节clock输入脉冲的频率来实现闪烁五秒的控制。
3.4显示病房号功能
显示病房号功能的电路图如图4所示。
图4显示病房号的电路图
说明:
该模块的输入为74148的输入,通过7447七段字形译码器进译码,将结果输出到半导体数码管进展显示。
4.程序设计
4.1非门
libraryieee;
useieee.std_logic_1164.all;
entityas_notis
port(a:
instd_logic;
f:
outstd_logic);
endas_not;
architecturebehaveofas_notis
begin
f<=nota;
endbehave;
4.22输入与非门
libraryieee;
useieee.std_logic_1164.all;
entityas_nand2is
port(a:
instd_logic;
b:
instd_logic;
f:
outstd_logic);
endas_nand2;
architecturebehaveofas_nand2is
begin
f<=anandb;
endbehave;
4.32输入与门
libraryieee;
useieee.std_logic_1164.all;
entityas_and2is
port(a:
instd_logic;
b:
instd_logic;
f:
outstd_logic);
endas_and2;
architecturebehaveofas_and2is
begin
f<=aANDb;
endbehave;
4.4优先编码器74148
libraryieee;
useieee.std_logic_1164.all;
entityas_74148is
port(D:
instd_logic_vector(7downto0);
E1:
instd_logic;
Q:
outstd_logic_vector(2downto0);
GS:
outstd_logic;
E0:
outstd_logic);
endas_74148;
architecturertlofas_74148is
begin
process(E1,D)
begin
if(e1='1')then
Q<="111";
GS<='1';
E0<='1';
elsif(D="11111111"andE1='0')then
Q<="111";
GS<='1';
E0<='0';
elsif(D(7)='0'andE1='0')then
Q<="000";
GS<='0';
E0<='1';
elsif(D(6)='0'andE1='0')then
Q<="001";
GS<='0';
E0<='1';
elsif(D(5)='0'andE1='0')then
Q<="010";
GS<='0';
E0<='1';
elsif(D(4)='0'andE1='0')then
Q<="011";
GS<='0';
E0<='1';
elsif(D(3)='0'andE1='0')then
Q<="100";
GS<='0';
E0<='1';
elsif(D
(2)='0'andE1='0')then
Q<="101";
GS<='0';
E0<='1';
elsif(D
(1)='0'andE1='0')then
Q<="110";
GS<='0';
E0<='1';
elsif(D(0)='0'andE1='0')then
Q<="111";
GS<='0';
E0<='1';
else
Q<="111";
GS<='1';
E0<='0';
endif;
endprocess;
endrtl;
4.57447数码显示
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entityas_7447is
port
(
num:
instd_logic_vector(3downto0);
dout:
outstd_logic_vector(6downto0)
);
endas_7447;
architecturea1ofas_7447is
begin
withnumselect
dout<="1111110"when"0000",
"0110000"when"0001",
"1101101"when"0010",
"1111001"when"0011",
"0110011"when"0100",
"1011011"when"0101",
"1011111"when"0110",
"1110000"when"0111",
"1111111"when"1000",
"1111011"when"1001",
"0000000"whenothers;
enda1;
4.6D触发器
libraryieee;
useieee.std_logic_1164.all;
entityas_dis
port(D:
instd_logic;
CP:
instd_logic;
R:
instd_logic;
Q:
outstd_logic;
QB:
outstd_logic;
endas_d;
architecturertlofas_dis
begin
process(CP,R)
begin
if(CP'eventandcp='1')then
if(R='0')then
Q<='0';
QB<='1';
ELSE
Q<=D;
QB<=notD;
endif;
endif;
endprocess;
endrtl;
5.仿真结果
图53号床位呼叫仿真图
3号床位呼叫仿真图如图5所示。
开场时,7447输出编码为0000001,相应的半导体数码管显示为0.当3号病房呼叫,闪烁灯开场闪烁5秒,out3指示灯亮,7447输出编码为:
0000110,对应的显示数字符号为3.护士按下action使其为0,实现复位。
图62、3、4号床位同时呼叫仿真图
2,3,4病房同时呼叫的仿真图如图6所示。
2、3、4同时呼叫时闪烁灯开场闪烁5秒,out2,out3,out4指示灯亮,7447输出编码为:
0010010,对应的数码显示为2。
图7复位后新一轮的呼叫仿真图
复位后新一轮的呼叫仿真图如图7所示。
护士复位后,开场新一轮的病房呼叫。
图8优先级高的呼叫仿真图
优先级高的呼叫仿真图如图8所示。
优先级高的呼叫时,在还没处理低的优先级时,有高优先级呼叫,数码显示会变成高优先级病房号的显示。
总结
本设计是为在病人紧急需要时能很快进展救治的呼叫系统,增强医护人员更好的监护病人。
此系统的优点特色在于可以设立呼叫优先等级而不是单纯的病人呼叫,这样防止在有多个病人同时呼叫时,医护人员不知道应该先救治哪个。
在设计初期我不知道当有多个病人同时发出信号呼叫时,优先信号被优先编码器编码后,再经过译码显示后,医护人员处理完高级别信号,按下清零键;怎么样认其他病人的信号按照优先级别先后显示?
当多信号同时呼叫时,对较低等级的呼叫信号不知道怎么处理,才能保证当高级别的信号被清零后,低级别的信号能及时的由系统自动呼出,而不再需要人为的控制输出的问题始终没有能找到适宜有效的方法。
还有就是如何实现在医护人员已处理完毕当前呼叫的病人后,系统对当前呼叫信号的清零以保证其他呼叫信号能够及时的呼出以便医护人员能及时的对其他病人进展救治,从而防止因系统对病人呼叫信号的延迟导致病人不能及时承受护理而产生的严重后果。
特别是控制清零这个问题苦恼了我很长的时间,后来才在我翻阅相关书籍和浏览相关时找到了解决问题的方法,才知道这些问题可以通过对锁存器的合理使用来一一解决。
这也使我对学习的认识有了更深入的了解,对理论联系实际有了更加深刻的体会。
参考文献
[1]MarkZwolinski.DigitalSystemDesignwithVHDL.电子工业,2002
[2]汪国强.SOPC技术与应用.机械工业,2006
[3]范忠.实用数字电子技术.电子工业,1998
[4]*延飞.数字电子技术实验与仿真.西北工业大学,2021
[5]侯建军,郭勇.SOPC技术根底教程.清华大学,2021
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 病房 呼叫 系统 报告