设计总结报告
日
医院病人呼叫系统 (D题)
摘要:本系统利用单片机(AT89S52)为控制核心,由输入模块、显示模块(包
括病床号显示、病人呼叫持续时间显示和设定时间倒计时显示)、病人端处理提示模块、声光提示模块、定时模块以及电源模块等功能模块构成。其中,按键模块采用了8×13的矩阵键盘模式,显示模块利用动态LED显示。系统主要通过软件控制实现了所有硬件功能,不仅实现了题目的基本要求,发挥部分要求也全部实现,成功完成了医院病人呼叫系统的设计。
关键词:AT89S52 动态LED 优先级
1引言
医院病人呼叫系统是基于AT89S52单片机实现对病人呼叫请求控制的装置。本设计能实现103个病人的呼叫请求,并能按其病情严重设置相应的优先级。比较方便地完成医护人员同病人之间的联系。
本设计要求制作的系统当病人紧急呼叫时,病人端按键变为红色并保持,同时医护人员端会产生声、光提示,并显示病人编号(共103个床位,采用动态LED显示)。能根据病人病情设置优先级,当有多人呼叫时,病情严重者优先。当医护人员开始处理,则病人处按键恢复,系统按优先级分别显示其它呼叫病人的床号,不遗漏任何病人的呼叫。
本设计根据扩展功能的要求给系统增加了任意时间设定功能和病人呼叫持续时间的显示功能,方便医护人员的使用。
2系统设计与论证 2.1系统总体设计思路
充分理解题意后,将系统分为以下几个部分进行设计:中央控制器、输入模块、定时部分、病人端处理提示模块、声光提示模块、动态LED显示部分和电源模块。根据分析系统设计框图如图2-1所示:
1
定时部分 动态 LED 显 示 输入模块 病人端处理提示模块 中央处理器 声光提示模块 电源模块
图2-1 系统设计框图
输入模块包括病人呼叫使用按键、医护人员处理后的复位按键和调节定时时间的按键,病人呼叫通过按键输入信号经过中央处理器处理后从动态LED输出显示,同时有声光提示。动态LED能够显示病人病床号、呼叫持续时间和定时时间。病人端处理提示模块用发光二极管实现,声光提示包括定时结束声光提示和病人呼叫时的声光提示。
2.2方案论证 2.2.1输入模块
1.按键部分键盘及接口电路的设计有以下两种方案:
方案一:直接使用I/O口的键盘连接电路。由于AT89S52的I/O口具有输出锁存和输入缓冲的功能,因而他们组成键盘电路时,可省去输出锁存器和输入缓冲器,键位的列线,行线直接分别与单片机中接口相连。
方案二:利用I/O口和译码器的接口连接按键电路。将键盘的七根列线与译码器相连后由译码器74HC138三根口输入单片机,节省了I/O口。
由于本设计所需要的按键总数很大,按键电路我们采用8×13矩阵式键盘电路,同时为了扩展I/O端口我们采用方案二。 2.键盘扫描方式的方案选择:
方案一:采用定时扫描方式。此扫描方式每隔一段时间对键盘扫描一次,通常利用单片机内部定时器,产生10ms的定时中断,CPU响应定时器溢出中断请求,对键盘进行扫描,以响应键盘输入请求。
方案二:采用中断扫描方式。此扫描方式是在键盘上有键盘阖上时才产生中断请求,CPU响应中断,执行中断服务程序,判断键盘上闭合键的键号,并作出相应的处理。
2
经综合考虑,本设计选择方案二即中断扫描方式。可以节省系统资源,避免没有键按下时,系统仍然进行扫描。
2.2.2定时部分
定时部分是本设计的发挥部分,它的实现有以下两种方案:
方案一:本方案采用555定时器实现定时功能,但此方案调节定时时间和显示时间时非常困难且精度不高。
方案二:本方案完全用软件实现定时功能。原理为:在单片机内部存储器设二个字节分别存放时间的分、秒信息,利用定时器与软件结合实现倒计时定时和显示功能。
由于用硬件实现定时困难且用软件实现定时和倒计时显示简单方便又节省硬件资源,因此本设计采用方案二完成倒计时部分的功能。
2.2.3显示模块
本设计题目中要求病床号必须使用动态LED显示(病人端按键加发光二极管指示),对于动态LED显示的数据输入有如下方案:
方案一:直接将单片机端口与动态数码管的数据输入及控制端口相接。此种方法电路简单、连线方便,但占用单片机端口资源较多。
方案二:将单片机输出端口通过移位寄存器74LS164将数据串行移入动态数码管。此方案需要增加元器件,但其占用单片机端口资源较少,节省了端口资源。
经综合考虑,由于本设计所用单片机端口较多,因此方案应首先考虑到怎样节约端口资源,所以我们采用方案二。
2.2.4病人端处理提示模块
此模块是为实现当医护人员按下键后准备前来处理时给病人一个提示(用发光二极管指示)而设置的。
本设计给每个病人按键设置一个相应的发光二极管构成此提示模块。其实现方式是利用移位寄存器将程序中所赋予的高电平逐级移送给目标指示灯。这样做可节省大量端口资源。
2.2.5声光提示模块
声光提示模块包括病人呼叫时的声光提示和定时器定时到达时的声光提示。该模块采用直接将蜂鸣器、发光二极管串联接入单片机的信号输出端构成。从软件中写入方波信号以驱动蜂鸣器发声和发光二极管闪烁。
3.2 软件设计
通过单片机软件设计,实现软件结构如下图。系统首先初始化,通过按键扫描,确定返回的按键值,确定是输入信号还是复位信号,当是输入按键信号时判断其优先级再执行相应的床号和时间显示功能;若返回的是复位信号的键值则将当前的键值置零并显示低一优先级的床号和持续时间。
3
开 始 系统初始化 扫描按键 判断扫描返回值确定输出参数 1 4系统测试 4.1基本功能测试 1.键盘编号测试结果: 4