读供电方式 0B4H 读DS1820的供电模式。寄生供电时DS1820发送“ 0 ”,外接电源供电 DS1820发送“ 1 ”。
DS18B20的工作流程是:首先对DS18B20进行初始化,然后对ROM进行读写操作。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作[9]。
2.1.3 系统无线收发模块的选型与介绍
根据任务书要求,本课题需采用无线的传输方式。那么选择何种传输方式就成了一项重要的工作。对此系统而言,无线传输必须要做到快速和准确,除此之外,还必须有一定的传输距离。经过多次的对比与选择,笔者选择了一种无线收发模块nRF24L01。
nRF24L01有4种工作模式:分别是Power Down Mode,Standby Modes,RX Mode和TX Mode;控制芯片工作的信号引脚有6 个:CE,CSN,SCK,MOSI,MISO,IRQ。当单片机不和nRF24L01进行SPI通信的时候,单片机要让CSN引脚置为高电平1;进行SPI通信的时候,nRF24L01作为SPI的从设备,单片机作为SPI通信的主设备,通信总是从单片机控制CSN引脚的电位(由1 变为0)开始。然后,单片机通过MOSI给出的SPI命令处理信息,如果还有数据则可以跟上数据,最后以CSN变为1为标志结束本次SPI通信。当然如果通过MOSI给出的SPI命令是读取命令,则nRF24L01的应答从MISO引脚返回(当然每次有SPI命令时,nRF24L01都会把当前自己的状态同步通过MISO 告诉单片机)。此外,CE引脚应该在什么时候置0,什么时候置1很关键。当送给单片机的提醒信号满足3个条件中的某一个时(笔者在自己的程序里只允许了1个触发条件,即接收到正确数据的时候),会把IRQ置0,这个IRQ信号需要单片机在执行完对应的操作后,使用SPI命令让nRF24L01重新置1[10]。
nRF24L01无线模块的主要特性:
(1) 小体积,QFN20 4x4mm封装;
(2) 宽电压工作范围:1.9V~3.6V,输入引脚可承受5V电压输入;
(3) 工作温度范围:-40℃~+80℃;
(4) 工作频率范围:2.400GHz~2.525GHz;
(5) 发射功率可选择为0dBm、-6dBm、-12dBm和-18dBm;
(6) 数据传输速率支持1Mbps、2Mbps;
(7) 低功耗设计:接收时工作电流12.3mA,0dBm功率发射时11.3mA,掉电模式时仅为900nA;
(8) 126个通讯通道,6个数据通道,满足多点通讯和调频需要;
(9) 增强型“Shock Burst”工作模式,硬件的CRC校验和点对多点的地址控制;
(10) 数据包每次可传输1~32Byte的数据;
(11) 4线SPI通讯端口,通讯速率最高可达8Mbps,适合与各种MCU连接,编程简单;
(12) 可通过软件设置工作频率、通讯地址、传输速率和数据包长度;
(13) MCU可通过IRQ引脚快判断是否完成数据接收和数据发送。
图5 无线模块引脚说明
nRF24L01无线模块引脚说明[11]:
(1) VCC脚接电压范围为 1.9V~3.6V之间,不能在这个区间之外,超
过3.6V将会烧毁模块。推荐电压 3.3V左右。
(2) 除电源 VCC 和接地端,其他引脚都可以与5V的单片机的输入输出接口直接相连,不需要再进行电平的转换。
(3) 即使单片机上没有SPI也可以对无线模块进行控制,使用普通单片机输入输出端口模拟SPI可以不用单片机的串口接入,只要普通的单片机I/O口就可以进行,当然串口也可以使用(连接P0口的时候要接上10K的上拉电阻)。 AT89S52单片机最小远程监控系统的设计与开发+程序代码+电路图(6):http://www.youerw.com/zidonghua/lunwen_1669.html