×

基于51单片机的霍尔测转速表设计温度检测档位设定

消耗积分:10 | 格式:rar | 大小:62KB | 2017-04-22

蓦然666

分享资料个

基于51单片机的霍尔测转速表设计温度检测档位设定资料

  /*-----------------------------------------------

  名称:18B20温度传感器

  网站:www.doflye.net

  编写:shifang

  日期:2009.5

  修改:无

  内容:18B20单线温度检测的应用样例程序

  ------------------------------------------------*/

  #include“delay.h”

  #include“18b20.h”

  /*------------------------------------------------

  18b20初始化

  ------------------------------------------------*/

  bit Init_DS18B20(void)

  {

  bit dat=0;

  DQ = 1; //DQ复位

  DelayUs2x(5); //稍做延时

  DQ = 0; //单片机将DQ拉低

  DelayUs2x(200); //精确延时 大于 480us 小于960us

  DelayUs2x(200);

  DQ = 1; //拉高总线

  DelayUs2x(50); //15~60us 后 接收60-240us的存在脉冲

  dat=DQ; //如果x=0则初始化成功, x=1则初始化失败

  DelayUs2x(25); //稍作延时返回

  return dat;

  }

  /*------------------------------------------------

  读取一个字节

  ------------------------------------------------*/

  unsigned char ReadOneChar(void)

  {

  unsigned char i=0;

  unsigned char dat = 0;

  for (i=8;i》0;i--)

  {

  DQ = 0; // 给脉冲信号

  dat》》=1;

  DQ = 1; // 给脉冲信号

  if(DQ)

  dat|=0x80;

  DelayUs2x(25);

  }

  return(dat);

  }

  /*------------------------------------------------

  写入一个字节

  ------------------------------------------------*/

  void WriteOneChar(unsigned char dat)

  {

  unsigned char i=0;

  for (i=8; i》0; i--)

  {

  DQ = 0;

  DQ = dat&0x01;

  DelayUs2x(25);

  DQ = 1;

  dat》》=1;

  }

  DelayUs2x(25);

  }

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !