当前位置: 首页 > news >正文

怎么选择大连网站建设温州快速排名优化

怎么选择大连网站建设,温州快速排名优化,做期货要关注哪些网站,有效果的网站排名目录 1设计内容 2ds18b20介绍 2.1传感器引脚及原理图 2.2寄存器配置 3程序实现 3.1配置初始化 3.2配置寄存器 3.3ROM读取 3.4温度读取 1设计内容 通过51单片机#xff0c;读取总线上挂载的多个ds18b20的温度信息。 如下图#xff0c;成功读取到3路温度数据。 2ds18…目录 1设计内容 2ds18b20介绍 2.1传感器引脚及原理图 2.2寄存器配置 3程序实现 3.1配置初始化 3.2配置寄存器 3.3ROM读取 3.4温度读取 1设计内容 通过51单片机读取总线上挂载的多个ds18b20的温度信息。 如下图成功读取到3路温度数据。 2ds18b20介绍 2.1传感器引脚及原理图 DS18B20传感器的引脚及封装图如下: DS18B20一共有三个引脚分别是 GND电源地线 DQ数字信号输入输出端。 VDD外接供电电源输入端。 单个DS18B20接线方式 VDD接到电源DQ接单片机引脚同时外加上拉电阻GND接地 注意这个上拉电阻是必须的就是DQ引脚必须要一个上拉电阻. 2.2寄存器配置 DS18B20写入的功能命令 ROM指令 采用多个DS18B20时需要写ROM指令来控制总线上的某个DS18B20 如果是单个DS18B20,直接写跳过ROM指令0xCC即可 RAM指令DS18B20的一些功能指令 常用的是 温度转换 0x44 开启温度读取转换读取好的温度会存储在高速暂存器的第0个和第一个字节中 读取温度 0xBE 读取高速暂存器存储的数据 3程序实现 3.1配置初始化 /**初始化DS18B20**/ bit InitDS18B20ACK(){bit ACK;//用来判断DS18B20是否初始化成功EA 0;DS18B20_IO 0;DS18B20_delayms(1);DS18B20_IO 1;DS18B20_delayms(1);DS18B20_IO 0;DS18B20_delayms(1);ACK DS18B20_IO;DS18B20_IO 1;DS18B20_delayms(1);while(!DS18B20_IO);//等待脉冲结束EA 1;return ACK; } 3.2配置寄存器 3.2.1读取ROM测试 在每个DS18B20内部都有一个唯一的64位长的序列号这个序列号值就存在DS18B20内部的ROM中。开始的8位是产品类型编码(DS18B20是28H)接着的48位是每个器件唯一的序号最后的8位是CRC校验码。 一线总线系统使用单总线主控来控制一个或多个从机设备。每个DS18B20都有独立唯一的64位-ID此特性决定了它可以将任意多的DS18b20挂载到一根总线上通过ROM搜索读取相应DS18B20的温度值。 /**启动DS18B20进行温度的采集以及转换并返回读取成功与否**/ bit startDs18b201(){ bit ACK;uchar i,x,k,z;uchar MSB,LSB;uchar temp[8]; x0;k0;ACK InitDS18B20ACK();//总线初始化是否完成if(ACK 0){writeToDs18b20(0x33);//跳过ROM的验证操作//writeToDs18b20(0xbe);//发送一个读取的命令for(i0;i8;i){MSB readeToDs18b20();dis0[i]MSB;}for(i0;i4;i){kIntToString(temp,(int)dis0[i]);for(z0;zk;z){LCD_Write_Char(x,0,temp[z]);}}/*x0;for(i0;i4;i){kIntToString(temp,(int)dis0[i4]);for(z0;zk;z){LCD_Write_Char(x,1,temp[z]);}}*/LCD_Write_String(0,1,dis0);while(1);//DS18B20_delayms(500); //上电转换需要延时足够长时间否则会读出默认值85 会造成main里面后续任务一直等待改为通过变量控制。}return ACK;//ACK 0 启动成功1就不成功 } 通过连接多个温湿度测试第一位都是 对应16进制2810进制40. 3.3ROM读取 上面那个只是测试直接用下面这个读取rom /************************************************************************************************************************* *函数 : u8 DS18B20_SearchROM(u8 (*pID)[8],u8 Num) *功能 : 搜索DS18B20 ROM *参数 : pID:DS18B20 ID缓冲区指针Num:DS18B20数目,必须事先知道 *返回 : 搜索到的DS18B20数目 *说明 : 程序必须事先知道DS18B20数目,搜索的数目只会小于这个数目代码移植于互联网 *************************************************************************************************************************/ u8 DS18B20_SearchROM(u8 (*pID)[8],u8 Num) { unsigned char k,l,chongtuwei,m,n;unsigned char zhan[(MAXNUM)] {0x00 }; //一定要初始化为0否则会概率性搜错unsigned char ss[64];bit ACK;uchar MSB,LSB;uchar dis1111[16];u8 num 0;l0;chongtuwei0;do{ACK InitDS18B20ACK();writeToDs18b20(0xf0);//搜索rom//DS18B20_WriteData(0xf0); for(m0;m8;m){unsigned char s0;for(n0;n8;n){kDS18B20_Read2Bit();//读两位数据if(n1){sprintf(dis1111,dis1111 %d ,(int)k);LCD_Write_String(0,0,dis1111);//while(1);}kk0x03;s1;if(k0x01)//01读到的数据为0 写0 此位为0的器件响应{ DS18B20_WriteBit (0);ss[(m*8n)]0;}else if(k0x02)//读到的数据为1 写1 此位为1的器件响应{ss|0x80;DS18B20_WriteBit (1);ss[(m*8n)]1;}else if(k0x00)//读到的数据为00 有冲突位 判断冲突位 { //如果冲突位大于栈顶写0 小于栈顶写以前数据 等于栈顶写1chongtuweim*8n1; if(chongtuweizhan[l]){ DS18B20_WriteBit (0);ss[(m*8n)]0; zhan[l]chongtuwei; }else if(chongtuweizhan[l]){ss|((ss[(m*8n)]0x01)7);DS18B20_WriteBit (ss[(m*8n)]);}else if(chongtuweizhan[l]){ss|0x80;DS18B20_WriteBit (1);ss[(m*8n)]1;ll-1;}}else{return num; //搜索完成,//返回搜索到的个数}}pID[num][m]s; }numnum1;}while(zhan[l]!0(numMAXNUM)); return num; //返回搜索到的个数 } 3.4温度读取 do{num DS18B20_SearchROM(ID_Buff,DS18B20_NUM);sprintf(dis0,DS18B20_NUM %d ,(int)DS18B20_NUM);LCD_Write_String(0,0,dis0);sprintf(dis1,num %d ,(int)num);LCD_Write_String(0,1,dis1); }while(num!DS18B20_NUM);startDs18b20();//while(1);DelayMs(500);DelayMs(500);DelayMs(500);DelayMs(500);while(1){//温度传感器-----startif(readTemFlags 1){readTemFlags 0;//清零//DelayMs(500); //启动ds18b20后一定要延时流出转换时间否则读出为-1temperature DS18B20_ReadDesignateTemper(ID_Buff[i ]);startDs18b20();temp_int temperature/100;//取整数部分temp_dec temperature%100;//取小数部分len IntToString(str,(int)temp_int);}//temperature temperature 4;sprintf(dis1,temp[%d] %d.%d ,(int)i,(int)temp_int,(int)temp_dec);LCD_Write_String(0,1,dis1);if(i3) i0;DelayMs(100);DelayMs(500);DelayMs(500);DelayMs(500);} 项目整体链接如下。 https://download.csdn.net/download/weixin_51248645/88797969
http://www.hkea.cn/news/14593844/

