毕业论文--基于无线通信的温度采集系统的设计.doc_第1页
毕业论文--基于无线通信的温度采集系统的设计.doc_第2页
毕业论文--基于无线通信的温度采集系统的设计.doc_第3页
毕业论文--基于无线通信的温度采集系统的设计.doc_第4页
毕业论文--基于无线通信的温度采集系统的设计.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

本科毕业设计(论文)基于无线通信的温度采集系统设计学院名称: 电气信息工程学院_专 业: 电子信息工程_班 级: 14电子1B_学 号: _2014961113_姓 名: _蒋 琳 芸_指导教师姓名: _崔 渊_指导教师职称: _讲 师_二一六年 六 月 基于无线通信的温度采集系统设计摘 要:针对目前温度采集系统出现的及时发送温度信息能力的不足,本设计提出了一种基于无线通信的温度采集系统方案。本次温度采集系统的设计是基于无线通信技术的原理,通过DS18B20温度传感器采集相关温度数据信息,将温度信息传送给单片机。单片机进行相应的处理将数据传送至显示器1602LCD进行显示。利用无线发送模块发送信号,单片机把接收到的温度数据送至无线发送模块进行解码。经过处理之后,将信息以短信的形式发送给手机,同时移动终端进行拨打相应电话进行短信的发送。最终可以在手机上看到温度的信息。温度采集系统的主要特点是将采集的温度传感器信号进行显示并实时传输给手机,温度发送是无线通信模块SIM300,其在移动通信、传感器等多个学科领域的知识皆有覆盖。作为一门新型的技术,其在工业、农业等领域应用广泛,实用价值高操作简单并具备良好的发展前景。文章介绍了本设计的温度数据显示及发送部分的结构框架、软件程序和硬件模块设计方面,利用温度传感器进行温度采集,利用液晶显示器进行温度显示,用单片机STC89C52RC和高性能无线通信模块SIM300,实现了将实时的温度信息传送给手机,在粮仓看管、工厂的火灾预警、农作物的生长以及酿酒的温度的采集等方面有广泛的应用价值。关键词: 单片机;温度采集;无线通信;温度显示The Design of Temperature Collect System based on The Wireless CommunicationAbstract: For lack of timely information on the ability to transmit the temperature of temperature acquisition system currently appears, the design proposed temperature acquisition system based on wireless communications. The temperature acquisition system design is based on the principle of wireless communication technology, temperature data acquisition relevant information DS18B20 temperature sensor transmits temperature information to the microcontroller. The use of wireless transmission module sends a signal to the microcontroller received temperature data to the wireless transmission module for decoding. After processing, the information is sent as text messages to mobile phones, and mobile terminal dials the phone to send text messages. You can see the temperature of the final details on the phone.The main features of temperature acquisition system is that the temperature sensor signal acquisition and display real-time transmission to the mobile phone, send temperature is a wireless communication module SIM300, their knowledge in multiple disciplines mobile communications, sensors, etc. As a new technology, which is widely used in the fields of industry, agriculture, etc., simple operation and high practical value with good prospects for development.This paper introduces the design of the display and the temperature data transmitting portion of the frame structure, software programs and hardware module design, using a temperature sensor for temperature acquisition, a liquid crystal display monitor temperature, and high-performance MCU STC89C52RC wireless communication module SIM300, achieve the transfer of real-time temperature information to mobile phones, granary custody aspect of fire alarm factory, growth and acquisition of crops wine temperature has broad application value.Keywords: STC89C52RC;temperature collection;wireless communications;temperature acquisition目 录前 言1第1章 方案设计与论证31.1 总体设计31.2方案论证及选择31.2.1单片机的方案论证及选择31.2.2温度传感器的方案论证及选择61.2.3液晶显示器的方案论证及选择71.2.4无线发送模块的方案论证及选择81.3本章小结9第2章 硬件电路设计102.1控制模块电路设计102.1.1 STC89C52RC单片机芯片的介绍102.1.2单片机最小系统112.2温度采集模块的设计132.2.1DS18B20简介132.2.2电路设计152.3显示模块的设计172.3.1 1602LCD显示器引脚介绍172.3.2显示原理192.3.3LCD1602初始化的方法192.3.4电路设计202.4无线发送模块的设计212.4.1 SIM300 芯片的特点212.4.2电路设计222.5总体电路设计232.6本章小结24第3章 软件设计253.1 软件设计思路253.2 温度采集程序的设计263.3温度显示程序的设计273.4发送信息程序的设计283.5本章小结29第4章 系统调试314.1 硬件测试314.2 软件调试334.3 整合调试33参考文献35致 谢37附录A 实物图38附录B 主程序39附录C 温度采集程序41附录D 温度显示程序45附录E 发送程序48附录F 元器件清单53 前 言1.选题的背景温度的控制已经屡见不鲜,测温仪器在各个领域的应用,使得人们可以了解温度的多少,进而进行温度的应用。可是,现在的温度测试多是用温度计测试,并且是人工进行测试,人不能时刻的进行监控。在生产生活中,温度对工农业的影响愈发提高,在农业生产上,温度信息的采集,有利于作物的生长,植物在适宜的温度范围内植物生长繁殖得最好。在管理粮仓方面,商品储存环境温度紧密影响着保存商品质量的能力,而在诸多影响因素中最容易引发商品变质原因是粮仓的环境温度。在储存期间发生的生霉、变质等不良情况,都与仓库的温度有密切关系。仓库温度变化的原因是受仓库外自然天气温度变化的影响。商品保养护理的一项重要工作就是在适宜的温度下安全的存储。现在利用现代科技促进生产力的发展已经不再困难,实时的温度采集是为了更好地服务于生产生活,从某种意义上来说,基于无线通信的温度采集系统与助于推动工农业现代化的进程。2.研究的主要内容本设计主要是实时监测温度。首先用温度传感器采集周围的环境温度并传输给单片机,单片机接受传送来的温度数据,在显示模块上显示经过单片机处理后的温度数据,也就是温度传感器所处环境下的温度,同时可以通过控制无线通信模块将温度情况通过短信方式发送到指定的手机上,设计的温度监测系统实现了对温度的采集和发送。 3.论文分为四大部分: 第1章 论证及选择方案,单片机的方案论证及选择,无线发送模块方案论证及选择,显示器的方案论证及选择,温度传感器的方案论证及选择。 第2章 完成硬件电路设计工作,包括无线通信模块的选择,显示模块的选择以及温度采集模块的选择。 第3章 完成软件设计工作,阐述软件流程,单片机控制发送信息程序设计以及温度的采集与数据的显示程序设计。第4章 将所有的软硬件进行整合与调试,主要是硬件的测试、软件的调试,最后在进行整合调试。第1章 方案设计与论证1.1 总体设计 根据要求,整个电路系统需要有四个模块:主控模块、温度采集模块、液晶显示模块、无线发送模块,在实现功能时还需要加上手机进行通信模块的验证。首先,利用温度检测模块进行温度的采集,主控模块单片机接受通过温度传感器采集到温度信号。之后单片机进行相应的处理将数据传送至显示器进行显示;其次,利用无线发送模块发送信号,单片机把接收到的温度数据送至无线发送模块进行解码,经过处理之后,将信息以短信的形式发送给手机,同时移动终端进行拨打相应电话进行短信的发送。图1-1所示为系统模块框图: 图1-1 系统方案方框1.2方案论证及选择1.2.1单片机的方案论证及选择方案一:选择AVR单片机作为控制电路核心,AVR是ATMEL公司生产的准16位微控制器,其指令采用指令集,工作效率高却不耗能。特点如下所示:(1) 工作速度快;(2) 性能价格比高;(3) 寿命长,可擦写10,000 次;(4) 可以在系统范围内重新编程的功能;(5)工作电压范围在2.7-6V比较宽并且不易受干扰;总之,为了成为适合用性广、灵活性高和成本低的嵌入式微控制器,在单一芯片上的AVR单片机,可以增强RISC 8位CPU与可下载的FLASH相结合的性能。方案二:选择PIC单片机作为主控模块核心。Microchip公司推出的PIC,拥有双总线结构,运行速度快,这样保障了运行效率。PIC的单片机系列有双向的I/O口,它的输出电路为CMOS互补输出电路。I/O管脚增加用于设置方向寄存器的输入或输出状态。它的特点如下所示:(1)I/O有方向寄存器,可用于表示单片机输入输出;(2)运行速度快;(3)寄存器分散在四个地址;(4)双向I/O口,它的输出电路是CMOS互补输出电路;(5)输入状态是当置位1时,不论该脚电平高低,对外均呈高阻状态;(6)输出状态是当置位0时,不论该脚电平高低,对外均呈低阻状态;(7)外围电路简单并且可直接运行数码管显示模块;方案三:选择STC89C52RC单片机为主控模块核心。STC89C52RC由STC公司生产耗能少工作高效。使用89C52做内核,跟传统的51单片机相比性能更加丰富。特点如下所示:(1)32 位I/O 口线;(2)看门狗定时器;(3)内置带电可擦可编程只读存储器,单一功能的微处理器复位芯片MAX810;(4)16 位定时器/计数器有3个,比51单片机多一个;(5)4个外部中断;(6)一个4级中断结构和全双工串行口;STC89C52RC支持1种以上的节电模式。在突然掉电后,立即保存随机存储器的数据,停止单片机所有工作,等待下一个中断或复位到来。单片机最高运作频率为35MHz,片内有4k 只读存储器,周期有6周期或12周期选择,无须外接外部存储器,更好的体现“芯片”的简洁。他兼容STC80C51RC指令与引脚,使用起来很方便,芯片内的8K程序存储器是FLASH技术,这种存储过程用户可以用电的方式及时擦除。这种单片机对外几乎没有要求,开发历时不长。它还拥有加密功能,是一款使用方便价格实惠的单片机。综合上述各类单片机特点总结对比表1-1所示:表1-1 各类单片机资源对比类型PIC16C74AVR(ATMEGA8L)STC89C52RCI/O口数量332832是否具有A/D8路8路8路总线宽度16位准16位8位指令精简指令精简指令复杂指令控制电路是这个系统电路的核心。其作用是协调各模块电路协调工作。由于本设计对单片机的选择没有某些特定的要求,而STC89C52RC单片机在市场上容易购买并且价格划算,满足本次设计的要求,各引脚也可以充分的被利用。而对于其它两种单片机我们了解的相对比较少,只能掌握基本的功能和指令,对于编写一些复杂的程序,我们还有待进一步学习,因此在综合考虑后,我选择STC89C52RC单片机作为此次设计的主控部分。1.2.2温度传感器的方案论证及选择方案一:用PT100温度传感器。PT100在使用时只需要一块集成电路,集成电路采集的数据是一个集成电阻值.要驱动PT100的集成电路工作,需要添加一个正负12VDC电源的工作电压,之后PT100直接把获得的电阻转变为1-5VDC再传输到PLC,最后利用计算得到可以识别的相应温度值。方案二:用DS1820数字温度传感器。它体积迷你,价格低廉,市场上很常见,对抗外界的干扰能力强,转换精度精确到小数点后两位,1S内就可以实现转化、传输距离远、分辨率高等诸多优点,故其普遍运用于简单便操作的温度测量与采集系统中。DSl820数字温度传感器通过9位(二进制形式)温度读数指示器所获取的温度数据信息,连接主控模块到DSl820之间仅需一条线,属于单线接口输入输出。在生产初期,DS18B20的每个器件有独一无二的64位序列号,所以可以在一个总线上放置多个测温元件,这就方便了在不同位置放置温度敏感器件。可以在1s内把增量值在0.5左右的温度转换成数字,DSl8B20的测量范围为-55到+125。单片机可以直接从DS18B20中读取温度数据,同时可以向其写入温度上下限报警值。 经过上述的比较,可知道PT100温度传感器出来的是模拟的信号,需要将模拟信号进行转化才会成数字信号,而对于DS18B20来说,直接将采集到的温度数据进行转换成数字信号,性价比较高,对于我们进行温度的采集较为方便。在比较后选用DS18B20作为温度采集器件。1.2.3液晶显示器的方案论证及选择方案一:选择LED作为显示模块。LED在显示09的阿拉伯数字方面很专业,价格划算易于操作并且在市场上购买方便,所需的程序也易于编辑,由八段阴极、阳极数码管组成发光二极管。方案二:选择中文字库的12864LCD显示方式。12864LCD具有多种串并行方式,包含国标一、二级简体中文字库的点阵图形液晶显示模块,基本特性如下:(1)低电源电压:+3.0V(2)内部包含中文字库(3)内置128个 ASCII码点阵字符集(4)2MHZ时钟频率(5)显示方式:STN、半透明模式、正常显示模式(6)通讯方式:串行并行都可以(7)不需要外加负压电路,内置DC-DC变换器。选择12864LCD显示模块,操作方便,交互图形界面为中文。可以用点阵显示汉字、图形,功耗低,价格便宜,硬件电路或软件显示程序直观。但是本次设计只需要显示英文字符和数字,不需要显示中文及其它字库,用12864LCD属于过度使用,比较浪费,所以不选择。方案三:选用1602LCD显示。LCDl602显示模块是目前常用的字符型液晶显示,在显示数字、字母、符号的点阵式LCD方面很出色,在5V电压下工作,拥有带背光与不带背光两种结构。显示字符需要用到一个点阵字符位,位与位之间、行与行相隔一个点距,字符间距和行间距能够很直观的观察温度。由上述可知,LCD用单片机驱动,它主要用来显示显示字母、数字、符号,能够显示的位数多,显示得清晰多样,观察温度更加直观,而LED数码管显示方式,虽然价格低廉,但需要同时驱动多个数码管并且无法显示符号。对于12864LCD来说,主要是中文字符的显示,并且其可以显示的字符很多是我们用不上的中文和其他字符集。这次设计需要展示温度数值,而1602LCD显示温度数字及英文字符更为合适。所以选用1602LCD显示。1.2.4无线通信模块的方案论证及选择方案一:315m无线通信模块的选用。对于工作在315MHz的发射元件,采用声表面波频率稳定化,拥有极高的频率稳定度,没有提供编码集成电路的发射编码模块。315m无线数据模块的工作电压范围比较宽,可以在电压变化时稳定发射频率,调制方式采用ASK方式,可以降低发射电路的功耗,当数据信号停止发射时其发射电流降为零,可以延长电池及其他元器件的使用寿命。方案二:SIM300无线发送模块的选用。由SIMCOM有限公司生产的SIM300,语音通话、收发短信、GPRS 网络数据收发、彩信收发是SIM300的主要功能。SIM300模块在通讯领域发挥很大作用,例如移动通讯、短信收发提醒等。其中SIM300通过串口数据相互交换去执行命令。根据以上分析,我们选择SIM300作为此设计的无线通信模块。SIM300相对其它的模块性价比高,通过串口容易调制,使用方便,用AT命令进行控制短信的发送,可以确保命令的有效性,而且购买也比较方便。所以综合考虑后选择使用SIM300作为无线通信模块。1.3本章小结本章确定了设计方案并且论证了系统各模块所选用元器件。利用DS18B20温度检测模块进行温度的采集,单片机作为主控模块接收温度检测模块采集到的温度信号,在进行相应的处理后将数据传送至显示模块显示。利用无线发送模块,将经过解码的温度数据给手机发送短信,并且可以用手机拨打相应的电话进行短信的发送。1在单片机的选择方面,经过比较筛选最终选择STC89C52RC作为主控模块的核心。本次设计对单片机的选择没有特殊要求,只需要基本的功能即可。在市场上购买STC89C52方便而且价格划算,各个引脚也可以得到充分的利用。2. 在温度传感器的选择方面,经过比较筛选最终选择DS18B20。它可以直接将采集到的温度数据转换成数字型号,使用方便。3. 在液晶显示器的选择方面,经过比较筛选最终选择LCD1602作为显示模块。因为本次设计主要显示数字、英文字母和,而在学校也学习过1602,对于它的编程更加熟悉。所以使用它是最合适的选择。4. 在无线通信的选择方面,经过比较筛选最终选择SIM300作为无线通信模块。因为它购买方便,功能符合本次设计,用AT命令控制短信发送可以保证命令的有效性。第2章 硬件电路设计2.1控制模块电路设计控制模块是整个电路的大脑,没有了这方面的控制,整个设计就只有一个空架子,不能实现具体功能。因此我们采用STC89C52RC芯片作为控制电路的处理器。STC89C52RC芯片是采用超大规模集成电路技术将能够进行数据处理的中央处理单元CPU、随机存取存储器RAM、只读存储器ROM和多种I/O口集成到一块硅片上构成的一个微型计算机系统的微型计算机系统。只要再配置一些硬件,就成为一个更加完善的微型计算机系统。2.1.1 STC89C52RC单片机芯片的介绍图2-1 STC89C52RC实物图STC89C52RCRC单片机主要性能:(1)8KB字节ROM空间;(2)512字节RAM空间;(3)内带2K字节EEPROM存储空间;(4) 可直接使用串口下载;(5)与51单片机兼容2.1.2单片机最小系统如图3.1.1所示,由VCC、GND、XTAL1、XTAL2、RESET、RST、EA脚构成单片机的最小系统。这四个管脚功能如下:(1)VCC,GND:正电源端与接地端(+5v);(2)XTAL1,XTAL2:单片机的时钟电路;(3)1个机器周期包括6个状态或者12个时钟周期。振荡周期=1/fosc,机器周期=12/ fosc,fosc是晶振频率(4)RST:复位端(正脉冲有效,宽度大于2个机器周期),EA:存取外部存储器使能引脚。利用以上管脚绘制单片机原理图如图2-2所示:图2-2 STC89C52RC 最小系统原理图单片机要有不可或缺的基本连线线路作为最小系统才能正常工作。 如图2-2,在单片机芯片中集成高增益反相放大器,通过两个端口18和19脚与外部电路相连。而在芯片的外部,18和19脚之间连接接由晶体振荡器和微调电容构成的稳定的自激振荡器,这就成为单片机最小系统中的时钟电路。在如图2-2上,有上电复位方式和按扭手动复位方式两种。上电的瞬间单片机9脚的电位与电源相同,随着RC电路充电过程,9脚电位下降,只要在9脚处于高电位有足够长的时间就能使STC89C52RC进行复位;按扭手动复位在按下按键时,STC89C52的 9脚接上电源,就进入RST状态。在复位后,松开按扭,单片机9脚进入低电平,即初始化后,可开始正常运行程序。2.2温度采集模块的设计2.2.1DS18B20简介测量温度部分的电路核心元器件为DS18B20温度采集模块。它是单线数字温度传感器,价格便宜,较其他同样功能传感器体积更小。用具有高温度系数的振荡器确定一个周期范围,在这个范围内计数器对一个低温器的脉冲进行计数。初始时,计数器被设置为-55。当测量温度大于-55时其中的寄存器开始递增计数。封装小巧轻便,电压适用范围宽。分辨率和设定的报警温度数据存储在EPROM中,掉电后可以自动保存。本次设计的系统的温度采集就使用DS18B20完成。将DS18B20的两边电源接口与电源和地相对应接好,其中间引脚接单片机的I/O口传输数据。它适用环境范围广泛,在测温领域有优势。DS18B20的管脚图如图2-3所示:图2-3 DS18B20实物图本设计选用的数字温度传感器为三引脚产品。1引脚接地脚,2引脚为数据传输脚,3引脚为正极脚。DS18B20有以下核心特征:(1)有较宽的适压范围,可在3.05.5V下正常工作。(2)以单总线方式与主机通讯,仅仅占用一个通信接口即可实现单片机与温度传感器的相互通信。(3)可以将多个DS18B20串接在测温电路中实现多点测温。(4)温度分辨力可编程。可选择912位输出编程。(5)测量结果直接以数字信号的形式传送给单片机,还可以进行CRC校验,增强系统稳定性。(6)负压特性。当承受反向电压时不会造成元器件的烧毁,只会使其暂时不能正常工作。测量温度的进制转换见表2-4:表2-1 DS18B20温度与进制转换表温度/数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0001 1010 001000A2H+0.50000 0001 1010 10000008H-25.06251111 1110 0101 1111FE6FH2.2.2电路设计DS18B20通过单片机进行温度采集的过程,首先是对它进行设置,然后再发送对ROM进行操作的命令,最后再对存储器进行处理。要在通信协议下发出每一个指令,严格地遵循工作时序。如完成温度转换这一过程,根据通讯协议,需要经过三个步骤,每一次命令前都要进行行复位,复位成功后分别发送操作只读存储器和随机存取存储器的指令,进行预定的操作。温度采集流程图如2-4所示:图2-4 温度采集流程图温度采集模块通过外围电路与单片机连接,图2-5为电路连接示意图,即单独的使用一个模块进行相应的焊接,将DS18B20加入其中即可。利用杜邦线将DQ引入到单片机的P3.7口上就能进行数据的传输了。GND1DQ2VDD3DS18B20VCCP3.7I/OSTC89C52RC图2-5 DS18B20与单片机连接电路图温度测量传感器有两种供电方式:外部供电和寄生电源供电两种方式。本设计使用外部电源供电,由电源接口接入工作电源,数据线不必上拉,可在保证转换精度的情况下,提供足够的电源电流,也可以在总线上可以连接多个DS18B20数字温度传感器,可以对多个测试点进行测温。需要注意的是,采用外部电源供电时,接地引脚若不与其他器件相连接,就不能正常运行,否则读取温度恒为85。优先采用外部电源供电方式,可保障测温工作的稳定,提高抗干扰能力,且电路连接也较为简单,可以在此基础上构建多点测温系统。由于采用的是单总线工作方式,所以在与单片机交流的过程中,必须根据数据传输协议用软件编程模拟通信总线协议。单总线工作方式使得其对数据的读写有着严格的时序要求。先要设置好写时序,将初始化指令以及读写指令传输给DS18B20,实现单片机对于温度传感器的控制动作。2.3显示模块的设计2.3.1 1602LCD显示器引脚介绍 LCD是一种被动式显示器,液晶本身不发光,只是调节环境光的亮度。是专门用于显示字母、数字、符号等点阵式LCD。本次设计采用2行16个字符的1602液晶。它由多个点阵字符位组成。行与行之间也有相等间隔,以整齐分明的格式进行显示。它的管脚排列如图2-6所示:图2-6 LCD1602管脚排列图LCD1602液晶显示屏有16个接口,其中1引脚接地,2脚是接5V正电源接口,3脚VD为对比度调整端,接地时对比度最强。对比度要调整到不影响观察其显示的内容。4脚RS为寄存器选择端,确定选择数据还是命令。5脚R/W为读/写信号端。6脚EN为使能端。当EN端遇到下降沿时,液晶模块执行写入的指令。714脚为数据端。15、16脚用以驱动背光。具体功能见表2-8:表2-2 引脚功能表引脚符号功能说明1VSS一般接地2VCC接电源(+5V)3VD对比度调整端,接电位器调整4RS寄存器选择端5R/W读写信号端6E使能端 7DB0数据口8DB1数据口9DB2数据口10DB3数据口11DB4数据口12DB5数据口13DB6数据口14DB7数据口15BLA背光 电源正极16BLK背光 电源负极 2.3.2显示原理LCD1602液晶显示器模块用户自定义字符图形(CGROM)存储了160个不同的点阵5X7字形,这些字符有阿拉伯数字、大小写英文字母、常用符号、和一些日文假名等等,都有自己专属的代码。在单片机编程中可以用字符型变量和字符型常量赋值。因为字符代码在PC中和内部字形产生器中是基本一致的,因此我们在写C51字符代码程序时甚至可以直接使用相应字符进行赋值。在编译时就把对应的事先存储在内部字形产生器中的字符先转换为其中的地址代码。字符代码0x000x0F为存储用户自定义的字符图形RAM,就是自定义字形产生器CGRAM。2.3.3LCD1602初始化的方法写指令0x38:显示模式设置为2行,5X7字符(1) 延时15ms(2) 写指令0x06:置输入模式为地址增量,显示屏不移动(3) 延时15ms(4) 写指令0x0F:显示开,显示光标,光标闪烁(5) 延时15ms(6) 写指令0x01:显示清屏2.3.4电路设计在这图2-7中,P1口作为LCD1602的数据双向端口,P2.4,P2.5和P2.6作为控制LCD1602工作方式的端口,将LCD1602数据口接到单片机的P1口,就可以和LCD1602进行数据的传送和接收。图2-7 1602LCD与单片机连接原理图2.4无线发送模块的设计2.4.1 SIM300 芯片的特点(1)具有键盘和SPI类型的LCD等I/O接口,方便使用者连接自己的硬件设备。(2)具有调试和数据输入输出两个串口,帮助开发人员更容易调试开发产品。(3)双音频通道,包含麦克风输入和听筒输出。(4)使用AT指令可以控制短信的发送,部分指令及功能如表2-3:表2-3 AT 指令的功能命令功能AT+CMGR读短信息AT+CMGL 列出SIM卡中的短信息AT+CMGS发送短信息AT+CMGF 选择短信息格式T+CMGD删除短信息AT+CNMI显示新收到短的信息1.通信串口:(1)端口/TXD:模块通过此端口接收命令和数据(2)端口/RXD:模块通过此端口发送命令和数据SIM300通信模块功能如图2-8所示:图2-8 SIM300模块图开发板个组件如图2-8所示,电源芯片和手机卡插槽在后面,电源接口接 入5V的直流电压,但是最大电流应该大于2A以保持sim300模块可以正常工作。2.4.2电路设计SIM300与单片机之间的连接,SIM300与单片机之间的TXD和RXD之间用杜邦线交叉互联,当单片机接收到相关数据时,将所存储信息发送给SIM300,通过SIM300用短信的方式发给手机,实现短信发送。SIM300的模块图与单片机相连的电路如图2-9所示。SIM300 提供了两个异步串口。图2-9 SIM300与单片机连接示意图2.5总体电路设计单片机STC89C52RC作为整个系统的主控器,XTAL1和XTAL2接12MHZ晶振与两片30pF电容构成的时钟震荡电路。P3.7连接DS18B20,传感器将采集到的数据传给单片机后交由其处理。P1口控制LCD1602液晶显示屏的双向数据端口,P2.5、P2.6和P2.7分别控制它的工作方式选择端口。单片机的P3.0、P3.1和GND这组串口分别与SIM300的TX、RX和GND串口相连。总体电路图如图2-10所示:图2-10 总体电路图2.6本章小结1.介绍了STC89C52RC的性能,通过性能搭建好最小系统使时钟电路、复位电路和电源能够正常工作。2.完成了温度采集系统的设计,DS18B20通过外围电路与STC89C52RC相连,使采集到的温度能与单片机进行数据传输。3.完成了显示模块的设计,了解清楚每个引脚的作用后,与单片机相连接实现数据的显示。4.完成了无线发送模块的设计,了解SIM300功能并与单片机顺利连接第3章 软件设计3.1 软件设计思路根据总体设计思想及系统需实现的功能,在软件设计中需要完成以下功能:1 温度检测:选择DS18B20进行温度检测,所有传感器件及转换温度数值电路集成在一只类似三极管的集成器件里。 2 温度显示:当温度采集过得数据传给单片机时,单片机通过处理将相应的数据传给1602LCD,从而实现了温度的显示。3. 无线发送:单片机获取的温度信息经过处理后,通过SIM300进行短信发送或用手机拨打电话进行短信发送。最终可以在手机上看到温度的信息。主流程图如图3-1所示: 图3-1 主流程图3.2 温度采集程序的设计温度采集子程序主要功能是读取温度寄存器(共可读9个寄存器),DS18B20出厂时默认为12位,最高位为符号位,温度值11位包括小数4位和整数7位,单片机一次读取2Byte数据,之后将这11位二进制数温度转化为十进制数后再乘以0.0625就是所测的实际温度值。该程序流程先将DS18B20初始化,发送只读存储器命令,随后到寄存器上接收发送来的指令,再进行复位,之后跳过ROM指令,进行温度的转换,经过一段的延时后读取RAM指令即可得到温度的相关数据。其程序流程如图3-2所示:图3-2 温度采集程序3.3温度显示程序的设计温度采集模块将检测到的温度传给STC80C52RC,由STC80C52RC进行处理再传给1602LCD显示器,之后1602LCD先进行初始化,随后进行写命令,再进行写数据,最后进行显示温度值。其温度显示程序流程图如图3-3所示:图3-3 温度显示程序设计流程图显示数据随机存储(DDRAM) 地址与屏幕的对应关系如表3-1,DDRAM即显示数据RAM,用来存放将会显示的字符代码,共计 80 个Byte。显示位置12340DDRAM地址第一行00H01H02H27H第二行40H41H42H67H表3-1 地址和屏幕的对应关系 LCD1602液晶显示器模块内部字形产生器(CGROM)存有100多个相异点阵5X7格式字形,其中有数字、大小写英文字母等等,每一个字符对应一个代码,例第二行第三个字符的地址是0100 0010B(42H),对应的字符是英文字母“B”,显示时液晶显示模块将代码42H中的点阵字符图形显示出来。那么是否直接写入42H就可以将光标定位在第二行第三个字符的位置呢?这是不行的,因为写入显示地址要求最高位D7=1,所以这时实际写入的数据位是01000010B(42H)+10000000(80H)=11000010(0C2H)。 在单片机编程中可以用字符型变量和字符型常量赋值。在计算机中的字形代码与LCD1602中字形产生器储存的代码是相同的,因此我们在向显示数据随机存储器写51单片机代码时,可以方便的使用有效地字符进行赋值操作。PC在编译时就把对应的事先存储在CGROM中的字符先转换为其中的地址代码。字符代码0x000x0F为存储用户自定义的字符图形RAM,就是自定义字形产生器CGRAM。3.4发送信息程序的设计发送程序的主要功能是将温度采集程序处理获得的温度值以短信的形式发送到指定的手机号。其流程图如图3-4所示,当单片机外部按键按下时,向SIM300通信模块发送指令,如果不用按键控制,则可以拨打手机,若听见SIM300的铃声,则挂断电话后,会向手机发送温度的短信,否则继续拨打电话,直到SIM300的铃音响起,说明SIM300可以进行下一步的操作,短信即可发送。图3-4 单片机控制发送信息程序设计流程图其中向SIM300发送的AT指令包括“AT+CMGF=0r”、AT+CSCS=GSMr、AT+CSMP=17,167,0,250r、AT+CMGS、短信内容、“0x1a”,每次发送要延时35秒。完成后等待20秒才可以再次按下按键或者拨打电话。3.5本章小结根据总体设计思想,完成软件设计的思路。1.温度检测方便选择DS18B20,所有传感器件和温度转换电路集成在一只类似三极管的集成器件内;首先对DS18B20芯片复位,当1820接收到复位信号后就回发一个存在脉冲,至达成通信协议,接下来就是控制器与1820间的数据通信;控制器发送ROM指令,它的为了分辨一条总线上连接的多个器件并做处理。每个器件都有独自的ID号区分,一般直接单个1820芯片时可以跳过ROM指令;在ROM指令发送给1820后,紧接着就是发送存储器操作指令,它的功能是命令1820做什么样的工作,这是控制的关键;一个存储器操作指令结束后根据命令要求,就要进行执行指令或者数据的读写:若执行温度转化指令那么单片机必须等待500us,这是1820执行命令的转换时间。若执行数据读写指令,就要按照1820读写时序进行。2.温度显示选择LCD1602,将采集到的温度传送给单片机,单片机处理数据,提取温度各个位上的十进制数字+30H转换成ASCII码,之后传输给LCD1602显示。3.无线发送模块:温度采集模块传输来的温度值,传输给单片机+30H转换成ASCII码,再传输给SIM300,通过固定的指令集依次发送指令,完成发送短信流程。第4章 系统调试4.1 硬件测试将做好的硬件模块合并成一个整体。硬件模块主要包括单片机最小系统STC89C52RC、温度检测收集模块DS18B20、液晶显示模块LCD1602、无线发送模块SIM300。全部连接好后,整个硬件部分就连接完毕。给单片机5V电源,由于SIM300需要处理大量的数据和发送信息,要接12V的电源,连接好后进行硬件调试。(1) 供电电路测试:用万用表的电压档检查各个模块供电是否正常。(2) 显示模块:将1602LCD的数据端插入单片机的P1端口,单片机通上电后可以看到1602LCD的初始化,可以看到的是屏幕的背光灯亮,如果出现的是方格,一方面可能是引脚接反了,另一方面可能是阻值的原因,可以调节电阻的值直至显示清晰。(3) 温度检测模块:直接用手握住DS18B20,看1602LCD是否显示温度的变化,看看显示的初始值,以便进行编程时使用。(4)通信模块测试:将电话卡装入背面的电话卡槽,用SIM300配送的电源接入电源接口,按下电源开关,此时电源指示灯亮。证明电源正常通电。之后将电脑得串口线接入到SIM300的串口接口,将天线拧上,不能用力太猛,否则会损坏天线的插针。按下复位按键直到信号灯开始闪烁,证明SIM300模块已经正常启动,并且会寻找信号。此时如果信号较好,信号灯的闪烁频率大概是1次/秒,这时候就可以进行无线通信了。打开STC-ISP串口调试助手,如图 所示:图 STC-ISP串口调试助手根据串口号选择COM5,不用在意波特率设置的值大小,因为SIM300可以自适应波特率,所以刚开始发送给SIM300指令后SIM300不会有反应,直到它计算出我的波特率后一切就正常了。打开KEIL新建工程,设置工程属性,在工程里打开写有MAIN函数的C文件,连接编译。在调试过程中我遇到了不少的问题,主要在硬件方面主要体现在电源和元器件本身的问题。例如我在Proteus下载仿真时电路能够正常工作进行相应的控制,而直接下载到单片机中不能正常驱动,这就说明问题出现在单片机最小系统上,通过检查复位电路和晶振电路发现问题出现在晶振电路上,通过修改,问题得到解决。在测试显示模块能否正常工作时,发现1602LCD 总是显示出方格,无论怎样修改程序都无法解决此问题,通过检测后发现,电阻器的电阻值大小不对,经过调试后可以显示出数字等字符。还有最常出现问题的是无线发送模块,此模块是买的现成的成品,结构不简便,弄坏后不易维修,价格也不便宜,因此出现此问题后只能购买新的换上。调试过程中,单片机与SIM300相接,发现SIM300发热,使得SIM300发热烧坏。通过检查电路,发现SIM300的TX与RX和单片机的TX与RX接反。找到问题后,把TX和RX对调连接,指令可以正确发送。在插卡时,因为手机卡是小卡,插卡位置对不准导致短信发送失败,之后买卡套解决了问题。 4.2 软件调试在本设计中,由于采用单片机智能化控制软件占有着举足轻重的位置。软件的编写决定了整个系统的功能。所以对于软件我们同样采取模块化方式。对于各个模块,我们进行独立编程,用Keil uVision2编写序程,并利用Proteus仿真。对于仿真正确的程序过DownloadMcu软件和专用下载器将程序下载到STC89C52RC芯片内。观察实际效果是否满足要求,对于那些不能满足系统要求的程序,我们对其现象进行记录,找到不满足要求的地方,通过分析,找资料重新优化程序,以使软件达到要求。4.3 整合调试当硬件和软件都测试完成,下面就是最重要一步-整合测试与调整。它决定了系统是否能实现功能和实现功能的好坏程度。每一模块都能正常工作而连接起来后无法工作,那也是白费力气,因为整合的正常工作才是最终的目的。为此在整机调试时我们非常小心。在调试过程中,我们以控制系统为核心,逐一添加模块,并进行模块测试,确保该模块能工作正常后,再进行下一个模块的添加再测试。对于在功能实现上出现问题的模块,我们通过软件、硬件的协调修改、完善,使其能达到预期的工作效果。由于在整机调试之前,硬件和软件都进行了严格测试加之认真联系各模块的功能整机调试时的小心谨慎。通过不懈的努力和老师的帮助,进行多次的软硬件调试,最终完成了所要求的基本功能。参考文献1隋越

温馨提示

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

评论

0/150

提交评论