基于STM32的智能病房呼叫系统 毕业设计(终稿)_第1页
基于STM32的智能病房呼叫系统 毕业设计(终稿)_第2页
基于STM32的智能病房呼叫系统 毕业设计(终稿)_第3页
基于STM32的智能病房呼叫系统 毕业设计(终稿)_第4页
基于STM32的智能病房呼叫系统 毕业设计(终稿)_第5页
已阅读5页,还剩49页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

PAGE 基于STM32的病房呼叫系统设计学生专业:电子信息科学与技术学生姓名:Ivan指导教师:XXXPAGE36 PAGE36摘要随着社会的不断进步,电子行业的发展,大家对单片机的应用也越来越多,医院也是如此,除了医疗设备的提升,病人的呼叫问题也引起了医疗体制的重视,从而病房呼叫系统成为了衡量一所医院医疗水平的标准之一。因为这不仅关系着医疗水准,更重要的是病人的安危。本系统采用STM32为主控芯片,使用中断优先级来对应病人病重情况。采用烟雾传感、火焰传感器对室内进行采集,然后将数据处理后打印在TFT彩屏上,当数据发生异常是,控制器会发出声光报警。本设计可以有效快速保证病人的人身安全,在病人按下按键后迅速在TFT显示屏上显示患者信息,当多个病患同时呼叫时会有优先级显示,语音呼叫患病最严重的患者,而液晶屏则切换同时按写的患者,保证每个患者能够安全。在主机上按键控制可以解除呼叫。关键词呼叫系统;STM32;优先级;语音播报AbstractWiththeconstantprogressofthesociety,thedevelopmentofelectronicindustry,alsomoreandmoreapplicationofthesingle-chipmicrocomputer,thehospitalalsoissuch,inadditiontotheascensionofmedicalequipment,patient'scallproblemhascausedtheattentionofthemedicalcaresystem,whichbecamethemeasureofahospitalmedicalwardcallsystem.STM32asmaincontrolchipadoptedbythissystem,andusetheinterruptprioritytocorrespondingsicker.Acquisitionofasmokesensor,flamesensortoindoor,thenprintontheTFTcolorscreenafterdataprocessing,datawhenanexceptionoccurs,thecontrollerwillsendoutsoundandlightalarm.Thissetcanefficientlyguaranteethesafetyofpatients,andrapidlyinpatientsafterpressthebuttonontheTFTscreendisplaypatientinformation,haveprioritywhenmultiplepatientsatthesametimecalldisplay,voicecallsoneofthemostseriouspatients,whiletheLCDpanelswitchwrittenaccordingtothepatientatthesametime,toensureeachpatientsafety.Buttonsonahostcomputercontrolmayterminatethecall.KeywordsCallingsystem

