基于无线网络的多点信息采集系统设计
主程序文件(main.c) DS18B20驱动函数 (ds18b20-driver.c) LCD显示函数(LCD.c) CC1100发送函数(fasong.c) 中断服务函数(ISR.c)
图14 从机系统软件结构
从机系统主程序如图14所示:主要功能是负责温度的实时显示,读出并处理DS12B20的测量温度值以及启动CC1100发送
17
基于无线网络的多点信息采集系统设计
初始化 调用显示子程序 N 1s到? Y 读出温度值 温度处理 显示数据刷新 发温度转换开始命令 启动发送 图15 从机系统主程序流程图
18
基于无线网络的多点信息采集系统设计
DS18B20初始化 STC89C52发送‘0’ 延时600us 释放总线 延时30us Y 超时? N N 总线状态为‘0’? Y 超时? N N 总线状态为‘1’? Y R1=1 R1=0 Y 返 回 图16 DS18B20的初始化流程
4.2 各功能模块程序的设计
4.2.1 温度采集程序程序设计
先需将DS18B20进行初始化,其初始化流程图如图15所示;如果DS18B20初始化成功,将会返回‘1’,否则返回‘0’。读出温度子程序的流程图如图16所示;它的主要功能是读出RAM中的9个字节,在读出时须进行CRC校验,校验
19
基于无线网络的多点信息采集系统设计
有错时不进行温度数据的改写。
发DS18B20复位命令 CRC校验正确? Y 移入温度暂存器 读取操作,CRC校验 N 9字节完? Y 结束 N 发跳过ROM命令 发读取温度命令 图17 从DS18B20读一位数据流
4.2.2 CC1100发射及接收程序设计
CC1100发射模式如图18,CC1100接收模式如图19所示。 4.2.2.1发射模式
当MCU有数据需要发往规定节点时,接收节点的地址(TX-address)和有效数据(TX-payload)通过SPI接口传送给高频头;MCU设置TRX_CE,TXEN为高来启动传输;当AUTO_RETRAN被设置为高,高频头将连续地发送数据包,直到TRX_CE被设置为低;当TRX_CE被设置为低时,高频头结束数据传输并将自己设置成待机模式。
20
相关推荐: