收藏 分销(赏)

毕业设计方案无人监守点滴自动监控系统的设计.doc

上传人:w****g 文档编号:2796952 上传时间:2024-06-06 格式:DOC 页数:37 大小:228.04KB
下载 相关 举报
毕业设计方案无人监守点滴自动监控系统的设计.doc_第1页
第1页 / 共37页
毕业设计方案无人监守点滴自动监控系统的设计.doc_第2页
第2页 / 共37页
毕业设计方案无人监守点滴自动监控系统的设计.doc_第3页
第3页 / 共37页
毕业设计方案无人监守点滴自动监控系统的设计.doc_第4页
第4页 / 共37页
毕业设计方案无人监守点滴自动监控系统的设计.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、河南科技学院本科毕业论文(设计)论文(设计)题目:无人监守点滴自动监控系统设计学生姓名: 所在学院:机电学院 所学专业:电气工程及其自动化导师姓名:完成时间:5月18日无人监守点滴自动监控系统设计摘要静脉输液是常见医疗手段之一,传统输液过程中存在着输液轻易异常,需要人工监护等弊端。所以,本文设计了无人监守点滴自动监控系统以处理此问题。系统以AT89S53单片机为下位机关键,上位机和CAN总线组成有线监控系统,实现主机对从机控制。从机经过外围电路检测储液瓶中液面高度和液体点滴速度,并经过控制步进电机实现对输液速度控制。当输液结束或输液速度发生异常时,发光二极管和蜂鸣器进行报警,并将报警信号经过串

2、行口传送至主站。 关键词:无人监守,自动监控,单片机,CAN总线DESIGN OF AUTOMATIC MONITORING SYSTEM FOR UNATTENDED DRIPSAbstractIntravenous infusion is one of the commonly means used in medical, there is some abnormalities in tradition infusion and require manual monitoring and other defects. Therefore, we designed the unmanned

3、automatic drip guard monitoring system to solve this problem. This system based on AT89S53 MCU as the core of the next crew, consisting of PC and CAN bus cable monitoring system, from the control of the host machine. From the machine through the external circuit to detect liquid level reservoir bott

4、le and liquid drop, and achieve control of the infusion rate by controlling the stepper motor. When the end of the infusion or infusion rate abnormal, LEDs and buzzer alarm, and the alarm signal is sent via the serial port to the main station.Key Words: Unmanned, Automatic Monitor, MCU, CAN bus目录1 绪

5、论11.1 研究背景及意义11.2 中国外发展和研究现实状况12 系统总体方案22.1 系统设计方案22.1.1 控制系统方案22.1.2 点滴检测方案32.1.3 液位监测方案32.1.4 滴速控制方案32.1.5 电机选择方案32.1.6 主从通信方案42.2 系统硬件结构43 系统从站硬件设计53.1 从站硬件系统框图53.2 从站系统各单元设计53.2.1 点滴信号检测单元53.2.2 点滴信号整形单元73.2.3 液位检测单元73.2.4 键盘控制电路83.2.5 声光报警单元93.2.6 电源电路单元103.3 通信电路单元113.3.1 CAN总线适配芯片连接电路113.3.2

6、通信接口电路124 系统软件设计124.1 从站软件系统总体设计124.2 从站各模块软件设计134.2.1 主控模块134.2.2 键盘控制模块144.2.3 点滴速度监测模块174.2.4 电机控制模块194.2.5 报警模块204.2.6 主从通信模块215 结束语22致谢24参考文件251绪论1.1 研究背景及意义伴随微电子技术和信息技术快速发展和应用,医疗设备领域正在发生着一场悄无声息信息化革命。尤其是近几年来,现代科技高度发展更是为液体点滴自动监控提供了坚实可靠技术基础。中国是世界上人口最多国家,伴随近些年来各个领域高度发展加上环境恶化,多种疾病日益增多,医疗消费人群也和日俱增。即