STM32TheprioritySpeech目录TOC\o"1-3"\h\u24296摘要 I10788Abstract II16222第1章绪论 1260511.1课题背景和意义 157221.2国内外发展现状 2293591.3设计任务与要求 318195第2章系统设计方案 4129712.1总体方案设计 417382.2器件的选择与论证 546452.2.1STM32单片机控制模块的选择与论证 5132162.2.2AD转换器的选择与论证 6134362.2.3语音芯片的选择与论证 6128462.2.4LCD显示模块的选择与论证 7265532.3本章小结 727878第3章系统硬件设计 858593.1单片机的最小系统 8111463.1.1STM32系统结构 8143803.1.2单片机的复位电路 10274443.1.3时钟电路 10238773.1.4下载调试电路 11255413.1.5电源电路 12326703.2SD卡电路设计 1335143.3烟雾传感器的电路设计 14121263.4火焰传感器的电路设计 15214313.5报警模块电路设计 16172333.6TFT显示部分的工作原理 16136333.7键盘的电路设计 18228243.8语音播报模块的工作原理及电路设计 1832033.9本章小结 1912465第4章系统软件设计 20304894.1软件模块化设计 205104.2SD卡驱动设计程序 2087434.2.1SD卡初始化 20318264.2.2数据块的读写 22243214.3FAT文件系统 2392974.3.1FAT文件系统的结构 23158004.3.2FAT文件系统的实现 24248794.4TFT_LCD显示部分 26257874.4.1写显示缓存 2665174.4.2写寄存器 27249884.4.3TFTLCD显示步骤 28104554.5RTC时钟模块 30153624.6烟雾监控设计 30123164.7语音播报设计 31211014.8模块整合 3264784.9本章小结 3232287第5章调试与仿真 3367835.1硬件调试 33162135.2软件调试 3450285.3本章小结 3431792结论 3518516致谢 3628671参考文献 3715468附录1原理图 385579附录2程序 39CONTENTSAbstract(Chinese) IAbstract(English) II23641Chapter1Introduction 1182861.1BackgroundandSignificance 155261.2DomestisandForeignSituation 2240891.3Taskandrequirementsdesign 32059Chapter2Systemschemedesign 4272522.1Overallschemedesign 488122.2Selectionanddemonstrationdevice 574522.2.1ThechoiceofSTM32MCUcontrolmodule 5175842.2.2ThechoiceoftheADconverterandargument 6186162.2.3Selectionanddemonstrationofvoicechip 6182512.2.4SelectionanddemonstrationoftheLCDdisplaymodule 7314272.3Chaptersummary 79524Chapter3Systemhardwaredesign 881963.1SCMsmallestsystem 8100173.1.1STM32systemstructure 8146713.1.2Resetcircuitofsinglechipmicrocomputer 1086103.1.3Theclockcircuit 1030133.1.4Downloaddebuggingcircuit 1194653.1.5Thepowersupplycircuit 12204053.2SDcardcircuitdesign 13135453.3Smokesensorcircuitdesign 14152953.4Flamesensorcircuitdesign 1540553.5Alarmmodulecircuitdesign 16301963.6TheworkingprincipleofTFTdisplaysection 167683.7Circuitdesignofthekeyboard 18178913.8Speechmoduleoftheworkingprincipleandcircuitdesign 18193653.9Chaptersummary 1919849Chapter4Thedesignofsystemsoftware 20212664.1Thesoftwaremodulardesign 2048104.2SDcarddriverdesignprogram 20196684.2.1SDcarddriverdesignprogram 20134594.2.2Datablockreadandwrite 22305814.3FATfilesystem 23198104.3.1ThestructureoftheFATfilesystem 2323184.3.2Therealizationofthefilesystem 2446424.4TFT_LCDdisplaypart 2695484.4.1Writecacheondisplay 26308614.4.2Writetheregister 27107064.4.3TFTLCDshowsteps 28131434.5RTCclockmodule 30274874.6Smokecontroldesign 30196314.7Speechdesign 31140734.8Moduleintegration 3236174.9Chaptersummary 3217539Chapter4Debuggingandsimulation 33133075.1Hardwaredebugging 3369565.2Softwaredebugging 34154835.3Chaptersummary 3411482Conclusion 355129Acknowledgement 3622021References 372088Appendix1Schematic 3811622Appendix2Program 39绪论课题背景和意义随着电子技术的发展,新兴的电子技术带给人类新的生活体验,尤其是大规模集成电路的发展才出现的微型计算机从根本上改变了人类的生活。如果说微型计算机的出现使现代科学研究得到了质的飞跃,那么可以毫不夸张的说,单片机技术的控制系统,数据采集系统,智能化仪器的仪表,办公自动化等在诸多领域得到极为广泛的应用,并已走向家庭,从洗衣机、微波炉到音响、汽车到处都是可以见到单片机的踪影,因此,单片机技术开发和应用水平已逐步成为一个国家工业发展水平的标志之一[1]。目前医院里的病房呼叫系统几乎还处于很低的水平,用于病床呼叫的系统有很多,它们多数都是,通过声光报警和LED屏显示告知呼叫求援的床位号码,一般由有线的床头分机、走廊显示屏和护士台的由发光二极管组成的病床一览表(板)[2]。这种医护呼叫系统缺乏对病人呼叫信息的存储、统计和管理功能,因为不确定病人患病严重情况,可能会增加抢救器材的不确定性以及复杂度而延误病人的抢救时机,给病人和医院造成不可挽回的损失,不能满足智能化的管理要求,这样不仅会带给病人时间上的损失,对于医院也会有经济效益损失,并伴有一定安全隐患[3]。鉴于之前的设备有些弊端,本设计既可以有效节省原料的损耗又可以避开技术问题,同时可以避免很多未知隐患,更重要的是,本病房呼叫系统是的一种智能化产品,可以及时并且精准的找到病人所在房间和哪位病人有需要,以及病人的患病情况,及时解决病人的各种问题,从某种角度上看,本设计不仅可以显示病人病床号码,更可以解决病人的其他问题,例如:当病人感到身体不适或其他需要时,可以按下床头按键,那么护士站就可以显示该病人的病床号码以及病人的个人信息,医院医生或护士可以准确找到病人,为其进行治疗。这样一来,更节省了很多时间,还可以减少一些意外的发生,同时便于管理。本设计课题为病床呼叫系统目的是为了更有利于病人呼叫值班医生或护士来保障病人的自身安全。设计可将病人的请求快速传送给值班医生或护士。利用单片机的和各个模块通信的功能,设计出的电路具有可靠性高、成本低、布置方便、结构简单、易于维护等,还有显示优先权设定、排队、呼叫、振铃、烟火报警等功能的多功能病床呼叫系统,从而满足了医院的病房管理和护理的要求。该系统的主要特点有:(1)该设计稳定性强。体积小,电路设计简单易懂,抗干扰力好,响应速度快。(2)该系统能采用手动控制键盘,简单易操作。(3)该系统设计可用于许多大医院使用,布置方便,与维护,实用性很强。由此可见,病房呼叫系统是一个很有开发前景的硬件设备,可以广泛的应用于医院病房、养老院等地方,它是用来医护人员和病员的呼叫沟通联系的桥梁,是提高医院护理水平的必备设备之一。它可以从一部分程度上减少医生的麻烦,节省病人的时间,确保病人的安全,提高医院的工作效率,从而医院最终从中获得最大程度的效益。国内外发展现状病房呼叫系统的发展很快,由最初原始的采用人工呼叫,紧接着出现在20世纪40年代出现了最早的铃声报警,但在资源利用上只有铃声报警,不能做到智能一体化的管理模式,另外人工呼叫由于不清楚病人信息而错带抢救用品而显得麻烦且繁琐。当病人身体出现不适或其他方面需要帮助时,通常都是呼叫医生,继而等待治疗。在这过程中,不但浪费了病人的时间,更给医院医生带来一定的麻烦。随着医院对病人呼系统的实用性认识的提高,促进了病房呼叫系统的发展,20世纪80年代医院病房呼叫系统逐步完善,开始出现每个病房都有一个按键,当患者有需要时,按下按键,此时,值班室的数码管显示屏可显示此患者的床位号,多人使用时可实现循环显示,医护人员按下“响应”键取消当前呼叫。此系统可以为医院提供一个低成本、高效率、操作方便而又易于安装维护的快捷系统。但目前国内的大部分医院的管理模式均处在很低的水平,在中国约在50,000个医院中仅40%的医院设有自己病房呼叫系统,拥有前端智能呼叫系统的医院就更加少,随着医院对电子设备的关注,市场上病房呼叫系统的种类也越来越多。病房呼叫系统可以分为三个规模:大规模、中规模、小规模。小规模病房呼叫系统近年来在市场上较比较受人欢迎,每个病床都设有一个按键,当患者有情况出现时,按下按键,值班室的数码管显示屏可显示此患者的床位号,可供多个病房使用,也可实现循环显示,医护人员按下按键取消当前呼叫。它具有简单、安装方便、投资小等显著特点。这种呼叫系统缺乏图形功能和管理功能,成本低,易于操作、安装和维护。近年来出现无线式病房呼叫系统,不存在铺设线路的问题,但是可靠性差,而且无线电波会干扰其他医疗仪器设备。当今病房呼叫系统快速的向智能化逐步地发展,有些医院可以使它与摄像机一同使用,当病人按下按键时,值班室护士在大屏幕能够观察病人的需要。而且还可以配备对讲机等通讯设备,能够使病员及时快捷地与医护人员进行沟通。设计任务与要求病房呼叫系统呼叫器(有取消确认按键),能实现实时时间显示,有相应的声音报警提醒值班人员,在医生那边要有光信号指示。按键摆放在床头或固定在墙壁上,当病人需要帮助时,按呼叫器的相应按钮,医护人员获得病人的求助信息,LCD显示屏主要用来显示当前病人所在的病房号、病床号基本信息,如:姓名、年龄、性别、病例信息以及由服务台发送的提示消息。护士值班室的医护监督管理软件具有语音播报功能,呼叫信息(声音提示、弹出消息框提示,可显示呼叫时间、呼叫种类、呼叫计时、信息处理状态、病人相关信息),若有多个病号同时呼叫,则循环显示病房的代号。消除方式:一是主机面板确认按键消除;二是主机自动消号功能(需设定)附加功能:带有烟雾报警功能、火焰报警功能来确保病人的人身安全问题。系统设计方案总体方案设计本设计重点研究的是当主机扫描到有病人呼叫时,能够识别是哪个病房的哪个病床的病人在呼叫,同时怎样能够很快的使护士了解到情况并作出反应。本系统采用STM32为主控芯片,使用中断优先级来对应病人病重情况。采用烟雾传感、火焰传感器对室内进行采集,然后将数据处理后显示在TFT彩屏上,当数据发生异常是,控制器会发出声光报警。本设计可以有效快速保证病人的人身安全,在病人按下按键后迅速在TFT显示屏上显示患者信息,当多个病患同时呼叫会按照优先级显示,语音呼叫患病最严重的患者,而液晶屏则切换同时按写的患者,保证每个患者能够安全。在主机上按键控制可以解除呼叫。该系统主要有以下系统电路组成:主机STM32、显示电路、存储电路、电源电路、声报警电路、光报警电路、烟雾检测电路、火焰检测电路等。主要的系统电路有:中央控制处理器,传感器检测模块,TFT液晶屏显示,AD转换模块、按键控制模块、存储模块、时间模块、电源。系统组成框图如图2-1所示。图2-1系统组成框图(1)存储模块使用SD卡存储病患严重情况信息,可以方便掌握病患信息,病人相貌性别等,严重情况重患用红色标志,一般病人用黄色标志,普通病人用绿色标志。例如病人甲患有心脏病用红色标记,病人乙患有急性肠炎用黄色标记,病人丙患有感冒用绿色标记。(2)语音模块采用SYN6288语音合成芯片通过异步串口通讯方式接收待合成的文本数据,实现文本语音的转换。(3)烟雾报警模块采用烟雾传感器模块(MQ2)用于检测当前室内烟雾浓度,当浓度100ppm-10000ppm预警值,发出声光报警[4]。(4)火焰报警模块采用火焰传感器用于检测室内有无明火,如果检测到有明火,则报警器响[4]。(5)AD转换模块用8位ADC0832用于转换烟雾浓度把模拟信号转换为数字信号。(6)采用TFT液晶屏显示TFT液晶为每个像素都设有一个半导体开关,每个像素都可以通过点脉冲直接控制,因此,不但速度可以极大提高,而且对比度和亮度也大大提高了,同时分辨率也达到了很高水平

