教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

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

来源:网络收集 时间:2026-05-18
导读: ******毕业设计 (2)行反转法的原理[12]。 行反转法也是识别闭合键的常用方法,它的原理如下所述。这了叙述方便,以4×4=16键的键盘为例。图4.6是行反转法的工作示意图: 图 4.6 行反转法连接图 从图中可以看到,用

******毕业设计 (2)行反转法的原理[12]。

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

图 4.6 行反转法连接图

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

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

4.2.2.3 显示电路设计

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

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

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

其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。

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

14

******毕业设计

进入中断 定时器赋初 ·Up 读取行号并增加1 ·Down 送新行显示数据 消隐 ·Ok 切换显示数据 发送新行号,打开显示 退出中断 图4.7 显示驱动流程图 图4.8 控制按键

4.2.2.4 控制电路设计

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

4.2.2.5 示警电路

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

4.3 系统软件设计

4.3.1 设计的软件环境简介 4.3.1.1 Keil c

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

15

******毕业设计

图4.9 Keil_c软件界面

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

[14]

4.3.1.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界面,如图所示,包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。

16

******毕业设计

图4.10 电路仿真界面

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

4.3.2 系统程序设计

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

17

******毕业设计 图4.11 系统主程序设计的流程

主程序程序描述:

首先对各存储单元初始化,设定定时初值,接着判断清零键,看是否按下,若按下,则清零,然后继续扫描键盘,如扫描到键盘有键按下,则调用计数显示子程序,循环显示病床号时,要判断标志位是否为1,若为1,则表示已经按下,则不响应,如为0,则调用循环显示病床号子程序,循环显示病床号,接着定时一秒。最后,清除定时一秒,准备下一次的定时。

4.3.2.2 显示电路流程图

调显示子程序 返回 图4.12 按键总数显示程序流程图 图4.13按键循环显示子程序

计算键值子程序 开始 初始化 N 键标志为0? 标志位是 否为1? N (COUNTER)+1 INC FLAG Y 40个单 元扫描完? N 调BCD调整子程序 Y N 定时是否 达到1S? Y 调显示子程序 存储单元加1 显示程序描述

(1)按下键总数显示子程序描述(图 4.12 按键总数显示程序流程图)

把按键数存储单总元(COUNTER)的值经过BCD调整后十位和个位分别送(7AH)(7BH),调用显示子程序显示按键总数。

(2)循环显示病床号子程序描述(图 4.13按键循环显示子程序)

首先判断标志位是否为0,若为0,则表对示应的存储单元里没有值存入,则再检

18

…… 此处隐藏:863字,全部文档内容请下载后查看。喜欢就下载吧 ……
基于单片机的病床呼叫系统-毕业论文(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/412797.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)