7、使对医疗改革和创新政府每十二个月全部投入巨额财政支持,但取得效果还是微乎其微,和西方发达国家技术还有一定得差距。现在,中国医疗设备市场份额在全球所占份额仍然很小。依据国家经贸委要求,中国要在2050年左右成为世界医疗器械制造强国。由此可见,中国医疗技术改革和创新含有巨大前景。静脉输液在各个医院医疗工作中被广泛应用,据统计住院输液率为70%80%1,它不仅是一个关键给药路径,而且还是给患者补充体液、营养关键方法。点滴输液是临床中一个普遍使用诊疗手段,长久以来一直靠人工控制。在传统输液中2,易发生部分异常情况,如管路堵塞、滴速异常及输液完成无提醒等情况。假如这些异常情况不能被立即发觉,就会给病人造

8、成伤害,严重甚至还会造成医疗事故。所以,设计一款无人监守输液监控系统医疗设备对提升中国医疗质量有着十分关键帮助。针对上述情况,设计了一套无人坚守自动监控医疗输液系统,经过CAN(Controller Area Network)总线和上位机(主站)进行通信,利用8位低功耗、高性能AT89S53单片机作为下位机(从站)控制芯片,来实现医护人员对病房病人输液过程无人监控。1.2 中国外发展和研究现实状况为了提升输液过程安全性和降低输液过程中医护人员工作强度,中国外全部对输液过程智能监控进行了研究和试验。点滴输液监控设备发展关键经历了下面多个阶段:(1)机械式该方法出现比较早,利用输液瓶中液位下降会造

9、成其重量下降原理,用弹簧秤对其液位进行检测。因为输液瓶重量不一样,实际情况比较复杂,此方法可靠性较差,操作使用不方便,适用性较差。(2)电容式当输液瓶中药液液位改变,引发电容长度改变对药液液位进行监测。这类监控设备可靠性、实用性全部相对较高,不过因为输液瓶形状大小没有统一标准,因以输液监控设备需要多个设计规格,在使用中不放便,不能投入实际使用。(3)电极式将正负两个电极插入输液器莫菲氏管中,当液体点滴下落时就会产生中止信号,由此监测点滴速度。这类设备性能可靠、设计简单,不过在点滴降落过程中会和电极发生接触,可能会造成部分医疗卫生等方面问题。(4)光电式光电式是多年来较流行点滴监控方法。它是利用

10、药液吸收和散射方法减弱经过液体中红外光强度来进行测量。在莫菲氏管两侧分别安装发射端和接收端,当液体点滴经过二者之间时,传感器感受到光线强弱改变,将光信号转换成电信号,并由下一级处理单元进行转换处理,由此监视输液过程因为光电传感器和药液不接触,而且和液体、输液器材无关,使输液监控设备性能有很大提升,含有易用、高效和适用性强优点3。除此之外,还有很多液体点滴监控方法,因为成本或性能上差异,不能在日常中使用,比如感应式、光纤式、超声波式等。另外,单机模式点滴监控设备在发展中逐步吸收了网络化思想,基础形成了以RS-232或RS-485总线有线和基于无线通信技术两种监控网络。前者对系统化控制和管理方面不

11、完善,在实际应用中,往往要重新来布线,轻易收到外接环境影响和干扰。以后者则增加了成本,且辐射会对人身体产生危害,还会有些法律上问题。2系统总体方案2.1 系统设计方案系统由多个模块组成,在方案选择上要比较选择,所以下文具体介绍每个模块具体方案。2.1.1 控制系统方案在无人监控系统中微处理器作为关键,对整个系统影响较大,所以在选择上尤为关键。方案一:此方案是传统两位模拟控制方案,含有电路简单、易于实现等优点。不过模拟控制极难做高精度,而且远程通信、键盘设定和滴速控制功效不易于实现。方案二:此方案采取单片机AT89S53作为从站来实现复杂运算及控制。AT89S53单片机含有低功耗,高性能且高性价

12、比等特点。对于键盘设定、滴速控制、液位监测等功效和主、从站之间通信能够能完美实现。所以,本设计选择方案二。2.1.2 点滴检测方案方案一:可见光发光二极管和光敏三极管传感器。光线亮度改变对这类传感器干扰很大,造成液滴判定不正确。所以不宜采取此方案。方案二:不调制红外对射传感器。这类传感器是直流供电,元件额定值必需低于工作电流,对外部抗干扰能力较差。所以,也不宜采取。方案三:脉冲调制红外对射传感器。红外对射传感器平均电流决定其对打工作电流,即使占空比调制信号较小也能够取得较大电流。这能够大幅度提升信噪比,提升系统抗干扰能力。综上,本设计采取方案三。2.1.3 液位监测方案方案一:拉力传感器。利用

