




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
密级: 学 士 学 位 论 文 THESIS OF BACHELOR( 年)题 目: 温度数据无线传输系统 学 院: 系 专 业: 班 级: 学 号: 学生姓名: 指导教师: 起讫日期: 温度数据无线传输系统专业: 学号:姓名: 指导老师:摘要人们生产生活需要知道温度,工业生产需要知道温度控制温度。为了生产生活的需要,我们要有一套及时、方便、有效、快捷的传输温度量的系统。本系统主要有两个模块,一个温度采集发送模块和一个温度数据接收模块。在温度采集模块通过温度传感器DS18B20采集温度数据,这种传感器可将模拟的温度量转换成数字量通过IIC总线将数据传送到单片机,单片机采用LM3S1138芯片,这个芯片具有很快的处理速度,有单独的休眠模块,通过软件使其进入休眠非常省电。然后将温度数据送到无线发射模块,我采用的无线发射是工业通用的nRF905无线收发模块,将数据送到无线发射模块中,发射模块会自动将数据打包,最后将数据发送。数据接收模块中无线接收模块每隔650us扫描一次,当有同频率的信号过来时就开始接收数据包,将接收到的数据包解压,将数据送到单片机,然后单片机将数据送到上位机,上位机既可以处理数据。该设计可以使温度数据及时的监控,通过无线传输不用布线。并且可以方便的在上位机处理数据。关键词:DS18B20,LM3S1138,nRF905,温度采集,无线传输。Temperature data wireless transmission systemAbstractPeople need to know production and life of temperature, the industrial production need to know the temperature and control temperature. In order to the needs of production and life, we want to have a timely, convenient, efficient, quick transmission temperature amount of system.System there are two main modules, a temperature gathering send module and a temperature data receiving module. In temperature acquisition module through the temperature sensor DS18B20 collection temperature data, the sensor can be simulated temperature is converted into digital quantity through the IIC trunk to send data to a single-chip microcomputer, the single chip microcomputer LM3S1138 chip, the chip has quickly processing speed, has a separate dormancy module, through the software make it into the dormancy very province electricity. Then will the temperature data sent to wireless transmitting module, I use wireless launch is the nRF905 industrial general wireless transceiver module, the data sent to wireless transmitting modules, launch module automatically will data packing, finally will send data.Data receiving module wireless receiving modules in every 650 us scanning time, when the frequency of the signal with came through to receive data packets, will receive the packet decompression, data to the single chip microcomputer, and then the data sent to the single chip microcomputer upper machine, PC can processing data.This design can make the temperature data timely monitoring, through the wireless transmission need not wiring. And can be convenient in upper machine processing data.KEY:DS18B20,LM3S1138,nRF905, Temperature gathering, Wireless transmission目录摘要.Abstract. 绪论.1 课题的来源与研究意义.1 国内外研究现状及发展趋势.1 本文主要研究内容.2 温度采集发射硬件及工作原理.32.1系统总体方案设计.3 2.2 温度采集的硬件电路及工作原理.3 2.3 温度采集电路.3 2.4 单片机选型.6 2.5 复位电路.7 2.6 电源电路.82.7 无线发射电路.8第三章 温度数据接收硬件及工作原理.13 3.1温度数据接收的硬件电路及工作原理.13 3.2 单片机选型.13 3.3 电源电路及串口通信.13 3.4 无线接收电路.14第四章 软件设计.15 4.1温度采集发射模块软件设计.15 4.1 .1主程序.15 4.1.2 温度采集模块程序.16 4.1.3 无线发射模块程序.20 4.2温度数据接收模块软件设计.21 4.2.1 主程序.21 4.2.2 数据接收模块程序.22结论.26参考文献.27致谢.28附录:1. 温度采集发射模块电气原理图2. 温度数据接收模块电气原理图3. 温度采集发射模块PCB图4. 温度数据接收模块PCB图5. 温度采集发射模块程序清单6. 温度数据接收模块程序清单 绪论 课题的来源及研究意义温度数据无线传输系统,主要用于对温度的自动采集和温度数据的自动无线传输。对于现在社会,气象的发展以及人们对气象服务的需求日益增多1,而以前用的各种型号的温度表,人工根据温度表刻度读数的采集方式已经远远不能满足要求。首先是温度数据量的增大,要求24小时实时监测,对于人工的方式来说,效率低,精度低。其次现在人工劳动力成本的增加,对于大量监测点会让数据采集成本增大。最后,对于需要采集高空温度,人工已经不能到达。基于这些因素自动采集温度数据保存数据已经成为主流模式。在其他行业的应用也非常广泛,石油、化工、冶金、纺织、机械制造、航空航天、制药、烟草、粮食存储等等,都需要实时监测温度。数据无线传输在现在各种行业运用越来越广泛,可以实时发送数据,温度数据采集到以后将其及时的发送到指定的上位机,对温度数据及时的处理,在气象上就可以及时的发出预报,让人们安排生产生活,在工业现场,可以及时的安排工业生产,或者避免很多事故的发生。 国内外研究现状及发展趋势随着工业社会的发展,现代工业对于温度的采集,数据处理已经全部实现自动化。例如我国的气象温度采集,已经实现自动气象站的应用。现在使用的与单片机一起使用的温度传感器主要有:数字温度传感器和模拟温度传感器。模拟温度传感器为以前通用的热电阻和热电偶传感器。而数字温度传感器就是能把温度物理量和湿度物理量,通过温、湿度敏感元件和相应电路转换成方便计算机、plc、智能仪表等数据采集设备直接读取得数字量的传感器。像现在多采用芬兰Vaisala公司生产的HMP45D温度传感器10;美国模拟器件公司生产的单片集成两端感温传感器AD5906;DALLAS公司生产的数字温度传感器DS18B2011。在传输方面,现在采用的数据传输方法有很多,世界主流的有以下几种方式:(1)有线传输。有线传输的优点传输速度快,传输稳定性、精确度高,但是有线传输接线复杂、布线困难,故障时难以维修。一般有线传输的布线方式有地下深埋光缆和地上设立电杆架设电缆,这两种方式无论哪种都非常困难,也会增加很多不必要的成本。如果是地下深埋光缆,如果光缆发生破损或者其他故障,首先是故障点判断费时费力,其次如果维修则要挖掘深埋地下的光缆,很费时费力。这样就使有线传输以后的使用维护非常困难,成本也随之增加。(2)无线传输。主流的无线传输5有,红外线传输,蓝牙传输, GPRS无线通信技术,射频技术。红外线传输,在无线技术发展的一个时期,红外传输技术被世界广泛使用,能够被众多硬件和软件支持。它主要通过数据电脉冲和红外光脉冲之间的相互转换来实现无线的数据收发,是一种点对点的数据传输协议。其优点是:具有小角度(30度锥角以内)、短距离、点对点直线数据传输;保密性好;传输速率较高可达16Mbps。缺点是通信距离短只有01米;通信过程中不能移动;遇到障碍物时,通信会中断;只能点对点传输,因此功能单一、扩展性差。蓝牙传输 3,其优点在于引入身份识别后可以灵活实现漫游;低功耗对人体危害小;蓝牙集成电路应用简单,成本低廉;其缺点在于:传输距离短,最新的蓝牙V4.0有效传输传输距离为1000米。最新的蓝牙传输速度大大提高,但是蓝牙V2.0的传输速度慢。GPRS无线通信技术8。GPRS数据传输的可靠性有较高的保障;从远端到管理中心的传输延时小,适于实时信息传输;可以实现全国联网数据传输,使温度数据全国共享方便。但是,管理中心的GPRS接入方式比较复杂,不能采用低成本的用户终端,远程通信终端的成本较高;通信接入的连网费较高,特别是对数据量大的数据,成本太高。射频技术。射频技术是一种无线电通信技术,其利用电磁波为载波来传输信息,它是一种在一个区域范围内的任何地方,在各种电子设备之间的实现无线通信的开放新技术工业标准。射频技术使用几个特定频率中的一个频率传输数据,相邻网络使用不同的频率,目前工业上使用433/868/915/2400MHz频段。创羿科技CY-TAT-20212电阻温度系数大,感应灵敏,电阻率高,元件尺寸小,电阻值随温度变化而变化基本呈线性关系,在测温范围内,物理、化学性能稳定,长期复现性好,测量精度高,有效识别距离可达0-80m。温度传感电子标签除识别与定位的功能外,还可通过感温装置获取实时温度数据。并将被监测的物体温度数据通过电子标签传递给监控管理系统,从而实现对监控过程中温度预警。该产品的领先技术、全工业性设计和出众特点使得其在冷链、医疗、仓库管理、电力故障检测等需地方提供了一种全新的检测理念,有效识别距离为80米,广泛应用于各种领域。 本文主要研究内容本课题研究的温度数据无线传输系统可广泛用于气象气温监测,工厂车间温度监控等。设计要求:微处理器LM3S1138;温度精度0.5;通讯距离不小于500M(无遮挡);供电方式,锂电池,可持续工作一个月。 温度采集发射模块硬件电路设计2.1 总体方案设计在这个设计系统中,温度采集发射模块,需要用温度传感器采集温度量,将温度量传输到单片机中,单片机将温度数据量传输到无线发射芯片,无线发射芯片将数据打包发送出去。接收模块将采集到的温度数据去掉校验码CRC,解压,送到单片机中,然后单片机通过USB数据接口将数据送到计算机中,方便处理数据。2.2 温度采集发射模块硬件组成及工作原理这个模块由温度传感器,单片机,无线发射模块组成。图2-1 温度采集发射模块原理框图温度采集发射模块原理框图如图2-1所示,数字温度传感器DS18B20将采集到的温度量转换为数字量直接送到单片机中,而不需要进行A/D转换。单片机将温度传感器采集的数据通过同步串行接口SSI将数据送到无线发射模块中,无线发射模块将数据压缩打包,加校验码,以一定的频率发送出去。2.3 温度采集电路温度的检测传感器很多,传统的测温元件有热电偶和热电阻,而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。根据产品的温度要求,温度精度要达到0.5,所以内槽温度传感器采用了美国DALLAS半导体公司生产的智能温度传感器DS18B20作为检测元件,测温范围为-55到+125,分辨率最大可达0.0625。DS18B20可以直接读出被测温度值,而且采用3线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。DS18B20的性能特点如下: 独特的单线接口仅需要一个端口引脚进行通讯 多个DS18B20可以并联在惟一的三线上,实现多点组网功能 无需外部器件 可通过数据线供电,电压范围为3. 0 V-5. 5V 零待机功耗 温度以9或12位数字量读出 用户可定义的非易失性温度报警设置 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作 DS18B20内部结构DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8个字节的存储器,结构如图4所示。 头两个字节包含测得的温度信息,第三和第四字节是TH和TL的拷贝,是易失的,每次上电复位时被刷新。第五个字节为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。该字节各位的定义如图2-2所示。低5位一直为1, TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动,R1和RO决定温度转换的精度位数,即用来设置分辨率,定义方法见表1。图2-2 高速暂存RAM结构图由表2-2可见,DS18B20温度转换的时间比较长,而且设定的分辨率越高,所需要的温度数据转换时间就越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。表2-1 配置寄存器表2-2 DS18B20分辨率的定义规定 高速暂存RAM的第六、七、八字节保留未用,表现为全逻辑1。第九字节读出前面所有8个字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第一、二字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。温度格式表2-3所示。表2-3 温度数据值格式LSMSDS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若TTH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。DS18B20测温原理如图7所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数,进而完成温度侧量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将一55所对应的一个基数分别置入减法计数器1,温度寄存器中,减法计数器1和温度寄存器被预置在一55所对应的一个基数值。图2-3 DS18B20测温原理图减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置值将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值就是所测温度值。图7中的斜率累加器用于补偿和修正测温过程中的非线形性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直到温度寄存器值达到被测温度值。另外,由于OS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令、处理数据。 DS18B20与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用外部电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,此时VDD与GND端均需接地。电路如图图2-4所示图2-4 DS18B20与单片机相连2.4 单片机的选型本模块采用ARM公司的LM3S1138芯片,这款芯片的主要特点是: 32位RISC性能,工作频率为50MHz,硬件除法和单周期乘法。 64KB单周期Flash内部存储器。 16KB单周期访问的SRAM。 4个通用定时器模块,每个可提供2个16位定时器。 2个同步串行接口(SSI)。 3个可编程的16C550-type UART。 独立和查分输入配置ADC,用作单端输入时有8个10位的通道,采样速 率为1,000,000次/秒。 3个独立集成的模拟比较器。 2个I2C模块。 9-46个GPIO口。 有单独的休眠模块。与其他芯片比这款芯片不仅有硬件乘法、除法使处理速度加快,还具有单独的休眠模块,当单片机处于空闲状态的时候,可以进入休眠状态降低功耗,只需外部一个信号就可以唤醒,这样非常有利于节省耗电。2.5 复位电路为保证ARM芯片在电源未达到所要求的电平时,不会产生不受控制的状态,必须在系统中加入电源监控和复位电路,由该电路确保在系统加电过程中,在内核电压和外围端口电压达到要求之前,ARM芯片始终处于复位状态,直到内核电压和外围接口电压达到所要求的电平。采用CAT811R复位芯片,当按下键盘KEY1的时候复位芯片将给单片机复位。电路如图2-5所示图2-5 复位电路图2.6 电源电路电源采用磷酸铁锂电池供电,通过稳压芯片B0303S/D-1W,使电压输出稳定在3.3V。磷酸铁锂电池与其他电池相比寿命长,一般电池工作时间一般是两年左右,磷酸铁锂电池是七到八年,它的体积小、重量轻,而且容量大,单体电池有5000mAh。它的最低放电电压为3.0V,最高放电电压为3.65V。电路如图2-6所示图2-6 电源电路图2.7 无线发射电路现在传统使用的无线发射方式有红外线,蓝牙,GPRS以及射频技术。本系统采用基于射频技术的无线发射模块,因为这个模块在工业上大量使用,有多频段,可互相切换且切换时间短的优点。与红外线相比,红外线只能点对点传输数据,且倾角不能大于30,传输不能有物体遮挡,否则不能传输或者传输中断。与蓝牙相比,蓝牙现在在通信上大量应用,已经有主流的发展趋势,蓝牙的技术也在不断提高。现在蓝牙的传输距离想要达到与射频传输的距离一样,则成本会大大增加。与GPRS相比,GPRS传输没有距离限制,现在在海洋的观测应用比较多,但是GPRS的终端设备昂贵,且不断搜寻信号使耗电量增加。本系统采用基于射频技术的无线发射模块,因为这个模块在工业上大量使用,有多频段,可互相切换且切换时间短,传输距离远且保密性好等优点。NewMsg-RF905是国内公司以nRF905为核心的无线收发模块如图2-7。它的主要特点如下:图2-7 无线收发模块实物图主要特点如下: 工作频段为433MHz、868MHz和915MHz,可根据软件配置设置工作频率点。 具有FSK/GMSK调制功能,抗干扰能力强,特别适合工业控制采用DSS+PLL频率合成技术的场合,频率稳定性好。 灵敏度高,达到-100dBm。 工作电压为1.93.6V,功耗低,待机状态仅为2.5uA,可满足低功耗设备的要求。 最大发射功率达+10dBm。 具有多个频道(最多170个以上),能特别满足需要多信道工作的特殊场合。 工作速率最高可达50Kbps,具有收发一体、半双工和可切换的工作模式。 由于采用低发射功率和高接收灵敏度的设计,所以使用无须申请许可证。 处于接收模式时电流为12.5mA,在掉电模式时工作电流仅为2.5uA,功耗很低。寄存器配置芯片内部集成了电源管理、晶体振荡器、低噪声放大器、频率合成器和功率放大器等模块,曼彻斯特编码/解码由片内硬件完成,用户无须对数据进行曼彻斯特编码,因此,使用非常方便。射频配置寄存器参数说明如表2-4所示表2-4 RF905寄存器配置工作模式nRF905有两种活动模式和两种节电模式。活动模式 ShockBurst RX ShockBurst TX节电模式 掉电和SPI编程 STANDBY和SPI编程表2-5 工作模式设定ShockBurst TX发送流程 当微控制器有数据要发送时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给RF905。 微控制器置高TRX_CE和TX_EN,激发RF905的ShockBurst发送模式。 RF905的ShockBurstTM发送:射频寄存器自动开启;数据打包(加字头和CRC校验码);发送数据;当数据发送完成,数据准备好引脚被置高; AUTO_RETRAN被置高,RF905不断重发,直到TRX_CE被置低; 当TRX_CE被置低,RF905发送过程完成,自动进入空闲模式。RF905和单片机的连接电路如图2-8所示图2-8 无线收发模块与单片机相连RF905的输出口MISO与芯片SSI口的输入端相连,输入口MOSI与芯片SSI口的输出端相连。SCK口为时钟口与SSI的时钟相连,CSN为使能端与SSI的使能端相连,当为低电平时有效。其他接口与芯片的GPIO口相连,DR口告诉芯片发射数据完成,AM地址匹配这个接口告诉芯片接收到的数据地址是否匹配,CD接口为载波检测这个口告诉芯片收到的数据频率是否与设置相同。 温度数据接收硬件及工作原理3.1温度数据接收的硬件电路及工作原理本模块由单片机和接收模块组成,工作原理如图3-1所示图3-1 温度数据接收模块工作原理无线接收模块nRF905不断扫描信号,当有同频率的信号过来,RF905接收数据,然后将数据解压,通过SPI口送到单片机中,单片机将数据最后送到上位机,上位机即可处理数据。3.2 单片机选型这个模块采用STC公司的STC11L01-20单片机,此单片机是STC生产的单时钟/机器周期的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,比传统8051速度快8-12倍,内部集成高可靠复位电路,针对高速通信,只能控制,强干扰场合。工作电压2.1V3.6V,1K的Flash程序存储器,256字节的片内RAM,16个I/O口,有内置复位电路。3.3 电源电路及串口通信电路本模块的电源采用从上位机取电,在这里选择USB取电,USB既可以取电也可以通信,通过USB转换芯片CP2012实现上位机与单片机的通信。单片机与PC机通信大多数情况还是采用RS232串口作为通信接口实现的,而随着USB接口技术的成熟和使用的普及,由于USB接口有着一系列RS23串口无法比拟的优点,RS232串口正被USB串口所代替。现在又的笔记本电脑中,出于节省空间和用处不大的原因,RS232串口已经取消,这就约束了RS232串口与PC机的通信。USB与RS232串口的比较: USB接口支持即插即用和热插拔,而RS232串口不支持即插即用和热插拔,设备安装后需重启计算机方可使用。 USB接口的传输速率较快,USB2.0可达480Mbps,而RS232串口的最高速率仅为19200波特。 USB接口占用体积小,插拔方便;而RS232串口的插拔需要使用改锥,比较麻烦。所以将来USB必将替代RS232串口,为了适应将来电脑的发展,使通信不守约束,所以选择USB是最佳的选择。这样使用既可以给接收模块节省电源又可以实现通信一举两得。通过USB接口取的电为5V,而我们使用的单片机为3.3V,故需要通过DC模块转换电压供给单片机。USB有6个接口,除了三个接地,其中一个为VBUS这个接口专门为了取电,还有两个接口,分别为D+和D-,用来输出与输入。具体电路图如图3-2所示,图3-2 单片机电源与通信电路3.4 无线接收电路这个模块与发射模块一样,只需要将软件配置的发送流程改为接收流程,这个接收流程为: 当TRX_CE为高、TX_EN为低时,RF905进入ShockBurstTM接收模式; 650uS后,RF905不断监测,等待接收数据; 当RF905检测到同一频段的载波时,载波检测引脚被置高; 当接受到一个相匹配的地址,AM引脚被置高; 当一个正确的数据包接收完毕,RF905自动移去字头、地址和CRC校验码,然后把DR引脚置高; 微控制器把TRX_CE置低,nRF905进入空闲模式; 微控制器通过SPI口,以一定的速率把数据移到微控制器内; 当所有的数据接收完毕,nRF905把DR引脚和AM引脚置低。电路如图3-3所示:图3-3 单片机与接收模块连接电路第四章 软件设计 4.1 温度采集发射模块 4.1.1主程序主程序将要完成对系统的初始化,对温度传感器和无线发射模块的初始化,将温度传感器采集到的温度数据读到单片机中,然后通过SSI接口将数据送到无线发射模块RF905中,在这个过程中要写清地址。最后命令发送数据,收到数据发送完成信号即可返回再循环。主程序的流程图如图4-1所示:图4-1温度采集发射模块主程序流程图4.1.2 温度采集模块程序温度采集先将温度传感器初始化,然后再读温度数据,因为采用的温度传感器为数字温度传感器DS18B20,这个传感器为单总线形式,所以既要通过这条线从传感器读数据又要向传感器写命令,这样就要经常切换读和写的命令,而最重要的是读函数,大多数情况下我们采用的下面的两个函数GPIOPinTypeOut(GPIO_PORTD_BASE, GPIO_PIN_1)和GPIOPinTypeIn(GPIO_PORTD_BASE, GPIO_PIN_1)这两个函数完成GPIO口方向的切换。由于这是驱动库提供的API函数,因此在切换时占用了很大一部分时间(每次调用大约20us),由DS18B20读时序图可以看出:主机在读时序中采样总线必须在开始15us前完成。DS18B20在15us后会放开总线,总线会被上拉电阻拉至高电平,所以用这两个函数读回来的值都是1,基本上是FFFF。造成读写失败。如果采用下面的两个函数HWREG(GPIO_PORTD_BASE+0x00000400) |= (1 1)和HWREG(GPIO_PORTD_BASE+0x00000400) &= (0 1)这两个函数是基于寄存器的操作,使切换GPIO方向只需要不到1us的时间,这样就可以完全解决时间不够的问题。温度采集处理的主要程序,程序流程图如图4-2所示:图4-2温度采集流程图/DS18B20写一个字节void DS18B20WriteByte (unsigned char ucdata) unsigned char i = 0; HWREG(GPIO_PORTD_BASE+0x00000400) |= (1 0; i-) DQ_L(); if (ucdata & 0x01) DQ_L(); SysCtlDelay(5 * (TheSysClock / 3000000);/延时5ms DQ_H(); SysCtlDelay(30 * (TheSysClock / 3000000);/延时30ms else DQ_L(); SysCtlDelay(70 * (TheSysClock / 3000000); DQ_H(); SysCtlDelay(5 * (TheSysClock / 3000000); ucdata = 1; SysCtlDelay(2 * (TheSysClock / 3000000);/DS18B20读一个字节unsigned char DS18B20ReadByte (void) unsigned char i = 0; unsigned char ucdata = 0; for ( i = 8; i 0; i-) HWREG(GPIO_PORTD_BASE+0x00000400) |= (1 = 1; HWREG(GPIO_PORTD_BASE+0x00000400) &= (0 =0x0800) tx=(tx)+1; dis_buf3=(tx&0x000f)*625/1000;/小数部分 tx=tx=4; /正值整数部分 dis_buf0=0x13; dis_buf1=tx/10; dis_buf2=tx%10; else dis_buf3=(tx&0x000f)*625/1000; tx=tx=4; dis_buf0=0x13; dis_buf1=tx/10; dis_buf2=tx%10; 将采集到的温度数据还要经过十进制处理,方便观看。温度采集的程序流程图如图4.1.3 无线发射模块程序无线发射模块首先是对RF905初始化,配置它的寄存器,通过define定义每个寄存器。然后通过SSI写数据到RF905,写发送地址,写发送数据,最后使能芯片发送,使能要将TRX_CE和TX_EN引脚置高,则可以发射数据。等待直到发送完成。发射的主要程序,程序流程图如图4-3所示。图4-3 无线发射程序流程图void tx_nRF905(void) TX_ENPin_High(); CSNPin_Low(); SSIDataPut(0x22,dis_buf0);/写发送命令 SSIDataPut(0xE7,dis_buf1);/写发送地址和发送数据 SSIDataPut(0xE7,dis_buf2); SSIDataPut(0xE7,dis_buf3); CSNPin_High(); TRX_CEPin_High();/引脚置高发送数据 Delay(500); TRX_CEPin_Low();/引脚置低进入待机模式 4.2温度数据接收模块软件设计4.2.1主程序本模块的主程序主要完成两个任务,一个是命令无线接收模块RF905不断扫描接收数据,将接受到的数据读到单片机中暂存;一个是将暂存的温度数据通过USB接口将数据送到上位机。程序流程图如图4-4所示图4-4 温度数据接收模块主程序流程图4.2.2 数据接收模块程序对无线芯片初始化并且配置寄存器,然后发射等待接收数据命令,若接收完成则数据准备好引脚被置高,单片机收到信号,RF905进入待机模式。接收的主要程序,程序流程图如图4-5所示:图4-5 无线接收程序流程图void SpiWrite(uchar b) uchar i=8; while (i-) Delay(10); SCK=0; MOSI=(bit)(b&0x80);/通过SPI口数据是否接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【地理】四川省遂宁市安居区2024-2025学年高一下学期期中测试试题(解析版)
- 制造业产线优化提升方案
- 热浸镀工5S管理考核试卷及答案
- 宝玉石琢磨工5S管理考核试卷及答案
- 铁路车辆钳工工艺创新考核试卷及答案
- 绘图仪器制作工基础考核试卷及答案
- 木片装饰市场供需分析报告
- 预防故障措施研究分析报告
- 基于云平台的企业数据备份解决方案
- 2024-2025学年肥西县中考适应性考试数学试题含解析
- 2023三基三严考试题库及答案
- GB/T 90.2-2002紧固件标志与包装
- 管理者角色认知与转换课件
- 2023年高校教师职业道德题库附答案(完整版)
- 护理管理学考试题库与答案
- 建筑防火设计-教学课件作者-主编-李耀庄-徐彧-建筑防火设计课件
- 静脉输液风险评估
- 水力发电厂生产安全性评价
- 全国质量奖现场汇报材料(生产过程及结果)课件
- 短歌行(优质课一等奖).课件
- 北师大版小学数学五年级上册第一单元《练习一》同步练习带答案
评论
0/150
提交评论