。(7)电源模块对整个电路和外围模块进行供电。在电子设备上一般都需要直流电源供电。这些直流电除了少数直接利用电池和直流发电机外,大多数是采用把交流电转变为直流电的直流稳压电源。根据交流电源的相数不同,整流电路可分为单相整流电路和三相整流电路两种[5]。本设计的电源部分采用的是单相桥式整流电路,通过电容滤波、集成三端稳压器来完成电源部分的设计。器件的选择与论证2.2.1STM32单片机控制模块的选择与论证方案一:采用STM32F103ZET6“增强型”系列的单片机。增强型系列时钟频率达到72MHz,是同类产品中性能最高的产品;采用144管脚,512K字节Flash,64KB的SRAM存储器、最多多达11个定时器。方案二:采用STM32F101R6“基本型”系列的单片机。36MHz时钟频率、64管脚、32K字节Flash,以16位产品的价格得到比16位产品大幅提升的性能,其性能方面比增强型稍弱[6]。基于以上分析,两种型号均可以达到要求,但是采用STM32F103ZET6更为简便灵活的实现系统功能,处理速度更快,144管脚更加满足了本设计需求。故采用方案一。AD转换器的选择与论证方案一:选用ADS5422,一种14位、最高采样频率可达62Msps的高速AD转换芯片,采用单一

5V电源供电,在采样频率为10M时其最大动态范围为82dB,最高信噪比达到72dB,其数字量输出可以直接和5V或者3.3V的CMOS芯片连接,模拟量输入的峰峰值为4V,封装形式为64脚的扁平四方封装,目前官方报价比较高。 方案二:选用ADC0832,一种

8

位分辨率、双通道

A/D

转换芯片。据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过

DI

数据输入端,可以轻易的实现通道功能的选择。由于它体积小,兼容性强,一般功耗仅为

15mW,性价比高而深受单片机爱好者及企业欢迎,其目前已经有很高的普及率。综上所述,虽然方案一采样频率高,但是方案二的测试范围和经济角度考虑都更适合本设计的选择,故选择方案二。语音芯片的选择与论证方案一:SYN6288在识别文本/数字/字符串更智能、更准确,语音合成自然度更好、可懂度更高。SYN6288语音合成效果和智能化程度均得到大幅度提高,是一款真正面向中高端行业应用领域的中文语音合成芯片。方案二:虽然大部分芯片都是可以用MCU或者按键来控制的,WT588D

33~1057秒放音,可重复擦写,可编程

,稳定性属于工业级,控制方式是串口/并口/按键,价格便宜[7]。综上所述,因为本设计病房呼叫系统语音播报部分需要部分更换,W588T只能重新擦写,不能更新一部分,SYN6288可以实现部分更新,更适合于本设计,故考虑方案二更加合理。LCD显示模块的选择与论证方案一:选用12864LCD,128*64点阵液晶模块的点阵数,特性主要由其控制器

ST7920

决定。ST792同时作为控制器和驱动器,它可提供

33

com

输出和

64

seg

输出。在驱动器

ST7921

的配合下,最多可以驱动

256×32

点阵液晶。但是对温湿度要求比较严格,如果液晶模组储藏在低于规定的温度以下,液晶材料会凝结而性能恶化。如果液晶模组储藏在高于规定的温度以上,液晶材料的分子排列方向会转变为液态,可能无法恢复到原来的状态。超出温度和湿度范围,会引起偏振片剥落或起泡。因此,液晶模组应储藏在规定的温度范围。方案二:选取TFT_LCD,使用特性好:低压应用,低驱动电压,固体化使用安全性和可靠性提高;平板化,又轻薄,节省了大量原材料和使用空间;低功耗,环保特性好:无辐射、无闪烁,对使用者的健康无损害。适用范围宽,从-20℃到+50℃的温度范围内都可以正常使用,经过温度加固处理的TFT-LCD低温工作温度可达到零下80℃。TFT-LCD易于集成化和更新换代,是大规模半导体集成电路技术和光源技术的完美结合。综上所述,方案一价格虽然便宜些但是显示效果不好,而且温湿度影响过大;方案二的安全性、可靠性高,适用范围宽,集成度高,价格适中,可以满足本次设计的需求,所以本系统采用方案二。本章小结本章详细的论证了器件的选择,采用STM32F103VET6系列的单片机、ADC0832模数转换器和SYN6288语音模块,TFT_LCD液晶显示,其中分别介绍并且论证了ADS5422芯片、12864LCD显示屏、ISD1420语音模块的优缺点等。系统硬件设计整个系统硬件由八大部分组成:以蜂鸣器与LED灯作为声光报警器模块部分、以SYN6288语音模块来转换成语音播放病房病人信息。SD来存储病人信息,烟雾传感器为烟雾浓度传感部分,火焰传感器为火焰传感部分,以STM32单片机为主的控制部分。其中单片机是整个系统的核心部件,能运行程序和处理数据。存储器用于存储单片机的程序及其数据。I/O接口是单片机与外部被控制对象交换的信息通道,包括以下及数字量I/O接口(频率、脉冲等)。单片机的最小系统STM32系统结构STM32F103ZET6增强型系列使用高性能的ARM

Cortex-M3

32位的RISC内核,它为实现MCU的需要提供了低成本的平台、缩减的管脚数目、降低的系统功耗,同时提供卓越的计算性能和先进的中断系统响应。

ARM的Cortex-M3是32位的RISC处理器,提供额外的代码效率,在通常8和16位系统的存储空间上得到了ARM核心的高性能。