13、液面高度和拉力二者线性关系这一原理进行测量。在实际中因为拉力传感器价格较高,所以在设计中极少使用。方案二:超声波。这一方案原理是超声波在不一样介质中传输速度不一样。把每一次测量结果和标定达成警戒液位得回波时间比较,既可得悉是否达成警戒液位。这种方法存在盲区,当液体波动时会产生误差,且不方便安装。方案三:光电传感器。此方法是利用光折射或反射原理,经过接收管接收到光强弱判定是否达成警戒液位以此来实现检测功效。在安装上,把光电传感器置于输液瓶外壁上即可,很方便。对于上述三种方案,方案一成本较高,方案二正确度不够。所以,本设计选择方案三。2.1.4 滴速控制方案方案一:滑动软管夹滑轮控制滴速。此方案在

14、控制中因为移动阻力和距离难计算且很多非线性控制量影响,采取电机调整软管夹不轻易实现。方案二:电机和滑轮系统控制输液瓶高度,实现对滴速控制。本方案调整液体高度方便,因为输液瓶高度和流速之间存在非线性关系,没有公式可应用,所以采样点必需足够多,这也确保了正确性。比较方案一和方案二,本设计取用方案二。2.1.5 电机选择方案方案一:直流电机。这类电机掉电后惯性大、制动时间较长、转矩小、无抱死功效,且闭环算法复杂。方案二:伺服电机。这类电机含有机械性能好、起动转矩大、抱死功效等很多优点,不过因为其高昂价格,所以不予采取。方案三:步进电机。这类电机较之直流电机转矩大,较之伺服电机价格低且测量正确度较高。

15、故综合三种方案,本设计采取方案三。2.1.6 主从通信方案方案一:蓝牙技术。蓝牙技术存在传输距离短、传输速度慢、功耗大、技术复杂,而且价格不菲。方案二:红外技术。红外技术利用红外线方法进行数据传输。在传输中含有速度快,但传输距离短,只能直线传输且易受干扰。方案三:Zigbee技术。Zigbee技术一个低速短距离传输无线网络协议,其成本比较高,穿透性不好。方案四:CAN总线。CAN总线是异步串行通信中总线一个,全称“Controller Area Network”即控制器局域网,是国际上应用最广泛现场总线之一。含有传输速度快、传输距离远、总线利用率高、通信失败率低、节点错误系统无影响、抗干扰能力

16、强、网络调试轻易、后期维护成本低等宝贵特点。依据AT89S534种不一样工作方法,分析上述四种方案,最终选定上位机和下位机之间采取基于CAN总线有线异步传输通信方法,既方案四。2.2 系统硬件结构依据系统设计方案,整体系统结构图1所表示。主站CAN总线从站1CAN接口从站NAT89S53单片机单片机外围电路步进电机及驱动液位检测点滴检测单元声光报警单元通信电路单元图1系统结构框图依据系统需求分析,本硬件系统关键是主站,基于AT89S53单片机各个从站,主、从站之间数据通信总线等三大部分组成。按系统设计方案,系统电路关键包含从站电路、外围电路及通信电路三个电路单元:(1)从站电路单元该电路单元关

17、键是负责输液信号采集和输液监控任务,包含以下四个电路单元:点滴信号检测单元;液位检测单元;键盘控制单元;声光报警单元。(2)外围电路单元该电路单元关键是对从站采集输液信号进行处理,即把从站采取信号进行整形方便单片机处理,该电路单元还包含对从站系统供电部分,供电系统采取单电源供电。关键有:点滴信号整形单元;电源电路单元。(3)通信电路单元该电路单元是经过CAN总线将下位机(从站)采集各模块数据信息传送至由PC机构筑上位机,上位机能够经过开发监控软件实现对各从站输液情况实时监控。该电路包含两个内容:CAN总线适配芯片连接电路;通信接口电路。3系统从站硬件设计3.1 从站硬件系统框图依据从站系统所要

