久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: DS18B20B20溫度傳感器源程序 [打印本頁]

作者: ruan1994    時間: 2017-5-4 10:11
標題: DS18B20B20溫度傳感器源程序
//程序適合單個DS18B20和MCS-51單片機的連接,晶振為12MHz
//測量的溫度范圍-55℃~+99℃,溫度精確到小數點后一位

#include <REG52.H>
#define uchar unsigned char
#define uint unsigned int
sbit  DQ =P1^0;                       //定義端口
sbit  RS=P1^7;
sbit  RW=P1^6;
sbit  EN=P1^5;
union{
    uchar c[2];
    uint x;
}temp;
uchar flag;//flag為溫度值的正負號標志單元, "1"表示為負值,"0"時表示為正值。
uint cc,cc2;//變量cc中保存讀出的溫度值   
float cc1;
uchar buff1[13]={"temperature:"};
uchar buff2[6]={"+00.0"};
//檢查忙函數
void  fbusy()
{
        P2 = 0xff;
        RS = 0;
        RW = 1;
        EN = 1;
        EN = 0;
        while((P2 & 0x80))
        {
        EN = 0;       
        EN = 1;               
        }
}
//寫命令函數
void  wc51r(uchar  j)
{
    fbusy();
        EN = 0;
        RS = 0;
        RW = 0;
        EN = 1;
        P2 = j;
        EN = 0;
}
//寫數據函數
void  wc51ddr(uchar  j)
{
        fbusy();                //讀狀態;
        EN = 0;
        RS = 1;
        RW = 0;
        EN = 1;
        P2 = j;
        EN = 0;
}
void  init()
{
wc51r(0x01);         //清屏
wc51r(0x38);         //使用8位數據,顯示兩行,使用5*7的字型
wc51r(0x0c);         //顯示器開,光標開,字符不閃爍
wc51r(0x06);         //字符不動,光標自動右移一格
}
void delay(uint useconds)                       //延時程序
{
  for(;useconds>0;useconds--);
}
uchar ow_reset(void)                            //復位
{
  uchar presence;
  DQ = 0;                               // DQ 低電平
  delay(50);                                   // 480ms
  DQ = 1;                                      // DQ 高電平
  delay(3);                                    // 等待
  presence = DQ;                               // presence 信號
  delay(25);
  return(presence);                     // 0允許, 1禁止
}                                          
uchar read_byte(void)                                 //從單總線上讀取一個字節
{
  uchar i;
  uchar value = 0;
  for (i=8;i>0;i--)
  {
    value>>=1;
    DQ = 0;
    DQ = 1;
    delay(1);
    if(DQ)value|=0x80;
    delay(6);
  }
  return(value);
}
void write_byte(uchar val)             //向單總線上寫一個字節
{
  uchar i;
  for (i=8; i>0; i--)                 // 一次寫一字節
  {
    DQ = 0;
    DQ = val&0x01;
    delay(5);
    DQ = 1;
    val=val/2;
  }
  delay(5);
}

void Read_Temperature(void)          //讀取溫度
{
  ow_reset();
  write_byte(0xCC);                   // 跳過 ROM
  write_byte(0xBE);                          // 讀
  temp.c[1]=read_byte();
  temp.c[0]=read_byte();
  ow_reset();
  write_byte(0xCC);
  write_byte(0x44);                          // 開始
  return;
}
void main()                             //主程序
{
uchar  k;
delay(10);
  EA=0;
  flag=0;
  init();
wc51r(0x80);                                   //寫入顯示緩沖區起始地址為第1行第1列
for (k=0;k<13;k++)                                //第一行顯示提示信息"current temp is:"
        { wc51ddr(buff1[k]);}
while(1)
{
  delay(10000);
  Read_Temperature();                 //讀取雙字節溫度
  cc=temp.c[0]*256.0+temp.c[1];
  if  (temp.c[0]>0xf8) {flag=1;cc=~cc+1;}else flag=0;
  cc1=cc*0.0625;                      //計算出溫度值

  cc2=cc1*100;                                        //放大100倍,放在整型變量中便于取數字
  buff2[1]=cc2/1000+0x30;if ( buff2[1]==0x30) buff2[1]=0x20;//取出十位,轉換成字符,如果十位是0不顯示。
  buff2[2]=cc2/100-(cc2/1000)*10+0x30;//取出個位,轉換成字符
  buff2[4]=cc2/10-(cc2/100)*10+0x30;//取出小數點后一位,轉換成字符
  if (flag==1) buff2[0]='-';else buff2[0]='+';
  wc51r(0xc5);                  //寫入顯示緩沖區起始地址為第2行第6列      
  for (k=0;k<6;k++)                        //第二行顯示溫度
        { wc51ddr(buff2[k]);}
}
}






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美精品一二三 | 欧美日韩精品久久久免费观看 | 五月婷婷亚洲 | 日韩视频91 | 亚洲成人精选 | 久久久精品国产 | 黄色电影在线免费观看 | 2019天天干天天操 | av黄色免费在线观看 | 中文字幕免费在线 | 成人免费观看网站 | 色婷婷综合久久久久中文一区二区 | 一区二区三区韩国 | 91日日| 国产在线一区二 | 久久久久国产成人精品亚洲午夜 | 日韩精品中文字幕在线 | 国产精品99久久久久久久久 | 成人二区| 91av在线电影 | 欧美一区二区三区在线播放 | 欧美成人精品 | 日韩电影一区 | 日本一区二区在线视频 | 一级做a爰片性色毛片视频停止 | 95国产精品 | 一级片成人 | 久久久久久亚洲精品 | 久久久91精品国产一区二区三区 | 在线观看成人免费视频 | 亚洲成人中文字幕 | av看片网站| 免费在线观看av网址 | 亚洲国产精品久久久久秋霞不卡 | 亚洲欧美综合网 | 免费久久久久久 | 精品国产黄a∨片高清在线 成人区精品一区二区婷婷 日本一区二区视频 | 久久久123| 国产精品美女久久久久久免费 | 国产精品视频免费观看 | 中文字幕 国产精品 |