版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一项目背景: A.该产品在现实生活中的应用现状? 1.由于数据采集系统应用范围越来越广,功能越来越全,大众需要一种应用范围广,性价比高的数据采集系统,无线传输实现了数据处理功能强大,显示简洁、直观,性价比高,应用广泛。 2.在生产中经常需对温度进行检测,数字显示信息存储及实时控制,无线采集系统可被广泛应用于温度测量或相应的可转换为温度量或供电故障监控的工业,农业,环保,服务业安全监控中。 B.存在哪些问题? 很多系统存在: 1.功能单一; 2.采集通道少 ;3.采集速率低; 4.操作复杂 ; 5.并对测试环境要求较高等问题。1、18B20温度采集端对现场温度进行采集,并将采集到的温度电压信号转
2、换为数字信号,传送给数据处理端2、数据处理端对数据进行处理后,经WIFI模块传送到PC机3、PC机对温度数据进行实时记录并显示,用户可根据需要选择所要查看的监测点温度数据单片机单片机温度传感器温度传感器DS18b20WIFI模块PC机显示单总线串口无线传输系统总方案示意图系统总方案示意图系统实物图 1、温度传感器DS18b20是单总线传输元件与单片机一端口相连; 2、单片机通过串口与WIFI相连,通过指令控制WIFI模块或传输数据并发送出去; 3、PC机接收无线信号显示相应的温度信息。1、温度传感器DS18b20A、原理图B、实物图C、工作原理及应用总结DS18b20内部存储器ROM 只读存储
3、器用于存放DS18B20ID编码RAM 数据暂存器EEPROM 非易失性记忆体用于内部计算和数据存取,数据在掉电后丢失用于存放长期需要保存的数据,上下限温度报警值和校验数据 DS18b20一个工作周期温度检测数据处理优点:优点:抗干扰力更强抗干扰力更强DS18b20单总线控制流程复位控制器发送ROM指令控制发送存储器操作指令存在脉冲执行或数据读写复位:首先我们必须对 DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480uS 的低电平信号。当 18B20 接到此复位信号后则会1560uS后回发一个芯片的存在脉冲。存在脉冲:在复位电平结束之后,控制器应该将数据单总
4、线拉高,以便于在 1560uS后接收存在脉冲,存在脉冲为一个 60240uS 的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20 间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5 条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃 ROM、芯片搜索、报警芯片搜索。ROM指令为8 位长度,功能是对片内的 64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂
5、接多个器件,并通过每个器件上所独有的ID 号来区别,一般只挂接单个 18B20 芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。控制器发送存储器操作指令:在ROM指令发送给18B20 之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8 位,共 6 条,存储器操作指令分别是写 RAM数据、读RAM数据、将 RAM数据复制到EEPROM 、温度转换、将 EEPROM 中的报警值复制到 RAM、工作方式切换。存储器操作指令的功能是命令18B20 作什么样的工作,是芯片控制的关键。 执行或数据读写:一个存储器操作指令结束后则将进
6、行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20 执行其指令,一般转换时间为500uS 。如执行数据读写指令则需要严格遵循 18B20 的读写时序来操作。1、AMS1117是一个正向低压降稳压是一个正向低压降稳压器,在器,在1A电流下压降为电流下压降为1.2V,固,固定输出电压为定输出电压为1.5V、1.8V、2.5V、2.85V、3.0V、3.3V、5.0V和可调和可调版版 2、AMS1117片上微调把基准电压调整到片上微调把基准电压调整到1.5%的误差以内,的误差以内,而且电流限制也得到了调整,以尽量减少因稳压器和电源电路而且电
7、流限制也得到了调整,以尽量减少因稳压器和电源电路超载而造成的压力超载而造成的压力 3、AMS1117可用于交换式电源可用于交换式电源 5V至至3.3V线性稳压器,电池线性稳压器,电池充电器、电池供电设备等,本系统中使用提供稳定充电器、电池供电设备等,本系统中使用提供稳定3.3V电压电压六、算法流程图开始初始化初始化数据采集数据采集发送到WIFIN0再处理再检测YES处理完 ?1、采集端程序/*- 18B20温度传感器-*/#includedelay.h#include18b20.h/*- 18b20初始化-*/bit Init_DS18B20(void) bit dat=0; DQ = 1;
8、/DQ复位 DelayUs2x(5); /稍做延时 DQ = 0; /单片机将DQ拉低 DelayUs2x(200); /精确延时 大于 480us 小于960us DelayUs2x(200); DQ = 1; /拉高总线 DelayUs2x(50); /1560us 后 接收60-240us的存在脉冲 dat=DQ; /如果x=0则初始化成功, x=1则初始化失败 DelayUs2x(25); /稍作延时返回 return dat;/*- 读取一个字节-*/unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat
9、= 0;for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0 x80; DelayUs2x(25); return(dat);/*- 写入一个字节-*/void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0 x01; DelayUs2x(25); DQ = 1; dat=1; DelayUs2x(25);/*- 读取温度-*/unsigned int ReadTemperature(
10、void)unsigned char a=0;unsigned int b=0;unsigned int t=0;Init_DS18B20();WriteOneChar(0 xCC); / 跳过读序号列号的操作WriteOneChar(0 x44); / 启动温度转换DelayMs(10);Init_DS18B20();WriteOneChar(0 xCC); /跳过读序号列号的操作 WriteOneChar(0 xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar(); /低位b=ReadOneChar(); /高位b=8;t=a+b;return(t
11、);2、主程序/*- 名称:DS18b20 温度检测 WIFI传输-*/#include #include#include 18b20.h#include 18b20a.h#include delay.h#include chuankou.hbit ReadTempFlag;/定义读时间标志void Init_Timer0(void);/定时器初始化/*- 串口通讯初始化-*/void UART_Init(void) SCON = 0 x50; / SCON: 模式 1, 8-bit UART, 使能接收 TMOD |= 0 x20; / TMOD: timer 1, mode 2, 8-bi
12、t 重装 TH1 = 0 xFD; / TH1: 重装值 9600 波特率 晶振 11.0592MHz TR1 = 1; / TR1: timer 1 打开 /EA = 1; /打开总中断 ES = 1; /打开串口中断TI=1;/*- 定时器初始化子程序-*/void Init_Timer0(void) TMOD |= 0 x01; /使用模式1,16位定时器,使用|符号可以在使用多个定时器时不受影响 /TH0=0 x00; /给定初值 /TL0=0 x00; EA=1; /总中断打开 ET0=1; /定时器中断打开 TR0=1; /定时器开关打开/*- 定时器中断子程序-*/void Ti
13、mer0_isr(void) interrupt 1 static unsigned int num; TH0=(65536-2000)/256; /重新赋值 2ms TL0=(65536-2000)%256; num+; if(num=600) / num=0; ReadTempFlag=1; /读标志位置1void zhongduan4() interrupt 4Uart() ;/*- 主函数-*/void main (void) int temp;float temperature;char displaytemp16;/定义显示区域临时存储数组Init_Timer0();UART_In
14、it();while (1) /主循环 if(ReadTempFlag=1) ReadTempFlag=0; temp=ReadTemperature(); temperature=(float)temp*0.0625; sprintf(displaytemp,Temp1 %7.3f,temperature);/打印温度值 sendstr(displaytemp); temp=ReadTemperature_a(); temperature=(float)temp*0.0625; sprintf(displaytemp,Temp2 %7.3f,temperature);/打印温度值 sendstr(displaytemp); 本次实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 患者观察和巡视管理制度
- 康复用品管理制度
- 2022年三年级语文下册第六单元主题阅读+答题技巧(含答案、解析)部编版
- 【假期阅读技能提升训练】小学语文三年级下册阅读技能提升内文阅读第5讲-附答案.部编版
- 2024年张家口办理客运从业资格证2024年试题
- 2024年巴中申请客运从业资格证考试题和答案
- 2024年武威道路客运输从业资格证理论考试答案
- 2024年天水道路旅客运输驾驶员从业资格考试试题及答案
- 历史-浙江省湖州、衢州、丽水2024年11月三地市高三教学质量检测试卷试题和答案
- 吉首大学《国际商务礼仪》2021-2022学年第一学期期末试卷
- 司法所安置帮教工作流程图
- 贫困户困难补助申请书
- 桥梁养护与加固绪论课件
- 部队战时政治工作-PPT课件
- 平板显示技术:TFT-LCD工艺
- 动火安全作业票填写模板2022年更新
- 外研版九年级英语上册全套ppt课件
- 沟槽开挖支护专项施工方案(46页)
- Matlab基本介绍
- 部编版四年级语文上册专项复习课外阅读专项
- 横道图施工进度计划
评论
0/150
提交评论