版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于STC89C52单片机的家用药箱控制系统设计摘要在我国科学技术不断发展过程中,医疗产品更新换代,在全民大健康的背景之下,智能化家用药箱的设计,从人性化的角度出发,利用单片机作为系统主控核心,进行模块化的设计,增强了家用药箱在实际应用过程中的可靠性、安全性,确保家用药箱能够成为方便大众日常使用的医疗产品。本次智能家用药箱系统的设计,整个系统采用了STC89C52单片机,温湿度传感器,液晶,继电器等硬件模块,其可以实现家用药箱内部的温度和湿度参数的精确检测,并当其超过阈值时,通过继电器来控制降温和去湿模块进行工作,以保证药箱内存放药品的环境良好。同时为了验证整个设计的可行性,还通过Proteus仿真平台来搭建整个系统的仿真模型,并进行仿真的制作和测试,经过仿真测试验证,本次设计的图纸和程序达到了任务要求,运行可靠。关键词智能家用药箱;温湿度;单片机;仿真目录家用药箱控制系统设计 I1.绪论 61.1课题背景及意义 61.2国内外发展现状 61.3本文主要内容 72.系统方案设计 82.1需求分析 82.2总体方案设计 82.3主控制器方案设计 92.4显示方案选择 112.5温湿度传感器选择 123.硬件电路设计 143.1单片机简介 143.1.1单片机概述 143.1.2单片机的基本结构 143.1.3单片机最小系统 153.2液晶显示电路 173.3温湿度检测电路设计 183.4继电器电路设计 194.软件设计 214.1开发环境 214.2主程序的设计 214.3显示程序设计 224.4温湿度检测程序 235.模拟仿真结果 255.1Proteus仿真平台 255.2软件调试 25总结 30参考文献 311.绪论课题背景及意义在互联网时代,将物联网和智能家居的概念相结合,利用现代科学技术各种智能化的医疗产品不断出现,市场规模在不断的扩大过程中改变了人们日常的生活方式。在对科技产品的需求不断增高的过程中,对于产品智能化和人性化的设计提出了更高的要求。在社会经济快速发展过程中,人们生活水平不断提高,人们对于自身健康和保健意识也逐渐增强[1]。医药在人们生活中扮演着重要的作用,能够治疗人们的疾病,帮助人们重获健康。医生可以根据病人日常服药情况来诊断病人病情,进一步制定治疗方案。目前,医药市场上药品种类众多,数量庞大,常见的智能药箱在功能和种类上差别较大。常见的类型有以收纳为主的智能药箱,可以将药物进行类别区分;以定时提醒吃药的功能为设计目的智能药箱,保证病人日常服药的准确性;以特定温度环境控制为主的智能药箱,保证药品在保存过程中不受环境影响变质,影响药效[2]。从市场上应用的药箱来看,功能单一,不能够满足病患对于药品类别区分、储存等实际需求。并还不能够及时快速了解药品的实际功能,不能够实现快速筛选的目的,会出现错服、用错量等现象。同时,会因为储存环境的问题导致药失效,出现服药中毒的情况,破坏了药品最初的使用效果。因此为了能够保障用药人群最基础的需求,智能家用药箱控制系统能够将不同种类的药品进行区分,控制储存药品的实际环境,保障人们基础性的服药安全[3]。1.2国内外发展现状国内外针对智能药箱的研究取得了一定的成果,虽然智能药箱在实际应用中的范围远不及其他类型的智能家居产品,但是随着嵌入式技术和互联网技术的发展,智能药箱从人性化的角度为人们提供了智能化、人性化的服务。杨瑞萍在《基于STM32的智能语音药箱控制系统的设计》中提出在国外医疗公司开发研制智能药箱准时提醒用户服药,一旦用户忘记吃药,系统还会通过短信形式远程提醒用户[4]。整体系统设计集成化程度高,可以利用网络通信将数据信息进行提醒,同时还可以将相关数据发送至病人家人或医生,以便及时获取帮助,更好地追踪病人的实际用药情况。代春辉在《基于STM32智能药箱的设计与实现》中针对印度智能医药盒的设计中总结出能够将药品按类别的进行储存,用户可以根据按键设置吃药,时间和相应的用量,利用显示屏和扬声器来提醒用户服药[5]。在我国国内应用市场上,家庭备用药品存放箱与智能药箱功能类似,能够为日常家庭用要提供干净整洁的存储环境,同时也出现了能够辅助人们智能用药的药盒。赵培在《一种智能药箱的设计》中提出通过闹钟、灯光提醒等形式,保证用户能够按时服药[6]。随着科研技术水平不断提升,智能药箱的附加功能不断增多,为了能够实现产品的大规模使用和推广,降低系统成本支出,将电子信息技术手段应用与智能药箱的研究,实现大范围内的产品推广是未来智能药箱的主要发展方向。管明浩在《基于STM32的家用智能药箱》利用成熟的嵌入式开发技术、智能家居应用技术、物联网技术,针对性地进行实际问题的解决,实现多样化人性化的使用功能,以高性价比来推广智能药箱的应用范围[7]。1.3本文主要内容本文的研究目标是智能家用药箱系统,本课题的主要研究内容及相应的章节安排大致分为以下几个部分。第一章作为课题的绪论部分,提出了此课题的研究背景以及研究意义,对智能家用药箱系统的课内外研究现状,阐述了此次课题的主要研究内容。第二章是系统设计的总体方案部分,分析系统设计过程中相应的功能需求提出总体设计框架。第三章是系统设计的硬件部分,分别介绍了单片机模块,温湿度检测模块,液晶显示模块等硬件设计原理及其对应的电路设计。第四章是系统设计的软件设计与实现部分,通过对各个传感器信息数据采集模块程序设计,以流程图的方式详细介绍系统的软件设计部分。第五章是系统测试以及调试部分,对整体硬件电路板进行测试,分析系统设计过程中各个部分的性能,提高系统工作的稳定性以及有效性。最后是全文的总结与展望部分,对课题设计进行总结,同时对课题未来发展的主要方向进行探讨,指出需要改进的地方。2.系统方案设计2.1需求分析在生活中,药品的保存对于药品的品质至关重要,通常情况下,一般药物都要求在低温,干燥的情况下进行保存,这样才能保证其效果,因此本次智能家用药箱系统的设计,在功能上,确定如下:(1)完成对家用药箱内部的温度,湿度检测;(2)如果检测到的温度太高,则需要通过降温模块来对家用药箱降温;(3)如果检测到的湿度太高,则需要通过去湿模块来对于家用药箱进行降湿;(4)可以通过液晶实时显示温度,湿度2.2总体方案设计由于药箱中的药品通常要求在低温,干燥的情况下进行保存,智能家用药箱系统的设计选用单片机作为系统控制主模块,结合温湿度传感器对药箱内部的温度和湿度参数的精确检测,并当其超过阈值时,通过继电器来控制降温和去湿模块进行工作,以保证药箱内存放药品的环境良好。因此设计了如图2.1的智能药箱控制系统的整体框图,其包括了STC89C52单片机最小系统,DHT11温湿度传感器,LCD1602液晶显示模块,降温模块,去湿模块。.图2.1系统整体框图在系统方案进行设计的过程中,在对各方面因素进行多方面的考虑之后。为了确保操作系统能够正常运行,在能够自由切换模式的同时尽可能降低系统站工作内存,这也是为了降低系统工作过程中功耗损失情况。避免整个系统在正常运行工作过程中出现失误的情况。2.3主控制器方案设计方案一:采用可编程逻辑器件FPGA(如图2.1所示)或者CPLD作为本次课题的主控制器,与其他类型的MCU相比较,其运行的方式是并行的,即编写的程序是并行运算的,而不是单条语句依次运行,因此其运算效率非常高,广泛应用于对速度要求高的场合。在开发语言方面,其主要有VHDL和VHERILOG这两种语言,在编程方面,其使用会复杂一点,尤其是涉及到小数或者除法等运算时,因为其本质上是硬件电路,所以不能像C语言一样可以直接使用小数或者除法之类,甚至于乘法也不能直接使用,往往需要考虑很多因素,所以对基础知识要求非常高。在硬件上面,其供电通常是需要3.3V和1.8V两种以上的供电,3.3V给IO引脚,1.8V则给内核,对于一些性能好的,则需要三种以上的供电,因此设计较为复杂,所以适合于需要复杂,速度要求高,成本不敏感的场合。图2.2FPGA实物图方案二:选择STC89单片机,该系列的单片机有四组IO口引脚,可以通过编程的方式对每个IO口进行控制。其为8位的总线,采用了MCS-51的指令集,因此在程序编写上与其类似。同时为了方便使用,该单片机还集成了FLASH等存储器资源,这样用户可以不用另外配置额外的存储器,方便使用[8]。其支持多种开发平台,如Keil,IAR等等,支持在线调试,可以方便的对其内部寄存器数据进行监控。而且其开发语言也是常用的C语言,方便上手,其下载方式也支持多种方式,如ISP下载,串口下载,或者专用下载器下载等等都可以,并且还提供加密技术,方便用户保护知识产权。同时其成本非常低,性能也可靠,已经在市场上大量的低端产品进行使用,具有很高的市场经济价值。如图2.2是STC89实物图。图2.3STC89实物图方案三:选择STM32F103单片机,其是由ST公司设计生产的32位MCU,其运算速度快,最高可以达到72MHZ,并且其内核采用的是ARM,具有非常强的优势。并且ST公司除了为其开发配套的库函数外,还开发了CUBEMX工具,用户使用该工具可以通过图形化的方式对IO口,定时器,ADC模数转换器以及其他功能进行设置,完成初始化的程序自动生成,节约用户大量时间,也降低了编程难度,同时具有丰富的例子程序,方便用户进行学习和进一步扩展。如图2.3为STM32实物图。图2.4STM32实物图通过对上述三种主控制方案的分析,考虑到本次设计的实际情况,在此选择方案二来作为本次课题的主控制器。2.4显示方案选择方案一:在系统设计显示模块的选择过程中,选用LED七段数码管作为系统显示的方案。LED七段数码管整体结构设计简单,设计成本较低。数码管主要是通过显示简单的数字来为系统工作进行服务,但是无法进行中英文的显示工作,从实用性能上来看,在输出数据的能力上较为薄弱。图2.5数码管实物图方案二:在系统设计显示模块的选择过程中,选取LCD1602作为系统数据的信息显示工具。LCD1602液晶显示模块能够对系统工作过程中的英文数据信息进行输出,单片机可以直接对LCD1602液晶显示模块进行驱动连接操作[9]。LCD1602液晶显示模块对于显示的时序要求较高,但是在实际应用中LCD1602液晶显示模块运行稳定,对于外部环境具有较强的抗干扰能力,因此得到了广泛的应用。图2.6液晶实物图综上所述,在对系统的设计过程中,需要对存储的数据信息进行显示工作,所以选用方案二的LCD1602液晶显示模块来作为系统的显示方案选择。2.5温湿度传感器选择方案一;分别选择温度敏感元件和湿度敏感元件来作为检测元件,如PT铂电阻,这是一种随着温度的改变其自身阻值也会改变的材料,经过加工后的铂电阻其准确度非常高,可检测的温度范围也非常高,通常其高温可以达到几千摄氏度,低温则可以到达绝对零度。但是这种方式还需要结合模数转换器,将其检测到的温度和湿度数据转换成数字量给控制器,控制器才能正确识别,因此硬件和软件设计都较为复杂。.图2.7热电偶实物图方案二:利用集成的数字温湿度传感器,如DHT11。这种芯片检测范围并不宽,湿度检测精度不高,但是其工作方式简单。控制器只需要通过一根数据线与其管脚连接,就可以直接将温度和湿度数据读出来,比较适合在一些要求低的地方,并且该方案成本也低,可靠性也经过了市场验证[10]。图2.8DS18B20实物图由于本次设计中应用的场合对温度和湿度检测范围要求不高,因此方案二更加贴合本次设计需求。3.硬件电路设计3.1单片机简介3.1.1单片机概述STC89C52芯片在实际应用中使用效率高且功耗较低,属于CMOS8位的单片机类型。在芯片内部可以进行反复的擦写,进行数据信息的存储工作并投入实际产品的设计工作。STC89C52芯片内部的存储器属于4kBytesISP的Flash只读程序存储器。这一组成能够保证存储器在实际工作过程中进行高密度、非易失性存储工作,保证系统工作的稳定性[11]。STC89C52芯片在实际工作过程中可以兼容cmcs-51指令,确保系统工作设计的便捷化程度[12]。STC89C52芯片内部设计有8位的中央处理器以及相应的系统信息数据存储模块,是实际应用过程中,STC89C52单片机可以实现多项信息处理功能,可以在实际产品设计过程中提供相应的系统设计解决方案。3.1.2单片机的基本结构单片机的基本组成主要包括控制器、存储器、并行I/O口、时钟电路与时序这四个部分。作为单片机的主要控制核心,控制器的作用主要是在系统工作过程中,能够对单片机传达的指令进行有效识别,同时依据命令所对应的只是来对系统中的部件功能进行控制,以此来保证单片机能够根据指令完成规定的工作需求[13]。在整个单片机的工作系统中,所有的指令都是在控制器的作用下实现信息的传输以及接收。控制器在实际工作过程中,将系统存储器中的指令进行传输,并传输至寄存器中进行相应的存储工作。随后利用指令译码器将其破译,将相应的结果传输至时序控制逻辑电路,再将相应的数据信息利用指令传输至其他部件,使单片机能够进行工作[14]。整个系统在工作过程中就是不断进行执行的反复执行,除此之外控制器能够进行程序计数、对程序指令和地址进行存储、进行译码的同时保证其正确性、对时序进行管控等操作。存储器在设计上采用哈佛结构,能够对单片机内部的数据在存储过程中进行空间上的划分操作。能够使程序与数据两者拥有独立的控制系统以及存储空间。这一结构设计能够使单片机在工作过程中操作便捷,集成化的程序与数据存储器能够提高存储容量,加强了外存储器的延展功能,寻址操作进一步便捷化。在并行I/O口的设计上,拥有4个双向的运作端口,主要使用进行数据信息的输入以及输出工作,能够缓冲输入同时驱动输出。I/O口能够根据字节进行寻址同时实现按位寻址。不同的架构使其性能也存在差异。时钟电路主要是作为系统工作的信号,主要是为了保障单片机在实际工作过程中时钟信号能够正常被使用。时钟电路能够实现时序功能的同步,在时钟信号控制器的作用下实现时序的同步操作。时钟电路在工作过程中按照时序进行基本操作,而时序的研究到单片机在实际工作过程中指令实现的关联性。3.1.3单片机最小系统在本次智能家用药箱系统的设计中,系统主控模块选择是STC89C52单片机。主要是考虑到此种单片机在程序编写以及引脚分布的过程中与学校教学基本一致,因此在实际应用中上手简单,易于操作。STC89C52单片机在分装结构中包括DIP和SOP两种类型,两者的主要区别是前者是直插,后者则为贴片方式。此次设计选取的是DIP直插类型[15]。STC89C52单片机共有40个引脚,包括电源引脚、晶振配置引脚、复位引脚、I/O口输入输出引脚等。I/O口引脚可分为4组,分别对应P0-P3,在程序的编写过程中,主要是利用对I/O口进行操作来完成程序编写。在实际程序的编写过程中,不仅可以直接对单个引脚进行操作,同时也可以对一组单片机的引脚进行程序的编写,保证用户在实际程序编写过程中的便捷。STC89C52单片机在程序指令的选择上采用MCS-51指令集,这其中集成了8K的FLASH,主要是考虑到用户在下载程序的过程中,由于反复擦写,内部数据不会出现丢失。STC89C52单片机内部自带定时器、串口通信等功能,便于单片机与外部的芯片进行连接,整体上实现系统产品设计的功能[16]。图3.1单片机引脚图单片机的最小系统构成中,晶振电路模块至关重要。晶振电路主要是保证单片机内部程序在运行过程中具有一定的时间基准。在系统程序指令的运行周期中,晶振所要采取的频率直接影响到程序指令运行的周期。晶振电路如图3.1所示,整个晶振电路增加了两个电容,保障系统运行过程中的稳定性。单片机的最小系统中,除了晶振电路模块,还包括复位电路。复位电路的设置能够帮助单片机系统在遇到故障的情况下,能够重新开始运行。复位电路可以解决例如电压不稳导致的系统程序故障、程序跑乱的复杂情况。单片机系统设置有RST复位引脚,此引脚需要在高电平的状况下,程序才能保证正常的运行,避免程序一直处于初始状态。如图3.1所示是系统的复位电路,当系统上电之后,在电容的作用下,复位引脚与GND连接变低。而当系统上电完成之后,电容便会处于充满电的状况,此时引脚变高,使得系统程序会重新开始运行。同时为了便于系统复位的便捷,系统加入按键,能够使用户进行手动复位。当手动复位按键按下时,复位引脚变低,系统自动进入复位状态,当按键松开时程序就会自动开始运行。图3.2LCD1602的读写时序图3.2液晶显示电路在显示方案的选择上,本文是选择LCD液晶作为显示设备。对于LCD液晶显示器来说,其有多种不同的尺寸和分辨率,在选择上需要根据实际情况进行选择。比如在公共场合就会选择大尺寸高清晰度的,而在一些小型设备上则需要体积较小,价格便宜的。结合本次设计的课题需求,在此对于显示的要求并不高,因此最终选择了LCD1602作为液晶显示设备。其实从其型号名字就可以大致看其分辨率信息,该液晶一共可以显示两行,每一行则可以对十六个字符进行显示。显示的字符信息可以是数字,也可以是英文或者是定义的一些特殊字符,但是不能是中文。在控制引脚上,其引脚看起来比较多,但时间控制并不复杂,首先就是其电源供电引脚,供电的电压范围比较宽,在3到5V之间都是可以的,但是为了其显示效果好,要求供电电源的电流有一定的供电能力。其次就是数据引脚,其数据引脚为D0-D7这8个引脚,单片机是通过这8个引脚将显示的数据传输到液晶上,当然是需要按照一定的规则的,而这个规则就是通过液晶的RW,RW,EN引脚去控制,在液晶数据手册上对具体要求都有进行了要求。因此需要按照要求去编写程序来进行控制,以达到显示正确结果的目的。同时还要注意的是,该型号的液晶具有背光条件引脚VO,需要通过外部电阻分压的形式给其一个合适的电压,用来调节对比度,其才能较好的显示信息。图3.3显示电路3.3温湿度检测电路设计对于温度和湿度的检测,有多种方案可以实现,考虑到本次设计的实际情况,在此选择的是一体化集成的传感器DHT11,该传感器可以同时对温度和湿度进行检测。其关键引脚一共有三个,电源,地和数据引脚,该芯片采用的是单线通信的方式,单片机只需要一个引脚和DHT11的数据引脚进行连接,然后按照DHT11数据手册中规定的时序对其进行配置和读取数据,然后对读取后的数据进行解析后就可以得到温度和湿度数据了。经过市场验证,该芯片稳定性好,价格低,已经在很多场合广泛使用,其电源供电支持3.3到5V宽电压供电,需要注意的是,其数据引脚需要通过电阻进行上拉,具体电路如下图所示。图3.4温湿度电路图3.4继电器电路设计在本次智能家用药箱系统需要实现降温和去湿功能,但是对于该功能单片机是无法通过引脚来直接进行控制的,因此在此选择了继电器来间接控制。继电器是一种可以实现电磁能量转换的元件,在参数上主要有驱动电压,隔离电压,维持电压等,在结构上则包括动作臂,线圈,铁柱等等,在功能上主要是实现以弱电控制强电的作用。同时由于单片机引脚的输出电流能力很小,所以还要进一步的通过三极管来控制继电器,当单片机输出高时,此时三极管进入开通状态,继电器的驱动线圈导通,动作臂进行动作来使得外接的设备工作,反之,当单片机输出低时,则三极管进入截止状态,继电器断开连的设备。图3.5继电器电路图4.软件设计4.1开发环境在设计中,除了需要完成硬件的设计外,还需要对软件程序进行编写。由于本次设计中,采用的是单片机作为控制器,因此软件程序平台的选择也要与之相对应。通常来说,对于单片机有多种平台可以进行软件程序开发,如KEIL,IAR等等。在此选择的是KEIL软件,该软件内部集成了很多库文件,如常用的51单片机库文件,stm32单片机库文件等等。通过在该平台上进行软件程序的编写,然后进行编译后就可以将生成的可下载文件下载到单片机里面去,这样单片机就可以运行。同时,该软件还支持在线调试功能,通过专用的在线调试工具,可以对单片机运行中的寄存器数据进行实时的检测,并可以设置断点来单步运行程序,方便用户进行程序调试,其页面如下图所示。图4.1KEIL界面图4.2主程序的设计本智能家用药箱系统中,其主程序的流程控制如图4.2所示,系统启动后首先进行初始化设置,并对吃药的时间和信息进行设置,然后当达到时间时进行语音提醒,如果忘记吃药则通过GSM短信进行提醒。图4.2主程序流程图4.3显示程序设计在显示方面,在此选用了LCD1602液晶,在编写其程序时需要按照其控制协议进行,其数据引脚有8个,控制引脚有3个,在控制时首先需要对液晶进行初始化,设置好液晶的初始化状态,然后准备写入数据,如果当前液晶不忙,则向其写入数据,直到一行写完,然后开始写第二行,直到全部写完为止。其具体流程如下:图4.3液晶显示程序流程图4.4温湿度检测程序由于选择了DHT11传感器来检测温湿度,所以需要对其相应的程序进行编写。该传感器是一种单线控制的芯片,单片机通过单线来对其进行控制,首先通过指令复位该传感器,然后检测其是否正常,如果正常则发出读数据指令分别读出温度和湿度数据,其流程如下。图4.4温湿度检测流程图的设计5.模拟仿真结果5.1Proteus仿真平台在电路设计中,一个系统往往是包括很多子系统的,有些子系统是以前设计过的设计人员有信心直接使用,但是总有一些电路是没有用过的,而在设计过程中总是希望能尽量降低返工的次数,因此仿真软件的出现就是帮助设计人员最大限度的在设计阶段来验证设计,以免在成品制作后去重新制版浪费时间和金钱成本。对于仿真软件来说,目前市场上有很多种,如MATLAB,SABER,PROTEUS等等,每个仿真软件都有各自的优点和专攻的领域,如SABER主要在电源领域进行使用,其在电源的仿真上准确度非常高,因此在电源上的仿真主要采用的就是SABER。PROTEUS则是主要在单片机的仿真上,其仿真界面非常友好,参数设置也很简单,用户在写完程序后只要调入HEX文件就可以仿真运行,并且其具有可视化的实时在线仿真效果,非常方便。结合本次设计要求,在此采用的是PROTEUS软件来进行仿真,其仿真效果可以达到设计目标。5.2软件调试在根据系统要求完成硬件设计后,就需要开始使用软件平台进行程序开发,在程序开发的过程中,为了增加效率通常采用如下的流程:在KEIL开发平台上新建工程,然后对各个子模块进行程序的编写,在开始设计时主要是对一些简单的功能模块进行程序编写,尤其是人机交互模块,这样方便后续进行调试。在完成编写后,通过平台的编译系统进行编译,并根据提示进行软件程序的修改,直到整个程序没有在KEIL软件上进行报错。然后通过JTAG或者串口下载器将编译生成的HEX文件下载到单片机中,在第一次下载时,通常是下载简单的程序,方便进行一些基本的判断,然后不断的增加程序不断的下载来增加功能,以达到最终目的。在程序下载后,几乎可以肯定的是第一次下载的程序往往没办法实现我们想要的结果,这个时候就需要进行调试,使用在线调试系统可以观察单片机内部寄存器的状态或者执行单步运行,这样可以方便的查询问题点,达到快速解决问题的目的。如图5.1所示为进行在线调试的页面,通过工具栏的DEBUG选项来进入。图5.1调试一系统进入后,可以通过在菜单栏中的选择,来对需要检测的数据变量,寄存器值等进行监测,如图5.2所示。图5.2调试二如图5.3所示,在此以监控count变量为例,通过在watch窗口输入该变量值就可以看到其默认值为0X0000,在运行后,其数值就会随着系统的运行而产生改变。图5.3调试三如图5.4所示,通过工具栏上的按钮还可以执行单步,跳出循环等多种方式的执行操作,方便设计人员进行调试。图5.4调试四在完成所有的程序编写和调试后,如果程序已经实现了想要的目标,那么就可以将程序的HEX进一步下载到单片机里面,以此来完成最终的目标。如图5.5为搭建的完整的仿真模型,其中包括了STC89C52单片机,LCD液晶,两个继电器,温湿度传感器,当系统运行后,液晶显示器实时的湿度是26%RH,温度是29℃。图5.5仿真测试一如图5.6所示为当系统中检测到的温度超过阈值时,继电器RL2打开,模拟进行降温操作。图5.6仿真测试二如图5.7所示为系统检测到的当湿度超过系统设定的阈值时,继电器RL1会打开,以此来模拟系统进行去温操作。图5.7仿真测试三总结在本次智能家用药箱系统的设计中,整个系统采用了STC89C52单片机,温湿度传感器,液晶,继电器等硬件模块,其可以实现家用药箱内部的温度和湿度参数的精确检测,并当其超过阈值时,通过继电器来控制降温和去湿模块进行工作,以保证药箱内存放药品的环境良好。通过本次智能家用药箱系统设计,我对传感器技术,单片机技术等相关的知识有了更为深刻的了解,也对一个项目的开发流程有了更为清晰的思路。本次理论结合实操的设计,增强了我对自己专业的理解。同时虽然完成了设计,但是还存在很多可以进一步改进的地方,如加入新的功能,检测新的环境变量,加入模糊控制算法等等。在本次设计中,由于我个人能力有限以及本科没有对单片机进行系统细致的学习,可能在设计上还存在着一些问题,还请老师进行批评指正,以便我进一步成长。参考文献[1]邬宗鹏,陈西忍,武卫华,刘正扬,李健.温情助老药箱的设计与制作[J].机械工程师,2021(03):39-41+45.[2]藏家松,马誉航,王晨哲,吴宇帆,姚毅超,李昕杰.家庭智能医药箱的设计[J].科学技术创新,2021(07):193-194.[3]席润润,陶炎炎,张慧,徐朝阳,李帅康.智能药箱在社区老年人护理中的应用探究[J].科技风,2021(03):15-16.[4]杨瑞萍,陈博.基于STM32的智能语音药箱控制系统的设计[J].电子制作,2021(01):25-27.[5]代春辉,郭瑛,徐艳红.基于STM32智能药箱的设计与实现[J].中国新通信,2020,22(18):106-107.[6]赵培,解丹婷,张莎,冯聪利.一种智能药箱的设计[J].电子元器件与信息技术,2020,4(06):50-51.[7]管明浩,王艳媛.基于STM32的家用智能药箱[J].电子技术与软件工程,2020(09):75-76.[8]吴彤,牛溪悦.新型智能家用电子药箱设计[J].科技风,2020(11):21.[9]秦嘉宝.智能药箱系统的设计与实现[J].信息技术与信息化,2020(02):182-183.[10]叶涛,陈健,邱变变,赵梦凡.老年人智能药箱人机工程设计[J].机械设计,2019,36(10):140-144.[11]张强,田海涛,崔煜.基于STM32的新型智能药箱的设计与实现[J].中国照明电器,2019(04):14-17.[12]徐凤芹,吕思斌,刘春景.家用老人智能药箱易用性设计研究[J].赤峰学院学报(自然科学版),2019,35(03):65-67.[13]江巧.基于STM32的智能药箱系统设计与实现[D].杭州电子科技大学,2018[14]范书瑞.Cortex-M3嵌入式处理器原理与应用[M].电子工业出版社.2018:26-28.[15]Li-xingSUN,Miao-quanLI.HighTemperatureBehaviorofIsothermallyCompressedM50Steel[J].JournalofIronandSteelResearchInternational.2015(10):2-6.[16]FengXiong,XiaoyanQi.Waveletanalysisofcardiacopticalmappingdata[J].ComputersinBiologyandMedicine.2017(5):8-10.附录A:原理图附录B:主程序#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedint#definedelay4us(){_nop_();_nop_();_nop_();_nop_();}sbitlcden=P2^2;//定义管脚sbitlcdrs=P2^0;sbitlcdrw=P2^1;sbitkey1=P3^0;sbitkey2=P3^1;sbitre1=P2^6;sbitre2=P2^7;sbitCS=P1^0;sbitClk=P1^1;sbitDATI=P1^2;sbitDATO=P1^2;sbitData=P1^7;//定义DHT11数据线ucharrec_dat[12];//用于DHT11显示的接收数据数组uinti;uintkhj;uinttvalue;//???uchartflag;//??????unsignedlongnum,num1;ucharcodetable[]="0123456789HZ%MS.";//定义显示的数组unsignedchardat=0x00;//AD值 unsignedcharCH;//通道变量voiddelay(uintz)//延时函数{ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}voidwrite_com(ucharcom)//1602读指令{ lcdrw=0; lcdrs=0; P0=com; delay(5); lcden=1; delay(5); lcden=0;}voidwrite_data(uchardate)//1602读数据{ lcdrw=0; lcdrs=1; P0=date; delay(5); lcden=1; delay(5); lcden=0;}voida1(){ lcden=0; write_com(0x38); write_com(0x0c); write_com(0x06); write_com(0x01);}voida2(){uinta1,b1,c1,d1,e,e1,z;// if(num1>1000){ks=0;}elseks=1; //num1=65535; //num1=0;TH1=0X00;TL1=0X00; write_com(0x80);//1602显示处理好的数据 { write_data('F'); write_data('='); write_data(num1%10000/1000+'0'); write_data(num1%1000/100+'0'); write_data(num1%100/10+'0'); write_data(num1%10+'0'); write_data(''); write_data('S'); write_data('='); if(key1==1) { write_data('N'); } else { write_data('Y'); } write_data(''); write_data('H'); write_data('='); if(key2==1) { write_data('N'); } else { write_data('Y'); } if((key2==0)||(key1==0)) { re1=0; re2=0; } else { re1=1; re2=1; }// write_com(0x80+14);write_data('H');// write_data('z'); }} voidDHT11_delay_us(ucharn){while(--n);}voidDHT11_delay_ms(uintz){uinti,j;for(i=z;i>0;i--)for(j=110;j>0;j--);}voidDHT11_start(){Data=1;DHT11_delay_us(2);Data=0;DHT11_delay_ms(30);//延时18ms以上Data=1;DHT11_delay_us(30);}ucharDHT11_rec_byte()//接收一个字节{uchari,dat=0;for(i=0;i<8;i++)//从高到低依次接收8位数据{while(!Data);////等待50us低电平过去DHT11_delay_us(8);//延时60us,如果还为高则数据为1,否则为0dat<<=1;//移位使正确接收8位数据,数据为0时直接移位if(Data==1)//数据为1时,使dat加1来接收数据1dat+=1;while(Data);//等待数据线拉低}returndat;}voidDHT11_receive()//接收40位的数据{ucharR_H,R_L,T_H,T_L,RH,RL,TH,TL,revise;DHT11_start();if(Data==0){while(Data==0);//等待拉高DHT11_delay_us(40);//拉高后延时80usR_H=DHT11_rec_byte();//接收湿度高八位R_L=DHT11_rec_byte();//接收湿度低八位T_H=DHT11_rec_byte();//接收温度高八位T_L=DHT11_rec_byte();//接收温度低八位revise=DHT11_rec_byte();//接收校正位DHT11_delay_us(25);//结束if((R_H+R_L+T_H+T_L)==revise)//校正{RH=R_H;RL=R_L;TH=T_H;TL=T_L;}/*数据处理,方便显示*/ if(RH>60) re1=0; else re1=1; if(TH>30) re2=0; else re2=1; rec_dat[0]='R';rec_dat[1]='H'; rec_dat[2]=':';rec_dat[3]='0'+(RH/10);rec_dat[4]='0'+(RH%10); rec_dat[5]=''; rec_dat[6]=''; rec_dat[7]='';rec_dat[8]='T'; rec_dat[9]=':';rec_dat[10]='0'+(TH/10);rec_dat[11]='0'+(TH%10);}}/**********ADC0832接口程序************************************/unsignedcharadc0832(unsignedcharCH){unsignedchari,test,adval;adval=0x00;test=0x00;Clk=0;//初始化DATI=1;_nop_();CS=0;_nop_();Clk=1;_nop_();if(CH==0x00)//通道选择{Clk
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 30239-2013陶质文物彩绘保护修复技术要求》
- 2026年物理试题天体运动及答案
- 《DLT 1238-2013 1000kV交流系统用静电防护服装》(2026年)合规红线与避坑实操手册
- 2025北京朝阳区高三(上)期中英语试题及答案
- 纺织工程职业方向
- 存储行业市场前景及投资研究报告:需求供给刚性存储超级成长周期
- 2026七年级道德与法治上册 公平正义追求
- 医院感控科工作制度
- 医院科教工作制度
- 十八届三中全会监督制度
- 2026年滁州凤阳大明旅游发展(集团)有限公司招聘导游员(讲解员)15名笔试备考题库及答案详解
- T∕SZSSIA 019-2026 反恐怖防范管理规范 总则
- 药食同源食品管理办法实施细则
- 律师事务所内部惩戒制度
- 政治监督培训课件模板
- 手术体位安全管理制度
- 保安员12个规范动作分解
- 部编版语文七八九年级读读写写六册合集
- JT-T-760-2009浮标技术条件
- 陕西省西安市长安区2023-2024学年八年级下学期期中数学试题(含答案)
- 行政的使命目的和价值概述
评论
0/150
提交评论