病房呼叫系统报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

引言 (1)

1.系统的设计要求 (1)

2.设计思路及方案 (1)

3.设计过程 (2)

3.1 设计总图 (2)

3.2 优先编码和数据清零模块.................... 错误!未定义书签。

3.3 模五计数器以及灯闪烁五秒的模拟 (4)

3.4 显示病房号功能 (4)

4.程序设计......................................... 错误!未定义书签。

4.1 非门源代码................................ 错误!未定义书签。

4.2 2输入与非门源代码......................... 错误!未定义书签。

4.3 2输入与门源代码 (5)

4.4 优先编码器74148源代码 (6)

4.5 7447数码显示源代码........................ 错误!未定义书签。

4.6 D触发器源代码............................. 错误!未定义书签。

5.仿真结果......................................... 错误!未定义书签。

6. 总结............................................ 错误!未定义书签。

7.参考文献......................................... 错误!未定义书签。

引言

本设计是为在病人紧急需要时能很快进行救治的呼叫系统,增强医护人员更好的监护病人。此系统的优点特色在于可以设立呼叫优先等级而不是单纯的病人呼叫,这样避免在有多个病人同时呼叫时,医护人员不知道应该先救治哪个。

同时我们可以全面熟悉、掌握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所示。

表1 74148输入输出真值表

3.3 模五计数器以及灯闪烁五秒的模拟

模五计数器电路图如图3所示。

图3 模五计数器电路图

如图先将74193接成模五计数器,当有病房呼叫时CLR为0,计数器计数,当没有病房呼叫时计数器清零,通过调节clock输入脉冲的频率来实现闪烁五秒的控制。

3.4 显示病房号功能

显示病房号功能的电路图如图4所示。

图4 显示病房号的电路图

说明:该模块的输入为74148的输入,通过7447七段字形译码器进译码,将结果输出到半导体数码管进行显示。

4.程序设计

4.1 非门

library ieee;

use ieee.std_logic_1164.all; entity as_not is

port(a:in std_logic;

f:out std_logic);

end as_not;

architecture behave of as_not is begin

f<=not a;

end behave;

4.2 2输入与非门library ieee;

use ieee.std_logic_1164.all; entity as_nand2 is

port(a:in std_logic;

b:in std_logic;

f:out std_logic);

end as_nand2;

architecture behave of as_nand2 is begin

f<=a nand b;

end behave;

4.3 2输入与门

library ieee;

use ieee.std_logic_1164.all; entity as_and2 is

port(a:in std_logic;

b:in std_logic;

f:out std_logic);

end as_and2;

architecture behave of as_and2 is

begin

f<=a AND b;

end behave;

4.4 优先编码器74148

library ieee;

use ieee.std_logic_1164.all;

entity as_74148 is

port(D:in std_logic_vector(7 downto 0);

E1:in std_logic;

Q:out std_logic_vector(2 downto 0);

GS:out std_logic;

E0:out std_logic);

end as_74148;

architecture rtl of as_74148 is

begin

process(E1,D)

begin

if(e1='1') then

Q<="111";

GS<='1';

E0<='1';

elsif(D="11111111" and E1='0') then

Q<="111";

GS<='1';

相关文档
最新文档