APP下载

基于单片机的病房紧急呼叫系统设计

2015-08-26王菊霞

电子设计工程 2015年13期
关键词:发送数据波特率流程图

何 冰,王菊霞

(渭南师范学院 物理与电气工程学院,陕西 渭南714000)

设计一款能满足大众要求,适合各种服务性行业的紧急呼叫系统,无疑会对改善人们生活起着十分重要的作用。对医院单位而言,在同类行业中,需要对病人或客户进行快速、准确的服务和治疗, 这就需要一种能够提高医院工作人员办事效率的设备, 而这种便捷服务式的呼叫系统节约了大量的人力,财力。对医院工作人员而言,不需要频繁的去查房、更不需要高声应答病人或家属,免去了无数次的来回奔波,维护了医院良好的安静环境, 同时能够准确的给病人更好的服务和解决突发事件。该系统的设计主要分主机和从机两部分,集串行通信,液晶显示,蜂鸣器报警于一体,具有施工快捷、简单、故障率低、移动方便,使用该呼叫器的病人,无需四处张望寻找,也无需高声喊叫,只需轻松地按一下呼叫器的按钮,所需要的服务就会得到及时的解决。

1 串行通信技术

1.1 单片机串行通信功能

计算机与外界的信息交换称为通信,常用的通信方式可分为两种:并行和串行通信。一次同时传送多位数据称为并行通信。 并行通信其特点是通信速度快,但传输信号线多,传输的距离较远时线路复杂,成本高。

所以主要用于近距离的传输操作。 按一位接一位顺序传送数据的通信称为串行通信。串行通信其特点是传输线少,通信线路简单,通信速度慢,成本低,适合长距离通信。本设计采用串行通信。

51 单片机的串行接口是一个全双工的接口[1],它可以作为UART(通用异步接受和发送器)用,也可以作为同步移位寄存器用。 51 单片机串行接口的结构如下:

1)串行数据寄存器(SBUF)

串行数据寄存器SBUF,字节地址为99H,实际对应两个寄存器:发送数据寄存器和接收数据寄存器。当CPU 向SBUF写数据时对应的是发送数据寄存器,当CPU 读SBUF 时对应的是接收数据寄存器。

2)串行控制寄存器(PCON)

SCON 用于串行通信方式的选择,收发控制及状态指示,各位含义如下:

SM0 SM1 SM2 REN TB8 RB8 TI RI

SM0,SM1:串行接口工作方式选择位,用于选择四位工作方式。

表1 串行口四位工作方式Tab.1 Serial four port mode

SM2:多机通信控制位。

REN:接收允许控制位。软件置1 允许接收;软件置0 禁止接收。

TB8:方式2 或3 时,TB8 为要发送的第9 位数据,根据需要由软件置1 或清0。

RB8:为发送数据的第9 位.在方式2 或3 时,存放接收数据的第9 位,在方式1 时,若SM2=0,则为接收到的停止位。

TI:发送中断标志。 发送完一帧数据后由硬件自动置位,并申请中断。 必须要软件清零后才能继续发送。

RI:接收中断标志。接收完一帧数据后由硬件自动置位,并申请中断。 必须要软件清零后才能继续接收。

3)输入移位寄存器

数据先串行进入输入移位寄存器,8 位数据全移入后,再并行送入接收SBUF 中。

4)波特率发生器

波特率发生器用来控制串行通信的数据传输速率的,51系列单片机用定时器T1 作为波特率发生器,T1 设置在定时方式。 波特率时用来表示串行通信数据传输快慢程度的物理量,定义为每秒钟传送的数据位数。

5)电源控制寄存器PCON

其最高位为SMOD,称为波特率加倍位。 若SMOD 位为1,则波特率加倍。

6)波特率计算

当定时器T1 工作在定时方式的时候, 定时器T1 溢出率=(T1 计数率)/(产生溢出所需机器周期)。 由于是定时方式,T1 计数率= fORC/12。 产生溢出所需机器周期数=模M-计数初值W。

1.2 MAX232 芯片

MAX232 芯片是美信(MAXIM)公司[2]专为RS-232 串口设计的单相电源电平转换的芯片, 使用正5 V 单相电源供电系统。 如图1 所示。

第1 部分主要是电荷泵电路。由1、2、3、4、5、6 脚和4 只电容构成的。其功能是产生+12v 和-12v 电源,提供给RS-232串口。

图1 MAX232Fig. 1 Chip MAX232

第2 部分主要是数据转换。 由7、8、9、10、11、12、13、14脚构成其中的两个数据通道。其 中13 脚 (R1IN)、12 脚 (R1OUT)、11 脚 (T1IN)、14 脚(T1OUT)为第一数据通道。8 脚(R2IN)、9 脚(R2OUT)、10 脚(T2IN)、7 脚(T2OUT)为 第二数据通道。

TTL/CMOS 数据从11 引脚(T1IN)、10 引脚(T2IN)转换成RS-232 数据从14 脚(T1OUT)、7 脚(T2OUT)送到电脑DB9插 头;DB9 插 头 的RS-232 数 据 从13 引 脚 (R1IN)、8 引 脚(R2IN)输入转换成TTL/CMOS 数据后从12 引脚(R1OUT)、9 引脚(R2OUT)输出。

第三部分是供电。 15 脚GND、16 脚VCC(+5 V)。

1.3 串行通信软件实现

1)串行口工作于方式1;用定时器1 产生9600bit/s 的波特率。

2)通信协议:主机首先发送连络信号(AAH),从机接收到之后返回一个连络信号(BBH)表示从机已准备好接收。

3)通信过程使用第九位发送奇偶校验位。

4)从机接收到一个数据后,立即进行奇偶校验,若数据没有错误,则返回00H,否则返回FFH。

5)主机发送一个数据后,等待从机返回数据;若为00H,则继续发送下一个数据,若为FFH,则重新发送数据。

2 液晶显示1602

2.1 电路设计

液晶显示LCM1602[3,4,5,6]是利用液晶经过处理后能改变光线的传输方向的特性来实现信息显示。 一种常用的2 行16 个字的液晶模块,它的显示功能比较丰富,通过不同的地址编码, 既可以显示出不同的阿拉伯数字、 英文字母的大小写,还可以显示出常用的符号和日文假名等。它的电路设计比较简单,八个数据线口可以直接和单片机的口相连,典型的结构如图2 所示。

2.2 LCM1602 引脚及功能介绍

LCM1602 共16 个引脚,各个引脚功能如下:

图2 液晶显示1602Fig. 2 Liquid crystal display 1602

第1 脚:VSS 为地电源。

第2 脚:VDD 接5V 正电源。

第3 脚:V0 为液晶对比度调整端,当其接正电源时对比度是最弱的,而接地电源时其对比度最高。

第4 脚:RS 为寄存器选择端,高电平时表示选择数据、低电平时表示选择指令。

第5 脚:RW 为读写信号端,高电平时表示读操作,低电平表示写操作。RS 和RW 共同为低电平时表示可以写入指令或显示地址。

第6 脚:E 端为使能端, 当由高电平跳变成低电平时,液晶模块执行其命令。

第7~14 脚:D0~D7 为8 位双向的数据线。

第15~16 脚:为背光的阳极脚和阴极脚,如果模块是不带背光的,则为空脚。

表2 LCD 液晶控制指令Tab.2 LCD?control instruction

3 系统的软件实现

主机程序流程图如图3 所示。

图3 主机发射数据中断子程序流程图Fig. 3 The main transmitting data interrupt program

系统的软件实现中主机的流程图主要由以下几个主要部分组成:首先开启主程序,程序经过初始化之后,主机发送AAH 到从机,从机如果不应答,则返回上一层流程,否则主机发送数据进行检验判断输出是否完成,若完成则清除标志位,否则返回上一层流程。

分机程序流程图如图4 所示。

图4 分机发射数据中断子程序流程图Fig. 4 The extension transmitting data interrupt program

系统的软件实现中分机的流程图主要由以下几个主要部分组成:首先开启主程序,程序经过初始化之后,接收数据,同时计算检验主机发送数据的累加值, 如果检验的累加值和主机的数据相等,则发送00H 到主机,否则发送FFH;发送00H到主机后,进行接收完成判断,若完成则清除标志位,然后将结果显示到LCD 屏上,否则返回到第三个流程阶段,再次计算检验主机发送数据的累加值,然后重复后续流程阶段。

4 结论

本设计在设计过程中遇到的最大的困难就是程序的调试,串口程序的初始调试还算比较顺利,先根据数码管实现了串口间的发送与接收, 然后换成1602 液晶以后问题接踵而来,开始的时候复位需要在分机上进行,但是问题是分机上复位了患者也不能立马看到主机上的复位效果, 所以效果不能真正的实现。然而通过再次查阅有关串口通信的资料,得知串口通信发送接收一次要进行一次初始化,问题随之而解。其次在进行主机按键查询的程序设计中费了不少功夫, 开发板上的按键不能中断串口通信的过程, 而且串口通信的接口和键盘的一排按键的接口是复用的,给设计带来了不小的麻烦,最后利用中断的优先级的设定, 利用外部中断的优先级高于定时器中断的优先级有效的解决了主机按键查询的问题。

[1] 谢维成,杨加国.单片机原理与应用及C51程序设计[M].北京:清华大学出版社,2009.

[2] 李建兵,周长林.EDA技术基础教程[M].北京:国防工业出版社,2007.

[3] 王意岗.病房呼叫系统[J].建筑电气,2004,5(23):87-109.WANG Yi-gang.Ward calling system [J].Building Electrical,2004,5(23):87-109.

[4] 朱艳华.基于PL3105的病床呼叫系统设计[J].北京石油化工学院报.2009,17(2):40-43.ZHU Yan-hua.Design of sickbed calling system based on PL3105 [J].Journal of Beijing Institute of Petrochemical Technology.2009,17(2):40-43.

[5] 康华光.电子技术基础[M].北京:高等教育出版社,2000.

[6] 胡汉才.单片机原理及接口技术[M].北京:清华大学出版社,1995.

猜你喜欢

发送数据波特率流程图
移动自组网中MAC层协议研究
CAN 总线波特率自适应程序设计
基于马尔科夫链的LoRaWAN网络节点性能分析
带标记方式的CRDSA++协议性能分析*
基于FPGA的异步串行通信波特率容错设计
使用IPSec安全传输数据
专利申请审批流程图
专利申请审批流程图
宁海县村级权力清单36条
《天津医药》稿件处理流程图