18、实现功效,为从站系统设计出硬件系统框图4,图2所表示:AT89S53键盘控制电路单元点滴信号检测单元液体检测单元单元通信电路单元报警电路单元电源电路单元点滴信号整形单元图2从站硬件系统框图3.2 从站系统各单元设计有上面框图能够知道,从站系统所包含子模块较多,所以下面进行逐一介绍。3.2.1 点滴信号检测单元此单元模块是经过固定在输液瓶外侧红外传感器来检测是否有点滴滴下,电路图图3所表示。图3点滴信号检测电路红外传感器是有发射管和受光管二者组成,其关键功效是实现光和电之间转换。红外系统含有尺寸小、重量轻、易于安装等优点,且红外光波长长和可见光,受后者影响较小,所以选择红外传感器来检测液体点滴滴

19、速。增强信噪比以降低环境光源干扰,并采取脉冲调制方法。发射、接收简化原理电路图4所表示。 图4脉冲产生电路74HC14是含有施密特功效六反相器,图5是74HC14所组成多谐振荡电路。施密特触发器含有上限阈值电压V2、下限阈值V1特征,且受芯片电源VDD限制。多谐振荡器电路产生信号周期频率满足f=1/RClnV2(VDDV1)/V1(VDDV2),令lnV2(VDDV1)/V1(VDDV2)为k,则f=1/kRC,即T=kRC。对于74HC14而言,当VDD=5V时,下限闽值电压V1=1.4V,上限闽值电压V2= 3.6V,所以有k=1.89。考虑到脉宽可调情况进而能够得出1.89(R1/R2+

20、R2)C=T ,T表示方形脉冲一个周期大小,(R1/R2):(R1/R2+R2)=1:5。图5多谐振荡电路3.2.2 点滴信号整形单元 在实际操作中,当点滴落下时,接收到信号会产生相距很近双脉冲,这极大干扰了计数。为了消除这种干扰,减小虚假信息影响,提升采样可靠性,用软件滤波方法滤去两个脉冲中一个,这么就确保了计数正确性。图6是信号整形原理电路图,同过原理图,能够对整形有简单了解。图6点滴信号整形电路3.2.3 液位检测单元根据医用卫生标准,吊瓶中应尽可能避免异物进入,所以在红外有损探测和无损探测中我们选择后者。液位检测电路是利用安装在输液瓶颈部红外对射管对瓶内无液空间和有液空间光折射差异来判

21、定输液是否结束。光电转换原理类似以滴速检测,但红外接收管输出电信号是电平信号,而不是脉冲信号。电平信号经放大后输入到比较器和门限电路比较,输出后送至单片机外部中止接口INT1。因考虑到储液瓶壁较厚,可利用红外无损探测方法,增大红外发射功率来加强接收信号以确保对液位进行正确检测,储液瓶有液空间和无液空间信号差异电压比较差能够达成40mV左右,说明该电路在液位下降到红外对射管以下时系统即能发出警越限报。该电路接收到信号只需对其放大不需滤波处理,所以本电路结构单间,安装简易。其系统框图及电路图以下图7和图8所表示。放大比较红外发射门限信号红外接收输液瓶至单片机 图7液位检测框图 图8液位检测电路3.

22、2.4 键盘控制电路本设计中所采取键盘为非编码机械触点式按键开关,其关键功效是把机械上通断转换成为电气上逻辑关系。触点式开关按键在最常见,且寿命长。非编码键盘只简单地提供行和列矩阵,其它工作均由软件完成,所以既经济又实用。在机械键盘按键按下或释放时,因为机械弹性作用影响,通常伴随一定时间触点机械抖动,然后才稳定下来。其抖动过程图9所表示,抖动时间长短和开关机械特征相关,通常为5l0ms。按键抖动会造成错误判定按键通或断状态,这种情况是绝对不许可出现。所以在设计中必需采取去抖动方法,因为按键数较多,故采取软件去抖。软件去抖采取方法是:在检测到有按键按下时,实施一个l0ms左右延时程序后,再确定该

23、键电平是否仍保持闭合状态电平,若仍保持闭合状态电平,则确定该键处于闭合状态;同理,在检测到该键释放后,也应采取相同步骤进行确定,从而可消除抖动影响。一个完善键盘控制程序应含有以下功效:(1)检测有没有按键按下,并采取硬件或软件方法,消除键盘按键机械触点抖动影响。(2)有可靠逻辑处理措施。每次只处理一个按键,其间对任何按键操作对系统不产生影响,且不管一次按键时间有多长,系统仅实施一次按键功效程序。(3)正确输出按键值(或键号),以满足跳转指令要求。图9按键抖动过程因为本系统按键数较多,故采取44行、列结构16位矩阵键盘,图10所表示。矩阵式键盘中,行、列线分别连接到按键开关两端,行线经过上拉电阻

24、接到+5V上。当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由和此行线相连列线电平决定。这是识别按键是否按下关键。然而,矩阵键盘中行线、列线和多个键相连,各按键按下是否均影响该键所在行线和列线电平,各按键间将相互影响,所以,必需将行线、列线信号配合起来作合适处理,才能确定闭合键位置。图10矩阵键盘电路3.2.5 声光报警单元本设计采取蜂鸣器和发光二极管实现声光报警。当传感器检测到液位低于预设值或传感器检测不到有液滴下落时,从站单片机控制蜂鸣器和报警灯工作,在发出声光报警同时向主站发出报警信息。在实际应用中,假如设定滴速过高,输液瓶上升到支架顶部时,仍达不到设定

25、滴速,输液瓶继续上升有可能会拉倒支架,造成危险。所以在支架顶部安装一个红外探测器,如检测到输液瓶上升到支架顶部,则发出信号,通知单片机控制电机停转,同时发出声光报警并向主站发送报警信号。下图11为声光报警电路。 图11声光报警电路3.2.6 电源电路单元任何电气设备使用全部离不开供电系统,在整个单片机系统设计中,电源设计是必需要考虑。电源设计取决于系统所要求供电方法,如是采取单电源方案,还是多电源方案,系统功耗有没有特殊要求等等。本系统所选择单片机是AT89S53,其标准工作电压为+5V,且发光二极管和光敏三极管和通讯所用CAN总线适配器等电路工作电压全部是+5V,所以在本设计中采取单电源方案

26、。单电源方案优点是系统简单、工作可靠。另外还包含到对步进电机控制,步进电机及驱动电路由L297和L298N组成,L297工作电压为+5V ,L298N除逻辑电路工作电压+5V外,所以还需加入一个较高电源电压来增强电机驱动能力。依据L298N相关资料,这个电源电压范围在+2.5V+46V之间,考虑到用电安全及设计方便等原因,将其设定在+15V。所以我们目标是设计出一个能够提供+5V和+15V电源,其电路图12所表示。图12电源电路由上图能够知,此电源电路能够将220V交流市电转换为+5V和+15V直流电输出。从原理上看,首先将经过变压器220V交流市电转换为24V交流电,然后经过二极管桥式整流电

27、路和滤波电容C3对其进行整流,取得略低于24V直流电输出,经过C4滤除纹波电压后进入集成稳压源L7815产生+15V直流电压供L298N使用,同时此电压又作为MC7805输入电压,经过MC7805产生+5V电压供系统逻辑电路和各模块使用。这种做法好处是只使用一个变压器,降低了成本同时还减小了+5V直流电源纹波电压。3.3 通信电路单元本系统所采取是CAN总线作为通信总线,以下就对CAN总线适配芯片和通信接口连接做简明介绍。3.3.1 CAN总线适配芯片连接电路系统主控制器MPC2510CAN收发器CAN收发器CAN收发器CAN收发器CAN收发器MPC2510MPC2510MPC2510MPC2

28、510节点控制器节点控制器节点控制器节点控制器图13 CAN总线通信原理图以CAN总线作为通信系统经典实现方法图13所表示。由系统框图中CAN接口部分能够得悉,CAN接口由两个部分组成:CAN控制器和CAN收发器。其中前者关键用于实现物理信令子层和数据链路层,以后者则是CAN控制器和物理传输媒体之间连接子层接口。在本设计中,采取MCP2510作为CAN控制器,CAN收发器采取TJA1050。MCP2510是Microchip Technology Inc.(美国微芯科技)生产一款控制器局域网络协议控制器,完全支持CAN总线V 2.0A /B技术规范。该器件支持CAN1.2 、CAN2.0A、主

29、动和被动CAN2.0B等版本协议,能够发送和接收标准和扩展报文。同时它还含有验收过滤和报文管理功效。该器件包含三个发送缓冲器和两个接收缓冲器,降低了单片机管理负担。TJA1050是控制器区域网络协议控制器和物理总线之间接口,是一个标准高速CAN收发器。TJA1050能够为总线提供差动发送性能,为CAN控制器提供差动接收性能,是PCA82C250和PCA82C251高速CAN收发器后继产品。3.3.2 通信接口电路通信接口电路即适配芯片连接电路其连接方法图14所表示:图14通信接口电路适配芯片各引脚连接情况以下:(1)CAN收发器TJA1050引脚连接情况:CANL为低电平CAN总线,CANH为

30、高电平CAN总线,TXD为发送数据输入引脚,RXD为接收数据输入引脚。(2)CAN协议控制器MCP2510各引脚连接情况:TX0RS为通用数字输入或发送缓冲器(TXB0)请求发送引脚,TX1BF为接收缓冲器,RXB1通用数字输出或中止引脚TXCAN引脚和CAN总线发送输出引脚(TXD)连接,RXCAN引脚和CAN总线接收输入引脚(RXD)连接。TJA1050含有高速模式和静音模式两种工作模式,经过引脚“8”得取来选择模式。若引脚“8”接地则进入高速模式;若引脚“8”没有接地则进入静音模式;若引脚“8”不连接,则默认高速模式。4 系统软件设计系统软件设计是基于单片机硬件进行。软件设计是系统关键组

31、成部分,软件好坏将直接影响到系统性能指标。无人坚守点滴自动监控系统设计采取模块化结构方法,模块化编程是分别对各模块程序进行编写、编译,最终经过主程序将各模片相互调用软件设计方法。本系统包含从站软件设计和主站软件设计,主站程序关键是对从从站各程序模块协调管理。4.1 从站软件系统总体设计从站软件设计是对从站各模块进行嵌入式程序编译,本系统中需要进行程序编译模块关键有:(1)主控模块即初始化模块;(2)键盘控制模块;(3)点滴速控制模块;(4)电机控制模块;(5)报警模块;(6)主从通信模块。4.2 从站各模块软件设计从站系统程序由一个主控程序模块和若干个子程序模块组成,其中主控程序模块为软件系统

32、关键,其作用是管理协调各子模块,使之根据总体设计步骤工作。4.2.1 主控模块主控模块是从站软件系统关键,其关键负责调度各子模块程序。工作时,首先对串口部分和数据缓冲区进行初始化,然后调用各子模块程序来协调各子模块工作。系统初始化有两方面工作内容:(1)串口初始化,即让串口工作处方法“1”。经过定时器T1来设定波特率溢出率值为1200bit/s,串口处于接收状态。此时把定时器T1初始值设定为248(0E8),MUC外围电路使用晶振频率为11.0592MHz。(2)外部中止“0”设置,串口数据通信经过中止来进行实现数据发送和接收,所以初始化程序还需设定串口中止方法。在从站系统中,当有液滴滴下时,

33、液滴检测电路就会捕捉到一个电信号,将捕捉电信号送到A/D转换电路中对其整形,最终产生一个数字脉冲信号,将脉冲信号送至单片机内部处理使之产生一个外部中止“0”。系统进行中止计数时,必需开启外部中止“0”和R4寄存器。同时,还需将外部中止“0”设置为电平触发模式。串口初始化程序部分源码以下:#include #include #include “tdp.h”#ifdef evalboard /采取硬件目标板时需要使用以下外部函数extern void DNPUT(unsigned char aa, unsigned char bb);extern void DISPLY(unsigned char

34、 data *cc) ;static unsigned char data dg = 0, 0, 10, 0, 0, 10, 0, 0 ;#end ifvoid main (void) unsigned i; for (i=0; i1000; i+); /延时,等候系统上电稳定timer0_initialize (); /定时器0初始化com_initialize (); /串行口初始化#ifdef evalboard /采取硬件目标板时DINPUT (0X0A, 0X07); /需要对板上MAX7219初始化DNPUT (0X0B, 0X07);DINPUT (0X09, 0X0FF);DI

35、NPUT (0X0c, 0X01);DISPLY (dg); /板上LCD显示00-00-00#end iftimer0_wait (TIMER0_TICKS_PER_ SEC / 10);clock_init ();com _ puts (“TDP Vl.0rn”);while (1) const char *cmd;cmdb_init ();cmdb_prompt ();for (cmd=NULL; cmd=NULL; cmd=cmdb_ scan () clock _ update (); cmd_proc (cmd); 4.2.2 键盘控制模块键盘扫描采取行列式矩阵接口,子程序采取中止

36、方法进行行列扫描,以取得键值输入。因为键盘抖动会对结果造成影响,所以必需消除。程序步骤图图15所表示,键盘扫描程序和防抖子程序以下:(1)键盘扫描程序:byte key_scan(void) byte ktrnp, key;key=0;key_ 4x4_line_output();key_ 4x4_ row_input();key_4x4_get_row(ktmp);while ( (ktrnp&0x0f)=0x0f) key_4x4_get_row(ktmp);delay_ms(10);key_4x4_get_row (ktmp);if ( (ktmp&0x0f)!=0x0f)key= (k

37、tmp&0x0)key_4x4_row_okey_4x4_line_indelay_ms(10);key_4x4_get_linif (ktmp&0xf0)!while( (ktmpkey_4x4_linkey_4x4_rokey+=(ktmfor (ktmp=0;if (key=kreturn(0xff)else return(0xff)else return(0xff);(2)防抖子程序:#include#includesbit P34=0xB4;sbit P35=0xB5;unsigned char get_char(void); /函数说明void delay (void);main(

38、) unsigned char keybuf16, count; /键盘缓冲区和读键计数变量SCON=0; /将串行口设置成工作方法0ES=0; /严禁串口中止EA=0;count=0;while(count=8) column=0;continue;else break:/下面语句分析被按下键所在行号并计算键序号if(P34=0) key _ code=column;else key _ code=8+column;return(key _ code);void delay (void) unsigned int i=10; /延时10mswhile(i-);开 始参数初始化调用key_sc

39、an扫描函数是否为功效键?进入中止调用key_scan扫描函数调用防抖子程序退出中止N结束?YYN图15键盘扫描步骤图4.2.3 点滴速度监测模块中止计数中止计数点滴速度测量是经过统计单位时间内点滴下滴个数,再计算单个点滴速度。计算原理是:每出现一个点滴下滴就进行一次中止,在单位时间内出现中止数即为点滴下滴个数,图16所表示。图16速度计算原理系统用定时器T0定时时间为200us。当系统检测到第一个脉冲信号时,程序立即进行中止处理,读出此时计数器存放内容,然后清零,记脉冲信号初始值为COUNT=0。当定时器定时抵达200us时,程序中止检测输入信号是否有脉冲信号到来,把计数器加1为COUNT=

40、1。由计数器COUNT=1检测到脉冲信号个数而设定计数器COUNT=1存放单元是10,经过循环存放脉冲个数。在定时器COUNT =1中取5个相临脉冲信号点,设起始脉冲点对应计数器COUNT值是n1,最终一个脉冲点对应值是n2。从而计算出5个脉冲点所需时间为:t = (n2-n1) 200us,那么两相临脉冲信号时间间隔平均值为T=t/5。由此可得到点滴速度:V=60s/T,即V=1500/(n2-n1) 5。依据上面理论分析和计算,得到点滴速度测量步骤图,图17所表示。N开始定时200us设置计算器COUNT=0退出中止COUNT加1设置计算器COUNT1=0定时结束?检测到脉冲信号?COUN

41、T加1NYY图17点滴速度测量步骤图 点滴速度检测程序以下:#include #include #define ulong unsigned longunsigned int T0_ ISR_ count=0; /定义T0中止次数void T0_ISR (void) interrupt 1 TO_ISR_count+; /每次T0中止时,中止次数加1TF0=0;void main (void) SCON=0x50; /串行口初始化TMOD |=0x20; /利用定时器Tl作为波特率发生器THl=0xFA; /晶振为11. 0592MHz时波特率为9600TRl = 1;TI = 1;PCON |=0x80;printf (“nPulse Width Example Programnn”); /输出标题信息ET0=1;EA=l; /开中止TMOD=(TMOD&0xF0) | 0x09; /设置T0为16位定时器方法while (1) T0_ ISR_ count=0; TH0=0; TL0=0;TR0=1;printf (nStart a pulse. n); /输出提醒信息while (! INTO); /等候脉冲上升沿,开始测量while (INTO);

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服