工作频率为72MHz,内置高速存储器(高达128K字节的闪存和20K字节的SRAM),丰富的增强I/O端口和联接到两条APB总线的外设。所有型号的器件都包含2个12位的ADC、3个通用16位定时器和一个PWM定时器,还包含标准和先进的通信接口:多达2个I2C和SPI、3个USART、一个USB和一个CAN[8]。内置了多达3个同步的标准定时器。每个定时器都有一个16位的自动加载递加/递减计数器、一个16位的预分频器和4个独立的通道,每个通道都可用于输入捕获、输出比较、PWM和单脉冲模式输出,在最大的封装配置中可提供最多12个输入捕获、输出比较或PWM通道。它们还能通过定时器链接功能与高级控制定时器共同工作,提供同步或事件链接功能。

在调试模式下,计数器可以被冻结。

任一标准定时器都能用于产生PWM输出。每个定时器都有独立的DMA请求机制。

系统时钟的选择是在启动时进行,复位时内部8MHz的RC振荡器被选为默认的CPU时钟,随后可以选择外部的、具失效监控的4~16MHz时钟;当外部时钟失效时,它将被隔离,同时会产生相应的中断。同样,在需要时可以采取对PLL时钟完全的中断管理(如当一个外接的振荡器失效时)。

具有多个预分频器用于配置AHB的频率、高速APB(APB2)和低速APB(APB1)区域。AHB和高速APB的最高频率是72MHz,低速APB的最高频率为36MHz。外部中断/事件控制器包含19个边沿检测器,用于产生中断/事件请求。

每个中断线都可以独立地配置它的触发事件(上升沿或下降沿或双边沿),能够单独地被屏蔽;有一个挂起寄存器维持所有中断请求的状态。EXTI可以检测到脉冲宽度小于内部APB2的时钟周期。多达80个通用I/O口连接到16个外部中断线。STM32单片机最小系统原理图如图3-1所示。图3-1最小系统原理图单片机的复位电路单片机在开机时或工作中因干扰而使程序失控,或工作中程序处于某种死循环状态,在这种情况下都需要复位,复位的作用是使中央处理器CPU以及其他功能部件都会恢复到一个初始状态,并从这个状态重新开始工作。STM32单片机的恢复靠外部电路实现,信号由RESET引脚输入,高电平有效,在震荡器工作时,只要保持RESET引脚高电平两个机器周期,单片机即复位,复位后PC程序计数器的内容为0000H,片内RAM中的内容不变,复位电路一般有上电复位和上电/按键手动复位2种,本设计中复位方式采用上电/按键手动复位方式。复位电路如图3-2所示。图3-2复位电路时钟电路单片机的晶振电路,即所谓的时钟电路,STM32有两个时钟电路,一个是系统时钟电路,另外一个是RTC时钟电路。单片机的工作流程,就是在系统时钟的作用下,一条一条的执行存储器中的程序。单片机的系统时钟方式分为内部时钟方式和外部时钟方式。单片机的外部时钟方式由外部时钟源提供,频率范围较广。单片机的内部时钟方式由外接的一只晶振和旁接一个起振电容,以及单片机内部时钟电路组成,频率范围有限,晶振的频率越高,单片机处理数据的速度越快,系统功耗也会相应增加,稳定性也会下降。该设计使用的晶振是8M、9倍频。时钟电路如图3-3所示。图3-3时钟电路还有一个时钟是内部RTC时钟电路,其主要作用就是给内部RTC提供一个32.768K的时钟源,其电路原理图如图3-4所示。图3-4内部RTC时钟电路下载调试电路

JTAG的全称是Joint

Test

Action

Group,即联合测试行动小组。目前,JTAG已成为一种国际标准测试协议,主要用于各类芯片的内部测试。现在大多数

高级器件(包括FPGA、MCU、DSP以及CPU等)都支持JTAG协议,如FPGA、DSP器件等。同样支持本设计所使用STM32的下载和调试,标准的JTAG接口是4线接口:TMS、TCK、TDI以及TDO,分别为模式选择、时钟、数据输入和数据输出信号线。下载和调试设计使用JTAG下载和调试,JTAG电路的功能模块电路设计如图3-5所示。图3-5JTAG电路电源电路电源电路是对整个电路和外围模块进行供电。是采用把交流电转变为直流电的直流稳压电源。电源部分采用的是单相桥式整流电路,通过电容滤波、集成三端稳压器来完成电源部分的设计。由220V变压器变压到12V,经整流桥整流及电容的滤波经过LM7805稳压芯片到5V。78XX系列集成稳压器的典型应用电路如下图所示,这是一个输出正5V直流电压的稳压电源电路。IC采用集成稳压器7805,C1、C2分别为输入端和输出端滤波电容,RL为负载电阻。当输出电流较大时,7805应配上散热板。电源电路如图3-6所示。图3-6电源电路原理图SD卡电路设计SD卡(SecureDigitalMemoryCard)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地于便携式装置上使用,拥有高记忆容量、快速数据传输率、极大的移动灵活性以及很好的安全性。SD卡有SD和SPI两种工作模式,相对于SD模式,SPI模式可以简化主机设计,降低成本。SPI总线接口简单易用、兼容性好,使用SPI接口实现对SD卡的读写操作是非常简单有效的[9]。用SPI接口可以实现每秒约1MB的读写速度,已经可以基本满足读写速度的要求。SD卡既可以采用SD总线访问,也可以采用SPI总线访问。大部分微处理器都有SPI接口而没有SD总线接口。SD总线允许强大的1线到4线数据信号设置。当默认的上电后,SD卡使用DAT0。

初始化之后,主机可以改变线宽。混和的SD卡连接方式也适合于主机。在混和连接中Vcc,Vss和CLK的信号连接可以通用。但是,命令,回复和数据(DAT0~3)这几根线,各个SD卡必须从主机分开。CLK:每个时钟周期传输一个命令或数据位。频率可在0~25MHz之间变化。SD卡的总线管理器可以不受任何限制的自由产生0~25MHz的频率。CMD:命令从该CMD线上串行传输。一个命令是一次主机到从卡操作的开始。命令可以以单机寻址(寻址命令)或呼叫所有卡(广播命令)方式发送。DAT0~3:数据可以从卡传向主机。数据通过数据线传输。如图3-7所示。图3-7SD卡电路原理图烟雾传感器的电路设计MQ-2气敏元件的结构和外形由微型AL2O3陶瓷管、SnO2

敏感层,测量电极和加热器构成的敏感元件固定在塑料或不锈钢制成的腔体内,加热器为气敏元件提供了必要的工作条件。封装好的气敏元件有6只针状管脚,其中4个用于信号取出,2个用于提供加热电流。敏感元件的阻值R与空气中被测气体的浓度C成对数关系变化可参考公式:(m、n均为常数)n与气体检测灵敏度有关,除了随传感器材料和气体种类不同而变化外,还会由于测量温度和激活剂的不同而发生大幅度的变化。另一方面,m表示随气体浓度而变化的传感器的灵敏度(也称之为气体分离率)[10]。根据MQ-2的工作原理,当传感器所处环境中存在烟雾时,传感器的电导率随着气体浓度的增大而增大,其电阻是电导率的倒数,所以其电阻是减小的,其特性相当于一个滑动变阻器。原理图如图3-8所示。图3-8烟雾报警原理图电路主要通过调试可变电阻

