基于单片机的病床呼叫系统-毕业论文6789(4)

2025-08-08

RST引脚是复位信号输入端,高电平有效。采用上电加按钮复位,因为本系统设计考虑到该系统比较重要,所以除了采用上电复位的方式外,应该还有按钮复位备用复位方式以防止系统死机时能。如下图4.3所示:

图4.3上电复位和按键复位 时钟电路:

时钟是时序的基础,AT89C51核片内由一个反相放大器构成振荡器,可以由它产生时钟,时钟可以由两种方式产生内部方式和外部方式。本系统采用内部方式,在XTAL1和XTAL2端外接石英晶体作为定时元件,内部反相放大器自激振荡,产生时钟。时钟发生器对振荡脉冲二分频。电容采用30pF电容。如下图4.4所示:

图4.4内部时钟电路 .2 键盘电路设计 1、 键的识别

为了识别键盘上的闭合键,通常采用两种方法,一种称为行扫描法,另一种称为行反转法。

行扫描法的原理 :

行扫描法识别闭合键的原理如下:先使第0行接地,其余行为高电平,然后看第0行是否有键闭合,这是通过检查列线电位来实现的,即在第0行接地时,看是否有条列线变成低电平。如果有某条列线变为低电平,则表示第0行和此列线相交位置上的键被按下;如果没有任何一条列线为低电平,则说明第0行上没有键被按下。此后,再将第1行接地,,然后检测列线中是否有变为低电平的线。如此往下逐行扫描,直到最后一行。在扫描过程中,当发现某一行有键闭合时,

也就是列线输入中有一位为0时,便在扫描中途退出,而将输入值进行移位,从而确定闭合键所在的列线位置。根据行线位置和列线位置便能再扫描法来确定具体位置。将行线和一个并行接口相接,CPU每次使并行输出接口的某一位为0,便相当于将某一行线接地,而其他位为1,则相当于使其他行线处于高电平。为了检查列线上的电位,将列线和一个并行输入输出口相接,CPU只要读取输入输出口中的数据,就可以设法判别出第几号键被按下[11]。

从上面的原理中知道,程控扫描法是由程序控制键扫描的方法。程控扫描的任务是:

①首先判断是否有键按下。其方法是使所有的行输出均为低电平,然后从端口A读入列值 。如果没有键按下,则读入的列值为FFH;如果有键按下,则读入的列值不为FFH。

②去除键抖动。若有键按下,则延时5~10ms,再一次判断有无键按下,如果此时仍有键按下,则认为键盘上有一个键处于稳定闭合期。

③若有键闭合,则求出闭合键的键值. 求键值的方法是对键盘逐行扫描。如图4.5是行扫描法:

图4.5行扫描法的流程图 2 行反转法的原理[12]。

行反转法也是识别闭合键的常用方法,它的原理如下所述。这了叙述方便,以4×4 16键的键盘为例。图4.6是行反转法的工作示意图:

图 4.6 行反转法连接图

从图中可以看到,用行反转法识别闭合键时,要将行线接一个并行口,先让它工作为输出方式,将列线接到一个并行口,先让它工作在输出方式。程序使

CPU通过输出端口往各行线上全部送低电平,然后读入列线的值。如果此时有某一个键被按下,则必定会使某一列线值为0,然后,程序再对两个并行端口进行方式设置,使接行线的并行端口工作在输出方式,而使接列线的并行端口工作在输出方式,并且将刚才读得的列线值从所接的并行端口输出,再读取行线的输入值,那么,在闭合键所在的行线上的值必定为0。这样,当一个键被按下时,必定可以读得一对惟一的行值和列值。在键盘设计时,除了以键码的识别以外,还有抖动问题需要解决[13]。

有软件方法可以很容易解决抖动问题,这就是通过延迟来等待抖动消失,这之后,再读入键码。

.3 显示电路设计

在LED的点阵显示中,已经详细介绍了显示的原理,此外还需要知道显示驱动程序。显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:

刷频率(帧频) 1/16×T0溢出率

1/16×f/12(65536-t)

其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。 然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。图4.7为显示驱动程序(显示屏扫描函数)流程图:

图4.7 显示驱动流程图 图

4.8 控制按键

.4 控制电路设计

三个控制按键分别接p3.2 ,p3.3,p3.4口(如图4.8所示),当有呼叫发出时,值班室人员收到相应信息后,可按下“响应按钮”,单片机执行中断程序。

.5 示警电路

报警电路由一个led灯与p3.1口相接,当有键按下时,有信号输入,灯亮示警,提醒值班人员有病人出现紧急情况。

4.3 系统软件设计 设计的软件环境简介 .1 Keil c

对于AT89C51的控制设计,以Keil c软件编程环境,以proteus软件为电路仿真设计环境。二者的结合为该系统的设计提供有利条件。Keil c软件界面,如图4.9所示:

图4.9 Keil_c软件界面

该软件是一款集编程和仿真于一体的软件,它支持汇编、C语言及二者的混合编程[14]。

.2 Proteus ISIS

Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析 SPICE 各种模拟器件和集成电路。

该软件的特点是:

(1)全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。

(2)具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS-232动态仿真、I2 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等[13]。

(3)目前支持的单片机类型有:ARM7系列、68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

(4)支持大量的存储器和外围芯片。

总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真ARM、51、AVR、PIC[15]。

Proteus ISIS的工作界面是一种标准的Windows界面,如图所示,包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。

图4.10 电路仿真界面

运行Proteus程序后,进入软件的主界面。通过左侧工具栏中的P 从库中选择元件命令 命令,在Pick Devices 左侧窗口中选择所需元件的关键字,然后放置元件并调整方向和位置以及参数设置,最后进行连线[16] 图4.10 电路仿真界面 。

系统程序设计

.1 系统主程序设计的流程如图4.11所示:

图4.11 系统主程序设计的流程 主程序程序描述:


基于单片机的病床呼叫系统-毕业论文6789(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:HG202中文说明书

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219