本科毕业设计---基于单片机的粮仓湿度检测报警系统设计检测报告.doc
《本科毕业设计---基于单片机的粮仓湿度检测报警系统设计检测报告.doc》由会员分享,可在线阅读,更多相关《本科毕业设计---基于单片机的粮仓湿度检测报警系统设计检测报告.doc(50页珍藏版)》请在咨信网上搜索。
盐城工学院本科生毕业设计说明书(2013) 毕业设计说明书 基于单片机的粮仓湿度检测报警系统设计 专业 自动化 学生姓名 班级 B自动化 学号 指导教师 完成日期 毕业设计说明书(毕业论文) 独创性声明 本人声明所呈交的毕业设计说明书(毕业论文)是本人在导师指导下进行的研究、设计工作后独立完成的。除了文中特别加以标注和致谢的地方外,说明书中不包含其他人己经发表或撰写过的研究成果。对本文的研究所做贡献集体和个人,均己在说明书中作了明确的说明并表示谢意。本人完全意识到本声明的法律后果由本人承担。 毕业设计说明书(毕业论文)作者签名(手写): 日期: 年 月 日 指导教师签名(手写): 日期: 年 月 日 基于单片机的粮仓湿度检测报警系统设计 摘 要:本设计是基于单片机为控制器设计的湿度检测报警系统,主要由湿度传感器、数码管显示、单片机控制、蜂鸣器报警、设置按键、复位电路和USB连接器等七个部分组成。以AT89C52单片机为控制中心,使用SHT10数字温湿度传感器为传感器,通过SHT10数字温湿度传感器检测粮仓的当前湿度并显示湿度数值,并且能主动设置湿度的警戒范围。从而达到当实时的粮仓湿度在警戒范围内时绿灯亮,无报警;而当实时的粮仓湿度超过警戒范围时,红灯亮起且蜂鸣器发出报警。由此完成本设计所要求的对粮仓的湿度检测和报警功能。本设计是自动检测报警系统,与以往的人工检测有很大不同。相对于以前的人工检测有较大的优势,可以解决人工检测存在的费时费力,效率低下,湿度检测误差大,检测随机性大等缺点。本设计不仅造价低廉、使用方便而且测量准确。由于上述优点,本设计很利于在我国进行大规模的推广,可以提高我国粮食存储的能力,对我国的粮食存储做出巨大贡献,同时也有利于国家的长治久安提供物质保障。 关键词:湿度;蜂鸣器;液晶显示;单片机 Based MCU granary humidity detection alarm system design Abstract:The design is based on single-chip controller design humidity detection alarm system, mainly by the humidity sensor, digital display, microprocessor control, buzzer alarm, set the button, reset circuit and USB connectors seven parts. AT89C52 microcontroller as the control center to use SHT10 digital temperature and humidity sensors sensor, SHT10 digital temperature and humidity sensor detects the granary of the current humidity and displays humidity values, and can take the initiative to set up the alert humidity range. When the barn so as to achieve real-time alert humidity range when the green light, no alarm; And when real barn humidity exceeds the warning area, the red light and buzzer alarm. Thus completing the design requirements for the granary humidity detection and alarm function. This design is the automatic detection and alarm systems, conventional manual testing are very different. Compared to the previous manual inspection have greater advantages, can be solved manually detect the presence of time-consuming, inefficient, humidity detection error, detection of randomness and other shortcomings. The design is not only low cost, easy to use and accurate measurement. Due to the above advantages, the design is very conducive to large-scale promotion in our country, can improve the ability of China's grain storage, grain storage on China made great contributions, but also conducive to the country's long-term stability to provide material security. Key words: Humidity; buzzer; LCD; SCM 目 录 1 概 述 1 1.1 课题研究背景及意义 1 1.2 课题设计内容 1 1.3 课题设计目标 2 1.4 课题预测效果 2 2 系统总体方案设计 3 2.1 湿度检测报警系统原理 3 2.2 总体思路 3 2.3 具体模块 3 3 系统的硬件设计与实现 5 3.1 主控制模块 5 3.2 检测模块 9 3.3 显示模块 12 3.4 报警模块 14 3.5设置模块 15 3.6复位模块 16 4 系统的软件设计 17 4.1 中断子程序 17 4.2 主函数程序 17 4.3 显示子程序 20 4.4 按键子程序 21 5 系统调试 23 5.1 软件调试 23 5.2 硬件调试 25 参 考 文 献 28 致 谢 29 附 录 30 附录1:程序清单 30 附录2:设计图纸 40 附录3:元器件目录表 44 盐城工学院本科生毕业设计说明书(2013) 基于单片机的粮仓湿度检测报警系统设计 1 概 述 1.1 课题研究背景及意义 随着时代科技的迅速发展,微电子学和计算机等现代电子技术的成就给传统的电子测量与仪器带来了巨大的冲击和革命性的影响。常规的一起仪表和控制装置被更先进的智能仪器所取代,使得传统的电子测量仪器发生巨大变化,并出现了各种各样的智能仪器控制系统,使得科学实验和应用工程的自动化程度得到了显著的提高。 同时传感器技术作为新技术革命和信息社会的重要技术基础。是现代科技的开路先锋。传感器技术、通信技术、计算机技术、分别对应信息技术中的采集、传输和处理。世界上技术发达的国家对传感其技术开发都十分的重视。这些技术的发展也为粮仓的湿度检测报警系统的发展提供了科学依据。 从古至今,粮仓粮食的存储是否得当对国家的经济能否正常合理的发展具有相当重要的影响。并且,由于目前我国巨大人口数量的现状,因此粮食存储的形势无形中变得更加严峻了。而当前我国大多数的粮仓由于经济水平和科技水平的限制,依然使用着很原始的传统的人工粮仓管理模式。这种管理模式存在相当多的缺点,不仅仅浪费了大量的人力和物力,而且监测的效果很一般,于是新型的粮仓湿度检测报警系统就孕育而生。 该系统基于单片机技术,利用湿度传感器进行湿度信号的检测并且对检测数据进行分析,由单片机决定是否进行需要报警,来通知相关人员对粮仓的粮食存储现状进行对应的措施。由于该设计是自动控制系统,运用了精度较高的湿度传感器,而且能够进行报警,因此可以解决传统的人工检测存在的费时费力,效率低下,湿度检测误差大,检测随机性大等缺点。基于该系统造价低廉和使用方便且测量准确的特点,因此可以进行大规模推广。这将势必大大改善我国的粮食存储环境,解决我国的粮食存储难题,给我国的经济发展和社会的长治久安提供最最基础的物质保障。 1.2 课题设计内容 本设计是以AT89C52单片机为核心来实现对湿度信号的测量。本设计以AT89C52单片机为控制核心,通过SHT10数字温湿度传感器来检测实时的湿度信号,由LCD1602进行实时湿度数值的显示和湿度限值的设定,由二极管简单直观的表现湿度是否正常,并可通过蜂鸣器进行报警。本设计的基本内容如下: a. 实现湿度测量; b. 模块化电路设计包括:湿度检测模块、主控模块、显示模块、报警模块以及设置模块; c. 使用液晶显示显示湿度的数值; d. 设计Proteus程序,实现软件对湿度的仿真检测及报警; e. 设计出硬件实物,实现现场湿度检测及报警。 1.3 课题设计目标 1.3.1 基本功能 a. 检测湿度 b. 显示湿度 c. 过限报警 1.3.2 主要技术参数 a. 湿度检测范围: 20 – 90% RH b. 检测精度:±5% RH c. 显示方式:液晶显示 d. 报警方式:三极管驱动的蜂鸣器报警 1.4 课题预测效果 a. 用Proteus软件实现对湿度的准确检测及报警; b. 制作出硬件实物实现对湿度的准确检测及报警。 2 系统总体方案设计 2.1 湿度检测报警系统原理 湿度检测报警系统的基本工作原理:由SHT10温湿度传感器检测湿度信号,将信号传递给AT89C52单片机,由单片机对信号进行分析并将湿度数据显示在LCD016L液晶显示屏上。此外会对实时湿度信号与之前设定好的湿度范围进行对比,当实时湿度在范围内时,亮起绿灯。反之,当超出范围时,则将亮起红灯,并且蜂鸣器发出报警[1]。 2.2 总体思路 湿度检测报警系统是一种专门用来检测环境湿度并对超出设定范围的湿度信号进行报警的装置。湿度检测报警系统主要由四个部分构成:检测电路、显示电路、主控电路、报警电路、设置电路以及复位电路[2]。 a. 研究方法:以单片机为核心,先设计原理图,用Keil软件进行编程并调试,并用Proteus软件进行仿真,最后用Protel 画出PCB原理图,并制作出实物。电路模块主要由检测模块、显示模块、主控模块、报警模块、设置模块组成。 b. 技术路线:如图2-1所示 图2-1 技术路线图 c. 设计方案:湿度传感器检测实时湿度信号,将信号传递给单片机,由单片机进行分析控制,再将信号传递给显示模块显示,传递给报警模块决定是否报警。 2.3 具体模块 根据上述总体路线的分析,湿度检测报警系统设计具有以下模块:检测模块、显示模块、主控模块、报警模块、设置模块、复位模块。各模块作用如下: a. 检测模块:检测电路使用了SHT10温湿度传感器,本传感器是由1个电容式聚合体测湿元件和1个能隙式测温元件组成,并且与1个2-swire数字接口和1个14位A/D转换器在单芯片里面无缝结合,从而使该产品获得功耗低、反应速度快、抗干扰能力强大的优点[3]。 b. 显示模块:显示电路采用LCD1602液晶显示屏来动态显示,便于观测,为了是液晶显示能够显示清晰,需要加一个可调电阻来调节显示屏的亮度[4]。 c. 主控模块:其控制核心为AT89C52单片机,AT89C52可以完成待测信号的计数,译码,显示以及对蜂鸣器的控制。AT89C52是一个低电压的,高性能的CMOS8位单片机,片内含有8k bytes的可以反复擦写Flash只读程序存储器与256 bytes随机存取数据存储器(RAM),器件采用了ATMEL公司的非易失性存储和高密度的技术生产,并兼容了标准的MCS-51指令系统,片内有通用的8位中央处理器与Flash存储单元[5]。 d. 报警模块:报警电路主体由2个发光二极管和1个蜂鸣器组成,检测到的湿度在设定范围内时绿灯亮起,超过设定范围则红灯亮起且蜂鸣器发出报警[6]。 e. 设置模块:设置电路主要由4个按键组成,起到的是对湿度报警范围进行设置的作用[7]。 f. 复位模块:复位模块主要由2个电阻,1个电容和1个按键组成,起到电路复位作用。 43 3 系统的硬件设计与实现 3.1 主控制模块 3.1.1 AT89C52的介绍 如图3-1所示,为AT89C52的硬件结构图。AT89C52单片机的内部结构与MCS-51系列单片机的构成基本相同。CPU是由运算器和控制器所构成的。运算器主要用来对操作数进行算术、逻辑运算和位操作的。控制器是单片机的指挥控制部件,主要任务的识别指令,并根据指令的性质控制单片机各功能部件,从而保证单片机各部分能自动而协调地工作。它的程序存储器为8K字节可重擦写Flash闪速存储器,闪烁存储器允许在线+5V电擦除、电写入或使用编程器对其重复编程。数据存储器比51系列的单片机相比大了许多为256字节RAM。AT89C52单片机的指令系统和引脚功能与MCS-51的完全兼容[8]。 图3-1 AT89C52硬件结构图 单片机的最小系统如图3-2所示,第9引脚是复位输入端,在接上电阻,电容和开关之后够成上电复位电路。第18引脚和19引脚接时钟电路,在片内振荡器倒相放大器的输入,由XTAL1接微调电容的一端和外部晶振构成,在片内振荡器倒相放大器的输出,由XTAL2接微调电容的另一端和外部晶振构成[9]。 图3-2 单片机最小系统 3.1.2 AT89C52的引脚功能 AT89C52是8位的通用微处理器,其使用工业标准的C51内核,内部功能与管脚的排布方面和通用的8xc52相似,主要是针对会聚调整方面的功能控制。功能包括会聚主IC的内部寄存器和数据RAM以及外部接口。主要管脚有:XTAL1和XTAL2这两个振荡器输入输出的端口,外接了1个12MHz晶振[10]。RST是复位输入端口,外接的电阻和电容组成了复位电路。VCC和VSS是供电的端口,分别接在+5V电源正负两端。P0~P3是可编程的通用I/O脚,功能用途需要软件定义,在本设计里,P0端口被定义成是N1功能控制的端口,分别跟N1的对应功能管脚连接,13脚的定义是IR输入端,10脚与11脚定义是I2C的总线控制端口,分别连接了N1与SDAS以及SCLS端口,12脚与27脚以及28脚定义是握手信号的功能端口,连接CPU主板相应的功能端,用于当前制式的检测及会聚调整状态进入的控制功能。AT89C52引脚图如图3-3所示。 图3-3 单片机引脚图 VCC端口:表示电源 GND端口:表示接地 P0口:是1个8位的漏级开路双向的I/O口。每一位都能驱动8个TTL的逻辑电平。当P0口的端口写“1”,引脚输入高阻抗。而当访问外部的程序与数据存储器的时候,P0口会被当作低8位的地址/数据来复用。这样的模式下,P0口有内部的上拉电阻。 flash编程的时候,P0口也会被用于接受指令字节:在程序效验的时候,输出指令字节。并且在程序效验的时候,需外部的上拉电阻。 P1口:是1个含有内部上拉电阻的8位的双向I/O口,P1口的输出缓冲级可以驱动4个TTL的逻辑电平。当P1口写“1”,内部会上拉电阻的原因是将输出电流ILL。 另外,跟AT89C51不同的地方是,P1.0与P1.1可以分别当作定时/计数器2的外部的计数输入输出,具体如表3-1所示[11]。 表3-1 P1口的第二种功能说明表 引脚号 第二功能 P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出 P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制) P2口:是1个有内部上拉电阻的8位的双向I/O口,P2口的输出缓冲级可以驱动吸收或输出电流的4个TTL的逻辑电平。当P2口写“1”,通过内部的上拉电阻将端口拉高,这时可以当作是输入口来使用。当作为输入使用的时候,会被外部拉低的引脚因为内部电阻的原因,会输出电流ILL。当访问外部存储器或者是用16位的地址读取外部的数据存储器时,P2口也会送出高8位的地址。在这样的应用里,P2口会使用很强的内部上拉来发送“1”。当使用8位的地址访问外部的数据存储器的时候,P2口将会输出P2锁存器的内容。当进行Flash编程和校验的时候,P2口会接收低8位的地址字节与控制信号。 P3口:是1个含有内部上拉电阻的8位的双向的I/O口,P3的输出缓冲级可以驱动吸收或输出电流的4个TTL的逻辑电平。当P3口写“1”,内部的上拉电阻会将端口拉高,这是可当作输入端口来使用。作为输入端口使用的时候,被外部拉低引脚会因为内部电阻原因,而导致输出电流ILL。P3口除作为普通的I/O口线之外,其第二功能则是更加重要的地方,如表3-2所示。当Flash编程和校验的时候,P3口也会接受控制信号。 表3-2 P3口的第二种功能说明表 引脚号 第二功能 P3.0 RXD(串行输入) P3.1 TXD (串行输出) P3.2 INT0(外部中断0) P3.3 INT1(外部中断1) P3.4 T0(定时器0外部输入) P3.5 T1(定时器1外部输入) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器写选通) RST:表示复位输入。当晶振工作的时候,RST脚将会持续2个机器的周期来使用单片机进行复位。 ALE/PROG:当地址锁存器的控制信号在访问外部的程序存储器的时候,低8位的地址的锁存输出脉冲。当Flash编程的时候,此引脚会被用作编程来输入脉冲。而在一般的情况下,ALE用六分之一晶振的频率来输出脉冲,也可以当作外部的定时器这货时钟来使用。但是,当每次访问外部的数据存储器的时候,ALE的脉冲将跳过。如果需要的话,把8EH地址的SFR的第0位置“1”,ALE的操作也会无效。这一位如果置“1”,那么ALE只在执行MOVC或者是MOVX指令的时候才有效。否则,ALE会被微弱的拉高。 在flash的编程期之间,EA也会接受12伏特的VPP电压。 XTA L1:表示振荡器的反相放大器和内部时钟的发生器输入端。 XTA L2:表示振荡器的反相放大器输出端[12]。 3.1.3 单片机引脚分配 根据系统设计及各模块的分析得出,单片机的引脚分配如表3-3所示[13]。 表3-3 单片机的引脚分配 模 块 端口 功能 显示模块 P0.0-P0.7 段选信号输入 P2.0-P2.2 位选信号输入 报警模块 P3.2、P3.4 报警信号输出 检测模块 P1.0-P1.1 湿度信号输入 3.2 检测模块 检测模块主要由SHT10温湿度传感器和1个10K电阻组成。 3.2.1 SHT10温湿度传感器介绍 a. SHT10温湿度传感器的实物介绍 SHT10是由瑞士Sensirion公司推出的SHTxx系列的数字温湿度传感器,其使用领先世界的CMOSens®数字传感的技术,有很高的可靠性与优良的长期的稳定性。全部量程标定,可以和单片机进行直接连接,因此可以极大的缩短研发的时间,可以简化外围电路从而降低其费用。另外,由于其体积小、响应快、能耗低、可浸没、抗干扰的能力强大、温湿度检测一体,并且有露点测量,性价比非常的高,从而使得该产品能适用于多种场合的应用[14]。 SHT1x(包括SHT10,SHT11和SHT15)是Sensirion温湿度传感器家族中的贴片封装系列产品。本温湿度传感器把传感的元件与信号处理电路都集成在同一块微型的电路板上,将输出完全进行过标定的数字信号。本温湿度传感器采用了CMOSens®技术,保证了该产品的极高的可靠性和优良的长期的稳定性不受影响。本温湿度传感器包括了一个电容性的聚合体测湿的敏感元件和一个由能隙材料而制造的测温元件,并且在同一块芯片上,同14位A/D转换器和串行接口电路均实现了无缝连接[15]。所以,该产品有响应极快、品质优良、抗干扰的能力极强以及性价比极高的优点。内部的电压调整和两线制串行接口,将会使得外围系统的集成变得迅速而且简便。由于体积微小和功耗极低的优点,因此SHT1x成为了各类应用中的首选。具有相类似性能的温湿度传感器还包括柔性PCB封装和插针型封装。 主要用于数据采集器、变送器、自动化过程控制、汽车行业、楼宇控制&暖通空调、电力机房、计量测试、医药业。其实物图如图3-4所示[16]。 图3-4 SHT10实物图 b. SHT10的接口定义 表3-4 SHT10的引脚说明表 引脚 名称 描述 1 GND 接地 2 DATA 穿行数据,双向 3 SCK 串行时钟,输入口 4 VDD 电源 NC NC 必须为空 c. 电源引脚 (VDD, GND) SHT1x系列数字温湿度传感器的电压范围在2.4V到5.5V, 推荐的供电电压是3.3V。并且必须添加一个100nF电容在电源引脚之间,用来滤波去耦。SHT1x的串行接口,在传感器信号的读取及电源。在损耗的方面,均作出了优化的处理;传感器不能按照I2C协议编址,但是,如果I2C总线上没有挂接别的元件,传感器可以连接到I2C总线上,但单片机必须按照传感器的协议工作[17]。典型应用电路如图3-5所示。 图3-5 SHT10典型应用电路 d. 串行数据 (DATA) DATA的引脚是三态的结构,用来读取传感器的数据.而在向传感器发送命令的时候,DATA只有SCK的上升沿有效并且在SCK的高电平时必须保持稳定状态。由于DATA会在SCK的下降沿后有所改变。因此为确保通讯的安全,DATA的有效时间是SCK的上升沿之前和下降沿之后应该分别延长至TSU and THO–参见图3-6。在从传感器读取数据的时候, DATA TV在SCK变低以后有效,且维持到下一个SCK的下降沿。为了避免信号的冲突,微处理器将会驱动DATA在低电平。因此需要一个外部的上拉电阻来把信号提拉到高电平[18]。上拉电阻一般都已经包含在了微处理器的中。详细的I/O特性,参见表3-5。 e. 串行时钟输入(SCK) SCK用来进行微处理器和SHT1x之间的同步通讯。因为接口包含了完全静态逻辑,所以不存在最小的SCK频率[19]。 图3-6 时序图 表3-5 SHT10直流特性 参数 条件 最小 典型 最大 单位 供电电源DC10 2.4 3.3 5.5 V 供电电流 测量状态 0.55 1 mA 平均值 2 28 µA 休眠状态 0.3 250 µA 低电平输出电压 IOL < 4 mA 0 250 mV 高电平输出电压 RP < 25 kΩ 90% 100% VDD 低电平输出电压 下降 0% 20% VDD 高电平输出电压 上升 80% 100% VDD 焊盘上的输入电流 1 µA 输出电流 开 4 mA 三态(关) 10 20 µA f. 电气特性 电气特性,如能耗,高、低电平,输入、输出电压等,都取决于电源。表3-5详细解释了SHT1x 的电气特性,若没有标明,则表示供电电压为5V[20]。 3.2.2 SHT10温湿度传感器电路图介绍 SHT10温湿度传感器作为湿度检测的核心元件,对实时空气湿度进行检测,再传输给单片机。其电路图如图3-7[21]。 图3-7 SHT10电路图 3.3 显示模块 3.3.1 LCD1602介绍 a.LCD1602实物介绍 LCD1602即字符型液晶显示模块,是一种专门的适用于显示符号,字母以及数字等的点阵式LCD,目前常用的有16*1,16*2,20*2和40*2行等的模块。本课题中采用LCD1602字符型液晶显示器,其实物如图3-8所示[22]。 图3-8 1602字符型液晶显示器实物图 b.1602LCD的基本参数及引脚功能介绍 1602LCD分为不背光和背光两种,1602LCD采用了标准的14脚或16脚接口[23],各个引脚的接口说明如表3-6所示。 表3-6 引脚接口说明表 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据/命令选择 12 D5 数据 5 R/W 读/写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第1脚:VSS是接地电源。 第2脚:VDD是接5V的正电源。 第3脚:VL是液晶显示器的对比度调整端口,其在接地的时候对比度是最高的,对比度太高的时候会产生“鬼影”,在接正电源的时候对比度是最低的,使用的时候可通过一个10K电位器来调整其对比度。 第4脚:RS是寄存器的选择,低电平的时候选择的是指令寄存器、高电平的时候选择的是数据寄存器。 第5脚:R/W是读写用的信号线,在高电平的时候进行的是读操作,低电平的时候进行的是写操作。而当RS和R/W均是低电平的时候可写入指令或者是显示地址,当RS是高电平R/W是低电平的时候可以写入数据,当RS是低电平R/W高电平的时候可以读入信号。 第6脚:E端是使能端,液晶模块执行的命令是E端从高电平变为低电平。 第7~14脚:D0~D7是8位的双向数据线。 第15脚:背光源是正极。 第16脚:背光源是负极。 1602LCD的一般初始化(复位)的过程: 延时15mS 写指令38H(不检测忙信号) 延时5mS 写指令38H(不检测忙信号) 延时5mS 写指令38H(不检测忙信号) 以后每次写指令、读/写数据操作均需要检测忙信号 写指令38H:显示模式设置 写指令08H:显示关闭 写指令01H:显示清屏 写指令06H:显示光标移动设置 写指令0CH:显示开及光标设置 3.3.2 LCD1602显示模块功能介绍 LCD1602液晶显示芯片需完成的功能如下: a. 第一行显示实时湿度数值,第二行显示湿度设置限值; b. 当按了设置按键后,再按加或减按键,第二行的数值会对应加或减[24]; c. 显示模块电路图如图3-9所示。 图3-9 1602字符型液晶显示器电路图 3.4 报警模块 3.4.1 报警电路的基本原理 当检测到的实时湿度信号在设置范围内时,输出信号使D3导通,绿灯亮起。反之超出设置范围时,D4导通,红灯亮起,并且蜂鸣器发出警报[25]。 3.4.2 报警电路设计 根据上述报警电路的介绍,报警电路主要由2个发光二极管,1个蜂鸣器,1个三极管,2个1K的电阻和1个10K的电阻构成[26]。具体的电路如下图3-10所示。 图3-10 报警电路图 3.5设置模块 设置模块主要由4个按键组成。主要作用是从上至下依次完成“设置”、“加”、“减”、“确认”4个功能[27]。其电路图如图3-11所示。 图3-11 设置电路图 3.6复位模块 复位模块主要1个1K电阻,1个10K电阻,1个10uF电容和1个按键组成。主要作用是当湿度检测报警系统发生错误时进行复位恢复[28]。其电路图如图3-12所示。 图3-12 复位电路图 4 系统的软件设计 4.1 中断子程序 中断函数的程序: void timer0() interrupt 1 { TH0=(65535-10000)/255; TL0=(65535-10000)%255; // t0++; 4.2 主函数程序 主函数程序: #include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit Green=P3^4;//正常指示灯 sbit Red=P3^3;//不正常指示灯 sbit FEQ=P3^2;//蜂鸣器 void delaynms(uint ms)//延时1毫秒(不够精确的) { uint i; for(i=0;i<ms;i++) delay1ms(1); } //*********主函数***************** void main(void) { value humi_val,temp_val; unsigned char error,checksum; unsigned int wendu,shidu; s_connectionreset(); delaynms(200); //延时0.2s /*、*********定时器初始化********************/ TMOD=0X01; TH0=(65535-10000)/255; TL0=(65535-10000)%255; EA=1; ET0=1; TR0=1; init();//液晶初始化 /*************************************/ while(1) { error=0; error+=s_measure((unsigned char*) &humi_val.i,&checksum,HUMI); //measure humidity error+=s_measure((unsigned char*) &temp_val.i,&checksum,TEMP); //measure temperature if(K1==0) { flag=0; Green=0; while(!K1); Green=1; } if(K4==0) { flag=1;Green=0; while(!K4); Green=1; } if(flag==0) { key_scan(); } if(flag==1) { if(error!=0) s_connectionreset(); //in case of an error: connection reset else { humi_val.f=(float)humi_val.i; //converts integer to float temp_val.f=(float)temp_val.i; //converts integer to float calc_SHT10(&humi_val.f,&temp_val.f); //calculate humidity, temperature wendu=10*temp_val.f; // wd[0]=wendu/1000; //温度百位 wd[0]=wendu%1000/100; //温度十位 wd[1]=wendu%100/10; //温度个位 wd[2]=wendu%10; //温度小数点后第一位 shidu=10*humi_val.f; shidu=shidu-46; sd[0]=shidu%1000/100; //湿度十位 sd[1]=shidu%100/10; //湿度个位 sd[2]=shidu%10; //湿度小数点后第一位 write_com(0x80+0x09); write_date(sd[0]+0x30);//十位 write_date(sd[1]+0x30);//个位 write_date(0x20+14); write_date(sd[2]+0x30);//小数位 write_com(0x80+0x40+0x09); write_date(0x30+shezhi/100); write_date(0x30+(shezhi%100)/10); write_date(0x20+14); write_date(0x30+shezhi%10); if(shidu>=shezhi)//当前湿度值大于设定的湿度值 { FEQ=0; Red=0; Green=1; } else //小于 { FEQ=1; Red=1; Green=0; } } //----------wait approx. 0.8s to avoid heating up SHTxx------------------------------ delaynms(800); //延时约0.8s } } } 4.3 显示子程序 #include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit lcdrs=P2^0;//数据命令端口 sbit lcdrw=P2^1;//读写端口.我们在这里只写/ sbit lcden=P2^2;//使能端口。 void delay1ms(uint ms)//延时1毫秒(不够精确的) { uint i,j; for(i=0;i<ms;i++) for(j=0;j<110;j++); } void write_com(uchar com) { lcdrs=0; //写指令时RS=L lcden=0; P0=com; //给端口送指令 delay1ms(5);- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 毕业设计 基于 单片机 粮仓 湿度 检测 报警 系统 设计 报告
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文