,可以调节烟雾传感器的灵敏度,以获得满意的烟雾浓度风扇启动点。本设计使用的是直接检测AOUT输出的电压量,AOUT的值跟烟雾浓度成正比。火焰传感器的电路设计火焰传感器探头的工作温度为-25摄氏度~85摄氏度,在使用过程中一定要注意火焰传感器探头离火焰的距离不能太近,以免造成损坏。其中红外光波长在940纳米附近时,灵敏度达到最大。输出信号为模拟信号,信号强弱和火源大小、离火源距离成反比关系。供电电压5V时,火焰传感器实测数据,以一根蜡烛为火源,室内打开节能灯实测:

无火源时,对着节能灯是0.3V,所以灯光、自然光不会影响检测结果。其特点如下:

(1)具有信号输出指示;(2)单路信号输出;(3)输出有效信号为低电平;(4)用于检测波长在760纳米~1100纳米范围内的热源;(5)探测角度达60度,

对火焰光谱特别灵敏

灵敏度可调,性能稳定

;(6)电路板输出开关量,(可直接接单片机)

)工作电压5V,数字量模拟量双输出[11]。火焰传感器的原理图如图3-9所示。图3-9火焰传感器的原理图电阻R23的作用是分压和限流,没有火焰的状态,传感器就好比一个阻值很小的电阻,经过一个比较器后输出一个高电平,而当有火焰的时候,传感器就相当于一个阻值很大的电阻,分得的电压经过比较器后输出一个低电平,电阻R26的作用是调节火焰传感器的灵敏度。报警模块电路设计报警模块是声光报警,当发现火情以及出现烟雾时会是蜂鸣器鸣叫。同时伴有LED灯闪烁。蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。本设计采用电磁式蜂鸣器。电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场。振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。

报警模块原理图如图3-10所示。图3-10报警模块原理图由于蜂鸣器的工作电流一般比较大,以致于单片机的I/O

口是无法直接驱动的,所以要利用放大电路来驱动,一般使用三极管来放大电流。本设计中使用PNP8550三极管来进行放大。声报警电路由单片机的P37引脚进行控制,当P37输出的电平为高电平时,三极管导通,蜂鸣器的电流形成回路,发出声音报警;否则三极管截止,蜂鸣器不发出声音。TFT显示部分的工作原理Thin

Film

Transistor

(薄膜场效应晶体管),是指液晶显示器上的每一液晶象素点都是由集成在其后的薄膜晶体管来驱动。从而可以做到高速度高亮度高对比度显示屏幕信息。目前在手机上TFT使用最为广泛,中高端彩屏手机中普遍采用的屏幕,分65536色及26万色,1600万色三种,其显示效果非常出色,是一块高画质的TFT真彩LCD模块,具有丰富多样的接口、编程方便、易于扩展等良好性能。内置专用驱动和控制IC(SPFD5408),并且驱动IC自己集成显示缓存,无需外部显示缓存。

显示部分是由4.0寸的TFT液晶彩屏,采用8颗高亮正白LED灯背光,用BM-7测试,亮度达到500CD/M,在显示板上共分布着800x480个像素点,26万彩色,支持SD卡,模块内部的驱动芯片内置有与像素点对应显示数据RAM,也称作显存。默认16位并行接口,模块引出标准2.54mm间距接口方便连接,可以直接用STM32单片机驱动。TFT液晶屏原理图如图3-11所示。图3-11TFT液晶屏原理图键盘的电路设计键盘是单片机不可缺少的输入设备,是实现人机对话的纽带。键盘按结构形式可以分为非编码键盘和编码键盘,前者用软件方法产生键码,而后者则用硬件方法来产生键码。在单片机中使用的都是非编码键盘,因为非编码键盘结构简单,成本低廉,非编码键盘的类型很多,本设计采用独立式键盘。本设计的键盘中使用了4个按键,只是简单地模拟病人数量为4人所控制的按键。键盘原理图如图3-12所示。图3-12键盘原理图语音播报模块的工作原理及电路设计SYN6288中文语音合成芯片是北京宇音天下科技有限公司于2010年初推出的一款性/价比更高,效果更自然的一款中高端语音合成芯片。SYN6288通过异步串口(UART)通讯方式,接收待合成的文本数据,实现文本到语音(或TTS语音)的转换。芯片支持任意中文文本的合成,可以采用GB2312、GBK、BIG5

和Unicode

四种编码方式。芯片支持英文字母的合成,遇到英文单词时按字母方式发音。每次合成的文本量可达200个字节控制命令包括:合成文本、停止合成、暂停合成、恢复合成、状态查询、进入Power

Down模式、改通讯波特率等控制命令。控制器通过通讯接口发送控制命令实现对芯片的控制。功能特点:(1)清晰、自然、准确的中文语音合成效果;(2)可合成任意的中文文本,支持英文字母的合成;(3)具有智能的文本分析处理算法,可正确识别数值、号码、时间日期及常用的度量衡符号;

(4)具备很强的多音字处理和中文姓氏处理能力;

(5)支持多种文本控制标记,提升文本处理的正确率。主控制器和SYN6288语音合成芯片之间通过UART

接口连接,控制器可通过通讯接口向SYN6288语音合成芯片发送控制命令和文本,SYN6288语音合成芯片把接收到的文本合成为语音信号输出,输出的信号经功率放大器进行放大后连接到喇叭进行播放。SYN6288输出模块结构原理图如图3-13所示。图3-13SYN6288模块结构框图电路说明:uchararray0[14]={0xFD,0x00,0x0B,0x01,0x00,0xD3,0xEE,0xD2,0xF4,0xCC,0xEC,0xCF,0xC2,0xC1};串口收到回复0X4A(芯片初始化成功),一秒左右后收到0X41(接收成功),一段时间后收到0X4F(帧合成成功,进入空闲),有音频输出。可以通过PC,单片机或其他嵌入式系统控制,协议简单,效果自然,合成速度很快。本章小结本章详细讲述了系统的硬件设计,对单片机的内部结构,以及外围电路的详细介绍及与原理说明。如:烟雾传感器、火焰传感器电路、以及触发后是的报警电路和TFT显示部分的工作原理和SD卡存储病人信息的原理,键盘的电路及语音播报模块的工作电路等各个模块的介绍叙述。系统软件设计软件模块化设计整个病房呼叫系统的设计所用到的模块比较多,所以不能一次性的把程序写完,这就要建立模块化思想,所以需要分块来进行,将每个子程序完成,再整合成一个完整的系统,来实现整个设计。从整个设计上来看,可以分为两大类,一方面是系统子程序的设计,另一方面是外部模块的设计,而这两大类其实有可以划分为好几类。系统子程序的设计有SD卡驱动程序设计、Flash字库、FAT文件系统模块、LCD驱动模块、RTC时钟驱动模块等。外部模块的设计有烟雾传感器、声光报警器、烟雾传感器、语音播报模块等。所以将整个系统软件模块化后,就会方便对程序的书写,可以将每个程序模块化,并将其封装为函数,供给其他模块调用,这样可以逐步对整个系统的实现。SD卡驱动设计程序SD卡初始化对SD卡进行操作首先要对SD卡进行初始化,初始化的过程中设置SD卡工作在SPI模式,在复位成功之后可以通过CMD55和ACMD41判断当前电压是否在工作范围内。主机还可以继续通过CMD10读取SD卡的CID寄存器,通过CMD16设置数据Block长度,通过CMD9读取卡的CSD寄存器[12]。从CSD寄存器中,主机可获知卡容量,支持的命令集等重要参数。其流程图如图4-1所示。图4-1SD卡初始化程序流程图SD卡初始化的C语言程序如下:unsigned

