基于单片机的病房呼叫系统..doc_第1页
基于单片机的病房呼叫系统..doc_第2页
基于单片机的病房呼叫系统..doc_第3页
基于单片机的病房呼叫系统..doc_第4页
基于单片机的病房呼叫系统..doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南机电高等专科学校毕业设计 论文 摘 要 本文是基于 51 系列的单片机设计的病房呼叫系统 在该设计中每个病房都 有一个按键 当患者有需要的时候 按下按键 此时 值班室的系统板上会显示 此患者的床位号 此时 值班室的护士会看到哪个病房的患者又需要 然后护士 按下 响应 键取消当前呼叫 在这个瞬息万变 竞争激烈的时代 选择一个优越的工具往往能提升企业在 这个市场上的竞争力 尤其医院的竞争越来越激烈 商业医院的生存是第一位的 提升档次和服务质量迫在眉睫 陪护问题一直是医患矛盾的主体 也是长期困扰 卫生系统服务质量的大问题 使用病房呼叫系统 方便病人更快找到医生 以节 约病人的宝贵时间 系统主要用于医院 门疹 养老院等场所 可大大降低护理 成本 增强护理的及时性和有效性 而且无需布线 安装极其简便 以前当病人 需要服务时就不得不亲自到值班室去叫 安装该呼叫系统后 在病人与护士之间 架起一座及时沟通的桥梁 使用呼叫服务系统可在减少护理人员的同时 保证 病员随时能够得到服务 让每个病人及时得到最佳护 该系统就能够满足这个要求 且实际意义在于能够为医院提供一个成本低 不复杂 生产和安装方便的简单快捷系统 关键词 单片机 点阵 LED 显示 呼叫系统 河南机电高等专科学校毕业设计 论文 I ABSTRACT The design of the system is called system 51 series single chip design based on the ward In the design of each unit has a key when a patient needs press the button at this time the system board duty room will display the patient bed number at this time duty room nurses will see which ward patients and nurses and then press the response button to cancel the call Vary from minute to minute in this era of fierce competition select a superior to lane often promote the enterprise in the market competitiveness In particular the hospital of the increasingly fierce competition commercial hospital survival is the first enhance the level and quality of service has been imminent the subject of the doctor patient contradiction is also a big problem of quality of service long term health systems the use of ward call system convenient for the patients to find doctors in order to save the time of patients The system is mainly used for places of hospitals clinics nursing homes Can greatly reduce the cost of nursing care enhance the timeliness and effectiveness and no wiring installation is very simple When patients need services will have to personally to the duty room to call The installation of the call system set up a communication bridge between patients and nurses Use the call service system can reduce the nursing staff at the same time to ensure the patient can get the service let every patient to be the best support The system is able to meet the requirements and the practical significance is to provide a low cost not complicated production and convenient installation is simple and fast system for hospital Key Words Single chip dot matrix LED display call system 河南机电高等专科学校毕业设计 论文 目 录 毕业设计任务书 I 摘要 I 绪论 1 第 1 章 系统整体设计 3 1 1 功能与方案确定 3 1 2 框架模块功能描述 5 第 2 章 系统硬件设计 6 2 1 硬件构成示意图 6 2 2 外围电路设计 6 2 3 呼叫系统控制器 AT89C51 6 2 4 键盘电路设计 9 2 5 显示电路设计 13 2 6 控制电路设计 19 第 3 章 系统软件设计 21 3 1 设计的软件环境简介 21 3 2 系统程序设计 23 第 4 章 调试与结果 27 4 1 调试界面显示 27 4 2 结果分析 28 结论 展望 30 致谢 31 参考文献 32 附录 33 附录 A 33 附录 B 34 河南机电高等专科学校毕业设计 论文 I 河南机电高等专科学校毕业设计 论文 0 绪 论 病床呼叫系统是一种应用于医院病房 养老院等地方 用来联系沟通医护人 员和病员的专用呼叫系统 是提高医院水平的必备设备之一 病床呼叫系统的优 劣直接影响到病员的安危 历来受到各大医院的普遍重视 它要求及时 准确可 靠 简便可行 利于推广 目前市场上存在着许多种型号不一功能各异的医院病房呼叫系统 主要为两 大类 有线式和无线式 无线式病房呼叫系统不存在铺设线路的问题 但是可靠 性差 而且无线电波会干扰其他医疗仪器设备 本文设计的是有线式的 适合较 小的医院病房使用 具有成本低 易于操作 安装和维护 而且具有可靠稳定 对其他医疗设备不会产生干扰的特点 但受到布线较多 影响美观 故不适宜较 大的医院 病床呼叫管理系统便于病员快捷的呼叫护士 缩短人工呼叫的时间 当今病 房呼叫系统正在逐步地向智能化发展 它可以和录像机一起使用 当病人按下开 关时 在护士值班室的大屏幕能够观察病人的需要 并且可以配备对讲机等设备 能够使病员及时快捷地与医护人员进行沟通 病房呼叫管理系统在全国大型医院 病房中都有广泛的应用 它便于病人方便快捷的呼叫护士 缩短人工呼叫的时间 当今病房呼叫系统正在逐步的向智能化发展 它可以和录像机一起使用 当病人 按下开关时 在护士值班室的大屏幕上能打开该病房 以此护士能观察到该病的 需要 并且 可以安装一个对讲机 能够使病人和护士进行对话 河南机电高等专科学校毕业设计 论文 1 第1章 呼叫系统总体设计 1 1 功能与方案确定 1 1 1 呼叫系统功能要求 本课题主攻方向是使系统实现以下目的 1 任一病房 共 16 张 呼叫 医护值班室马上能响应并显示病房号 2 显示病房床号 3 若有多个病床呼叫就循环显示 4 处理完毕后清除记录 5 显示器不重复显示按一次以上的病床号 设计目的和要求 软件方面 要求界面美观 功能齐全 能写出最优控制算法 并能制成软件 硬件方面 研制出到一套及时 准确 可靠 简便可行 利于推广的硬件控制系统 能做成集成电路 减小体积 方便存放和测试 a 系统框架建立 输入系统和显示系统是设计的两大系统 因此 在开题之前要对其单独 进行分析 能准确的构建系统的框架 这是对系统进行分析和控制的前提 b 控制算法的研究 采用各种不同的控制方法 实现控制要求 比较控制效果和考虑性价比 从中选择合适的控制算法作为控制器 进而进行下一步的系统仿真和实验 1 3 框架模块功能描述 河南机电高等专科学校毕业设计 论文 2 本设计是基于 AT89C51 单片机设计的病房呼叫系统设计 该系统就是以 Atmel 公司的 AT89C51 单片机作为主控器 包括键盘输入电路 显示电路 以及 晶振复位电路等来实现病房呼叫系统 病床呼叫系统结构框图如图 1 1 所示 图 1 1 病房呼叫系统结构框图 输入部分 键盘输入 控制器 AT89C51 输出部分 LED 显示 河南机电高等专科学校毕业设计 论文 3 1 1 21 1 2 病床呼叫系统的方案论证 方案一方案一 使用 8051 单片微机外加作地址锁存用的一块 8 三态锁存器 74LS373 芯片和 一块 EPROM 芯片可构成一个完整的最小微机电路 以此为基础 在智能装置中 若要配置多位数码管显示器 以及 m 行 n 列矩阵键盘的话 可通过扩展诸如 8255 或 8279 之类的并行 1 0 芯片来完成 或者通过串行通讯口 P3 0 RXD 和 P3 1 TXD 经多块串 并 并 串转换电路 74LS164 和 74LS165 IC 芯片实现接口 按照一般的设计方法 显示和键盘搜索按下键均按动态扫描的方法进行 显示电 路接口由 P1 口和 P2 口组成 键盘接口由 P2 口和 P3 口组成 在完成显示功能过 程中 P1 口锁存器显示字符的八段字形码 P2 口的高 6 位 P2 7 P2 2 锁存待显示 字符的位选码 8051 按分时方式执行程序进入到键盘搜索时 经 P2 7 P2 2 输出 键盘扫描的行选码 键盘的列输入由 P3 口的 P3 7 P3 4 承担缓冲功能 利用 P2 7 P2 2 输出数据代码的做法是通过改变程序计数器高 6 位数值来实现的 方案二方案二 用 8051 自身接口实现数码管静态显示和键盘扫描 使用 8051 单片微机外加作 地址锁存用的四块 8 三态锁存器 74LS373 芯片和一块 74LS138 芯片可构成一个完 整的最小微机电路 以此为基础 在智能装置中若要配置多位数码管显示器 以 及 m 行 n 列矩阵键盘的话 可以不扩展 I O 芯片而由 8051 自身 I O 口 实现上 述功能 即用 P0 口的八个端口作为 LED 的段选 用 P2 口的高三位连接一个三八 译码器 74LS138 作为四个 LED 的片选 用 P1 口和 P2 口的低五位做键盘电路的接 口 综上所述 方案一中键盘显示均采用动态扫描方式 其软件实现起来比较简 单 但硬件电路过于复杂 没有合理利用单片机的I O 而方案二外围电路简单 河南机电高等专科学校毕业设计 论文 4 且软件实现起来也不是太复杂 合理利用单片机I O口 比较起来本文采用的是方 案二 1 1 3 总体结构框图 本设计是基于AT89C51单片机设计的病房呼叫系统设计 该系统就是以 At mel 公司的 AT89C51 单片机作为主控器 包括键盘输入电 路 显示电路 以及晶振复位电路等来实现病房呼叫系统 病房呼叫系统结构框 图如 1 2 所示 图1 2 病房呼叫系统结构框图 1 2 框架模块功能描述 1 输入部分包括按键输入 按键输入相当于一个外界的干扰信号 用于 向单片机传输命令或数据 2 调节电路部分包括晶振和复位 需要时对控制器发出中断信号 以对 系统进行调节 3 微处理器采用常见的 AT89C51 单片机为控制核心 通过软件编程 对 实时采集的温度进行处理 同时也对调节电路进行驱动和控制 4 输出部分包括 LED 显示电路 将从键盘上输入的信号显示出来 给人 以直观的印象 5 系统过程的综述 输入部分 键盘输入 控制器 AT89C51 输出部分 LED 显示 河南机电高等专科学校毕业设计 论文 5 键盘 按钮 输入信号 AT89C51 单片机收到信号后进行处理 通过输出系统 将信号显示在点阵屏上 此时还可以通过按键进行中断调节 显示会发生相应 变化 实际情况出发 人们易于操作 河南机电高等专科学校毕业设计 论文 6 第 2 章系统硬件设计 2 1 呼叫系统硬件 呼叫系统的构成由键盘电路 单片机 显示电路和报警电路构成 呼叫系统的构 成示意图如图 2 1 所示 图 2 1 呼叫系统硬件构成示意图 2 2 外围电路设计 单片机是指一个集成在一块芯片上的完整计算机系统 尽管他的大部分功能 集成在一块小芯片上 但是它具有一个完整计算机所需要的大部分部件 CPU 内存 内部和外部总线系统 单片机是单片微型机的简称 故又称为微控制器 MCU Micro Control Unit 通常由单块集成电路芯片组成 内部包含有计算机 的基本功能部件 中央处理器 CPU 存储器和 I O 接口电路等 因此 单片机只 要和适当的软件及外部设备相结合 便可成为一个单片机控制系统 2 1 呼叫系统控制器 AT89C51 河南机电高等专科学校毕业设计 论文 7 AT89C51 是美国 ATMEL 公司生产的低电压 高性能 CMOS8 位单片机 片 内含 4k bytes 的可反复擦写的只读程序存储器 PEROM 和 128 bytes 的随机 存取数据存储器 RAM 器件采用 ATMEL 公司的高密度 非易失性存储技术生 产 兼容标准 MCS 51 指令系统 片内置通用 8 位中央处理器 CPU 和 Flash 存 储单元 功能强大 AT89C51 单片机可为您提供许多高性价比的应用场合 可 灵活应用于各种控制领域 AT89C51 主要特性 a 与 MCS 51 产品指令系统完全兼容 b 4K 字节可重擦写 Flash 闪速存储器 c 1000 次擦写周期 e 全静态操作 0Hz 24MHz f 三级加密程序存储器 g 128 8 字节内部 RAM h 32 个可编程 I O 口线 i 2 个 16 位定时 计数器 j 6 个中断源 k 可编程串行 UART 通道 l 低功耗空闲和掉电模式 输入输出引脚 AT89C51 引脚如图 2 2 示 河南机电高等专科学校毕业设计 论文 8 图 2 2 AT89C51 引脚图 P0 P3 通用 I O 口 VCC 电源端 一般接 5V GND 电源地 XTAL1 XTAL2 外接晶体振荡器 不能超过 24M 需加微调电容 一般为 30pF RST VPD 复位端 平时为低电平 ALE PROG 地址锁存允许信号端 EA Vpp 外部程序存储器地址允许输入端 固化编程电压输入端 河南机电高等专科学校毕业设计 论文 9 复位电路 RST 引脚是复位信号输入端 高电平有效 采用上电加按钮复位 因为本系统设计考虑到该系统比较重要 所以除了采用上电复位的方式外 应该 还有按钮复位备用复位方式以防止系统死机时能 上电复位和按键复位如下图 2 3 所示 图 2 3 上电复位和按键复位 时钟电路 时钟是时序的基础 AT89C51 核片内由一个反相放大器构成振荡 器 可以由它产生时钟 时钟可以由两种方式产生内部方式和外部方式 本系统 采用内部方式 在 XTAL1 和 XTAL2 端外接石英晶体作为定时元件 内部反相放 大器自激振荡 产生时钟 时钟发生器对振荡脉冲二分频 电容采用 30pF 电容 单片机外接电路如下图 2 4 所示 图 2 4 单片机外接电路 河南机电高等专科学校毕业设计 论文 10 2 2 键盘电路设计 1 矩阵式键盘 最简单的键盘 每个键对应 I O 端口的一位 没有什么键闭和时 各位均处 于高电位 当有一个键按下时 就是对应位接地而成为低电位 而其它位仍为高 电位 这样 CPU 只要检测到某一位为 0 便可判别出对应键已经按下 但是 当键盘上的键较多时 引线太多 占用的 I O 端口也太多 比如 一个有 64 个键 的键盘 采用这种方法来设计时 就需要 64 条连线和 8 个 8 位并行端口 所以 这种简单结构只用在仅由几个键的小键盘中 通常使用的键盘结构是矩阵式的 如图 3 5 所示 设有个键盘 那么 采用矩阵式结构以后 便只要条 nm nm 引线就行了 比如 有个键 那么 只要用两个并行端口和 16 条引线6488 便可以完成键盘的连接 矩阵键盘示意图如下图 2 5 所示 图2 5 矩阵键盘示意图 2 键的识别 为了识别键盘上的闭和键 通常采用两种方法 一种称为行扫描法 另一种 称为行反转法 1 行扫描法的原理 行扫描法识别闭和键的原理如下 先使第 0 行接地 其余行为高电平 然后 看第 0 行是否有键闭和 这是通过检查列线电位来实现的 即在第 0 行接地时 看是否有条列线变成低电平 如果有某条列线变为低电平 则表示第 0 行和此列 河南机电高等专科学校毕业设计 论文 11 线相交位置上的键被按下 如果没有任何一条列线为低电平 则说明第 0 行上没 有键被按下 此后 再将第 1 行接地 然后检测列线中是否有变为低电平的线 如此往下逐行扫描 直到最后一行 在扫描过程中 当发现某一行有键闭合时 也就是列线输入中有一位为 0 时 便在扫描中途退出 而将输入值进行移位 从 而确定闭合键所在的列线位置 根据行线位置和列线位置便能再扫描法来确定具 体位置 将行线和一个并行接口相接 CPU 每次使并行输出接口的某一位为 0 便相当于将某一行线接地 而其他位为 1 则相当于使其他行线处于高电平 为 了检查列线上的电位 将列线和一个并行输入输出口相接 CPU 只要读取输入输 出口中的数据 就可以设法判别出第几号键被按下 从上面的原理中知道 程控扫描法是由程序控制键扫描的方法 程控扫描的 任务是 首先判断是否有键按下 其方法是使所有的行输出均为低电平 然后从端 口 A 读入列值 如果没有键按下 则读入的列值为 FFH 如果有键按下 则读 入的列值不为 FFH 去除键抖动 若有键按下 则延时 5 10ms 再一次判断有无键按下 如 果此时仍有键按下 则认为键盘上有一个键处于稳定闭合期 若有键闭合 则求出闭合键的键值 求键值的方法是对键盘逐行扫描 行扫描法如图2 6所示 河南机电高等专科学校毕业设计 论文 12 图2 6行扫描法的流程图 河南机电高等专科学校毕业设计 论文 13 2 行反转法的原理 行反转法也是识别闭合键的常用方法 它的原理如下所述 这了叙述方便 以 4 4 16 键的键盘为例 行反转法的工作示意图如图 2 7 所示 图2 7 行反转法连接图 从图中可以看到 用行反转法识别闭合键时 要将行线接一个并行口 先让 它工作为输出方式 将列线接到一个并行口 先让它工作在输出方式 程序使 CPU 通过输出端口往各行线上全部送低电平 然后读入列线的值 如果此时有某 一个键被按下 则必定会使某一列线值为 0 然后 程序再对两个并行端口进行 方式设置 使接行线的并行端口工作在输出方式 而使接列线的并行端口工作在 输出方式 并且将刚才读得的列线值从所接的并行端口输出 再读取行线的输入 值 那么 在闭合键所在的行线上的值必定为 0 这样 当一个键被按下时 必 定可以读得一对惟一的行值和列值 在键盘设计时 除了以键码的识别以外 还有抖动问题需要解决 有软件 方法可以很容易解决抖动问题 这就是通过延迟来等待抖动消失 这之后 再 读入键码 2 3 显示电路设计 1 LED 点阵显示屏概述 LED 点阵显示屏的构成型式有多种 其中典型的有两种 一种把所需展示的 广告信息烧写固化到 EPROM 芯片内 能进行固定内容的多幅汉字显示 称为单显 示型 另一种在机内设置了字库 程序库 具有程序编制能力 能进行内容可变 的多幅汉字显示 称可编程序型 河南机电高等专科学校毕业设计 论文 14 目前 国内的 LED 点阵显示屏大部分是单显示型 其显示的内容相对较少 显示花样较单一 一般在产品出厂时 显示内容就已写入显示屏控制系统中的 EPROM 芯片内 当需要更换显示内容时就非常困难 这样使该类型的显示屏使用 范围受到了限制 国内的另一种 LED 显示屏 可编程序型 LED 显示屏 虽然增 加了显示屏系统的编程能力 显示内容和显示花样都有所增加 但也存在着更换 显示内容不便的缺点 随着社会经济的迅速发展 如今的广告牌都存在着显示内 容丰富 信息量大 信息更换速度快等特点 因此传统的 LED 显示屏控制系统已 经越来越不能满足现代广告宣传业的需要 而利用 PC 机通信技术控制 LED 显示 屏 则具有显示内容丰富 信息更换灵活等优点 2 8 8 点阵 如图 2 8 和图 2 9 是 8 8 点阵原理图和实物图 图 2 8 8 8 点阵 LED 等效电路图 图 2 9 为 8 8 单基色点阵的结构图 从内部结构可以看出 8 8 点阵共需要 64 个发光二极管 且每个发光二极管是放置在各行和列的交叉点上 当对应的某 河南机电高等专科学校毕业设计 论文 15 图 2 9 8 8 点阵 LED 外观及引脚图 一列置高电平 另一列置低电平时 则在该行和列的交叉点上相应的二极管 就亮 图 2 9 为 8 8 点阵 LED 外观及引脚图 其等效电路如图 2 8 所示 只要其 对应的 X Y 轴顺向偏压 即可使 LED 发亮 例如如果想使左上角 LED 点亮 则 Y0 1 X0 0 即可 应用时限流电阻可以放在 X 轴或 Y 轴 3 16 16 点阵显示原理 从理论上说 不论显示图形还是文字 只要控制与组成这些图形或文字的各 个点所在的位置相对应的 LED 器件发光 就可以得到我们想要的显示结果 这种 同时控制各个发光点亮灭的方法称为静态驱动显示方式 16 16 的点阵共有 256 个发光二极管 显然单片机没有这么多的端口 如果我采用锁存器来扩展端口 按 8 位的锁存器来计算 16 16 的点阵需要 256 8 32 个锁存器 这个数字很庞 大 因为我们仅仅是 16 16 的点阵 在实际应用中的显示屏往往要大得多 这 样在锁存器上花的成本将是一个很庞大的数字 因此在实际应用中的显示屏几乎 都不采用这种设计 而采用另外一种称为动态扫描的显示方法 动态扫描的意思简单地说就是逐行轮流点亮 这样扫描驱动电路就可以实现 河南机电高等专科学校毕业设计 论文 16 多行 比如 16 行 的同名列共用一套驱动器 具体就 16 16 的点阵来说 把所 有同 1 行的发光管的阳极连在一起 把所有同 1 列的发光管的阴极连在一起 共 阳极的接法 先送出对应第一行发光管亮灭的数据并锁存 然后选通第 1 行使 其燃亮一定时间 然后熄灭 再送出第二行的数据并锁存 然后选通第 2 行使其 燃亮相同的时间 然后熄灭 以此类推 第 16 行之后 又重新燃亮第 1 行 反 复轮回 当这样轮回的速度足够快 每秒 24 次以上 由于人眼的视觉暂留现象 就能够看到显示屏上稳定的图形了 采用扫描方式进行显示时 每一行有一个行驱动器 各行的同名列共用一个 驱动器 显示数据通常存储在单片机的存储器中 按 8 位一个字节的形式顺序排 放 显示时要把一行中各列的数据都传送到相应的列驱动器上去 这就存在一个 显示数据传输的问题 从控制电路到列驱动器的数据传输可以采用并列方式或串 行方式 显然 采用并行方式时 从控制电路到列驱动器的线路数量大 相应的 硬件数目多 当列数很多时 并列传输的方案是不可取的 采用串行传输的方法 控制电路可以只用一根信号线 将列数据一位一位传 往列驱动器 在硬件方面无疑是十分经济的 但是 串行传输过程较长 数据按 顺序一位一位地输出给列驱动器 只有当一行的各列数据都以传输到位之后 这 一行的各列才能并行地进行显示 这样 对于一行的显示过程就可以分解成列数 据准备 传输 和列数据显示两部分 对于串行传输方式来说 列数据准备时间 可能相当长 在行扫描周期确定的情况下留给行显示的时间就太少了 以致影响 到 LED 的亮度 解决串行传输中列数据准备和列数据显示的时间矛盾问题 可以采用重叠处 理的方法 即在显示本行各列数据的同时 传送下一列数据 为了达到重叠处理 的目的 列数据的显示就需要具有所存功能 经过上述分析 就可以归纳出列驱 动器电路应具有的功能 对于列数据准备来说 它应能实现串入并处的移位功能 对于列数据显示来说 应具有并行锁存的功能 这样 本行已准备好的数据打入 并行锁存器进行显示时 串并移位寄存器就可以准备下一行的列数据 而不会影 响本行的显示 图 2 10 为显示屏电路实现的结构框图 河南机电高等专科学校毕业设计 论文 17 图 2 10 显示屏系统框图 点阵显示屏由 32 个 8 8 点阵 LED 显示模块 32 片 8 8 点阵 LED 显示模块利 用总线形组成一个 32 64 的 LED 点阵 用于同时显示 8 个 16 16 点阵汉字或数 字 单元显示屏可以接收来自控制器或上一级显示单元模块传输下来的数据信息 和命令信息 并可将这些数据信息和命令信息不经任何变化地再传送到下一级显 示模块单元中 因此显示板可扩展至更多的显示单元 用于显示更多的显示内容 4 取字原理 取字原理 由于采用共阴极的 LED 显示模块 故在取字符时 取字符阴码 即点亮 LED 灯的信号为 1 取模顺序是从左到右 逐行取位 即第一个点作为最 高位 每取 8 个点作为一个字节 取字的字体由软件写入时的字体决定 每个 LED 灯的亮灭都是由一个数位来标志的取字原理图如图 2 11 所示 河南机电高等专科学校毕业设计 论文 18 图 2 11 取字原理图 每一个字由 16 行 16 列的点阵组成显示 即国标汉字库中的每一个字均由 256 点阵来表示 我们可以把每一个点理解为一个像素 而把每一个字的字形理 解为一幅图像 事实上这个汉字屏不仅可以显示汉字 也可以显示在 256 像素 范围内的任何图形 5 显示驱动程序 显示驱动程序在进入中断后首先要对定时器 T0 重新赋初值 以保证显示屏 刷新率的稳定 1 16 扫描显示屏的刷新率 帧频 计算公式如下 刷频率 帧频 1 16 T0 溢出率 1 16 f 12 65536 t 其中 f 位晶振频率 t 为定时器 T0 初值 工作在 16 位定时器模式 然后显示驱动程序查询当前燃亮的行号 从显示缓存区内读取下一行的显示 数据 并通过串口发送给移位寄存器 为消除在切换行显示数据的时候产生拖尾 现象 驱动程序先要关闭显示屏 即消隐 等显示数据打入输出锁存器并锁存 然后再输出新的行号 重新打开显示 图2 12为显示驱动程序 显示屏扫描函数 流程图 河南机电高等专科学校毕业设计 论文 19 图 2 12 显示驱动流程图 2 4 控制电路设计 三个控制按键分别接 p3 2 p3 3 p3 4 口 当有呼叫发出时 值班室人员收 到相应信息后 可按下 响应按钮 单片机执行中断程序 控制按键图如图 2 13 所示 河南机电高等专科学校毕业设计 论文 20 图 2 13 控制按键 2 5 示警电路 报警电路由一个 led 灯与 p3 1 口相接 当有键按下时 有信号输入 灯 亮示警 提醒值班人员有病人出现紧急情况 河南机电高等专科学校毕业设计 论文 21 第 3 章系统软件设计 3 1 设计的软件环境简介 3 1 1 Kevil c 于 AT89C51 的控制设计 以 Kevil c 为软件编程环境 以 proteus 软件为 电路仿真设计环境 二者的结合为该系统的设计提供有利条件 Kevil c 软件界 面如图 3 1 所示 图 3 1 Kevil c 软件界面 该软件是一款集编程和仿真于一体的软件 它支持汇编 C 语言及二者的混 合编程 3 1 2 Proteus ISIS Proteus ISIS 是英国 Lab center 公司开发的电路分析与实物仿真软件 河南机电高等专科学校毕业设计 论文 22 它运行于 Windows 操作系统上 可以仿真 分析 SPICE 各种模拟器件和集成电 路 该软件的特点是 1 全部满足我们提出的单片机软件仿真系统的标准 并在同类产品中具 有明显的优势 2 具有模拟电路仿真 数字电路仿真 单片机及其外围电路组成的系统 的仿真 RS 232 动态仿真 I2 C 调试器 SPI 调试器 键盘和 LCD 系统仿真的 功能 有各种虚拟仪器 如示波器 逻辑分析仪 信号发生器等 3 目前支持的单片机类型有 ARM7 系列 68000 系列 8051 系列 AVR 系列 PIC12 系列 PIC16 系列 PIC18 系列 Z80 系列 HC11 系列以及各种外 围芯片 4 支持大量的存储器和外围芯片 总之 该软件是一款集单片机和 SPICE 分析于一身的仿真软件 功能极其 强大 可仿真 ARM 51 AVR PIC 河南机电高等专科学校毕业设计 论文 23 Proteus ISIS 的工作界面是一种标准的 Windows 界面 如图所示 包括 标题栏 主菜单 标准工具栏 绘图工具栏 状态栏 对象选择按钮 预览对 象方位控制按钮 仿真进程控制按钮 预览窗口 对象选择器窗口 图形编辑 窗口 电路仿真界面如图 3 2 所示 图 3 2 电路仿真界面 运行 Proteus 程序后 进入软件的主界面 通过左侧工具栏中的 P 从库中 选择元件命令 命令 在 Pick Devices 左侧窗口中选择所需元件的关键字 然 后放置元件并调整方向和位置以及参数设置 最后进行连线 河南机电高等专科学校毕业设计 论文 24 3 2 系统程序设计 3 2 1 系统主程序设计的流程如图 3 3 所示 图 3 3 系统主程序设计的流程 主程序程序描述 首先对各存储单元初始化 设定定时初值 接 4 着判断清零键 看是否按下 若按下 则清零 然后继续扫描键盘 如扫描到键盘有键按下 则调用计数显示子 程序 循环显示病床号时 要判断标志位是否为 1 若为 1 则表示已经按下 则不 响应 如为 0 则调用循环显示病床号子程序 循环显示病床号 接着定时一秒 最后 清除定时一秒 准备下一次的定时 河南机电高等专科学校毕业设计 论文 25 3 2 2 显示电路流程图 显示程序描述 1 按下键总数显示子程序描述 把按键数存储单总元 COUNTER 的值经过 BCD 调整后十位和个位分别送 7AH 7BH 调用显示子程序显示按键总数 按键总数显示程序流程图如图 3 4 所示 COUNTER 1 初始化 计算键值子程序 键标志为 0 INC FLAG 40 个单元扫 描完 调 BCD 调整子程 序 调显示子程序 返回 N Y Y N 图 3 4 按键总数显示程序流程图 河南机电高等专科学校毕业设计 论文 26 2 循环显示病床号子程序描述 首先判断标志位是否为 0 若为 0 则表对示应的存储单元里没有值存入 则再 检测下一个存储单元标志位是否为 0 直到检测到为 1 如为 1 则把值存入 BED BOUNTER 中 接着进行 BCD 调整为十进制 把十位和个位分别送入 BEDCODE 1 和 BEDCODE 2 中 然后调用显示子程序 循环显示病床号 按 键循环显示子程序如图 3 5 所示 图 3 5 按键循环显示子程序 开始 标志位是 否为 1 定时是否 达到 1 秒 调显示子程序 存储单元加 1 Y Y N N 河南机电高等专科学校毕业设计 论文 27 第 4 章调试与结果 系统调试工作是系统开发过程中必不可少的一个过程 一个完整的控制 系统调试包含控制系统的硬件联调 软件联调 系统仿真 仿真烧录和现场 安装调试等几个环节 在系统设计组装完成后 首先是进行实验室条件下的 系统硬件调试 调试成功后 有了硬件的保证 就容易发现软件的漏洞 进 而促进改进和完善 所有的调试通过后 要进行现场运行并能持续一定的时 间 待其中未发现故障后 方可验收合格 才算完成了整个系统的设计工作 4 1 调试界面显示 下面是我们通过 Proteus 软件编程 使对应的软件仿真模块变成可视化的 控制界面 系统初始化界面如图 4 1 所示 按下 8 键后界面如图 4 2 所示 图 4 1 系统初始化界面 图 4 2 按下 8 键后界面 河南机电高等专科学校毕业设计 论文 28 4 2 结果分析 启动电源 显示屏显示 0000 在按下 8 号键时 界下部分显示病床 即 8 号病床呼叫 界面上部分代表共有一个病床按下 在起始位置显示 循环 显示 如果现在不按清零键 再按下 3 号键时 按键号循环显示 可以看出 该系统具有记忆功能 以至于不会忽略之前按下的按键 按 up 键向后选一房 间 呼叫病房 down 向前选一房间 呼叫病房 ok 则去房间 功能很好 的实现了 稳定性也不错 传输距离约有 100 米 抗干扰能力强最终实物图 电路做完上电 复位以后 数码管按预期显示 00 发射模块按下一个键 接 收模块能够很好的接收到信号 传输距离大约有 100 米 蜂鸣器发出响声 对应的指示灯被点亮 数码管显示床位号并闪烁 直到按下对应的回复键 指示灯熄灭 数码管上显示的对应的床位号熄灭 蜂鸣器响 10s 后自动关闭 等待下一次呼叫时再响起 当有多个都处于呼叫状态时 数码管交替显示床 位号并闪烁 当然还存在一些不足 无线传输没有达到理想的效果 直线传输还可以 但穿过障碍物的效果不够好 在实际中可以改用大功率的发射接收模块 并 在接受模块上接上较长的天线 或者将接收模块延伸到室外 这种情况都可 以得到改进 还有一处不够理想 当有一个床位呼叫后蜂鸣器发出响声 如 果在 10s 内有另一个床位按下 那么 蜂鸣器已经处于启动中 定时器也已 经启动 就只能根据第一个床位启动的时间持续 10s 后关闭 也就是说 如 果第二个床位在第一个床位呼叫 8s 以后按下 那么蜂鸣器在第二个床位呼叫 后只响 2s 就自动停止 此处没有在程序中做处理 但还是有改进的方案的 例如 可以将接收模块的接收 VT 端接到 AT89C51 的某一个端口上 当有病 河南机电高等专科学校毕业设计 论文 29 人呼叫时 VT 端发出高电平信号 这样就可以在定时器子程序中判断 VT 是 否为高电平 如果是高电平 则令定时器中断计数次数归 0 就会又持续 10s 综上所述 本系统实现了主要功能 显示病床号 亮报警提醒值班人员 若有多个病床同时呼叫 则循环显示病床号 确保性息不丢失 待值班人员 处理呼叫信息 通过 PROTEUS 软件仿真 能达到上述结论 满足课题目目 的 达到要求 河南机电高等专科学校毕业设计 论文 30 结论结论 展望展望 至此 此系统的详细设计及过程已经结束 在设计的过程中遇到了很多问题 发现了自己的不足之处 有很多没有学习 如 Proteus 仿真知识及操作 还有单 片机的 C 语言编程 有些软件掌握得不够牢固 比如说 wave 仿真不熟练 通过 此次学习 进一步加强了我的理解 同时提高了我独立自学的能力 整个设计过程中 老师详细的指导 同学的帮助 以及校图书馆的资料给了 我很大的帮助 此次设计让我从中学到很多东西 虽然中间遇到很多困难 但都 对于我是一次很好的锻炼 设计以后 才更加深刻感受到自己的学习只是理论部 分 而且很多时候不能付诸实践 这次设计能够让我从实践中重新学习理论知识 对我今后的工作和学习有了很多提高 但是由于本人水平有限 整个设计仍有很多不足之处 如程序不够完善 灵 活 显示可以采用液晶 LCD 模块 还有可以采用无线 NRF2401 射频模块及其无线 扩展功能等等 完善后将会进一步提高设计程序 河南机电高等专科学校毕业设计 论文 31 致 谢 时光匆匆 大学三年已经接近尾声 这三年给我留下很多美好的记忆 同 时接受很多优秀老师的教育 和很多同学的帮助 在此论文完成之际 我要向这 三年来帮助我的老师 同学表示由衷的感谢 这几个月的毕业设计 充满了忙碌 也感到学习的充实 从拿到毕业设计的 题目 之后便开始整理材料 这期间 在图书馆里找到很多有关书籍 然后开始 了一系列的整体方案的设计 并投入选择器材和方案的制定 最后开始整体的实 验 虽然其中经历很多的失败 在老师 同学的帮助下 我很快克服了困难 设 计的系统虽不是那么完善 但也是从知识到实践的转换 我从中学到了怎样独立 地思考发现问题 解决问题和进一步完善提高的能力 时光短暂 但给我留下很 多深刻的印象 这是第一次独立自主的做设计 以前只注重理论的学习 却忽略 了实践 通过此次设计 对我今后的学习和工作必将有很大的帮助 在此 谨向所有帮助我的老师 同学表示衷心的感谢和敬意 河南机电高等专科学校毕业设计 论文 32 参考文献 1 谭浩强 MCS 51单片机应用教程 M 2004 清华大学出版社 57 62 2 张振荣 MCS 51单片机及实用教程 M 2000 人民邮电出版社 231 236 3 康华光 电子技术基础 M 2000 高等教育出版社 17 23 4 李伯成 单片机及嵌入式系统 M 2005 清华大学出版社 337 346 5 肖金球 单片机原理与接口技术 M 2004 清华大学出版社 153 159 6 王环 张亚宁 单片机程序设计实例 M 2003 清华大学出版社 520 524 7 康华光 电子技术基础 模拟部分 M 1999 高等教育出版社 112 119 8 李勋 单片机微型计算机大学读本 M 2002 北京航空航天大学出版社 75 77 9 丁元杰 单片微机原理及应用 M 1996 机械工业出版社 256 276 10 何立民 单片机应用技术选编 M 1996 航空航天大学出版社 218 224 11 张培仁等 MCS 51单片机原理与应用 M 2003清华大学出版社 130 145 12 治刚 单片机应用技术与实训 M 2004 清华大学出版社 130 133 13 陈明荧 8051单片机课程设计实训教材 M 2004 清华大学出版社 325 329

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论