相关文章:

  • 网易网站建设的目的软件设计专业
  • 原型图怎么做网站交互自由建网站的网络程序
  • 网站产品介绍页面的布局方案怎样找外贸公司合作
  • 国际网站如何做seo无锡整站百度快照优化
  • 高端网站建设公司哪家更专业wordpress 搜索 自定义
  • 长春电商网站建设WordPress中文空格
  • 私人做网站图片办个网站需要多少钱
  • 合肥网站建设司图佛山网站改版
  • wordpress 免费主题站php网站开发实用技术练习题
  • 山东网站建设企业营销型网站建设专家
  • 网站建设是软件开发吗太原app制作公司
  • 玉泉营网站建设河北建设厅查询官方网站
  • 中文网站建设代码搜索关键词查询工具
  • 溧阳手机网站设计网站备案的时间
  • 网页设计素材网站大全小程序名称大全
  • 网站服务器如何做端口映射自动点击器免费下载
  • 如何自己做网站及优化做网站必须租服务器吗
  • 食品网站源码阿里巴巴网站上面产品描述一般怎么做的
  • 博客网站开发背景及作用asp.net 网站开发
  • 网站如何跳转php完整网站开发案例
  • 张梅 合肥网站建设wordpress dux 1.8
  • php仿博客园网站娱乐企业网站建设
  • 做网站策划书吧甘肃路桥建设集团有限公司官方网站
  • 服务器上面建设网站个人做网站最方便的方法
  • 免费个人简历模板电子版可填写seo排名怎么样
  • 怎么建设手机网站首页国际外贸网站
  • 建立网站需要哪些中国摄影网站十大排名
  • 百度营销登录恩施seo快速排名
  • 开源企业cms建站系统网页美工培训哪里好
  • 如何做网站的维护中国出口贸易网官网