1、泉 州 师 范 学 院毕业论文(设计)题 目具有播报功能可用短信查询的温湿度测量仪物理与信息工程学 院 电子信息科学与技术 专 业 07 级 学生姓名 吴翠云 学 号 070303034 指导教师 柯跃前 职 称 副教授 完成日期 2011 年 4 月 教务处 制2具有播报功能可用短信查询的温湿度测量仪物理与信息工程学院 电子信息科学与技术专业 070303034 吴翠云指导教师 柯跃前 副教授摘要利用现有的 GSM 网络,以及语音芯片, 对温湿度进行实时监测 。该系统能够通过传感器实时采集温湿度,并且可进行播报 ,同 时用户可通过手机短信来获取温湿度的情况,以便用户采取防护措施。本文介绍了系
2、统的总体设计 和各个功能模块以及系统原理 。关键词 GSM;短信收发;数据采集;温湿度目录3引言 41.总体设计方案 .41.1 系统功能要求 41.2 系统的组成 .42 主要硬件部分介绍 .42.1 温湿度采集部分 42.1.1 温湿度传感器的设计与比较 42.2 传输模块 62.2.1 传输模块的比较与选择 .62.3CPU 单片机部分 STC89C52 的介绍 .72.4 语音芯片的选择 .82.4.1 语音芯片 ISD1760 介绍 82.4.2ISD1760 引脚介绍 92.5 SIM 卡 .102.6 下载部分 103 系统调试 .113.1 语音部分 113.2 传输模块 GS
3、M 模块的程序设计 .123.3 整体流程图 144 总结 .155 致谢 .156 参考文献 .164引言 随着科学技术的不断发展社会的生活节奏也越来越快,人 们对于所使用的设备的要求除了准确外,更多的是要方便快捷。环境条件中的温度和湿度指 标是许多工作场合的重要参数,研制可靠且实用的温湿度测量装置显得非常重要。 【1】例如海洋渔 网箱,温湿大棚等。 由于温度骤变无法及时采取相应措施所引起的损失是技术上不可避免的。再者,我国是农业大国, 许多地方都以种植大棚作物作为主要的经济来源。然而不同的作物对于土壤的温湿度要求不同。因此 对于土壤温湿度的监测显得十分重要。通 过 GSM 模块则能够随时随
4、地的了解大棚土壤的情况。语音播 报功能则可让在大棚里作业的人们了解土壤的情况。 一般情况下很难轻易的察觉到温湿度的变化,尤其是在夜晚,加上人为监控温湿度变化由于各种因素会导致漏报或者延时报警。 为 了进一步提高准确性与便捷,设计一种自动测量、播报及短信通知的温湿度测量仪。1.总体设计方案1.1 系统功能要求系统要实现以下几个功能:1. 语音播报功能:测量到的温湿度能够用语音播报2. 实时采集定时发送数据:系统能实时采集周围环境的温湿度,并传送到单片机进行处 理、储存、传输。3. 接收短信息方式查询功能:用户可随时发短信进行温湿度查询。1.2 系统的组成本设计主要有温湿度采集电路、传输模块、语音
5、模块、CPU 单片机、下载部分组成。温湿度采集电路部分:主要由温湿度传感器 DHT11 来实现对温湿度的采集;传输模块部分:采用的是 GSM 模块 TC35,该模块可通过短信或者电话通讯对系统进行监测;语音模块部分:以 ISD1760 语音芯片为核心构成语音模块,此芯片可实现放音、擦除、 快进、音量控制等功能;CPU 单片机部分:主要利用 STC89C052 来构成控制中心:下载部分:利用 MAX232 芯片来实现下载的功能;2 主要硬件部分介绍2.1 温湿度采集部分2.1.1 温湿度传感器的设计与比较( 1) 方案一:采用 DS18B20 温度传感器和 HS1101 湿度传感器,分别测得温度
6、值和湿度值。DS18B20 是数字式传感器,用起来方便,但采集数据时,程序占用空间大;HS1101 是电容式的传感器,须测出其频率,经过计算,才能得到所要的湿度数据,实用起来麻烦。( 2) 方 案 二 采 用 温 湿 度 传 感 器 , 可 以 将 温 度 与 湿 度 的 采 集 集 合 在 一 个 传 感 器 上 , 这 样便 于 电 路 的 设 计 。 然 而 市 面 上 的 传 感 器 的 种 类 繁 多 , 对 于 温 湿 度 传 感 器 必 须 进 行 一 系 列 的选 择 。51.温 湿 度 传 感 器 DHT112DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合
7、传感器 。 它应用专用的数字模块采集技术和温湿度传感技术, 确 保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测 温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在OTP内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。 单线制串行接口, 使 系统集成变得简易快捷。 超 小的体积、 极 低的功耗, 信号传输距离可达20米以上, 使其成为各类应用甚至最为苛刻的应用场合的最佳选则。产品为4针单排引脚 封装。连接方便,
8、特殊封装形式可根据用户需求而提供。DHT11引脚说明:DHT11的1脚VDD为传感器提供电源,供电为3-5.5v;2脚DATA作为数据传输的接口,以单总线的形式进行数据的串行输送;3脚NC为空脚,在电路连接时应悬空;4脚为GND,接地,与电源负极相连。 2.AM2302 传感器,是一款与 DHT11 精确度相似的温湿度传感器,在本设计中,考虑到设计的费用问题,因此选择了 DHT11 这款价格相对便宜的传感器。另外在本设计中,为了使传感器所采集的数据更为准确,本设计采用了通过跳线外接的方式来连接传感器 DHT11 与设计的主体相连,这样可以避免由于单片机系统在工作了一段时间后所产生的热量对 DH
9、T11 传感器所采集的数据的影响。2.1.2 温湿度采集电路DHT11 是的连接电路图如图 2.1 所示,2 脚通过一个 10K 上拉电阻,将 DHT11 采集到的数据传输到单片机内部进行处理和储存,1 脚和 4 脚分别接上电源 VCC 和电源负极GND,3 脚悬空。图 2.1 温湿度传感器的连接62.2 传输模块 2.2.1 传输模块的比较与选择随着科学技术的不断进步,可以用来传输的模块日新月异。近年来,被人们广泛利用的有 GSM、蓝牙、GPRS 等。对于通讯传输模块也需要进行选择。方案一:采用蓝牙模块或 nRF905 无线收发模块。蓝牙是一款无需付费用的无线通信模块,组网简单方便,在未来的
10、通讯系统中具有很大的应用前景,但蓝牙是一种还没有完全成熟的通讯技术,还有待于在实际应用中不断的更新。再者,蓝牙的通讯速率也不是很高,在当今这个数据量如此巨大的时代,可能也会对它的发展有所影响。目前主流的软件和硬件平台均不提供对蓝牙的支持,这使得蓝牙的应用成本升高,普及难度增大。nRF905 无线收发模块的传输速率高,体积小,功耗少,干扰小,外围元器件简单,没有复杂的通信协议,但不同环境通信效果不一样,同时本身芯片提供的技术参数也都是理论参数,隔墙通信对信号产生的衰减远比空气中传输大很多。方案二 GSM -TC35 模块 3 随着 718 移动通信网络的迅速普及和竞争的日益激烈,新技术和新业务的
11、开发和应用已提到十分重要的位置。718 模块作为一种主要的 718 网络接入设备,已得到越来越多的系统制造商和系统开发商的重视,基于它的各种应用也蓬勃发展起来。718 模块是继 718 手机外又一种非常重要的 718 移动通信系统的终端设备。它是传统调制解调器与 718 无线移动通信系统相结合的一种数据终端设备,因此也叫无线调制解调器。Tc35模块是Siemens最新推出的新一代GSM模块,它与GSM phase 22+兼容、双频(GSM088GSM1800) 、RS232数据口、符合ETSI标准GSM0707和GSM0705且易于升级为GPRS模块;该模块集射频电路和基带于一体,向用户提供标
12、准的AT命令接口,为数据、语音、短消息和传真提供快速、可靠、安全的传输,方便用户的应用开发及设计。蓝牙模块与 GSM 模块相比,由于蓝牙模块最远的传输距离被限制在百米内对于查询就造成一定的限制,然而 GSM 却可以实现随地的进行查询,考虑到这点,因此在本设计中选择了 GSM 模块。2.2.2 TC35的介绍TC35的主要特性与技术指标包括以下几点:(1)频带:双频EGSM900和GSM1800(GSM phone2+) ;(2)支持数据、语音、短消息和传真;(3)高集成度(54.5mm36mm6.85mm) ;(4)重量:18g;(5)电源电压:单一电压3.3 -3.5v;(6)波特率:可选波
13、特率300bps-115kbps,自动波特率4.8-115kbps;(7)电流消耗:空闲模式小于3.5mA,语音模式平均300mA, 峰值2.3A, 掉电模式(Power down)100uA;(8)温度范围:正常操作-20+55,存放-30+85;(9)SIM电压:3V/1.8V;引脚功能TC35共有40个引脚,如图2.4.1,通过一个ZIF(Zero Insertion Force)连接器引出。这40个引脚可以划分为5类,即电源、数据输入输出、SIM 卡、音频接口和控制。第114脚为电源部分,其中1-5为电源电压输入端Vbatt+,610为电源地(GND),11、12充电引脚,13对外输出
14、电压(共外电路使用) ,14为ACCU-TEMP接负温度系数的热敏电阻;2429为SIM卡引脚,分别为CCIN、CCRST、CCIO、CCCLK、CCVCC和CCGND;3340为语音接口用来接电话手柄;15、30、31和32脚为控制部分,15为点火线IGT(Ignition),当TC35通电后必须给7IGT一个大于100ms低电平,模块才启动,30为RTC backup,31为Power down,32为SYNG;16-23位数据输入输出分别为DSR0、RING0、RxD0、TxD0、CTS0、DTR0和DCD0。数据接口:TC35的数据输入输出接口实际上是一个串行异步收发器,它符合ITU-
15、TRS232接口标准,它有固定的参数:8位数据位和1位停止位,无校验位,波特率在300bps115kps之间可选,硬件握手信号用RTS0CTS0, 软件流量控制用XONXOFF,CMOS电平,支持标准的AT命令集。通过这一接口可以用AT命令切换操作模式,可以使它处于语音、数据、短消息或传真模式。2.3CPU 单片机部分 STC89C52 的介绍 4STC89C52 引脚如图 2.3.1 所示,本设计中所采用的 STC89C52 为 40 脚双列直插的,STC89C52 各个引脚介绍如下: 主电源引脚(2 根)VCC:电源输入,接+5V 电源GND:接地线 外接晶振引脚(2 根)XTAL1:片内
16、震荡电路的输入端XTAL2:片内震荡电路的输出端 控制引脚(4 根)RSP/VPP:复位引脚,引脚上出现 2 个机器周期的高电平将使单片机复位ALE/PROG:地址锁存允许信号PSEN:外部存储器读选通信号EA/APP:程序存储器的内外外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令 可编程输入/输出引脚(32 根)STC89C52 单片机有 4 组 8 位的可编程 I/O 口,分别为 P0、P1、P2、P3 口,每个口有 8 位,共 32 根引脚P0 口:8 位双向 I/O 口线, P0.0P0.7P1 口:8 位双向 I/O 口线, P1.0P1.7P2 口:
17、8 位双向 I/O 口线, P2.0P2.7P3 口:8 位双向 I/O 口线, P3.0P3.7图 2.3.1 STC89C52 引脚图8STC89C52 属于 STC89C51RC/RD+系列的单片机新一代超强抗干扰/ 高速/ 低功耗的单片机,指令代码完全兼容传统 8051 单片机,12 时钟/ 机器周期和 6 时钟/ 机器周期可任意选择,最新的 D 版本内部集成 MAX810 专用复位电路。 STC89C52 系统控制部分采用作为控制芯片。STC 系列单片机,可靠性高,性价比高,stc89c52 单片机有 32 个 I/O 口,这样的一个控制芯片便于在同一系统中实现多种功能;STC89C
18、52 具有看门狗,这对对系统起到了保护功能,电路中看门狗将通过 RESET 信号向 CPU 做出反应,保密性能佳;只需使用MAX232 进行电平转化,通过串口与 PC 机连接,利用调试助手即可对一些数据进行一些观察。51 单片机与 52 单片机性能相同,只是 52 的单片机的内存较 51 单片机内存大些。图2.3.2 为单片机 STC89C52 的外围电路。图2.3.2STC89C52 的外围电路2.4 语音芯片的选择方案一是选择语音芯片 ISD2540,该芯片功能齐全,并且电路设计容易,语音效果好,符合系统选择要求。方案二是选择最新的语音芯片 ISD1700 系列,ISD1700 系列的芯片
19、综合了 ISDD2500 语音芯片的优点,功能比 ISD2340 更加的强大,电路连接部分也不复杂,可以简单的通过按键或者通过软件编写 ISP 模式来实现录放音的操作。在对两种芯片各个方面性能的比较之后,本设计最终选择了 ISD1700 系列中的 ISD1760 这款语音芯片。2.4.1 语音芯片 ISD1760 介绍ISD1760 如图 2.4.1 所示,它是华邦公司推出的一款长时间语音录放芯片。该芯片采用了多电平直接模拟量存储技术,将每个采样值直接存储在片内的快闪存储器中,因此能够非常真实、自然地再现语音、音乐,音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和金属声。ISD
20、1760 的采样频率是可以设置的,但是采样频率越低,录放时间越长,则通频带和音质有所降低。片内信息存于快闪存储器中,可在断电情况下百年不丢失,反复录音超过十万次。ISD1760 具有按键模式和 SPI 模式。采用 SPI 模式时,ISD1760 的所有操作必须由微控制器控制,操作命令可通过串行通信接口(SPI 或 Microwire)送入。存储空间可以“最小段9长”为音位任意组合分段或不分段,由于多段信息在处理再加上内在的存储管理机制,便可实现灵话的组合录放功能。图 2.4.1 ISD17602.4.2ISD1760 引脚介绍本设计中所用的语音芯片 ISD1760 为 28 脚双列直插,其引脚
21、如图 2.4.2 所示。28个引脚的功能各不相同。图 2.4.2 为 ISD1760 的引脚图。 ISD1760 语音芯片的部分引脚功能如下:18 脚(AGC)具有自动增益控制功能;19 脚(/VOL)能实现音量控制;20 脚(ROSC)通过一个电阻连接到电源负极,阻值大小可决定芯片的采样频率;21 脚(VCCA)与 14 脚构成模拟电路电源;22 脚(/FT)在独立按键模式下,当 FT 一直为低,Aniain 直通线路被激活。Aniain 信号被立刻从 Aniain 经由音量控制线路发射到喇叭以及 AUD/AUX 输出。不过,当在 SPI 模式下,SPI 无视这个输入,而且直通线路被 APC
22、 寄存器的 D0 所控制。该引脚有一个内部上拉和防抖动设计,允许使用按键开关来控制开始和结束;23 脚(/PLAY)为播放控制端,有电平触发和脉冲触发两种模式;24 脚(/REC)为录音控制端,低电平有效;25 脚(/ERASE)擦除控制端,低电平有效;26 脚(/FWD)快进控制端,低电平有效;27 脚(INT/RDY)是一个开路输出端口,Ready(独立模式),该引脚在录音、放音、擦除和指向操作时为低。将 ISD1760 芯片的4、5、6、7 四个引脚分别与单片机的一个 I/O 端口连接,利用软件编程,可实现ISD1760 在 SPI 模式下工作。10图 2.4.2ISD1760 引脚图本
23、设计中 ISD1760 的连接方式采用的是 SPI 方式,其外部电路如图 2.4.2 所示,可将语音芯片的 SS、SCLK、MOSI、MISO 四个引脚接到微处理器。本系统中,微处理器采用AT89S52,没有 SPI 接口,当使用此方式对语音芯片进行控制时,需要模拟 SPI 方式。在接口电路上没有特殊要求,可将以上四个引脚接到微处理器的任意四个 I/O 口,通过软件来设置 SPI 模式。语音电路设计参考官方提供的经典接口电路。串行输入端 MOSI 和串行输出端 MISO 接微控制芯片,在片选端 SS 为低电平的时候,串行时钟 SCLK 上升沿,数据锁存,在 SCLK 下降沿,数据移出。为了得到
24、良好的语音信号,在麦克风输入端需要谨慎设计。从麦克风得到的信号含有较多的杂波信号,这些信号如果直接输入到语音芯片中,再经过输出电路的放大,声音必然会产生失真。因此输入端要设计一个优秀的滤波电路。本电路中,C8、C19 为阻直通交滤波电容,R3、C4 等组成高频信号滤波电路。为了减少噪声,芯片内模拟和数字电路使用不同的电源总线,并且在其电源引脚上并联多个电源滤波电容到地。图 2.4.2 ISD1760 外部电路连接图 2.5 SIM 卡 6SIM 卡就是“身份卡” ,它类似于现在所用的 IC 卡,因此也称为智能卡,存有认证用户身份所需的所有信息,并能执行一些与安全保密有关的重要信息,以防止非法用
25、户进入网络。SIM 卡还存储与网络和用户有关的管理数据,只有插入 SIM 卡后移动终端才能接入网络进行正常通信。2.6 下载部分MAX232 是由德州仪器公司(TI)推出的一款兼容 RS232 标准的芯片。由于电脑串口max232 封装尺寸 rs232 电平是-10v+10v,而一般的单片机应用系统的信号电压是 ttl 电平 0+5v,max232 就是用来进行电平转换的,该器件包含 2 驱动器、2 接收器和一个电压发生器电路提供 TIA/EIA-232-F 电平。该芯片主要特点:1 单 5V 电源工作。112 LinBiCMOSTM 工艺技术。3 两个驱动器及两个接收器。4 30V 输入电平
26、。5 低电源电流:典型值是 8mA。6 符合甚至优于 ANSI 标准 EIA/TIA-232-E 及 ITU 推荐标准 V.28。7 ESD 保护大于 MIL-STD-883(方法 3015)标准的 2000V。下载部分的连接如图 2.6 所示图 2.6 下载部分电路图3 系统调试3.1 语音部分语音部分的软件设计主要是对语音芯片 ISD1760 的驱动。ISD 系列语音芯片的驱动,以 SPI 方式实现。可以实现对语音芯片的定点录音和定点播放。只要读取出每一段语音信息的首末地址,就可以播放出语音信息。同时也可通过设置,改变播放音量。系统上电之后,语音芯片开始读取寄存器等的状态,如果 SR1_L
27、 不为 0 及 SR1 为 0 两个条件不能同时满足,将返回继续读取状态,如果两个条件同时满足,芯片开始擦除 EOM标志和中断信号,并对 APC2 模拟通道寄存器进行设置,读取 APC,初始化完毕。要使芯片能够正常工作,APC2 的设置必需保证正确。语音播放软件流程图如图 4-5 所示。与初始化流程一样,语音播放程序也要先进行读状态,判断 SR1_L 是否为 0,SR1 是否为 0,清楚 EOM 标志和中断信号。这是为了防止在播放语音的时候,中断信号产生影响。清除标志后,读取语音地址并发送播放命令,同时把需要播放的语音信息段的首末地址写入,即可播放语音信息。12本设计中在语音设计部分,具体操作
28、如下:先将语音芯片 ISD1760 连接到语音下载电路中,下将芯片中原有的录音擦除,即按下复位键:接着再通过麦克风将需要的内容录入,本次所录入的内容为:温度、适度、0、1、2、3、4、5、6、7、8、9、10。在录入结束后,通过喇叭先试听下录入的内容是否清晰。接着在利用伟福仿真器寻找每个内容在 ISD1760中的地址。在程序中写内容地址时,还需要确定每个内容需要占用几个位。3.2 传输模块 GSM 模块的程序设计每一种的通讯系统之间的连接都是需要一定的指令来驱动,不同的通讯系统所用的指令都不尽相同。蓝牙、GSM 模块、GPRS 虽然都是用 AT 指令来实现通信的,但是都有各自特定的 AT 指令
29、。3.2.1GSM 模块的 AT 指令的介绍 7AT 即 Attention,AT 指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(Terminal Adapter, TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的。通过 TA,TE 发送 AT 指令来控制移动台(Mobile Station,MS) 的功能,与 GSM 网络业务进行交互。用户可以通过 AT 指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。90 年代初,AT 指令
30、仅被用于Modem 操作。没有控制移动电话文本消息的先例,只开发了一种叫 SMS BlockMode 的协议,通过终端设备(TE)或电脑来完全控制 SMS。几年后,主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和 HP 共同为 GSM 研制了一整套 AT 指令,其中就包括对 SMS 的控制。AT 指令在此基础上演化并被加入 GSM0705 标准以及现在的 GSM0707 标准,完全标准化和比较健全的标准。13GSM 模块与计算机之间的通信协议是一些 AT 指令集,AT 指令是以 AT 作首,字符结束的字符串,AT 指令的响应数据包在中。每个指令执行成功与否都有相应的返回。以下是常用 AT 指令
31、的介绍:(1)初始化设置 AT 命令集:ATE1 回显(ATE0) AT+CPIN? 查看SIM状态AT+CSQ 查询当前信号强度ATSSYNC=1 设置SSYNC PIN状态ATI 显示产品信息(产品名称、版本号)AT+IPR 固定 DTE 波特率(2)SIEMENS 电话 AT 命令集:ATA 接电话ATH 挂断电话ATD15960433766; 拨打电话AT+CLCC 列举当前的电话AT+CLIP=1 开启来电显示功能(3)SIEMENS 短消息 AT 命令集:AT+CPMS 选择短消息存储区AT+CNMI=3,1 新消息提示AT+CMGL=”ALL” 查看所有短消息内容AT+CMGR
32、读取短消息AT+CMGF=1 选择信息格式(0为PDU格式,1为TEXT格式) AT+CMGS=13798463411 发送信息(发送信息时同时按Ctrl+Z)AT+CMGD 删除短消息(4)存取电话号码本AT+CPBW 写电话本AT+CPBR 读取电话本3.2.2GSM调试部分在GSM模块调试部分,首先需要先确定GSM模块是否能够正常工作,此时就需要用到串口小助手,在调试中由于本设计用到GSM模块短信功能部分,所以只对次部分进行测试,结果如图3.2,通过串口小助手的测试,证明该模块是可用的。图 3.2 串口小助手测试结果但是在本设计中,由于在语音部分的程序所需要延时较多,单片机无法同时响应,
33、以至 GSM 无法及时将信息传输给终端,即手机,致使 GSM 短信通讯功能实现不了,在后期对程序进行了一次次改进都无法实现语音与短信通讯同时实现。143.3 整体流程图发送短信接收短信开始初始化DHT11 采集温湿度并传送到单片机里在 单片机里进行 数据处理GSM 模块 读取 ISD1760 内相关数据地址扬声器播报延时 20MS154 总结在此次设计中虽然实现了语音以及温湿度的采集、处理、存储以及传输等功能,但是由于语音部分程序的延时需要较多,致使 GSM 短信查询功能未能实现,造成本次设计的遗憾。在本次毕业设计的过程中,发现自己对于专业知识的了解与掌握还很薄弱,需要学习的东西还有好多,这让
34、我深深体会到活到老学到老这句至理名言。经过了几个月的摸索,虽然本次毕业设计没有达到自己预期的效果,但是对于从前的知识复习了一遍,也有了一定的巩固。在将来的工作生活中,我将继续努力学习来完善自己。5 致谢在本次毕业设计中,柯老师在百忙之中总是会抽出时间关心我们毕业设计的情况,给我们很大的支持,对于我们的毕业论文也悉心知道。虽然在毕业设计的过程中遇到了不少困难,但是在柯老师和班级同学的帮助下,毕业设计整体上还是很顺利的。再次衷心的感谢柯老师及同学给予的帮助。166 参考文献1姚传安.无线温湿度测量传感器网络设计J.2温湿度传感器 http:/ http:/ STC89C52 数据手册. http:
35、/ at 指令的含义.http:/ 8王建校等.51 系列单片机及 C51 程序设计M.北京:科学出版社,2002,4.10 童诗白.模拟电子技术基础(第三版)M.北京:高等教育出版社,200017a measuring instrument of temperature and humidity with voice broadcast function and inquired about SMS availableCollege of Physics and Information EngineeringElectronic information science and technol
36、ogy major 070303034 Cui yun WU Yue qian KE associate professorAbstract:use of the existing GSM network and voice chip can real-time monitoring of temperature and humidity.The system is able to collect real-time temperature and humidity sensors, and can be broadcast, and users can use the SMS to get
37、the temperature and humidity conditions, so that users take protective measures.This article describes the general design and principles of the various functional modules and systemsKey words:GSM; SMS sending and receiving; Data acquisition; Temperature and humidity18附录 1整体电路图整体 PCB 图19程序#include #i
38、nclude #define uchar unsigned char#define uint unsigned int/硬件连接: P2.0 口为通讯口连接 DHT1typedef unsigned char U8; /* defined for unsigned 8-bits integer variable 无符号 8 位整型变量 */typedef signed char S8; /* defined for signed 8-bits integer variable 有符号 8 位整型变量 */typedef unsigned int U16; /* defined for unsi
39、gned 16-bits integer variable 无符号 16 位整型变量 */sbit P2_0 = P20;/-/-定义区-/-/U8 U8FLAG;U8 U8count,U8temp,temp,temp1;U8 U8T_data_H,U8T_data_L,U8RH_data_H,U8RH_data_L,U8checkdata;U8 U8T_data_H_temp,U8T_data_L_temp,U8RH_data_H_temp,U8RH_data_L_temp,U8checkdata_temp;U8 U8comdata; uchar data display5 =0x00,0x
40、00,0x00,0x00,0x00;/语音芯片#define PU 0x01 #define RESET 0x03 #define CLI_INT 0x04 #define RD_STATUS 0x05 #define WR_APC2 0x65 #define WR_NVCFG 0x46#define G_ERASE 0x43 #define SET_PLAY 0x80 #define SET_REC 0x81/*语音芯片接口定义*/sbit MISO= P10; sbit MOSI= P11; sbit SCLK= P12; sbit SS= P13; /sbit key1=P20;/*函数
41、声明*/void delay_1ms(uchar i);/uchar Read_key();void ISD_Init(void);void RdStatus(void);void ISD_WR_APC2();/void ISD_WR_NVCFG(void);void Get_Add(uchar cNum, uint *StartAdd, uint *EndAdd);void SetPLAY(uchar cNum);void SetREC(uchar cNum);void ISD_PU(void);void ClrInt(void);void ISD_Reset(void);void init
42、_SPI();void Erase_All(void);uchar ISD_SendData(uchar BUF_ISD);uchar SR0_L=0,SR0_H=0,SR1=0; void ISD_CLK_DAY();void ISD_CLK_TMP();/*变量定义*/unsigned char xdata buffer=0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,0,0,0,0; /显示缓冲区20/unsigned char xdata buf=2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
43、0,0; /显示缓存/语音地址code uint table= 0x0033,0x0034, /00x0040,0x0041, /10x0047,0x0048, /2 0x0051,0x0053, /3 0x0059,0x0060, /40x0064,0x0067, /50x0070,0x0072, /60x0077,0x0079, /70x0083,0x0085, / 80x0089,0x0092, /90x0096,0x0098, /100x0018,0x0021, /温度0x0026,0x0029, /湿度 ;/*语音芯片*/语音芯片初始化void ISD_Init(void) init
44、_SPI(); ISD_Reset(); do ISD_PU();ISD_WR_APC2();RdStatus(); while(SR0_L/语音芯片 SPI 初始化void init_SPI()SS=1;SCLK=1;MOSI=0;/全部删除void Erase_All(void) ISD_SendData(G_ERASE); ISD_SendData(0x00); SS=1; delay_1ms(100); /延迟 10ms /发送数据uchar ISD_SendData(uchar BUF_ISD) uchar i,data_in=BUF_ISD; SS=0; for(i=0;i=1;
45、data_in=(MISO=1)?(data_in|=0x80):(data_in|=0x00);SCLK=1; return(data_in); /语音芯片上电void ISD_PU(void) ISD_SendData(PU); ISD_SendData(0x00); SS=1; delay_1ms(10); /清除中断void ClrInt(void) ISD_SendData(CLI_INT); ISD_SendData(0x00); SS=1; delay_1ms(50); /延迟 10ms /复位void ISD_Reset(void)21 ISD_SendData(RESET);
46、 ISD_SendData(0x00); SS=1; delay_1ms(50); /读取状态void RdStatus(void)ISD_SendData(RD_STATUS); ISD_SendData(0x00); ISD_SendData(0x00); SS=1; delay_1ms(10); /延迟 10ms SR0_L =ISD_SendData(RD_STATUS); SR0_H =ISD_SendData(0x00); SR1 =ISD_SendData(0x00); SS=1; delay_1ms(10); /设置 APC2void ISD_WR_APC2() ISD_SendData(WR_APC2); ISD_SendData(0x40); ISD_SendData(0x0c); SS=1; delay_1ms(50); / ISD_WR_NVCFG(); /永久写入寄存器/*void ISD_WR_NVCFG(void) ISD_SendData(WR_NVCFG); ISD_SendData(0x00); SS=1; delay_1ms(50);