char

SD_Init(void)

{

unsigned

char

retry,temp;unsigned

char

i;

for

(i=0;i<0x0f;i++){

SPI_TransferByte(0xff);

//延迟74个以上的时钟

}SD_Enable();

//开片选SPI_TransferByte(SD_RESET);

//发送复位命令SPI_TransferByte(0x00);SPI_TransferByte(0x00);SPI_TransferByte(0x00);SPI_TransferByte(0x00);SPI_TransferByte(0x95);SPI_TransferByte(0xff);SPI_TransferByte(0xff);retry=0;do{

temp="Write"_Command_SD(SD_INIT,0);

//发送初始化命令retry++;if(retry==100)

//重试100次{SD_Disable();

//关片选return(INIT_CMD1_ERROR);

//如果重试100次失败返回错误号}}while(temp!=0);SD_Disable();

//关片选

return(TRUE);

//返回成功}数据块的读写

完成SD卡的初始化之后即可进行它的读写操作。SD卡的读写操作都是通过发送SD卡命令完成的。SPI总线模式支持单块(CMD24)和多块(CMD25)写操作,多块操作是指从指定位置开始写下去,直到SD卡收到一个停止命令CMD12才停止。单块写操作的数据块长度只能是512字节。单块写入时,命令为CMD24,当应答为0时说明可以写入数据,大小为512字节。SD卡对每个发送给自己的数据块都通过一个应答命令确认,它为1个字节长,当低5位为00101时,表明数据块被正确写入SD卡[13]。

在需要读取SD卡中数据的时候,读SD卡的命令字为CMD17,接收正确的第一个响应命令字节为0xFE,随后是512个字节的用户数据块,最后为2个字节的CRC验证码。

可见,读写SD卡的操作都是在初始化后基于SD卡命令和响应完成操作的,读、写SD卡的子程序流程图如图4-2和图4-3所示。图4-2读SD卡流程图图4-3写SD卡流程图FAT文件系统FAT文件系统的结构位有效管理写入SD卡中的数据,并且能够实现装有Windows操作系统的上位机中方便访问SD卡中的数据,必须将SD卡中的数据以文件的形式进行存储。这就需要在SD卡中创建常用的文件系统,由于目前SD卡容量都比较大,因此这里采用FAT32文件系统。FAT32文件系统的卷由以下几个基本分区组成,如图4-4所示。图4-4FAT32文件系统卷的基本分区主引导记录MBR(MasterBootRecord)位于磁盘的0柱面、0磁头、1扇区。对于硬盘来说,一般都会有MRB分区的,可以看作是硬盘的第一个扇区,该扇区会有MBR分区的,可以看作是硬盘的第一个扇区,该扇区的前446个字节为引导程序,随后的64个字节为硬盘分区表,最后的2个字节为引导程序,随后的64个字节为硬盘分区表,最后的2个字节是0x55,0xAA。分区引导记录DBR(DosBootRecord)位于磁盘分区的逻辑0扇区,主要由3byte的跳转指令、8byte的厂商标识和DOS引导程序组成,其中最重要的是数据结构BPB(BiosParameterBlock),BPB参数块记录着当前分区的起始扇区、结束扇区、文件系统类型、FAT(FileAllocationBlock)表个数、每个簇占用扇区数等重要信息,是对磁盘进行正确操作的基础,文件分配表是文件系统用来给每个文件分配磁盘物理空间的数据结构,通过簇链编号来映射卷的数据区。每个文件、目录都同表中的若干项对应联系,并且目录中进行索引。其中簇0和簇u1shi保留簇,数据区从簇2开始,在主FAT表之后紧接着是副FAT表,其内容和主FAT表完全一样,uFAT表中记录着整个磁盘文件的存储信息,通过增加副FAT表来增加系统的安全性,所以当对磁盘的主FAT表更新时,记得要同步更新副FAT表。FAT32没有专门的根目录区,在FAT32文件系统中,将所有的目录以及文件信息都统一存储到两个FAT表之后的数据区,其中每个文件或者目录都会有自己的32Byte文件目录项,用来记录文件名、文件属性、文件的建立时间、修改时间和文件的长度等[14]。FAT文件系统的实现1初始化FAT32文件系统为了正确操作磁盘,必须要初始化指向当前磁盘信息的结构体变量,如当前磁盘每簇扇区数、FAT表数目、每扇区字节数、每个FAT占用扇区数等。这些信息存放分区引导记录DBR中的数据结构BPB中,详细初始化流程图如4-5所示。图4-5FAT32文件系统初始化2文件系统目录相关操作的实现目录操作主要包括:新建子目录、进入子目录、删除子目录。当新建子目录是,根据给定的路径名,首先从根本目录开始,逐级搜索各级子目录项,如果发现已存在要创建的子目录,则返回目录已存在的信息。否则,在主FAT表中搜索一个空闲簇,将其作为该目录的首簇号,同时将该空闲簇对应的表项写入簇链结束标志,然后在所属的FDT(FileDirectoryTable)表项中查找一空闲的32ByteFDT表项,将该目录的目录名、属性、首簇号等相关信息写入到FDT表项中。3文件系统文件相关操作的实现文件操作主要包括:新建文件、打开文件、关闭文件、文件读写。当新建文件时,首先要在该文件所在的父目录下搜索该文件是否存在,如果不存在,则在主FAT表中查找一空闲簇作为该文件的首簇号,同时将该空闲簇对应的表项写入簇链结束标志,然后在该文件所属父目录的人FDT表项中查找一空闲的32ByteFDT表项,将该文件的文件名、属性、首簇号等相关信息写入到FDT表项中。若已存在该文件,则直接退出。打开文件和关闭文件的操作,若是打开文件,必须根据给定文件的路径,逐级目录查找,最后找到该文件所在父目录的开始簇号,在其父目录的FDT区搜索该文件的32byteFDT表项,如果存在,则利用这32byteFDT表项初始化指向该文件的文件信息结构体变量,包括文件名建立时间修改时间开始簇号文件大小等,后续对该文件的其他操作都要使用这个属于该文件的信息结构体变量,否则返回打开文件失败。如果关闭文件,则只需将指向文件的信息结构体变量的所有成员全部清零,以方便其他文件使用该结构体变量。SD卡上文件都是以簇为单位存取的。读文件时首先要根据文件名查找到该文件的32byteFDT从中计算出文件在数据区中第1簇的内容,逐个扇区读取即可[14]。TFT_LCD显示部分本设计所用的TFT_LCD模块的控制器为ILI9320,数据的读写方式由模块硬件设置为16位数据模式。要完成TFT的显示功能主要依靠2个操作:写显示缓存GRAM(显示的颜色数值)和写寄存器操作(TFT所有的设置操作)。写显示缓存写显示缓存GRAM的操作比较简单,只需要写入颜色的数值即可,它的操作时序如图4-6所示。16位数据线采用565模式读写数据,其数据的映射关系如图4-7所示。最低5位代表蓝色,中间6位为绿色,高5位是红色,数值越大表示颜色越深。图4-6写显示缓存操作时序图4-716位数据映射图写寄存器写寄存器操作是实现TFT显示功能的核心,它的操作时序如图4-8所示。先写入寄存器号码,再写入对应的操作数据,即完成了一次相关命令操作,本设计驱动所示用的命令如图4-9所示。各编号的具体含义如下。图4-8写寄存器操作时序图4-9ILI9320常用命令R0:这个命令有两个功能,当对其写时,最低位为OSC,用于开启或关闭振荡器,当对其读时,则返回控制器型号。R3:入口模式命令,其中I/D0﹑I/D1﹑AM这三位控制屏幕显示方向。当更新了一个数据之后,根据I/D[1:0]这两位的设置来控制地址计数器自动加/减1。AM用来控制GRAM的更新方向:当AM=0时,地址以行方向更新;当AM=1,地址以列方向更新,其关系如图4-10所示。图4-10GRAM显示方向设置图R7:显示控制命令。CL=1时,为8位色;CL=0时,为26万色。D0﹑D1﹑BASEE控制显示器开关“当全设为1时,显示器开启;全为0时,显示器关闭。R32、R33:分别设置GRAM的行地址和列地址。当写入一个颜色时,先通过这两个命令设置位置,然后写入颜色数据。R34:写数据到GRAM命令,当写入这个命令后,地址计数器才会增加或减少。R80~R83:GRAM地址行列大小设置。TFTLCD显示步骤TFTLCD显示需要的相关设置步骤如下

:(1)设置STM32与TFTLCD模块相连接的IO。

这一步,先将我们与TFTLCD模块相连的IO口设置为输出,具体使用哪些IO口,这里需要根据连接电路以及TFTLCD模块的设置来确定。

(2)初始化TFTLCD模块。其实这里就是通过向TFTLCD写入一系列的设置,来启动TFTLCD的显示,为后续显示字符和数字做准备。TFT_LCD初始化流程图如图4-11所示。图4-11TFT显示初始化通过函数将字符和数字显示到TFTLCD模块上。TFT_LCD显示流程图如图4-12所示。图4-12TFT_LCD显示流程图RTC时钟模块RTC实时时钟是利用STM32F103ZET6内部的时钟模块实现的,根据STM32的数据手册,得到RTC实时时钟的初始化过程如图4-13所示。图4-13RTC初始化这样就结束了对RTC时钟的初始化,RTC时钟在完成以上配置之后,就会每隔固定的时间,对秒钟寄存器(RTC->CNT)进行增1操作。此操作全部硬件执行,无需要软件参与。固定时间由时钟分频系数(RTC->PRL)来确定,理论上由于外部低频晶振是32.768Khz,因此只要在RTC->PRL内写入32768-1就可以得到精确的1秒了,但由于晶振的误差,通常需要调整这个值,来得到比较准确时间的。烟雾监控设计传烟雾感器是将现场温度、烟雾等非电信号转化为电信号;当外部环境(温度、湿度、烟雾浓度)达到一定值时,烟雾传感器就会产生模拟电压,将它作为输出的模拟信号经AD转换器转换为单片机所能识别的数字电压量。转换电路是将完成将烟雾传感器输出的模拟信号到数字信号的转换。烟雾信号探测及采样流程如图4-14所示。图4-14烟雾信号探测及采样语音播报设计主程序软件设计中语音函数来自于sacmv26e.lib。该函数用于对定时器、中断和DAC的初始化。通过DAC通道进行播放,其中voidSACM_A2000_ServiceLoop(void)从资源中获取SACM_A2000语音资料,将其填入译码队列中,并进行译码、填充队列操作。流程图如图4-15所示。图4-15语音播报流程模块整合分步实现了系统的各个功能,本系统的主控制程序通过调用各个模块的相关函数,实现了整个系统的功能整合,主控制程序的流程图如图4-16所示。图4-16主控制程序的流程本章小结本章给出了整个软件设计思路系统流程图,并对单片机控制的1615TFT_LCD显示部分、SD卡驱动设计以及FAT文件系统的读取,对RTC时钟的使用设置、烟雾报警模块的设计,语音播报模块的软件编程设计进行了讲述,并对每个器件的应用画出了显而易懂的流程图,可以看出各个模块的初始化。最后一张让人可以一眼看到整体软件系统流程,使设计容易化。4109调试与仿真硬件调试元件失效问题这种问题在硬件制作过程中是常有发生的,情况大体会有两种:一、元器件出厂自身出现问题,这种情况可能性比较小,但不能排除。二、人为因素,芯片很容易损坏或者手指碰触而引起静电损坏,或者芯片插反等操作不当、供电电压过大都会导致元件失效。如果发现硬件电路调试过程中没有达到预计效果,用万用表检测并在保证安装无误后,用替换方法进行排除。元件选用问题在使用语音播报的时候,使用语音模块,WT588D可以实现语音播报功能,但是在调试过程中发现此芯片只可烧录固定的语音,如果更新病人信息,将会重新将所有病人信息一同烧录,不适合作为医院使用,故改用元件SYN6288语音合成芯片通过异步串口通讯方式接收待合成的文本数据,实现文本语音的转换。这款芯片有很强的文字处理能力,可以轻松的识别文本、数字、语音的转换。而且可以合成任意文本,适合使用。电源电压问题在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏,加电后检查各插件上引脚的电位,一般先检查VCC与GND之间的电位,而且STM32的供电电压在3.3V,而有些硬件的供电电压在5V或12V这就需要留意供电电压方面的问题,防止烧毁,若有高电压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统中的集成块发热损坏。硬件仿真调试联机仿真需要借助JLINK,下载线,核心板等,这些是单片机开发应用的最基本的工具。信号线是联络STM32单片机等外部器件的纽带,如果信号线连接错误或时许不对,那么都会造成外围电路的读写错误[15]。单片机的信号线大体分为读、写、片选信号线、时钟信号线、地址锁存、复位信号线等。这些信号线大多属于脉冲信号,利用软件编程的方法实现,例如实现信号线,运行下面的小程序可以检测出是否正常。调试后的实物如图5-1所示。图5-1实物图软件调试程序出错常常会出现三种问题:语法错误、逻辑错误、运行错误。运行错误是很少出现的,所以程序调试就要对程序的检查和挑错,运行后软件会提示出现的语法错误,这种问题相对好改正,比较困难的是逻辑错误,这种是思维性的,只能使用跟踪程序流程,即将自己当做计算机,给定一组输入数据后,顺序执行每条语句,考察所得结果.寻找错误.此方法需花一定时间,但这是最基本的方法,用其它方法难以查出问题时.可以试用此法。调试技术的主要途径是读别人的程序,对较难懂的地方,也只有跟踪程序才能读懂,也就要增加自身的阅读能力,来提高自己的思维灵活度。本章小结本章简单介绍了设计中程序编程的软件,在调试过程中遇见的软件以及硬件的错误,应该如何调试仿真。结论本系统采用STM32为主控芯片,使用中断优先级来对应病人病重情况。采用烟雾传感、火焰传感器对室内进行采集,然后将数据处理后打印在TFT彩屏上,当数据发生异常时,控制器会发出声光报警,等待救援人员处理。本设计可以有效快速保证病人的人身安全,在病人按下按键后迅速在TFT显示屏上显示患者信息,当多个病患同时呼叫时会有优先级显示,本设计采用两种优先级,严重病患和轻微病患,保证每个患者能够安全。当轻微病患按下呼叫时,有严重病患呼叫会被屏蔽,语音、图片显示严重患者信息,在主机上按键控制可以解除呼叫后,即可继续播报、显示轻微病患。当两位严重患者先后按下报警键,系统为切模式播报、显示二位患者信息。本设计还设有温度检测功能,适合于重症病人或者对室温敏感的患者,当温度超标时给予相应的处理。虽然整个设计已经完成,可是还是有些可以改善的地方,例如今后可以尝试将有线的病房呼叫系统做成无线抗干扰能力的病房呼叫系统。本设计对未来病房呼叫系统系统进行了初步试探性的研究。由于时间和技术的原因,此系统设计还存在很多不足之处,程序设计上缺乏灵活性,今后将进一步拓展该系统以增强系统的实用性和参考学习提供参考依据。致谢能够完成本次的毕业设计,非常感谢帮助过我的老师和同学,在导师XXX精心指导和大力支持下完成毕业论文,在学习中,X老师从我做毕业设计的每个阶段,从选题到资料查询,确定提纲,修改中期论文改,调整后期论文的格式等每个环节都给予了我很大的帮助。这几个月以来,夏老师不仅在学业上给我以精心指导,同时还在思想给我以无微不至的关怀,在此谨向夏老师致以诚挚的谢意和崇高的敬意。在此我还要感谢XXX老师、XX老师、XXX老师的指导和帮助,同时,本篇毕业论文的写作也得到了XXX、XXX、XXX等同学的热情帮助。感谢在整个毕业设计期间和我密切合作的同学,和曾经在各个方面给予过我帮助的伙伴们,在此,我再一次真诚地向他们表示感谢!这次做论文的经历也会使我终身受益,我感受到做论文是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。参考文献

朱艳华,田行军,李夏青.基于PL3105的病床呼叫系统设计[J].北京石油化工学院学报,2009,17(8):40-43刁永锋,基于单片机的智能报警呼叫系统[J].自动化技术与应用.2010:67-78LinHuafang,CaoJie.KnowledgeCallingSystemBasedonQuotient[J].J.CollegeofComputerandSoftware;TaiwanUniversityofTechnology2006,8(9):145-151

陈悦,刁若菲,刘志伟等.烟雾检测火灾报警系统的设计[J].微计算机信息,2007,23(8):93-95康华光《电子技术基础》[M].北京:高等教育出版社,

1999:112-119元增民,张文希.单片机原理与应用基础[M].北京:国防科技大学出版社.2006,7(6):114-125赵广林.新型语音芯片应用手册[M]

.电子工业出版社.

2008(8):233-256ScottGardner.32BitsforaBuckLuminaryMicro'sARM-BasedSTM32F-103ZET6sCostAsLittleAsaDollar[J].电子产品世界,2010(7):176-203张浩.通用串行总线的SD卡读写器的设计[J].韶关学院学报.2008(3):298-30310ChoiGm·Physics_of_Semiconductor_Devices-3[J]·Sensortechnology.2002(3):78-82苏义鑫.基于AT89C52单片机的SD卡读写设计[M].北京:航空航天大学出版社.

1996:218-224于振南.嵌入式FAT32文件系统设计与实现[M].北京:北京航空航天大学出版社.2014,4(1):45-57周云飞.船舶排油监控系统设计与实现[M].北京:电子工业出版社.2008(9):159-161杨明极.嵌入式系统中SD卡中的FAT32文件系统的设计[J].计算机与数字工程,2005:23-70彭佳红.软件调试的方法与技巧[J].吉首大学学报(自然科学版).1996,17(1):39-42附录1总原硬件理图附录2程序#include<stdio.h>#include"stm32f10x.h"#include"systick.h"#include"usart_printf.h"#include"sdcard.h"#include"ff.h"#include"LCD.h"#include"GUI.h"#include"gpio.h"#include"tts.h"#include"delay.h"#include"usart_printf.h"#include"rtc.h"#include"ds18b20.h"#include"Time.h"//LCD引脚定义:PD0PD1PD4PD5PD7PD8PD9PD10PD13PD14PD15PE7~PE15structrtc_timesystmtime;/*时间结构体*/staticvoidInitBoard(void);//初始化//u8sequence[]={0,0,0,0,0};//用于记录呼叫顺序//sequence[0]:当前呼叫的人数//sequence[1]:1、2号病人谁先呼叫 0:还没有呼叫1:1号病人先呼叫的2:2号病人先呼叫的//sequence[2]:3、4号病人谁先呼叫 0:还没有呼叫3:3号病人先呼叫的4:4号病人先呼叫的//u16Call_Flag=0;//全局呼叫标志位u8Smoke_Flag=0;//火焰、烟雾报警标志位u8Picture=0;//标记当前图片/**00位:用于进入外部中断,显示小时间标志位。[在显示病人信息前要将其置位]*01位:1号病人呼叫标志位[]*02位:2号病人呼叫标志位[]*03位:3号病人呼叫标志位[]*04位:4号病人呼叫标志位[]*/ voiddelay(u32t){while(t--); }/******************************************************************************** 函数名:main* 功能:用户程序入口* 输入:无* 输出:无*/intmain(void){ floattemperature; InitBoard(); //初始化的代码 EXTI_Config(); //IO、外部中断初始化 Lcd_Initialize(); TTS_Init();//语音模块初始化 SD_Init(); //SD卡初始化//################################################################## RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE); GUI_Init(); //初始化GUI GUI_SetBkColor(GUI_CYAN); GUI_Clear(); GUI_SetColor(GUI_BLACK); GUI_SetFont(GUI_FONT_COMIC24B_1);//设置字符字体 GUI_SetFont(GUI_FONT_D48X64); //设置数字字体 display_picture("F00.bmp"); //开机界面//调用发声函数,读出指定长度数据 Speech("欢迎使用黑龙江科技大学病房呼叫系统",sizeof("欢迎使用黑龙江科技大学病房呼叫系统"));//34 delay(48000000); display_picture("F01.bmp"); //主界面 Picture=1;//################################################################# // display_picture("F02.bmp");//叮当猫// delay(7200000); // display_picture("F

温馨提示

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

评论

0/150

提交评论