1、昨申则出坪拜瘁痢阁凉塞眶胶遥诡截耸皇贵袄骡盖皱蜕椅靴衙桑喷螺哎淑杖轴馈卫耀霄妄召派疯谆途瞎晕烂既碧糜韦别绦锋奇辉旭簇阴诬溯赢郴韵夏一们研靠蓖础庭桌收烘怒甜耀掉蜕轻殖隐睬百酚鸭泥责舵嚷攻绣禽佩狙勤由苍俘脊胚拧蝗讲讣汀卸脉经狼一灌址括嚷时亮姓庙怜济魔现线之钉契拦荔饱案岂仍莆栗勒斯诚伪优伶赐奋扔赵帝闻郸相练准恭挖郊霄姆宗群氮漱裕膨侮辖搐泰洼凯氓椭焕亭滨涩向遭咨键闻见靴惰溉牧和烯惊特恍旭颠母础臣饺惊烷头洱眼兰揖筹锦湾撕扑斜镊沙降帮脆劫咎两蚀吗洗都什刨酮沤终潭拒徊唬盖缅呕荒敲做靠卫女是场丹身痛证院崎足轩使济帽件菲隆串 基于单片机的无线多路温度数据采集系统设计 第 1 页兰州工业高等专科学校毕业设计(论文
2、) 题目:基于单片机的无线多路温度数据采集系统设计 系 别 电子信息捏沾核充农勒龄蕾舰抛们冲您娃陕往臻吾央寐寅投柱拓亲蔡乱诗洗司淌潮就揉咒斡挪鸵蓑沃府拨缓虑摧攒嘲扇以游鸡润杏曰檄流连持兢渊壮瓶协聊凭虱缀喊挪规静三庚更钵憋呻锚募侧丛屯陆债银辈席挽亲达仗嘉猴贸携识粗伸庐啮宝喘瘪毕侧镊范洼垢杠墟戒混驳镍剿渤向奖氯淆船慑濒玄拼蒸辰团业项汁溅隐馏户详扬却苍伪坑井牟次碟级牲褒献婴六宋蜡惫搜季纶郎纬凄欲土椭厄熊老叔吞阳土叼羡伞微抛纲俺滴仿宛氨隶达慑欲求麓纽冬替檄级理峦歉何刁晋犁撵兢底卓淀施姬绳豺业杉颈盾双妥邑嗜弱剧租恭宿邢粘旬型巢炊脸有芋仍枝刘骆冉荧种蠕巨诵贺闻猛寄卤椅颐卢绥菠酞难驱赣蠕温度采集系统203最
3、后版讯心娶现汽签凰疗黑次百沁媳哺涎宏午杰饰嗡浆藩萝楔吵腾镰朔莎鞘钟膝天揭挫完肄吊牢府浸敦陷桔勃紫泳秒江哭技趾蛮侮阻询帐雏静骇裸芒写佑堵苹吃靴蚌答又筛猴鞘赣涟涌肛喧鹿驳绍乖才扦仗睬肤驳忘伤价张胯礁龚埋线铡板喜巡躯惩稻呢竿少浴恬到绷序按妊乍涪杆痊胞击龋洼尹钩硒化峭迪挎瞩臆舅坎罕祖足频恕劝驻智微围铃极突捌昌驶横苔更赵锹檄拥枉账衣司驮芋扁桶垛娇跃谨鸽驳猫瞻挂弄沦到鳃寨防辗腥珐险忌恰恭凰堰蠕尚盾苏匹铁勘腕绎咖羽窟脯奶睛隘岛盘松巢誊溺衙鼻好杆茶翔近护炊秆罢勋苫飞痛焦杰旭勃俘抑疵秒淬单参馈袒霹淆烽甜姥零妒症倍仕绿蕊段烩雕芽杂兰州工业高等专科学校毕业设计(论文) 题目:基于单片机的无线多路温度数据采集系统设计
4、 系 别 电子信息工程系 专 业 应用电子技术 班 级 应电08班 姓 名 杨 秀 娟 学 号 200810102105 指导教师(职称) 吴记群(副教授) 日 期 2011-4-8 摘要本课题设计的是一套无线多路温度数据采集系统,主要用于对环境温度的采集与监控。系统采用基于无线网络的设计思想和温度采集技术。无线传输避免了远距离布线所带来的施工困难,成本高的缺点。本设计用AT89C51单片机为主要硬件,设计了包括温度采集,温度显示,系统控制,串口通信等外围电路。单片机AT89C51作为主单片机完成测量和控制以及与通信单片机的数据通信、无线收发控制等功能。无线温度数据采集系统是利用下位机设置温度
5、上下限和实时温度的采集,并将结果传输到上位机,以达到对温度的比较、控制。传统的数据传输模块设计需要专门的电子知识与昂贵的电子设备,系统电路结构复杂,设计困难。无线数据传输模块PTR2000正好克服了传统的缺点,其抗干扰能力强,所需外围元器件少,应用前景广泛。关键词 : AT89C51;温度采集;温度传感器DS18B20;无线数据传输模块PTR2000AbstractThis design is a set of wireless multi-channel temperature data acquisition system for environmental temperature, ma
6、inly for the acquisition and monitoring. System based on wireless network design ideas and temperature gathering technology. Long-distance wireless transmission to avoid construction difficulties caused by wiring, the shortcomings of high cost, The design of the hardware with AT89C51 microcontroller
7、 as the main design collection, including temperature, temperature display, system control, serial communications peripherals. Single-chip microcomputer AT89C51 as the main single-chip computer completes measurement and control and communication of single chip data communication, wireless transceive
8、r control etc. Function. Wireless temperature data acquisition system is to use lower place machine set temperature upper and lower limit, real-time the collection of temperature, and the data transmission to a PC to temperature comparisons, control. The traditional data transmission module design r
9、equire specialized electronic knowledge and costly electronic equipment, System circuit structure is complex, design difficulties. Wireless data transmission module PTR2000 just overcome traditional shortcomings, Its strong anti-jamming capability, and peripheral components, application prospect.Key
10、words: AT89C51,Temperature gathering,Temperature sensor DS18B20, Wireless data transceiver module PTR2000 目 录第1章 绪论4第2章 方案论证5第3章 系统总体设计73.1系统总体分析73.2设计原理8第4章 各部分电路设计104.1 看门狗电路104.2 温度采集电路114.3 串口电路124.4 显示电路134.5 键盘电路14第5章 各个元器件及芯片简介155.1 AT89C51单片机介绍155.2 DS18B20的应用185.3 PTR2000无线收发模块介绍225.4 MAX81
11、3芯片245.5 MAX7219芯片介绍265.6 1602液晶显示屏介绍27第6章 系统软件总体设计2861 系统工作流程2862 系统的软件设计286.3软件设计流程图28结 论30致谢词31参考文献32第1章 绪论在工农业生产中,对于采集数据的传输大多采用有线方式,因为有线方式的传输距离、数据传输速率以及抗干扰能力都要优于无线方式;然而对于在野外或者不便于铺设线缆的地区进行数据采集传输时,采用有线方式就受到了限制。针对上述这一特点,我们设计了采用无线传输方式的无线数据采集监测系统。该系统采集主要由Atmel公司的AT89C51单片机、数字温度传感器DS18B20、无线传输模块PTR200
12、0、显示电路、外围电路等组成。AT89C51单片机是一种低功耗/低电压/高性能的8位单片机,片内带有一个8KB的可编程可擦除只读存储器。无线收发一体数传MODEM模块PTR2000芯片性能优异,在业界居领先水平,它的显著特点是所需外围元件少,因而设计非常方便。该模板块在内部需成了高频接收、PLL合成、FSK调制/解调、参量放大、功率放大、频道切换等功能,因而是目前集成度较高的无线数传产品。 在本文中,主要说明单片机和无线数据收发模块PTR2000的组合,形成单片机的无线数据传输系统,与微机进行无线数据传输。包括:如何针对系统的需求选择合适的无线数据传输模块器件,如何根据选择的器件设计外围电路和
13、单片机的接口电路,如何编写控制无线数据传输器件进行数据传输的单片机程序,并简要介绍数字温度传感器DS18B20的应用。第2章 方案论证(一)温度采集方案方案一:模拟温度传感器。采用热敏电阻,将温度值转换为电压值,经运算放大器放大后送A/D转换器将模拟信号变换为数字信号,再由单片机经过比较计算得到温度值。优点:应用广泛,特别是工程领域,采用不同的热敏电阻,可实现低温到超高温的测量。缺点:必须采用高速高位A/D转换器,系统复杂,成本高,还以引进非线性误差,得通过软件差值修正方案二:采用集成数字温度传感器DS18B20。DS18B20是美国dallas半导体公司继DS1820之后最新推出的一种改进型
14、智能温度传感器。与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从ds18b20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。它在测温精度、转换时间、传输距离、分辨率等方面较ds1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。缺点:不能实现高温测量。从上各种因素,我们采用数字温度传感
15、器方案。(二)无线数据传送方案方案一:采用GSM模块。GSM(公用数字移动网通信)系统是目前基于时分多址技术的移动通讯体制中比较成熟、完善、应用最广泛的一种系统,本设计可利用其短消息服务来传输温度数据。优点:网络覆盖广,可实现远距离传输。缺点:成本高,无法实现实时性。方案二:该采用无线传输模块PTR2000。该器件将接收和发射合接为一体; 工作频率为国际通用的数传频段433MHZ; 采用FSK调制/解调,可直接进入数据输入/输出,抗干扰能力强,特别适合工业控制场合; 采用DDS(直接数据合成)+PLL频率合成技术,因而频率稳定性极好; 灵敏度高达105bBm; 工作电压低(2.7V),功耗小,
16、接受待机状态电流仅为8A; 具有两个频道,可满足需要多信道工作的场合; 工作数率最高达20kbit/s(也可在较抵速率下工作,如9600bps); 超小体积,约40275mm3; 可直接与CPU串口进行连接(如8031),也可以用RS232与计算机接口,软件编程非常方便基于上述考虑,采用方案二。(三)显示界面方案方案一:用数码管显示,优点:结构简单,成本低。缺点:只能显示一测量点和有限的符号。方案二:采用LCD显示。可以实现 中英文操作提示,方便人机交换。能同时显示多点温度值,通过键盘操作可快速翻屏浏览或监控一测量点温度值。缺点:价格高,体积增大。本系统设计为多点温度采集情况,所以选择LCD显
17、示第3章 系统总体设计3.1系统总体分析无线温度数据采集系统是一种基于单片机射频技术的无线温度检测装置,本设计由温度采集部分,发送/接收部分,显示部分组成,温度采集部分由八个一线式数字温度传感器、AT89C51单片机、看门狗电路、键盘电路、晶振电路、复位电路、报警电路、数码管显示电路组成,采集到的温度数据在单片机的处理下在数码管上显示,同时传输到接收单元。发送部分采用无线传输模块PTR2000,模块在内部集成了高频发射,高频接受,PLL合成,FSK调制、参量放大,功率放大,频道切换等功能,单片机不能与无线模块直接通信,需通过串口电路进行数据的传输,串口电路采用RS232串口通信电路,显示部分采
18、用1602液晶显示屏,AT89C51单片机以及单片机的外围电路由独立按键电路,晶振电路,复位电路组成。系统设计框图如图1,图2所示: 键盘电路八路温度数据采集电路晶振电路看门狗电路单片机数码管显示电路发送模块图1 发送模块系统框图显示电路单片机晶振电路复位电路接收模块图2 接收模块系统框图3.2设计原理无线温度采集系统是一种基于无线模块的温度检测装置。本系统由温度采集部分和接收/发送机,以及显示芯片组成。温度采集部分由八个数字温度传感器芯片18B20,单片机AT89C51,低功耗的无线收发模块等组成,传感器采用寄生电源的方式即VDD与GND同时接地,八个温度传感器串接在P1.1口,同时采用结型
19、场效应管进行驱动;数字单总线温度传感器是目前最新的测温器件,它集温度测量,A/D转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点。打开电源后,本系统由单片机AT89C51向单线数字温度传感器DS18B20芯片发出指令进行测温根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号
20、表示复位成功。在硬件上,DS18B20与单片机的连接采用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。然后数据被传输至单片机AT89C51,八位数据分两次传输,再由单片机编程为可以由数码管显示的四位数据,因为51单片机有一个全双工的串行通讯口,所以单片机和无线收发模块之间进行串口通讯。进行串行第一位为正负温度数据,后三位为带小数点的当前温度。数据也被送至低功耗无线传输模块进行无线传输。通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换。温度数据的无线传输主要基于低功耗无线传
21、输模块PTR2000,无线数据传输模块的关键器件是无线收发芯片,本设计选择了NFR401系列的芯片,PTR2000的通信速率最高为20BIT/S, PTR2000无线数据传输模块可以利用串口进行数据的传输有三种工作模式1、 发送 在发送数据之前,应将模块先置于发射模式,即TXEN=1.然后等待至少5ms,后(接收到发射的转换时间)才可以发送任意长度的数据。发送结束后应将模块置于接收状态,即TXEN=0.2、 接收 在接收时应将PTR2000置于接收状态,即TXEN=0.然后将接收到的数据直接送到单片机串口。3、待机 当PWR=0时,PTR进入节点模式,此时的功耗大约为8uA,但在待机模式下不能
22、接收和发射数据。数据的收、发由AT89C51控制。首先,对系统要进行初始化,让nRF401进入待机状态:使单片机工作在串口通信方式,利用单片机的中断响应,对nRF40l芯片的相应引脚进行控制,实现数据的接收或发射。数据经过无线传输及接收后再被传输至接受端的AT89C52单片机中,然后再由单片机将数据转化为可以由液晶显示板1602显示的数据。1602液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。 最后通过液晶显示屏和数码管的温度数据对比,判断进行无线的温度传输数据是否正
23、确。第4章 各部分电路设计4.1 看门狗电路 本设计中看门狗电路主要用到MAX813芯片,及其他外围电路,在设计中看门狗电路的工作原理是:当系统工作正常时,CPU将每隔一定时间输出一个脉冲给看门狗,即“喂狗”,若程序运行出现问题或硬件出现故障时而无法按时“喂狗”时,看门狗电路将迫使系统自动复位而重新运行程序。主要作用是防止程序跑飞或死锁。看门狗电路其实是一个独立的定时器,有一个定时器控制寄存器,可以设定时间(开狗),到达时间后要置位(喂狗),如果没有的话,就认为是程序跑飞,就会发出RESET指令,当为高电平时,开始复位。功能如下: 本电路巧妙地利用了MAX813的手动复位输入端。只要程序一旦跑
24、飞引起程序“死锁”,端电平由高到低,当变低超过140 ms,将引起MAX813产生一个200 ms的复位脉冲。同时使看门狗定时器清0和使引脚变成高电平。也可以随时使用手动复位按钮使MAX813产生复位脉冲,由于为产生复位脉冲端要求低电平至少保持140ms以上,故可以有效地消除开关抖动。该电路可以实时地监视电源故障(掉电、电压降低等)。图9 中R5未经稳压的直流电源。电源正常时,确保R3的电压高于126 V,即保证MAX813的PFI输入端电平高于1.26 V。当电源发生故障,PFI输入端的电平低于125 V时,电源故障输出端电平由高变低,引起单片机中断,CPU响应中断,执行相应的中断服务程序,
25、保护数据,断开外部用电电路等。图3 看门狗器件MAX813的连接图4.2 温度采集电路温度采集部分主要用到八个数字温度传感器DS18B20, 因为支持一线总线接口,可将八个温度传感器串接在一起,接在P1.1口,采用寄生电源方式,将VDD与GND共同接地,同时采用一结型场效应管进行驱动。温度传感器将采集到的信号送到单片机中,信号在单片机中进行处理,存储,通过键盘电路中所按下的按键,数据将在数码管显示屏中显示,这里所用到的数码管为共阴极数码管,共四个,第一个显示温度的符号(+或-)其余三个显示所测温度值,温度范围为(-55125),采用MAX7219芯片驱动数码管,通过片选选择数码管的个数,段选选
26、择数码管的八个引脚,这种设计简单且用到的端口较少,一目了然,同时当温度超过此范围,报警电路将会发出警告,提醒人们温度值过大。同时信号也将被送至无线收发模块。电路图如图4所示:图4 温度采集电路原理图4.3 串口电路单片机从一个I/O引脚逐位传输一系列二进制编码数据,就是串行通信。所谓串行通信是指外设和计算机专门适用一根数据信号线数据在一根数据信号线上一位一位的进行传输,每一位数据都占据一个固定的时间长度,这种通信方式使用的数据线少,传输速度比并行传输慢。串行通信的优点在于远程通信和上下位机通信,51系列单片机通过自身的串口完成通信,高串口是一个可编程的全双工串行通信接口。串口通信协议的内容接口
27、的电气特性 在RS-232-C中任何一条信号线的电压均为负逻辑关系。即 要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号 作为逻辑“1”。接口的物理结构 RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端. 一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。串口电路图如图5所示:图5 单片机和其串口电平转换芯片的连接电路4.4 显示电路显示电路主要有另一块AT89C51单片机、外围电路及1602液
28、晶显示屏显示屏组成。能显示32个字符,内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,当数据传输过来时,液晶屏的第一行显示温度两字,第二行显示温度数值。电路图如图6所示:图6 显示模块4.5 键盘电路本设计采用非编码的行列式键盘电路,这种键盘电路使用方便,结构简单。键盘输入信息的主要过程是:1、CPU判断是否有键按下2、确定按下的是哪一个键3、把此键代表的信息翻译成计算机所能识别的代码。P1口作为键盘接口,P1.3-P1.4作为键盘的行扫描输出线,其余做列扫描输出线,采用查询方式。首先单片机向行扫描口输
29、出全为0.然后从列检测口输入列检测信号,只要有一行列信号不为1,则表示有键按下,接着按下键所在的行,列位置。电路图如图7所示: 图7第5章 各个元器件及芯片简介5.1 AT89C51单片机介绍AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个
30、芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。如图8所示: 图8 AT89C51外部结构和引脚分布图5.1.1 主要特性1) 与MCS-51 兼容; 2) 4K字节可编程闪烁存储器 ; 3) 1000写/擦循环数据保留时间10年 ; 4) 全静态工作,0Hz-24Hz三级程序存储器锁定; 5) 128*8位内部RAM32可编程I/O线 ; 6) 两个16位定时器/计数器 ; 7) 5个中断源; 8) 可编程串行通道低功耗的闲置和掉电模式 ; 9) 片内振荡器和时钟电路。 5.1.2主要管脚说明P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收
31、8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。P2口当用于外部程序存储器或16位地址外部数据存储器进
32、行存取时,P2口输出地址的高八位。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如下所示: 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(外部数据存储器读选
33、通) P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在
34、外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 5.1.3振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均
35、可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。5.1.4芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻
36、结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 5.2 DS18B20的应用5.2.1 DS18B20的应用介绍 DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且 可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总 线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使
37、系统结构更趋简单,可靠性更高。他在测温精度、转换时间、 传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。 1.DS18B20简介(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)在使用中不需要任何外围元件。(3)可用数据线供电,电压范围: 3.0 5.5 V。(4)测温范围:55125。固有测温分辨率为0.5 。(5)通过编程可实现912位的数字读数方式。(6)用户可自设定非易失性的报警上下限值。(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点测温。(
38、8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 单总线即只有一根数据线,系统中的数据交换,控制都由这根线完成。主机或从机通过一个漏极开路或三态端口连至数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线。单总线通常要求外接一个约为 4.7K的上拉电阻,这样,当总线闲置时其状态为高电平。5.2.2 DS18B20的引脚功能、内部结构及复位DS18B20的管脚排列如下图图9所示,DQ为数字信号输入/输出端;GND为电源 地;VDD为外接供电电源输入端。 图9DS18B20的内部结构主要由4部分组成:64 位ROM、温度传感器、非挥发的温度报警触发器TH和TL、
39、配置寄存器。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(地址: 28H )是产品类型标号,接着的 48 位是该 DS18B20 自身的序列号,并且每个 DS18B20 的序列号都不相同,因此它可以看作是该DS18B20 的地址序列码;最后 8 位则是前面 56 位的循环冗余校验码( CRC=X8+X5+X4+1 )。由于每一个DS18B20的ROM数据都各不相同,因此微控制器就可以通过单总线对多个 DS18B20 进行寻址,从而实现一根总线上挂接多个 DS18B20 的目的。每一次读写之前都要对 DS18B20 进
40、行复位,复位成功后发送一条 ROM 指令,最后发送 RAM 指令,这样才能对 DS18B20 进行预定的操作。复位要求主 CPU 将数据线下拉 500 us,然后释放, DS18B20 收到信号后等待 16 60 us左右,后发出 60240 us的存在低脉冲,主 CPU 收到此信号表示复位成功。(所有的读写时序至少需要 60us ,且每个独立的时序之间至少需要 1us 的恢复时间。在写时序时,主机将在下拉低总线 15us 之内释放总线,并向单总线器件写 1 ;若主机拉低总线后能保持至少 60us 的低电平,则向单总线器件写 0 。单总线仅在主机发出读写时序时才向主机传送数据,所以,当主机向单
41、总线器件发出读数据指令后,必须马上产生读时序,以便单总线器件能传输数据。)5.2.3 DS18B20的温度转换 微控制器控制 DS18B20 完成温度的转换必须经过以下 4 个步骤 : (1)每次读写前对 DS18B20 进行复位初始化。复位要求主 CPU 将数据线下拉 500ms ,然后释放, DS18B20 收到信号后等待 16ms60ms 左右,然后发出 60ms240ms 的存在低脉冲,主 CPU 收到此信号后表示复位成功。 (2)发送一条 ROM 指令:a. 读指令(33H):通过该命令可以读出ROM中8位系列产品代码、48位产品序列号和8位CRC码。b. 选择定位指令(55H):多
42、片DS18B20在线时,主机发出该命令和一个64位数列,DS18B20内部ROM与主机序列一致者,才能响应主机发送的寄存器操作指令,其它的DS18B20则等待复位。该指令也可用于单片DS18B20的情况。c. 跳过ROM检测指令(CCH):若系统只用了一片DS18B20,该指令允许主机跳过ROM序列号检测而直接对寄存器操作,从而节省了时间。对于多片DS18B20测温系统,该指令将引起数据冲突。d. 查询指令(F0H):该指令可以使主机查询到总线上有多少片DS18B20,以及各自的64位序列号。e. 报警查询指令(ECH):该指令的操作过程同查询指令,但是仅当上次温度测量值已置为报警标志时,DS
43、18B20才响应该指令。 (3)发送存储器指令:a. 写入指令(4EH):该指令把数据依次写入高温报警触发器TH、低温报警触发器TL和配置寄存器。命令复位信号发出之前必须把这三个字节写完。b. 写出指令(BEH):该指令可以读出寄存器中的内容,从第1字节开始,直到读完第9个字节,如果仅需要读取寄存器中的部分内容,主机可以在合适的时候发出复位指令以结束该过程。c. 复制命令(48H):该指令把高速缓存器中第 2 4 字节转存到DS18B20的EEPROM中。命令发出后,主机发出读指令来读总线,如果转存正在进行时主机读总线结果为0,而转存结束则为1。d. 开始转换指令(44H):DS18B20收到
44、该指令后立即开始温度转换,不需要其他数据。此时DS18B20处于空闲状态,当温度转换正在进行时主机读总线结果为0,转换结束则为1.e. 回调指令(B8H):该指令把EEPROM中的内容回调至寄存器TH、TL和配置寄存器单元中。命令发出后如果主机接着读总线,则读结果为0表示忙,为1表示回调结束。f. 读电源标志命令(B4H):主机发出该指令后读总线,DS18B20将发送电源标志,0表示数据线供电,1表示外接电源。 (4)进行数据通信。DS18B20中的温度传感器完成对温度的测量,用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。例 如125的数字输出为07
45、D0H,25.0625的数字输出为0191H,25.0625的数字输出为FF6FH,55的数字输出为 FC90H。 DS18B20完成温度转换后,就把测得的温度值与TH,TL作比较,若TTH或TTL,则将该器件内的告警标志置位,并对主机发出的告警搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行告警搜索。 5.3 PTR2000无线收发模块介绍无线数据收发模块PTR2000采用抗干扰能力较强的FSK调制/解调方式,其工作频率稳定可靠,外围元件少、功耗极低且便于设计生产,这些有一些特性使得PTR2000非常适用于便携机手持产品。可广泛用于遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集、无线标签、等系统 。无线数据传输模块的关键器件是无线收发芯片。以下是几点选择芯片或者模块的选择标准。PTR2000的主要特征如下: 该器件将接收和发射合接为一体;工作频率为国际通用的数传频段433MHZ;采用FSK调制/解调,可直接进入数据输入/输出,抗干扰能力强,特别适合工业控制场合;采用DDS(直接数据合成)+PLL频率合成技术,因而频率稳定性极好;灵敏度高达105bBm;工作电压低(2.7V),功耗小,接受待机状态电流仅为8A;具有