病房呼叫系统设计与仿真

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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分钟后进行报警,所以报警器

模块和时间的链接模块是联系起来的,当输入为0000000100000000表示的是1秒,0000001000000000表示的是2秒,以此类推,当表示的时间是1-5秒时令蜂鸣器响,此时输出为低电平,表是的是蜂鸣器工作。当时间在6秒到3分钟之间的时候,编写程序另输出为高电平,此时蜂鸣器不工作。超过三分钟时再令蜂鸣器工作5秒,进行报警工作,此时已经达到设计要求。

三、课程设计综合介绍

我们对这个模块刚开始设计了和现在不同的方案,然后顶层设计时发现并不好实现,而且连接之后模块也比较复杂,所以我们重新思考之后就有了现在模块的初稿,但是在顶层设定好之后,跑实验箱是显示的结果并不如预期的,多次调试没出结果之后,我选择了排除错误,首先从自身下手,我把顶层的连接改成了用系统框图表示,选它的优点是比较直观,设想正确的话基本上不会出现什么错误,所以,当问题再次出现时我考虑到了每个模块的逻辑问题,经过一个一个找出现的问题,从时间模块的SP的高低电平的修改,再到蜂鸣器和时间表示对应的修改,再到对选优模块最后执行语句YOU归零的修改,解决了计时器一直计时、蜂鸣器不工作、病房显示号不归零等问题,终于圆满的完成了实验的要求。

一)、病房呼叫系统框图如下:

二)、综合引脚配置如下:

相关文档
最新文档