1、基于单片机的无线多路温度数据采集系统设计第 1 页 共 32 页摘 要本课题设计的是一套无线多路温度数据采集系统,主要用于对环境温度的采集与监控。系统采用基于无线网络的设计思想和温度采集技术。无线传输避免了远距离布线所带来的施工困难,成本高的缺点。本设计用 AT89C51 单片机为主要硬件,设计了包括温度采集,温度显示,系统控制,串口通信等外围电路。单片机 AT89C51 作为主单片机完成测量和控制以及与通信单片机的数据通信、无线收发控制等功能。无线温度数据采集系统是利用下位机设置温度上下限和实时温度的采集,并将结果传输到上位机,以达到对温度的比较、控制。关键词 : AT89C51 温度采集
2、温度传感器 DS18B20 RS-232 MAX813 无线收发模块 PTR20002AbstractThis paper introduces a kind of wireless monitoring system which is used to control temperature condition. The system adopts wireless network and temperature collect technique. The wireless communication can avoid the shortcoming of remote wire tran
3、smission, such as large wastage, high cost etc. This design uses AT89C51,The monolithic integrated circuit is the main hardware, In order to realize design goal this design including temperature gathering, the temperature demonstrated that, the systems control, strung together periphery electric cir
4、cuit and so on mouth correspondence.The main MCU (AT89C51) takes charge of measurement,control and communication with the communication MCU. The communication MCU (AT89C51) is used to control receiving and sending data in the wireless communication. The system wireless temperature control system is
5、uses in the lower position machine establishment temperature the lower limit, with real-time temperature gathering, transmits to on position machine,by achieves to the temperature comparison, the control.Key words: AT89C51 Temperature gathering DS18B20 RS-232 MAX813 PTR2000 wireless communication基于单
6、片机的无线多路温度数据采集系统设计 第 3 页 共 32 页目 录第 1 章 绪论 4第 2 章 方案论证 5第 3 章 系统总体设计 73.1 系统总体分析 .73.2 设计原理 .8第 4 章 各个元器件及芯片简介 .104.1 AT89C51 单片机介绍 .104.2 DS18B20 温度传感器简介 .124.3 PTR2000 模块介绍 .134.4 MAX813 芯片介绍 144.5 MAX7219 芯片介绍 .154.6 1602 液晶显示屏介绍 .16第 5 章 各部分电路设计 .175.1 看门狗电路 .175.2 温度采集电路 185.3 串口电路 195.4 显示电路 .2
7、05.5 键盘电路 .21结 论 .28致谢词 .29参考文献 .30附录 1:硬件总图 .314第 1 章 绪论在工农业生产中,对于采集数据的传输大多采用有线方式,因为有线方式的传输距离、数据传输速率以及抗干扰能力都要优于无线方式;然而对于在野外或者不便于铺设线缆的地区进行数据采集传输时,采用有线方式就受到了限制。针对这一特点,设计了采用无线传输方式的无线数据采集监测系统。该系统采集主要以 Atmel 公司的 AT89C51 单片机为控制处理核心,由它完成对数据的采集处理以及控制数据的无线传输。AT89C51 单片机是一种低功耗/低电压/高性能的 8 位单片机,片内带有一个 8KB 的可编程
8、可擦除只读存储器。无线收发一体数传 MODEM 模块 PTR2000 芯片性能优异,在业界居领先水平,它的显著特点是所需外围元件少,因而设计非常方便。该模板块在内部需成了高频接收、PLL 合成、FSK 调制/解调、参量放大、功率放大、频道切换等功能,因而是目前集成度较高的无线数传产品。在本文中,主要说明单片机和无线数据收发模块 PTR 2000 的组合,形成单片机的无线数据传输系统,与微机进行无线数据传输。包括:如何针对系统的需求选择合适的无线数据传输模块器件,如何根据选择的器件设计外围电路和单片机的接口电路,如何编写控制无线数据传输器件进行数据传输的单片机程序,并简要介绍数字温度传感器 DS
9、18B0 的应用。基于单片机的无线多路温度数据采集系统设计 第 5 页 共 32 页第 2 章 方案论证(一)温度采集方案方案一:模拟温度传感器。采用热敏电阻,将温度值转换为电压值,经运算放大器放大后送 A/D 转换器将模拟信号变换为数字信号,再由单片机经过比较计算得到温度值。优点:应用广泛,特别是工程领域,采用不同的热敏电阻,可实现低温到超高温的测量。缺点:必须采用高速高位 A/D 转换器,系统复杂,成本高,还以引进非线性误差,得通过软件差值修正方案二:采用集成数字温度传感器 DS8B20。该传感器采用单总线接口,能方便的与单片机通信。测温范围从-55 到+125,测温精度 9-12 位可调
10、,12 位时最大转换时间为 750ms,完全满足本设计的要求。缺点:不能实现高温测量。从上各种因素,我们采用数字温度传感器方案。(二)无线数据传送方案方案一:采用 GSM 模块。GSM(公用数字移动网通信)系统是目前基于时分多址技术的移动通讯体制中比较成熟、完善、应用最广泛的一种系统,本设计可利用其短消息服务来传输温度数据。优点:网络覆盖广,可实现远距离传输。缺点:成本高,无法实现实时性。方案二:该采用无线传输模块 PTR2000 。该器件将接收和发射合接为一体;工作频率为国际通用的数传频段 433MHZ; 采用 FSK 调制/解调,可直接进入数据输入/输出,抗干扰能力强,特别适合工业控制场合
11、; 采用 DDS(直接数据合成)+PLL 频率合成技术,因而频率稳定性极好; 灵敏度高达105bBm; 工作电压低(2.7V) ,功耗小,接受待机状态电流仅为 8A; 具有两个频道,可满足需要多信道工作的场合; 工作数率最高达 20kbit/s(也可在较抵速率下工作,如 9600bps); 超小体积,约 40275mm3; 可直接与 CPU 串口进行连接(如 8031) ,也可以用 RS232 与计算机接口,软件编程非常方便基于上述考虑,采用方案二。(三)显示界面方案方案一:用数码管显示,优点:结构简单,成本低。缺点:只能显示一测量点和有限的符号。6方案二:采用 LCD 显示。可以实现 中英文
12、操作提示,方便人机交换。能同时显示多点温度值,通过键盘操作可快速翻屏浏览或监控一测量点温度值。缺点:价格高,体积增大。本系统设计为多点温度采集情况,所以选择 LCD 显示基于单片机的无线多路温度数据采集系统设计 第 7 页 共 32 页第 3 章 系统总体设计3.1 系统总体分析无线温度数据采集系统是一种基于单片机射频技术的无线温度检测装置,本设计由温度采集部分,发送/接受部分,显示部分组成,温度采集部分由八个一线式数字温度传感器、AT89C51 单片机、看门狗电路、键盘电路、晶振电路、复位电路、报警电路、数码管显示电路组成,采集到的温度数据在单片机的处理下在数码管上显示,同时传输到接收单元。
13、发送部分采用无线传输模块PTR2000,模块在内部集成了高频发射,高频接受,PLL 合成,FSK 调制、参量放大,功率放大,频道切换等功能,单片机不能与无线模块直接通信,需通过串口电路进行数据的传输,串口电路采用 RS232 串口通信电路,显示部分采用1602 液晶显示屏,AT89C51 单片机以及单片机的外围电路由独立按键电路,晶振电路,复位电路组成。系统设计框图如下:单片机数码管显示电路发送模块发送模块系统框图看门狗电路晶振电路八路温度数据采集电路键盘电路8晶振电路复位电路 接收模块接收模块系统框图3.2 设计原理无线温度采集系统是一种基于无线模块的温度检测装置。本系统由温度采集部分和接收
14、/发送机,以及显示芯片组成。温度采集部分由八个数字温度传感器芯片18B20,单片机AT89C51,低功耗的无线收发模块等组成,传感器采用寄生电源的方式即VDD与GND同时接地,八个温度传感器串接在P1.1口,同时采用结型场效应管进行驱动;数字单总线温度传感器是目前最新的测温器件,它集温度测量,A/D转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点。打开电源后,本系统由单片机AT89C51向单线数字温度传感器DS18B20芯片发出指令进行测温根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条
15、ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。在硬件上,DS18B20与单片机的连接采用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。然后数据被传输至单片机AT89C51,八位数据分两次传输,再由单片机编程为可以由数码管显示的四位数据,因为51单片机有一个全双工的串行通讯口,所以单片机和无线收发模块之间进行串口通讯。进行串行第一位为正负温度数据,后三位为带小数点的当前温度。数据也被送至低功耗无线
16、传输模块进行无线传输。通讯时要满足一定的条件,比如电脑的串口是RS232电平的,单片机显示电路基于单片机的无线多路温度数据采集系统设计 第 9 页 共 32 页而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换。温度数据的无线传输主要基于低功耗无线传输模块PTR2000,无线数据传输模块的关键器件是无线收发芯片,本设计选择了NFR401系列的芯片,PTR2000的通信速率最高为20BIT/S, PTR2000无线数据传输模块可以利用串口进行数据的传输有三中工作模式1,发送 在发送数据之前,应将模块先置于发射模式,即 TXEN=1.然后等待至少
17、5ms,后(接收到发射的转换时间)才可以发送任意长度的数据。发送结束后应将模块置于接收状态,即 TXEN=0.2, 接收 接收时应将 PTR2000 置于接收状态,即 TXEN=0.然后将接收到的数据直接送到单片机串口。3,待机 当 PWR=0 时,PTR 进入节点模式,此时的功耗大约为 8uA,但在待机模式下不能接收和发射数据。数据的收、发由 AT89C51 控制。首先,对系统要进行初始化,让nRF401 进入待机状态:使单片机工作在串口通信方式,利用单片机的中断响应,对 nRF40l 芯片的相应引脚进行控制,实现数据的接收或发射。数据经过无线传输及接收后再被传输至接受端的 AT89C52
18、单片机中,然后再由单片机将数据转化为可以由液晶显示板 1602 显示的数据。1602 液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。 最后通过液晶显示屏和数码管的温度数据对比,判断进行无线的温度传输数据是否正确。10第 4 章 各个元器件及芯片简介4.1 AT89C51 单片机介绍AT89C51 单片机简介AT89C51 是一种带 4K 字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Me
19、mory)的低电压,高性能 CMOS8 位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。 1主要特性:1:与 MCS-51 兼容 2:4K 字节可编程闪烁存储器 3:1000 写/ 擦循环数据保留时间 10 年 4:全静态工作,0Hz-24Hz三级程序存储器锁定 5:128*8位内部 RAM32 可编程 I/O
20、线 6:两个 16 位定时器 /计数器 7:5 个中断源 8:可编程串行通道低功耗的闲置和掉电模式 9:片内振荡器和时钟电路 2主要管脚说明:基于单片机的无线多路温度数据采集系统设计 第 11 页 共 32 页P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P1 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。 P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收输出 4TTL 门电流。P1口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部
21、下拉为低电平时,将输出电流,这是由于内部上拉的缘故。P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输出 4 个 TTL 门电流,当P2 口被写“1” 时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址的高八位。P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。当 P3 口写入 “1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3 口将输出电流
22、(ILL)这是由于上拉的缘故4.2 DS18B20 温度传感器简介DS18B20 是 DALLAS 公司生产的一线式数 字温度传感器,具有 3 引脚TO92 小体积封装形式;温度测量范围为55125可编程为 9 位12位 A/D 转换精度,测温分辨率可达 0.0625,被测温度用符号扩展的 16 位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个 DS18B20 可以并联到 3 根或 2 根线上,CPU 只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使 DS18B20 非常适用于远距离多点温度检测系统。DS
23、18B20 的内部结构主要由 4 部分组成:64 位 ROM、温度传感器、非挥发的温度报警触发器 TH 和 TL、配置寄存器。DS18B20 的管脚排列如图 2 所示,DQ为数字信号输入输出端;GND 为电源 地;VDD 为外接供电电源输入端。ROM 中的 64 位序列号是出厂前被光刻好的,它可以看作是该 DS18B20 的地址序列码,每个 DS18B20 的 64 位序列号均不相同。64 位 ROM 的排的循环冗余校验码(CRC=X8X5X41)。 ROM 的作用是使每一个 DS18B20 都各不相同,12这样就可以实现一根总线上挂接多个 DS18B20 的目的。图 1 DS18B20 的管
24、脚图DS18B20 中的温度传感器完成对温度的测量,用 16 位符号扩展的二进制补码读数形式提供,以 0.0625/LSB 形式表达,其中 S 为符号位。例 如125的数字输出为 07D0H,25.0625的数字输出为 0191H,25.0625的数字输出为 FF6FH,55的数字输出为 FC90H。 高低温报警触发器 TH 和 TL、配置寄存器均由一个字节的 EEPROM 组成,使用一个存储器功能命令可对 TH、TL 或配置寄存器写入。 R1、R0 决定温度转换的精度位数:R1R0=“00” ,9 位精度,最大转换时间为 93.75ms;R1R0=“01” ,10 位精度,最大转换时间为 1
25、87.5ms;R1R0=“10” ,11 位精度,最大转换时间为 375ms;R1R0=“11” ,12 位精度,最大转换时间为 750ms;未编程时默认为12 位精度。高速暂存器是一个 9 字节的存储器。开始两个字节包含被测温度的数字量信息;第 3、4、5 字节分别是 TH、TL、配置寄存器的临时拷贝,每一次上电复位时被刷新;第 6、7、8 字节未用,表现为全逻辑 1;第 9 字节读出的是前面所有 8 个字节的 CRC 码,可用来保证通信正确。4.3 PTR2000 模块介绍无线数据收发模块 ptr2000 采用抗干扰能力较强的 FSK 调制/解调方式,其工作频率稳定可靠,外围元件少、功耗极
26、低且便于设计生产,这些有一些特性使得 PTR2000 非常适用于便携机手持产品。可广泛用于遥控、遥测、小型无线基于单片机的无线多路温度数据采集系统设计 第 13 页 共 32 页网络、无线抄表、门禁系统、小区传呼、工业数据采集、无线标签、等系统 。无线数据传输模块的关键器件是无线收发芯片。以下是几点选择芯片或者模块的选择标准。收发芯片数据传输的编码方式采用曼彻斯特编码的芯片,在编程上会需要较高的技巧和经验,需要更多的内存和程序容量,并且曼彻斯特编码大大降低数据传输的效率,一般仅能达到标称速率的 1/3。而采用串口传输的芯片,如 NRF401 系列的芯片,应用及编程非常简单,传输速率很高,标称速
27、率就是实际速率,因为串口的编程相对简单,编程开发工作也很方便。收发芯片的分装和管脚数较小的管脚以及分装,有利于较少 PCB 面积,适合测控的设计。NRF401 仅20 脚,是管脚和体积最小的。同时 NRF401 还具有以下特点:工作频率为国际通用的数据频段 433MHZ;采用 FSK 调制,直接数据输入输出,抗干扰能力强,特别适用工业控制场合,采用 DSS+PLL 频率合成技术,频率稳定性极好,灵敏度高达-105dBm;功耗小接受待机状态时,电流仅为 8UA,最大发射功率为10dBm,低工作电压(2.7V)可满足低功耗设备的要求,具有多个频道,可方便的切换工作频率特别适用于需要多信道工作的场合
28、,工作速率最高可达20kbit/s,仅外接一个好、晶振和几个阻容、电感元件,基本无需调试,由于采用了低发射功率、高接收灵敏度的设计,适用距离最远可达 1000 米。内部电路图如下:4.4 MAX813 芯片介绍14看门狗电路在单片机中以加电、掉电以及供电电压下降情况下的复位输出,复位脉冲宽度典型值为 200 ms。独立的看门狗输出,如果看门狗输入在 16 s 内未被触发,其输出将变为高电平, 1.25 V 门限值检测器,用于电源故障报警、电池低电压检测或5 V以外的电源监控,低电平有效的手动复位输入。各引脚功能及工作原理1、手动复位输入端( )当该端输入低电平保持 140 ms 以上,MAX8
29、13就输出复位信号.该输入端的最小输入脉宽要求可以有效地消除开关的抖动。2、工作电源端(VCC ):接 +5V 电源。3、电源接地端(GND):接 0 V 参考电平4、电源故障输入端(PFI)当该端输入电压低于 125 V 时,5 号引脚输出端的信号由高电平变为低电5、电源故障输出端( )电源正常时,保持高电平,电源电压变低或掉电时,输出由高电平变为低电平。6、看门狗信号输入端(WDI)程序正常运行时,必须在小于 16 s 的时间间隔内向该输入端发送一个脉冲信号,以清除芯片内部的看门狗定时器。若超过 16 s 该输入端收不到脉冲信号,则内部定时器溢出, 8 号引脚由高电平变为低电平。7、复位信
30、号输出端(RST)上电时,自动产生 200 ms 的复位脉冲;手动复位端输入低电平时,该端也产生复位信号输出。 8、看门狗信号输出端( )。正常工作时输出保持高电平,看门狗输出时,该端输出信号由高电平变为低电平。芯片管脚图如下:基于单片机的无线多路温度数据采集系统设计 第 15 页 共 32 页4.5 MAX7219 芯片介绍MAX7219 是 Maxim 公司推出的 8 位 LED 串行显示驱动器,它采用 3 线串口传送数据,占用资源少且硬件简单,只需一个外部电阻即可方便地调节 LED 的亮度;可灵活地选择显示器的个数( 18 个, 级联可成倍增加);可进行译码或不译码显示;内含硬件动态扫描
31、控制,可设置低功耗停机方式。引脚功能和工作原理MAX7219 采用 24 脚双列直插式封装,其引脚如图 3 所示。SEGASEGG 和DP 分别为 LED 七段驱动器线和小数点线,供给显示器源电流;DIG0DIG7 为 8位数字驱动线,输出位选信号,从每位 LED 共阴极吸入电流。图 3 MAX7219 引脚功能DIN 是串行数据输入端。在 CLK 的上升沿,一位数据被加载到内部 16 位移位寄存器中,CLK 最高频率可达 10MHz,由 DIN 端移入到内部寄存器中;LOAD用在 LOAD 的上升沿,16 位串行数据被锁存到数据或控制寄存器中,LOAD 必须在第 16 个时钟上升沿的同时或之
32、后、在下一个时钟上升沿之前变高, 否则数据将被丢失。每组数据为 16 位二进制数据包。其中 D15D12 位不用,D11D8位为内部 5 个控制寄存器和 8 个 LED 显示数据寄存器的地址,D7D0 位为 5 个16控制寄存器和 8 个 LED 数码管待显示的数据,因为控制寄存器与显示数据寄存器独立编址,所以可以通过程序对每个寄存器进行操作。MAX7219 内部有 14 个可寻址的控制字寄存器。MAX7219 是八位串行共阴 LED 数码管动态扫描驱动电路,其峰值段电流可达 40mA,最高串行扫描速率为 10MHz,典型扫描速率为 1300Hz,仅使用单片机 3 个 I/O 口,即可完成对八
33、位 LED 数码管的显示控制和驱动, 线路非常简单,控制方便,外围电路仅需一个电阻设定峰值段电流,同时可以通过软件设定其显示亮度;还可以通过级联,完成对多于八位的数码管的控制显示。值得一提的是,当工作于关闭(SHUTDOWN)方式时,不仅单片机仍可对其传送数据和修改控制方式,而且芯片耗电仅为 150uA。4.6 1602 液晶显示屏介绍工业字符型液晶,能够同时显示 16x02 即 32 个字符。(16 列 2 行) 注:为了表示的方便 ,后文皆以 1 表示高电平,0 表示第电平。1.管脚功能1602 采用标准的 16 脚接口,其中:第 1 脚: VSS 为电源地 第 2 脚:VDD 接 5V
34、电源正极 第 3 脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影” ,使用时可以通过一个 10K 的电位器调整对比度)。第 4 脚:RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄存器。 第 5 脚:RW 为读写信号线,高电平 (1)时进行读操作,低电平(0)时进行写操作。第 6 脚:E(或 EN)端为使能(enable)端。第 714 脚:D0D7 为 8 位双向数据端。第 1516 脚:空脚或背灯电源。15 脚背光正极,16 脚背光负极。2.字符集1602 液晶模块内部的字符发生存储器(CGROM)已经存储
35、了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代基于单片机的无线多路温度数据采集系统设计 第 17 页 共 32 页码是 B(41H ),显示时模块把地址 41H 中的点阵字符图形显示出来,我们就能看到字母“A”。第 5 章 各部分电路设计5.1 看门狗电路本设计中看门狗电路主要用到 MAX813 芯片,及其他外围电路,在设计中看门狗电路的工作原理是:当系统工作正常时,CPU 将每隔一定时间输出一个脉冲给看门狗,即“喂狗”,若程序运行出现问题或硬件出现故障时而无法按时“喂狗”时,看门
36、狗电路将迫使系统自动复位而重新运行程序。主要作用是防止程序跑飞或死锁 。看门狗电路其实是一个独立的定时器,有一个定时器控制寄存器,可以设定时间(开狗),到达时间后要置位(喂狗),如果没有的话,就认为是程序跑飞,就会发出 RESET 指令,当为高电平时,开始复位。功能如下:本电路巧妙地利用了 MAX813 的手动复位输入端。只要程序一旦跑飞引起程序“死机”, 端电平由高到低,当 变低超过 140 ms,将引起MAX813 产生一个 200 ms 的复位脉冲。同时使看门狗定时器清 0 和使 引脚变成高电平。也可以随时使用手动复位按钮使 MAX813 产生复位脉冲,由于为产生复位脉冲 端要求低电平至
37、少保持 140ms 以上,故可以有效地消除开关抖动。该电路可以实时地监视电源故障(掉电、电压降低等)。图 6 中 R5 未经稳压的直流电源。电源正常时,确保 R3 的电压高于 126 V ,即保证 MAX813的 PFI 输入端电平高于 1.26 V。当电源发生故障,PFI 输入端的电平低于 125 V 时,电源故障输出端 电平由高变低,引起单片机 中断,CPU 响应18中断,执行相应的中断服务程序,保护数据,断开外部用电电路等。5.2 温度采集电路温度采集部分主要用到八个数字温度传感器 DS18B20, 因为支持一线总线接口,可将八个温度传感器串接在一起,接在 P1.1 口,采用寄生电源方式
38、,将VDD 与 GND 共同接地,同时采用一结型场效应管进行驱动。温度传感器将采集到的信号送到单片机中,信号在单片机种进行处理,存储,通过键盘电路中所按下的按键,数据将在数码管显示屏中显示,这里所用到的数码管为共阴极数码管,共四个,第一个显示温度的符号(+或-)其余三个显示所测温度值,温度范围为(-55125) ,采用 MAX7219 芯片驱动数码管,通过片选选择数码管的个数,段选选择数码管的八个引脚,这种设计简单且用到的端口较少,一目了然,同时当温度超过此范围,报警电路将会发出警告,提醒人们温度值过大。同时信号也将被送至无线收发模块。电路图如下:基于单片机的无线多路温度数据采集系统设计 第
39、19 页 共 32 页123VDIQGND123VDIQGND123VDIQGND123VDIQGND123VDIQGND123VDIQGND123VDIQGND123VDIQGNDR14.7KVCVCS3 S1S2R20.1K C122OuFR31K1 857234 6MRVCGNDDF1WD0RETWD1DF0U9MAX813VCEA/VP31X119 X218RESET9 RD17WR16INT012 INT113T014 T115P101 P12 P123P134 P145 P156P167 P178P0 39P01 38P02 37P03 36P04 35P05 34P06 33P0
40、7 32P20 21P21 22P2 23P23 24P24 25P25 26P26 27P27 28PSEN 29ALE/P 30TXD 11RXD 10U10AT89C51C222uFC322uFY212MHZQ12322212019181716151413121110981345672 VCISETCLKDINLOADGNDGND DIG7DIG6DIG5DIG4DIG3DIG2DIG1DIG0DIPSEGgSEGfSEGeSEGdSEGcSEGbSEGaU11MAX7219VCa bfcgdeLED1234567abcdefg8 dp dp9 10VCVDa bfcgdeLED1234
41、567abcdefg8 dp dp9 10VCVDa bfcgdeLED1234567abcdefg8 dp dp9 10VCVDa bfcgdeLED1234567abcdefg8 dp dp9 10VCVDR410K R510K R610K R710K1234567TXENDODICSGNDPWRVCU13TPR2000S9 S10S6S7S8 S1S5 S4R810K R910K R1010K R1110K+5VB01B2B3B4B5B6B7B8B0B1B2B3B4B5B6B7B0B1B2B3B4B5B6B7B0B1B2B3B4B5B6B7B0B1B2B3B4B5B6B7串串串串串串串串
42、串U1 U2 U3 U4 U5 U6 U7 U8 DS18B20*8R81K 9012 LS1SPEAKERVCVC5.3 串口电路单片机从一个 I/O 引脚逐位传输一些列二进制编码数据,就是串行通信。所谓串行通信是指外设和计算机家门适用一根数据信号线数据在一根数据信号线上一位一位的进行传输,每一位数据都占据一个固定的时间长度,这种通信方式使用的数据线少,传输速度比并行传输慢。串行通信的优点在于远程通信和上下位机通信,51 系列单片机通过自身的串口完成通信,高串口是一个可编程的全双工串行通信接口。串口通信协议的内容接口的电气特性 在 RS-232-C 中任何一条信号线的电压均为负逻辑关系。即
43、要求接收器能识别低至 +3V 的信号作为逻辑“0” ,高到-3V 的信号 作为逻辑“1”。接口的物理结构 RS-232-C 接口连接器一般使用型号为 DB-25 的 25 芯插头座,通常插头在 DCE 端,插座在 DTE 端. 一些设备与 PC 机连接的 RS-232-C 接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据” 、 “接收数据”和“信号地” 。所以采用 DB-9 的 9 芯插头座,传输线采用屏蔽双绞线。串口电路图如下:20C20.1ufC10.1ufc30.1ufc40.1ufC50.1ufVCC信信信信TXD信信信信RXD串串串串串串串串串串串串串串串串串串235
44、SJ1RS232信信123C1+1 C1-2C2+3 C2-4T1IN5 T2IN6R1OUT7V+ 14V- 13T2OUT 11R1IN 10R2IN 9T1OUT 12R2OUT81615VCCGNDMAX2025.4 显示电路显示电路主要有另一块 AT89C51 单片机、外围电路及 1602 液晶显示屏组成。1602 液晶显示屏能显示 32 个字符,内部的字符发生存储器(CGROM)已经存储了 160 个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,当数据传输过来时,液晶屏的第一行显示温度两字,第二行显示温度数值。电路图如下:BL216 BL1
45、15D014 D113D212 D311D410 D59D68E6 D77RW5 RS4V-3 VDD2GND11602LCDR210KGNDVCCEA/VP31X119 X218RESET9RD17 WR16INT012 INT113T014 T115P101 P112P123 P134P145 P156P167 P178P00 39P01 38P02 37P03 36P04 35P05 34P06 33P07 32P20 21P21 22P22 23P23 24P24 25P25 26P26 27P27 28PSEN 29ALE/P30TXD 11RXD 10U1AT89C51C222pf
46、C322pf12MHZ10KR1VCCU2串串串串S1 C110uF基于单片机的无线多路温度数据采集系统设计 第 21 页 共 32 页5.5 键盘电路本设计采用非编码的行列式键盘电路,这种键盘电路使用方便,结构简单。键盘输入信息的主要过程是:1、CPU 判断是否有键按下 2、确定按下的是哪一个键 3、把此键代表的信息翻译成计算机所能识别的代码。P1 口作为键盘接口,P1.3-P1.4 作为键盘的行扫描输出线,其余做列扫描输出线,采用查询方式。首先单片机向行扫描口输出全为 0.然后从列检测口输入列检测信号,只要有一行列信号不为 1,则表示有键按下,接着按下键所在的行,列位置。电路图如下:S9
47、S10S6S7S8 S11S5 S4R810K R910K R1010K R1110K+5V第6章 系统软件总体设计 61 系统工作流程系统分为主机和从机。主机只有一个,从机数量可以为一个,也可为多个。在整个系统中,无论主机还是从机都有惟一地址表明其各自的身份。系统上电后,根据事先设定的时间,不同的从机会按时向主机发送采集的数据(发送时间间隔根据不同的应用场合可以事先设定)。主机收到数据后,将数据及其所属地址实时的显示在液晶显示模块上,并将其存储到存储器里。在系统无人值守状态,可以事先通过键盘和液晶显示模块等设备对主机其进行设置,设定报警阈值、。当采集到的数据到达或超过阈值时,主机会发送报警信
48、号62 系统的软件设计22根据上述系统工作流程,系统在软件设计上主要分为数据的无线传输、温度采集、数据的储存和显示。其中,数据的无线传输、存储涉及主机和从机,而数据的显示及报警只涉及到主机。 考虑到野外应用,系统可能长期使用而很少有机会维护,从而对系统在传输可靠性和功耗上提出了较高的要求。所以,在数据无线传输的软件设计上,采用定时发送数据的方法,不同从机按照事先设定的时间间隔进行数据的发送,发送完毕并收到主机的回复信息后,从机进入待机模式。这样就保证了从机工作的大部分时间处于待机模式,有效地节约了电能。数据传输的可靠性方面,系统采用了主从响应式传输机制,主机收到数据后进行数据和校验,然后向从机
49、发送数据正确或错误的回复信息,如果从机收到了数据错误的回复信息或没有收到回复信息,从机将重新发送上一次的数据直到收到正确的回复。6.3 软件设计流程图:主机上电初始化检测是否进入设定模式进入数据接收模式发送报警信号接收数据显示数据并存储对比阀值进入设定模式YN大于小于(1)接收部分软件设计流程图基于单片机的无线多路温度数据采集系统设计 第 23 页 共 32 页从机上电初始化PTR2000 设为待机模式启动定时器PTR2000 设为发送模式并起动数据采集模块发送数据NY(2)发送部分软件流程图发送跳过 ROM 指令24温度采集部分编程:i nclude i nclude unsigned char code displaybit=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned char code displayco