版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE87目录目录 -1-摘要 1ABSTRACT 2第一章绪论 31.1单片机简介 31.2单片机的应用领域 4第二章系统总体设计 6第三章系统硬件设计 83.1监测子系统设计 83.1.1监测子系统的功能 83.1.2单片机的选择 93.1.3时钟芯片选型 123.1.4液晶显示电路设计 133.2通信子系统设计 163.3系统硬件联调 18第4章系统软件设计 184.1系统软件结构 184.2系统主程序设计 194.3时钟程序设计 204.4液晶显示程序设计 264.4.1显示坐标关系 274.4.2显示步骤 274.5短信通信程序设计 314.5.1AT指令 314.5.3TC35模块的调试 324.5.4单片机与TC35 40第五章结论 41主要参考文献 41附录 42附录一:寻迹部分电路图 42附录二:系统程序 43致谢 82山东轻工业学院2011届本科生毕业设计(论文) 摘要我的毕业设计题目为“无线环境监测机器人”,这主要考核我们对单片机技术,编程能力等方面的情况。观察独立分析、设计单片机的能力,以及实际编程技能。该系统分为监测和通信两个子系统,监测子系统能实现采集环境温度湿度的功能,以及发出声音报警信号,通信子系统要求系统在接收到监测子系统发送的信号后能够发送短信给相应的工作人员。监测子系统以PIC16F877单片机作为主处理器,PIC16F877单片机是微芯公司的产品,与其它单片机相比具有诸多优点。监测子系统能够实时监测环境的温度和湿度;若是环境的当前温度或者间断度走出所设定的范围,则发出报警。为了提高自动化监测的能力,通过对现代远程通信方式的比较,我采用了利用现有GSM网络的短消息业务实现的远程通信的种种优势,并将这种方式应用与环境监测系统,实现无人值守自动化监测。TC35GSM是西门子公司为无线通信设计的一个宽频带GSM模块。通过采用先进的TC35通信模块与单片机互连的终端系统,通过AT指令,实现用手机获取环境监测系统的数据。利用PIC16F877为控制核心,通过红处发射管和红处接收管采集信号,并将信号转换为能被单片机识别的数字信号。单片机控制直流电机不同的转动状态,实现小车的前进、后退、左转和右转等功能。整个系统的电路结构简单,可靠性高。另外,在小车上还扩展了LCD12864作为人机交互界面,以便于实时了解监测传感器的状态和小车行驶中的实时数据,由于本次设计的是智能自动循迹小车,整个任务过程无需人工的任何干预,故而没有进行遥控等的人工操作设备。关键词:单片机PIC16F877LCD12864GSMAT指令微控制器短消息DS1302ABSTRACT Thesubjectofthisgraduationprojectisa“thesystemofrobotenvironmentalmonitoring”.Wemainlytestsingle-chiptechnology,programmingandotheraspectsofcapacity.observerindependentanalysisofthecapacityofsingle-chipdesign,aswellastheactualprogrammingskills.Tthesystemdividesintothemonitoringsubsystemandcommunicationsubsystem.Themonitoringsubsystemcanrealizetheexaminationofthesystemofrobotenvironmentalmonitoring,andsendouttheacoustowarning.Thecommunicationsubsystemshouldthemessagestotheoperator.ThemonitoringsystemtakesthePIC16F877singlechipmicrocomputerasthemainprocessor.TheseriesofPIC16F877isthemicrochiporporation'sproduct.Itcanrealizetheexaminationofthesystemofrobotenvironmentalmonitoring,andsendouttheacoustowarning.Toenhancetheautomationofmonitoringability,throughthewayofcomparison,theuseofexistingGSMnetworkrealizationofshortmessageserviceadvantagesoftelecommunications,andthewayofenvironmentalmonitoringsystemappliedtorealizetheautomatoinandcontroltheunattended.TC35GSMisawidefrequencybandGSMmoduleforwirelesscommunicationbySiemens.. ThechipPIC16F877isusedasthecontrolecnter,andsignalsarecollectedthroughtheinfraredtransmitterandreceiver.signalsareconvertedtodigigalsignalswhichcanbeidentifiedbythesinglechip.themicroprocessorcotrolsDCmotorrotationstatetoachievefunctionsofcargoingforward,backward,turningleftandturningright.thesystemhasismplecircuitstructureandhighreliability. Other,alsoexpandedLCD12864onthecartotaketheman-machineinteractioncontactsurface,wasadvantageousforthereal-timeunderstandingtomonitorinsensor'sconditionandthecartravelreal-timedata,whatbecausethisdesignwastheintelligencefollowsthemarkcarautomatically,theentiredutyprocessdidnotneedtheartificialanyintervention.Keywords:GSMnetwork;shortmessage;ATcommand;microcontroller;PIC16F877第一章绪论1.1单片机简介单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、计时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微处理器(Microcontroller),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTELi960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。1.2单片机的应用领域目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:1.在智能仪器仪表上的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,传感器,各种分析仪)。2.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。3.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制。5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。6.在各种大型电器中的模块化应用某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于ROM),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。1.3选题的背景及意义在电子信息调整发展的今天,微处理器的功能愈来愈强大;单片机的出现更是给现在的控制带来了不可估量的作用,随之而来的智能仪器更是数不胜数,方便我人们的日常生活,使我们的生活更加绚丽多彩。单片机是一个将运算、存储、I/O口于一体的小型计算机,这使得我们实现由软件控制外围硬件成为了可能,因此本人决定计划以单片机为核心做一个无线环境监测机器人。如今单片机种类繁多,比如:MCS-51、AVR、Microchip公司的PIC系列、Motorola公司的M68系列、Zilog公司的Z8系列单片机、还有凌阳等。而现在世界占主导的单片机便是微芯公司的PIC系列单片机;由于它功能强大,运行速度快,特别是ICD的运用,方便用户的开发调试;所以本人决定使用比较常用的PIC16F877。技术的发展来源于实验,实验是我们认识世界的重要实践。对于我们当代大学生,学以致用是学习的最终目的,只有通过实际的动手才能知道自己对所学知识的真正意义上的理解和掌握;经过我们的讨论,最终决定设计这样一个可移动的无线环境监测装置,这样不仅可以使自己的能力有所提高,巩固所学知识,学习更多新的实用的知识,更重要的是能够培养我们的创新思维和实践能力;另外本项目的最终产品(无线环境监测机器人)也具有一定的实际意义,它可以用于需对环境参数实时采集的温室、工厂、库房等地方,通过对环境参数的采集、处理、无线发送到控制室;方便人们对环境状况的控制,具有一定的商业前景。1.4设计的内容对PIC单片机的可视话编程(用C语言编写控制单片机I/O口的源代码)、MCU据程序代码作出相应的反应,从而引起I/O口的电平变化。LCD及电机的驱动(由I/O口的电平变化将控制数据送到LCD、电机等器件,使LCD、电机等做出相应的响应。比如LCD的数据显示,本次用到的LCD为金鹏的12864它能方便的显示汉字及字符,方便检测人员的看查;电机动作,机器人的动作是由小车为载体的,而小车的运动是由电机(马达)来驱动的。无线发送及编码(系统将采集回的参数经过调制,调制成高频已调信号,由高频无线电波发送出去),机器人的移动轨迹控制(使机器人根据监测范围按照一定的轨迹运动,以实现动态的采集多点的环境参数)。而本次设计最终采用了GSM,GSM一种重要的服务便是短消息(SMS,shortmessageservice),SMS是通过GSM系统提供的一种GSM之间通过服务中心进行文本信息收发的应用服务,其中服务中心完成信息的存储和转发功能。由于GSM网络在全国范围内实现了联网和漫游,具有网络能力强的特点,用户无需另外组网,极大提高网络覆盖范围。而且对它的控制只需要由单片机控制串口对它进行AT指令即可,方便易行。由GSM将传感器采集到的数据发送给目标号码,从而实现无线异地监控。第二章系统总体设计2.1系统需要分析根据设计任务,本次设计的目标主要有以下几项:1)温度、湿度的采集2)可设置温度、温度的报警上下限3)显示当前时间及当前环境温度及湿度4)当环境参数溢出所设置的上下限时,有报警提示5)通过无线将环境参数发送到控制室6)机器人可按设置的路线运动2.2系统方案选择时钟设计方案一:采用实时时钟DS12887优点:它自带内部电池,掉电保护;系统在掉电后,内部时钟可正常工作;并且它采用并行通信,方便控制。缺点:也正是它有并行通信,大此较大系统的设计中,它占据了较多的I/O口资源,此外它价格昂贵!方案二:采用实时时钟DS1302优点:它体积小,采用串口通信,占用较少的I/O口资源,并且价格低廉。缺点:它需要处接备用电池,也备在掉电时时钟的正常工作。综合考虑,我选择的方案二,即采用DS1302温度、湿度的采集方案一:温度、湿度分别用对应的传感器优点:在分别选择传感器后,比如温度可选择常用的18B20,这样温度和湿度的精确度较高缺点:分别用传感器所用的I/O口资源必然要增加,并且成本也会增加方案二:采用温湿度传感器优点:它温度湿度可同时采集,方便控制缺点:所得到的数据精确度不是很高综合考虑:选择方案二,最终采用DHT21温湿度传感器参数显示方案一:采用LCD1602或者选择字符液晶12232优点:体积较小,价格低廉缺点:所能显示的字符较少,不能显示足够的字符方案二:采用字符液晶LCD12864优点:它自带字符库,可方便显示汉字及字符,并且可显示较多的字符。优点:体积较大,价格昂贵综合考试:选择方案二,最终我采用了金鹏的0CM4X12864运动轨迹控制方案一:采用寻迹专用光电开关优点:工作稳定,效果明显,受环境影响不大缺点:价格昂贵,且不方便在小车体上的安装方案二:采用红外对射管优点:它体积小,便于安装,成本较小缺点:需要自己设计调试无线通信方案一:采用NRF905或者NRF24L01优点:体积小,方便安装,方便控制且工作稳定缺点:所能传送的距离较近,不能满足远距离的通信方案二:采用NRF905+短信无线传输优点:信息传送效率高、可靠性高;通信质量稳定可靠,传送距离广。缺点:造价相对较高综合考试:选择方案二,它才能真正做到无线数据传送系统设计方案2.3方案选择结果系统硬件组成分为监测子系统和通信子系统两部分:(1)以PIC16F877单片机作为主处理器,通过监测装置以及单片机与时钟芯片、键盘和液晶显示器的通信,实现了环境的实时监测系统;(2)基于GSM网络及其短消息业务,采用先进的TC35通信模块与单片机互联的终端系统,通过AT指令实现了模块与手机的数据传输,实现了无线环境监测的远程通信子系统。系统组成框图2-1所示。控制室通信子系统监测子系统控制室通信子系统监测子系统 图2-1第三章系统硬件设计系统硬件组成分为监测子系统和通信子系统两部分。3.1监测子系统设计3.1.1监测子系统的功能监测子系统具有如下功能:可以实时监测环境的温度和湿度值可以对温度和温度分别设置上下限可以实时显示当前环境的温度湿度情况异常情况下可以近距离声音报警可以与通信子系统实时通信机器人可以按所设置的轨迹运动为实现上述功能,监测子系统硬件组成框图如图3-1所示。通信子系统时钟芯片单片机通信子系统时钟芯片单片机液晶显示键盘输入液晶显示键盘输入声音报警声音报警小车驱动小车驱动 图3-1监测子系统硬件主要包括:单片机、时钟芯片、键盘、液晶显示等;下面将分别介绍它们的相关设计。3.1.2单片机的选择综合系统的实际需要、可靠性、稳定性等因素,最终选择了比较常用的PIC16F877单片机。PIC16F877单片机主要功能介绍PIC16F877是美国微芯公司推出的一款全新的流水线结构,精简指令集的单片机。 PIC单片机(PeripheralInterfaceController)是一种用来可开发的去控制外围设备的可编程集成电路PIC16F877的主要特点:1)I/O口具有20mA的驱动能力2)8路、10位的AD转换3)I2C,SPI,USART,USB,CAN接口4)WDT(看门狗) 5)CCP(脉宽/捕捉/比较)6)、内置EEPROM 7)3路定时器8)多种中断源(14个) 9)支持休眠的低功耗模式10)流式的并行接口 11)内置LCD控制器12)芯片加密13)除地址分支跳转指令为双周期指令外,其余指令均为单周期指令14)时钟输入可为DC—20MHz15)有8K*14字节的Flash程序存储器16)有368*8字节RAM17)有八级13位硬件堆栈18)在线串行编程ICSPPIC16F877的管脚如图3-2所示 图3-2PIC16F877管脚介绍VDD:正电源端VSS:接地端OSC1/CLKIN:时钟振荡器晶体连接端1/外部时钟源输入端OSC2/CLLKOUT:时钟振荡器晶体连接端2/外部时钟源输出端VPP:人工复位输入端/编程电压输入端PIC16F877的PORTA总共有6位(RA0~RA5),PORTA的引脚可作为数据输出输入端口,而系统重置后,PORTA自动成为模拟输入状态,可读取模拟输入信号。PORTB总共有8位(RB0~RB7),可以编写程序规划输入输出方向、状态其中,要进行烧录时,使用到三个引脚,分别是引脚36(RB3/PGM)、引脚39(RB6/PGC)与引脚40(RB7/PGD)。RC端口汇集多种串行数据传送方式,主要有同步串行端口SSP和通用同步/异步USART。其中SSP主要有SPI和IIC,USART是一种常规的二线式串行通信模式,可定义为半双工同步方式和全又工异步方式;PORTC总共有8位(RC0~RC7),除了可作为数据I/O外,还和一些特殊功能的外围电路共享引脚,例如CCP、I2C、SPI(同步串行通信电路)、UART(异步串行传输电路)等。PORTD总共有8位(RD0~RD7),可作一般数据I/O外,并与PSP(ParallelSlavePort)并行传输区共享。PORTE总共有3位(RE0~RE2),PORTE的引脚8、9、10有三种功能,除了基本I/O功能,还有模拟输入功能,而上述PORTD的并行传输区设定所需的控制引脚,如/RD、/WR、/CS等,也是属于PORTE引脚。3.1.3时钟芯片选型本系统需要显示系统时间,因此硬件单元必须具有定时芯片,虽然一般单片机中都有定时器,但考虑到本系统计时工作较多,计时精度要求较高,并且在系统掉电或者复位情况下系统计时会出击紊乱。故本系统采用单独的定时芯片,经全面调研,确定采用Dallas公司DS1302定时芯片。DS1302是Dallas公司生产的一种实时时钟芯片。它通过串行方式与单片机进行数据传送,可以向单片机提供包括秒、分、时、日、月、年等在内的实时时间信息,并可对月末日期、闰年天数自动实现调整;它还拥有用于主电源和备份电源的双电源引脚,在主电源关闭的情况下,也可以保持时钟的连续运行。DS1302的主要特性1.引脚排列 图3-3DS1302的引脚排列如图3-3所示,各引脚的功能如下:VCC1——备用电源引脚端。 VCC2——主电源电源引脚端。X1,X2——晶振引脚端;GND——地;RST——复位端;I/O——数据输入/输出端;SCLK——串行时钟端;2.主要功能DS1302时钟芯片内主要包括移位寄存器、控制逻辑电路、振荡器、实时时钟电路以及用于高速暂存的31字节的RAM。DS1302与单片机系统的数据传送依靠RST,I/O,SCLK三根端线即可完成。这个工作过程可概括为:首先系统RST引脚驱动至高电平,然后在SCLK时钟脉冲的作用下,通过I/O引脚向DS1302输入地址/命令字节,随后再在SCLK时钟脉冲的配合下,从I/O引脚写入或读出相应的数据字节。因此,其与单片机之间的数据传送比较容易实现。时钟芯片与单片机的连接本系统时钟芯片DS1302与单片机连接图见图3-4 图3-4SCK、I/O、RST分别接单片机的RA0、1、23.1.4液晶显示电路设计本系统所有功能操作都可在操作面板上进行,因此需要显示装置辅助操作,经权衡考虑,确定系统显示装置使用金鹏电子有限公司带中文字库的OCMJ4X8C点阵液晶显示模块。OCMJ4X8C简介C系列中文模块可以显示字母、数字符号、中文字型以及图形,具有绘图及文字画面混合显示功能。提供三种控制接口,分别是8位微处理器接口,4位微处理器接口及串行接口(OCMJ4X16A/B无串行接口)。所有的功能包含显示RAM,字型产生器,都集中在一个芯片里面,只要一个最小的微处理系统,就可以方便操作模块。内置2M位中文字型ROM(CGROM)总共提供8192个中文字型(16x16点阵),提供多功能指令:画面清除(Displayclear)、光标归位(Returnhome)、显示打开/关闭(Displayon/off)、光标显示/隐藏(Cursoron/off)、显示字符闪烁(Displaycharacterblink)、光标移位(Cursorshift)显示移位(Displayshift)、垂直画面旋转(Verticallinescroll)、反白显示(By_linereversedisplay)、待命模式(Standbymode)。主要参数包括:1、工作电压(VDD):4.5~5.5V2、逻辑电平:2.7~5.5V3、LCD驱动电压(Vo):0~7V4、工作温度(Ta):0~55℃(常温)/.20~75℃保存温度(Tstg):.10~65℃(常温)/.30~85℃(宽温)。模块引脚说明 该模块的具体引脚功能如图3-5所示 图3-资料传输与接口时序当PSB脚接低电位时,模块将进入串行模式。从一个完整的串行传输流程来看,一开始先传输启始字节,它需先接收到五个连续的“1”(同步位字符串),然后再启始字节,此时传输计数将被重置并且串行传输将被同步,随后跟随的两个位字符串分别指定传输方向位(RW)及寄存器选择位(RS),最后第八的位则为“0”。在接收到同步位及RW和RS资料的启始字节后,每一个八位的指令将被分为两个字节以便接收到:较高4位(DB7~DB4)的指令资料将会被放在第一个字节的LSB部分,而较低4位(DB3~DB0)的指令资料则会被放在第二个字节的LSB部分,至于相关的另四位都是0。串行通信时序如图3-6所示 图3-液晶的连接系统液晶显示模块连接原理图3-7如图。 图3-73.2通信子系统设计3.2.1通信子系统的功能在系统设计方案选择时,综合考虑各种因素,最终确定基于GSM网络的短信模式进行无线数据传输,该方式不受物理连线的限制,尤其适合远距、偏僻环境;传输速率高;GSM网络拥有庞大的用户数量,通信质量稳定可靠; 短消息采用存储、转发的通信模式,可靠性高;通信子系统主要是将环境的当前参数发送给控制室。3.2.2TC35模块的结构和特点TC35模块是德国SIEMENS公司生产的高性能通信模块,主要由GSM基带处理器、GSM射频模块、供电模块(ASIC)、闪存、ZIF连接器、天线接口六部分组成。作为TC35的核心,基带处理器主要处理GSM终端内的语音和数据信号,并且涵盖了蜂窝射频设备中的所有的模拟和数字功能。它由一个混合了信号基带IC,包括所有蜂窝系统模拟数字的功能的单个芯片组成,其核心是C166MCU处理器和数字信号处理器来控制模块内的各种信号的传输、转换、放大等处理过程。GSM射频部分是一个单片收发器SMARTI,它由一个外差式接收器、上变频调制环路发送器(UpConversionModulationLoopTransmitter)、一个射频锁相环路及一个全集成中频合成器等四个功能块组成,共同完成对射频信号的接收和发送等处理功能。GSM模块的电流变化非常大,空闲时电流小于3mA,在通话期间电流最大可达到2A,故对供电电路提出了较高的要求。GSM模块电源ASIC部分使用线性电压调节器把外部输入的电源电压VBATT+进行稳压处理后,提供给GSM基带处理器和GSM射频部分使用。GSM射频部分的功率放大器对电源电压要求不高,所以直接使用外部的输入电压VBATT+。SRAM用来存储一些用户配置信息、电话本和其他信息。TC35模块主要特点如下:支持语音、数据、短消息和传真业务。单电压供电,电压范围3.3-5.5伏。可以工作在900Mhz和1800MHz两个频段。所在频段功耗900MHZ时2瓦,1800MHz时1瓦。模块本身不含SIM卡读卡器,可通过ZIF连接器外接SIM卡支架。通过50欧姆天线连接器外接天线。通话状态正常电流为270mA至300mA,峰值电流1.8A,待机时10mA,省电状态3mA。短消息服务支持PDU和TEXT模式。通过AT指令可以实现对模块的操作。通过RS232或SIM接口可实现软件下载功能。可用AT命令编程实现定时器功能。语音解码标准三种速率:半速(ETS06.20)全速(ETS06.10)增强型全速(ETS06.50/06.60/06.80)。SIM卡工作电压3伏。3.2.3单片机与TC35的通信串行通信协议介绍单片机与计算机之间交换信息时,必须有条线路(或是多条线路)将两者连接,而通过上电压的改变来达到交换数据的目的。串行通信指的是两个欲交换信息者的信息流动,而且其信息流动的方式是按照一个位接着一个位,有顺序地由一个方向向另一个方向流动。这种通信方式传送信息已经有一段久远的历史,而且是一种使用相当广泛的通信方式,其速度虽然没有并行通信那样快,但是由于配线数少,实现容易,所以长久以来大家一直乐于采用;另一方面,速度上的改进也是厂家一直的努力方向。常用的串行通信标准有RS232C,RS422,RS485,USB,IEEE.1394,它们的区别主要在传输距离和稳定性等方面。考虑本系统的数据传输速度和传送距离,选择了RS232C通信标准。RS为RECOMMENDSTANDARD,232为标准号,C为标准的最近版本号。RS232C标准规定的传送电缆长度为50feet,传送速度最大为19200bps。3.3系统硬件联调通过串口RS232C将TC35与STC89C52相连,即将通信子系统与监测子系统互连,二者之间可以进行通信,在监测子系统发出远程告警信号时,单片机控制TC35模块发出短信进行告警。TC35与单片机的硬件连接电路如图3.15所示。按照电路图连接好TC35模块、单片机后,即可进行硬件联调MAX232连接方法如图3-8所示 图3-8这里的RX与TX对应接单片机的RX与TX即可第4章系统软件设计4.1系统软件结构在搭建了环境监测机器人的硬件系统后,还应有对应的软件系统才能构成功能完备的监测系统。在软硬件之间的关系上,硬件是躯体,软件是思想,不同模块所特有的功能正是通过不同的系统软件才得以实现。本系统软件的设计采用了结构化设计方法DS(StructuredDesign)的设计方法,就是从软件系统的结构出发,将软件设计分解成“功能模块”的设计,将系统所要完成的不同功能分别编写和调试,既有利于程序代码的优化,又便于设计、调试和维护。本系统软件模块包括:系统主程序、温度湿度采集程序、时钟程序、键盘程序、液晶显示程序、小车驱动程序、短信通信程序。本系统软件的结构图如图4-1所示。图4-14.2系统主程序设计正常工作状态下,系统主程序一直等待接收由位控开关发出的接地线离位信号,一旦接收到该信号则按主程序流程顺序执行,系统主程序流程图见图4-2。初始化开始初始化开始设置温度湿度上下限设置温度湿度上下限声音报警无线发送环境参数到控制室小车运动采集环境温湿度声音报警无线发送环境参数到控制室小车运动采集环境温湿度 图4-24.3时钟程序设计以下为系统时钟程序部分源代码:#ifndef_DS1302_#define_DS1302_typedefunsignedcharuc_rtc;#defineIORA0#defineIN()TRISA0=1#defineOUT()TRISA0=0#defineSCLKRA1#defineRSTRA2#definekey1RA3#definekey2RA4uc_rtcyear,mon,day,hour,min,sec,ri;voidrtc_port_init();voidwrite_1302(uc_rtc,uc_rtc);uc_rtcread_1302(uc_rtc);voidinit_rtc();voidgain_time();uc_rtctyear,tmon,tday,thour,tmin,tsec,tri;uc_rtcgong,kong,tt;voidkdelayus(uc_rtc);voidkeyscan();#endif#include<pic.h>#include"DS1302.h"voidrtc_port_init(){ TRISA1=0; TRISA2=0; RST=0; SCLK=0; TRISA3=1; TRISA4=1; gong=0; kong=0;}uc_rtcread_1302(uc_rtcaddrr){ uc_rtcji,ddaat; OUT(); RST=0; SCLK=0; RST=1; for(ji=0;ji<8;ji++) { IO=addrr&0x01; SCLK=1; SCLK=0; addrr>>=1; } IN(); for(ji=0;ji<8;ji++) { ddaat>>=1; if(IO)ddaat|=0x80; SCLK=1; SCLK=0; } RST=0; SCLK=0; returnddaat;}voidwrite_1302(uc_rtcaadd,uc_rtcdaatt){ uc_rtcjt; OUT(); RST=0; SCLK=0; RST=1; for(jt=0;jt<8;jt++) { IO=aadd&0x01; SCLK=1; SCLK=0; aadd>>=1; } for(jt=0;jt<8;jt++) { IO=daatt&0x01; SCLK=1; SCLK=0; daatt>>=1; } RST=0; SCLK=0; }voidinit_rtc(){ write_1302(0x8E,0x00);//写允许 /*这里的目标是将1302的时候调整到当前*/ write_1302(0x8c,0x11);//writeyear write_1302(0x88,0x04); //mon write_1302(0x86,0x25); //date write_1302(0x8a,0x01); write_1302(0x84,0x15); write_1302(0x82,0x25); write_1302(0x80,0); write_1302(0x8e,0x80);//写禁止}voidgain_time(){ year=read_1302(0x8d); mon=read_1302(0x89); day=read_1302(0x87); ri=read_1302(0x8b); hour=read_1302(0x85); min=read_1302(0x83); sec=read_1302(0x81); tyear=year/16*10+year%16;//由于1302读出的数为BCD码,在显示中很好处理,但调整的时候不方便,将它变成10进制的数再来处理 tmon=mon/16*10+mon%16; tday=day/16*10+day%16; tri=ri/16*10+ri%16; thour=hour/16*10+hour%16; tmin=min/16*10+min%16;}voidkdelayus(uc_rtcka){ for(;ka>0;ka--) {NOP();NOP();NOP();}}voidkeyscan(){ if(key1==0) { kdelayus(30); if(key1==0) { while(!key1); gong++; if(gong==7) { gong=0; write_1302(0x8E,0x00);//写允许 //这里的目标是将1302的时候调整到调整后的值 write_1302(0x8c,tyear/10*16+tyear%10);//write由于前面将它转换成了十进制,写入时却为BCD,所以要将它还原 write_1302(0x88,tmon/10*16+tmon%10); //mon write_1302(0x86,tday/10*16+tday%10); //date write_1302(0x8a,tri/10*16+tri%10); write_1302(0x84,thour/10*16+thour%10); write_1302(0x82,tmin/10*16+tmin%10); write_1302(0x80,0); write_1302(0x8e,0x80);//写禁止 } } } if(gong==1) { if(key2==0) { kdelayus(30); if(key2==0) { while(!key2);//千万别忘了松手检测 tyear++; } } } if(gong==2) { if(key2==0) { kdelayus(30); if(key2==0) { while(!key2); tmon++; if(tmon==13) tmon=1; } } } if(gong==3) { if(key2==0) { kdelayus(30); if(key2==0) { while(!key2); tday++; if(tday==32) tday=1; } } } if(gong==4) { if(key2==0) { kdelayus(9); if(key2==0) { while(!key2); thour++; if(thour==24) thour=0; } } } if(gong==5) { if(key2==0) { kdelayus(30); if(key2==0) { while(!key2); tmin++; if(tmin==60) tmin=0; } } } if(gong==6) { if(key2==0) { kdelayus(30); if(key2==0) { while(!key2); tri++; if(tri==8) tri=1; } } } if(gong==0)kong=0; elsekong=1;}4.4液晶显示程序设计本系统液晶显示屏可以显示当前环境的温度、湿度、系统时间、等。本系统采用的OCMJ4X8C有如下显示特点:4.4.1显示坐标关系 每个字符的显示位置,如图4-3 图4-34.4.2显示步骤1、显示资料RAM(DDRAM)显示数据RAM提供64x2个字节的空间,最多可以控制4行16字(64个字)的中文字型显示,当写入显示资料RAM时,可以分别显示CGROM,HCGROM与CGRAM的字型;本系列模块可以显示三种字型,分别是半宽型的的HCGROM字型、CGRAM字型及中文CGROM字型,三种字型的选择,由在DDRAM中写入的编码决定,在0000H~0006H的编码中将选择CGRAM的自定字型,02H~7FH的编码中将会选择半宽英数字的字型,至于A1以上的编码将自动的结合下一个字节,组成两个字节的编码达成中文字型的编码BIG5(A140~D75F)GB(A1A0~F7FF),详细各种字型编码如下:(1)显示半宽字型:将8位资料写入DDRAM中,范围为02H~7FH的编码。(2)显示CGRAM字型:将16位资料写入到DDRAM中,总共有0000H,0002H,0004H,0006H四种编码。(3)显示中文字形:将16位资料写入DDRAM中,范围为A140H~D75FH的编码(BIG5),A1A0H~F7FFH的编码(GB)。将16位资料写入DDRAM方式为透过连续写入两个字节的资料得以完成,先写入高字节(D15~D8)再写入低字节(D7~D0)。2、绘图RAM(GDRAM)绘图显示RAM提供64x32个字节的记忆空间(由扩充指令设定绘图RAM地址),最多可以控制256x64点的二维绘图缓冲空间,在更改绘图RAM时,由扩充指令设定GDRAM地址先设垂直地址再设水平地址(连续写入两个字节的数据来完成垂直与水平的坐标地址),再写入两个8位的资料到绘图RAM中,同时地址计数器(AC)会自动加一,整个写入绘图RAM的步骤如下:(1)先将垂直的字节坐标(Y)写入绘图RAM地址(2)再将水平的字节坐标(X)写入绘图RAM地址(3)将D15~D8写入到RAM中(写入第一个Bytes)(4)将D7~D0写入到RAM中(写入第二个Bytes)根据以上模块特点本系统液晶显示程序如下:#ifndef_lcd_def#define_lcd_def#definecsRE0#definestdRE1#definesckRE2//当然这几个口可以自己选,但要设计好特别是A和Etypedefunsignedcharuchar_lcd;voidportinit();voiddelayus_lcd(uchar_lcd);voiddelay_lcd(uchar_lcd);voidinit12864(void);voidclear(void);voidwrite_lcd(uchar_lcdhh,uchar_lcddate);voiddis_lcd();voidchnd(constuchar_lcd*mp);//函数申明,不用多说吧constuchar_lcdshezhT_top[]={"温度上限:"};constuchar_lcdshezhT_bot[]={"温度下限:"};constuchar_lcdshezhRH_top[]={"湿度上限:"};constuchar_lcdshezhRH_bot[]={"湿度下限:"};constuchar_lcdwend[]={"当前温度:"};constuchar_lcdshid[]={"当前湿度:"};#endif#include<pic.h>#include"lcd.h"voiddelay_lcd(uchar_lcdx){ uchar_lcdy; for(;x>0;x--) for(y=50;y>0;y--); }voiddelayus_lcd(uchar_lcdhx){ for(;hx>0;hx--) {NOP();}//这二个延时都是针对4M晶振的,}voidportinit(){ ADCON1=0X07; TRISE=0; PORTE=0;//端口初始化,看端口而定 cs=1;//CS高平有效}voidinit12864(void){ delay_lcd(200); delay_lcd(50); write_lcd(0,0x30);//功能设置,基本功能,8位操作位 delayus_lcd(100);//上一步用时72微秒,除了01,别的都是72微秒 write_lcd(0,0x01); delay_lcd(5); write_lcd(0,0x06);//设定光标移动方向 delayus_lcd(40); write_lcd(0,0x0c);//开显示,不显示光标,不反白 clear();}voidclear(void){ write_lcd(0,0x30); write_lcd(0,0x01);//用时1.6ms delay_lcd(2);}voidwrite_lcd(uchar_lcdhh,uchar_lcddate)//串行通信过程{ uchar_lcdhdate,ma,mi,mj,hdateb;//这个可参考12964资料中的串行时序 hh&=0x01;//它不可能大于一,为0时为写命令,为1时为写数据 hdate=date&0xf0;//为了方便我的写指令和写数据用了一个带参的函数 hdateb=date&0x0f;//分别取出了高、低四位(串行时序的需要) hdateb<<=4; std=1; sck=0; for (ma=0;ma<5;ma++) { sck=1; sck=0; }//第一个字节八位的组成,看串行时序里要求,先是5个一 std=0;//读写方式控制;再加读写控制,我只需要写 sck=1; sck=0; if(hh==0)std=0;//再加写指令还是数据 elsestd=1; sck=1; sck=0;//串行传输时的格式,先五个一,再读/写,再命令/数据 std=0;//第八位为0 sck=1; sck=0;//然后开始发送数据,数据分二次发,先发高四位,再发低四位 for(mi=0;mi<4;mi++) { if(hdate&0x80)std=1; elsestd=0; sck=1; sck=0; hdate<<=1; }//高四位完成, std=0; for(mi=0;mi<4;mi++) { sck=1; sck=0; }//四个0发完,则第一个字节完成 for(mj=0;mj<4;mj++) { if(hdateb&0x80)std=1; elsestd=0; sck=1; sck=0; hdateb<<=1; } std=0; for(mi=0;mi<4;mi++) { sck=1; sck=0; }}voidchnd(constuchar_lcd*mp){ while(*mp!='\0')//ASII码为0,即表示空字符 { write_lcd(1,*mp);//这个比较好,一般用它就行了 mp++; }}voiddis_lcd(){ portinit(); init12864(); write_lcd(0,0x30); delayus_lcd(40); write_lcd(0,0x80); chnd(wend); write_lcd(0,0x87); write_lcd(1,0x60); write_lcd(1,0x43);//C的ASII write_lcd(0,0x90); chnd(shid); write_lcd(0,0x97); write_lcd(1,0x25);/*%这是对注意要固定显示的部分,它不用在大循环里*/}4.5短信通信程序设计本系统短信通信模块选用的是SIEMENS公司TC35模块,该模块短信指令规范如下:4.5.1AT指令TC35模块通过AT命令与单片机通信。几乎所有的AT命令都由AT开头,都以回车符<CR>结束。如下列出了AT命令的语法规则。TC35基本命令
1.设置短消息中心
AT+CSCA=“+8613800270500”回车(具体的号码由当地的运营商决定。)
2.接收短消息
+CMTI:“SM”,X
(X表示接收短消息的SIM卡存储号码)
AT+CMGR=X回车
(从X存储区读短消息)
AT+CMGD=X回车
(从X存储区删除短消息)
3.发送短消息
AT+CMGF=1回车(采用文本格式发送,如用PDU格式,则AT+CMGF=0)
AT+CMGS=“+8613xxxxxxxxx”回车
>输入短消息。Crtl+Z结束并发送。
4.重要的指令
ATZ;E
回车
Echo
OFF
ATZ;E1回车
Echo
ON
AT+CREG?回车
回答x(X=2脱网,X=1注册,X=0状态不明)
AT+COPS?回车
表示SIM卡是否被网络接受
AT+COPS=?回车
显示所有可用的网络。
5.建立语音呼叫
AT+CREG?回车(是否网络注册)
ATD13xxxxxxxxx;回车(语音呼叫和数据呼叫建立的区别在于号码后所接的分号上)
6.改变并保存参数
AT+IPR=XXXX回车短信模式简介SMS是由Etsi所制定的一个规范(GSM03.40和GSM03.38)。当使用7-bits编码的时候它可以发送最多160个字符;8-bit编码(最多140个字符)。通常无法直接通过手机显示;通常被用来作为数据消息,例如:smartmessaging中的图片和铃声和OTAWAP设置。16-bit信息(最多70个字符)被用来显示Unicode(UCS2)文本信息,可以被大多数的手机所显示。一个以class0开头的16-bit的文本信息将在某些手机上作为FlashSMS显示(闪烁的SMS和警告SMS)。有两种方式来发送和接收SMS信息:使用文本模式或者使用PDU(protocoldescriptionunit)模式。文本模式(可能某些手机不支持)实际上也是一种PDU编码的一种表现形式。在显示SMS信息,可能使用不同的字符集和不同的编码方式。TXT模式无需编码,且一次可发送较多的字符,简单易行;这里也采用了TXT模式。4.5.3TC35模块的调试第一次使用的是GSM是基于TC35芯片的,购买到这个模块后,拿到手先要测试一下它是否能正常工作。指示灯测试装上SIM卡,插上电源:1、电源指示灯亮,表示供电正常;该模块已供上电。(它需要的是5V2A的电源,在购买模块的时候在注意,把电源配好)2、LED灯灭,表示TC35电源关闭,处于休眠、报警或单纯的充电模式3、600ms亮/600ms灭,表示未插入SIM卡,或者个人身份未登记/已注销,或者网络正在搜寻中,或者正在进行用户身份鉴定,或者网络注册正在进行中。4、75ms亮/3s灭,表示网络注册成功(控制通道和用户交换信息完成),无来电。串口测试任何一个TC35模块首次使用时,必须要测试其工作是否正常,由于其自带RS232接口,所以对于我们连接很方便,我们可以直接用电脑的串口调试软件进行调试。下面结合一下表格和截图来进行详细说明:步骤如下1、启动串口调试软件2、发送“AT”命令AT检测是否连接成功响应ATOK连接成功注意这里一般在指令的末尾都是加上一个回车改变波特率“AT+IPR=XXXX"TC35的默认波特率是19.2k,实际使用时,应该改成9600波特率设置方法如下:命令AT+IPR=9600设置波特率为9600响应AT+IPR=9600OK设置成功4、短信模式的设置GSM模块的短信模式有2种。第1种是:TEXT模式;第2种是:PDU模式。PDU模式可以采用unicode编码发送英文、汉字。但合成PDU码比较复杂,而TEXT模式只能发送英文,但无须编码。表格设置如下命令AT+CMGF?查询当前值响应AT+CMGF?+CMGF:0OKPUD模式命令AT+CMGF=?检测命令响应AT+CMGF=?+CMGF:(0,1)OK支持TEXT和PDU模式命令AT+CMGF=1/0设置为TEXT/PUD模式响应AT+CMGF=1/0(与上面的一致)OK设置成功如果上述步骤已经做完,下面可以进行对GSM模块的短信调试了,接着上述步骤。在进行短信调试时要首先设置短信中心号码,一般是默认的就可以了,在此做一下简单的介绍,该命令用于设置短消息中心地址。命令AT+CSCA?查询短消息中心地址响应AT+CSCA?+CSCA:"+8613010171500",145OK命令AT+CSCA="+8613010171500"设置中心地址响应AT+CSCA="+8613010171500"OKTEXT模式确定在该模式下,短信中心号码正确,如果之前没设置过就需要在这设置一下,(一般情况下都是设置好了的,尽量不要乱动它,保持默认即可)。并且中心号码是+86……,之前已说过,并且已经设置好,这里就不用再设置;如果一定要设置的话,方法如如下:首先设置TEXT模式AT+CMGF=1;回应然后发送AT+CMGS=“目标手机号”(回车);比如我给我的号发:就AT+CMGS=TC35回应:AT+CMGS=
>到现在,目标手机号已经设置成功,下来该输入短信内容了;由于是在TEXT模式下,所以消息内容只能是英文字符。输入短信息的内容(只能是英文)最后加上“”。注意:“”它实际上在串口中是输入不出的,而查到它对应的ASCII值为26,即0X1A;所以只能用十六进制的方式发送,故,最好将消息的内容都转换成十六进制,在现末尾加上1A,选择十六进制发送即可,如下:回应+CMGS:30(其实这里应该是+CMGS:XX,XX为一个数字,为短信发送的条数)OK这就发送成功了!打电话然后进行接打电话的应用:这里就很简单主要就是两个代码,直接发送:“ATD对方号码”这个代码就可以直接进行拨号;用AT(要加这分号)回车,就可以打这个电话了。4.5.4单片机与TC35用单片机控制就是将用串口发送的指令用单片机通过串口发送给TC35就可以了。第五章结论本文通过单片机技术、现代移动通信技术和计算机软、硬件技术的综合运用实现了无线环境监测机器人的设计。首先以PIC16F877单片机作为主处理器,通过单片机与时钟芯片、键盘、寻迹模块、电机驱动模块和液晶显示器的通信,实现了环境监测子系统。在此基础上采用无线通信技术实现了数据的远程传输,即将环境参数通过全球移动通信(GSM)的短消息业务(SMS)实现信号的远程传输,从而建立起系统的通信子系统。GSM网络经过多年的发展拥有庞大的用户数量,通信质量稳定可靠,利用现有的GSM网络通过短消息进行远程控制、传输数据具有很多优势。短消息采用存储、转发的通信模式,可靠性高。论文设计了两个子系统的工作程序以及系统主程序,最后通过对两个子系统的硬件连接及软硬件联调,验证了系统能较好地完成预定的功能。主要参考文献[1]童诗白、华成英,模拟电子技术基础,高等教育出版社,2001[2]阎石,数字电子技术基础,高等教育出版社,2006[3]李荣正、刘启中、陈学军,PIC单片机原理及应用,北京航空航天大学出版社,2006[4]刘向宇、秦龙,PIC单片机C语言程序设计实例精粹,电子工业出版社,2010.2[5]谭浩强,C++程序设计,北京:清华大学出版社,2004.6[6]李铁山.GSM短消息业务在水情自动测报系统中的应用[J].云南水利发电,2005.[7]付强,赵捷.基于GSM短消息业务的无线监控系统的开发设计[D].山东师范大学,2003.[8]车朝雄,赵彦敏.基于串口的手机收发短信的设计方法[J].福建电脑,2006,(2):49~50.[9]林志琦,郎建军,李会杰.基于Proteus的单片机可视化软硬件仿真[M].北京:北京航空航天大学出版社,2006.[10]GSMAT命令手册[Z].南京:南京傲屹电子有限公司.[11]郭梯云,邬国扬,李建东.移动通信[M].西安:西安电子科技大学出版社,2003.[12]沙占友,王彦朋,孟志永.单片机外围电路设计[M].北京:电子工业出版社,2003.[13]周嵘,家庭GSM短消息遥控监测装置[P].中国专利:ZL02217548.2,出版日期2002年5月17日[14]周嵘,潘晓斌,郑堤.TC35与微处理器的短消息接口方法[J]微计算机信息2004(09)[15]窦振中,汪立森,PIC单片机的应用设计与实例[M].北京:北京航空航天大学出版社,1999[16]郭鹏,孙伟,韩璞.基于手机短消息(SMS)的远程无线监控系统的研制.计算机测量与控制,2002,10:25一27.[17]程龙兴,胡协和,冯冬芹.基于短消息的远程数据采集系统.仪表技术与传感器,2005,1:17一19[18]唐勇.基于单片机的电子钟的设计.湖南:湖南工学院,2007.[19]邢小杰.单片机电子时钟设计.中国科技博览,2009[20]刘涛,张春业,韩旭东,李鹏,基于手机模块TC35的单片机短消息收发系统[J].电子技术,2003336.38[21]ATCommandSetSiemenscellularenginesversion2.10[S]SiemensAG2001年[22]TC35cellularenginesHardwareInterfaceDescriptionversion2.10[S]SiemensAG2001年[23]SiemensTC35/TC37HardwareInterfaceDescriptionVision04.00,2002.5.29附录附录一:寻迹部分电路图附录二:系统程序#include<pic.h>#include"work_DHT.c"#include"work_lcd.c"#include"RTC_work.c"#include"shezhi.c"#include"work_rf_sent.c"#include"car_work.c"uchar_lcdcomflag;voiddis_RH_data();voiddis_RTC_data();voiddis_key();voiddis_shezhi();voidalarm();voidangle_data();voidmain(){ unsignedcharmma,bian; mma=250; gong=0; comflag=0; bian=1; dis_lcd(); rtc_port_init(); KEY_initial(); rf_port_init(); config905(); jilu=0; car_initport();// init_rtc();//这个只需要执行一次就够了 while(1) { read_DHT(); // delay_DHT(2000);//注意,对DHT21的采样应大于2秒,这个恰为2秒 while(mma) { keyscan(); findway(); KEY_scan(); angle_data(); txdata(); if(comT>sheT_top||comT<sheT_bot||RHdata>sheRH_top||RHdata<sheRH_bot) { comflag=1; alarm(); } else { BUZ=1; comflag=0; } if(kong==0&&she_gong==0) { if(bian==1) { dis_lcd(); bian=0; } gain_time(); dis_RTC_data(); dis_RH_data(); } elseif(she_gong!=0) { dis_shezhi(); bian=1; }
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应聘老师试题及答案
- 经营性店长试题及答案
- 共享课表试题及答案
- 人员进出洁净区管理规程
- 食品厂仓储管理标准
- 制药厂人员进出管理制度
- DBJT13-517-2025福建省建筑防水技术标准
- AI生成式技术创作传统戏曲音乐
- 北京华恒智信为酒店行业搭建科学后备人才选拔体系
- 2026年培训学员管理规范试题及答案
- 国企财务笔试题库及答案
- 江苏南京市秦淮区2025-2026学年七年级下学期英语阶段质量监测卷
- 2026辽控集团所属辽宁九夷锂能股份有限公司招聘20人笔试备考试题及答案详解
- 2026年小学二年级升三年级语文暑假衔接作业(完整版)
- 国家职业标准 4-10-01-06 家政服务员(整 理收纳师) (2026年版)
- 孤独症患儿护理查房
- 小儿危重症的识别与处理
- 04S519小型排水构筑物(含隔油池)图集
- 江苏省苏州相城区苏州大学实验学校2023-2024学年小升初七年级上学期分班考英语试卷(含答案)
- 清华大学实验室安全教育考试题库(全)
- SL703-2015灌溉与排水工程施工质量评定表
评论
0/150
提交评论