亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ds18b20.c

?? 該代碼可以實現單線溫度傳感器DS18B20溫度采集
?? C
字號:
//***********DS18B20數字溫度計C程序****************//
//*MCU:          AT892051                          //
//*MCU-crystal:  12M                               //
//*Version:      01                                //
//*Last Updata:  2007-6-10                         //
//*Author:       zhaojun                           //
//*Description:                                    //
//DS18B20的讀寫程序,數據腳P3.4                     //
//溫度傳感器18B20匯編程序,采用器件默認的12位轉化   //
//最大轉化時間750微秒,顯示溫度-55到+125度,顯示精度 //
//為0.1度,顯示采用4位LED共陽顯示測溫值            //
//P1口為段碼輸入,P0~P3為位選                       //
/***************************************************/

#include "reg51.h"
#include "intrins.h"                            //_nop_();延時函數用
#define  Disdata P1                             //段碼輸出口
#define  discan  P3                             //掃描口
#define  uchar unsigned char
#define  uint  unsigned int
sbit     DQ=P3^4;                               //溫度輸入口
sbit     DIN=P1^7;                              //LED小數點控制
uint     h; 
uint     temp;
//
//
//**************溫度小數部分用查表法***********//
uchar code ditab[16]=
{0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};
//
uchar code dis_7[12]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};
//共陽LED段碼表        "0"  "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"  "9" "不亮" "-"              
uchar code scan_con[4]={0xfe,0xfd,0xfb,0xf7};    //列掃描控制字
uchar data temp_data[2]={0x00,0x00};             //讀出溫度暫放
uchar data display[5]={0x00,0x00,0x00,0x00,0x00};     //顯示單元數據,共4個數據和一個運算暫用

//
//
//
/*****************11us延時函數*************************/
//
void delay(uint t)
{
  for (;t>0;t--);
}
//

/****************顯示掃描函數***************************/
scan()
{
  char k;
     for(k=0;k<4;k++)                     //4位LED掃描控制
	 {
	  Disdata=dis_7[display[k]];          //數據顯示
	  if (k==1){DIN=0;}                   //小數點顯示
	  discan=scan_con[k];                 //位選
	  delay(200);
	 }
}
//
//
/****************DS18B20復位函數************************/
ow_reset(void)
{
 char presence=1;
 while(presence)
 {
  while(presence)
   {
    DQ=1;_nop_();_nop_();//從高拉倒低
	DQ=0;                                       
	delay(50);           //550 us
	DQ=1;                                        
	delay(6);            //66 us
	presence=DQ;         //presence=0 復位成功,繼續下一步
   } 
   delay(45);            //延時500 us
   presence=~DQ;         
 }
 DQ=1;                   //拉高電平
}
//
//
/****************DS18B20寫命令函數************************/
//向1-WIRE 總線上寫1個字節
void write_byte(uchar val)
{ 
  uchar i;
  for(i=8;i>0;i--)
  {
   DQ=1;_nop_();_nop_();                  //從高拉倒低
   DQ=0;_nop_();_nop_();_nop_();_nop_();  //5 us
   DQ=val&0x01;                           //最低位移出
   delay(6);                              //66 us
   val=val/2;                             //右移1位
   }
   DQ=1;
   delay(1);
}
//
/****************DS18B20讀1字節函數************************/
//從總線上取1個字節
uchar read_byte(void)
{
 uchar i;
 uchar value=0;
 for(i=8;i>0;i--)
 {
  DQ=1;_nop_();_nop_();
  value>>=1;
  DQ=0;_nop_();_nop_();_nop_();_nop_();         //4 us
  DQ=1;_nop_();_nop_();_nop_();_nop_();         //4 us
  if(DQ)value|=0x80;
  delay(6);                                     //66 us
 }
DQ=1;
return(value);
}
//
/****************讀出溫度函數************************/
//
read_temp()
{
  ow_reset();                  //總線復位
  delay(200);
  write_byte(0xcc);            //發命令
  write_byte(0x44);            //發轉換命令
  ow_reset(); 
  delay(1);
  write_byte(0xcc);            //發命令
  write_byte(0xbe);
  temp_data[0]=read_byte();    //讀溫度值的第字節
  temp_data[1]=read_byte();    //讀溫度值的高字節
  temp=temp_data[1];
  temp<<=8;                                               
  temp=temp|temp_data[0];      // 兩字節合成一個整型變量。
  return temp;                 //返回溫度值
}
//
/****************溫度數據處理函數************************/

//二進制高字節的低半字節和低字節的高半字節組成一字節,這個
//字節的二進制轉換為十進制后,就是溫度值的百、十、個位值,而剩
//下的低字節的低半字節轉化成十進制后,就是溫度值的小數部分

/********************************************************/
work_temp(uint tem)
{
 uchar n=0;
 if(tem>6348)                        // 溫度值正負判斷
     {tem=65536-tem;n=1;}            // 負溫度求補碼,標志位置1
      display[4]=tem&0x0f;           // 取小數部分的值
	  display[0]=ditab[display[4]];  // 存入小數部分顯示值
      display[4]=tem>>4;             // 取中間八位,即整數部分的值
	  display[3]=display[4]/100;     // 取百位數據暫存
	  display[1]=display[4]%100;     // 取后兩位數據暫存
	  display[2]=display[1]/10;      // 取十位數據暫存
	  display[1]=display[1]%10;  
/******************符號位顯示判斷**************************/
  if(!display[3]) 
  {
    display[3]=0x0a;           //最高位為0時不顯示
    if(!display[2])
	 {
	   display[2]=0x0a;        //次高位為0時不顯示
	 }
  }
  if(n){display[3]=0x0b;}      //負溫度時最高位顯示"-"
}
//
//
/****************主函數************************/
main()
{
  Disdata=0xff;                 //初始化端口
  discan=0xff;
  for(h=0;h<4;h++)              //開機顯示"8888"
      {display[h]=8;} 
  ow_reset();                   //開機先轉換一次
  write_byte(0xcc);             //Skip ROM
  write_byte(0x44);             //發轉換命令
  for(h=0;h<100;h++)            //開機顯示"8888"
      {scan();}
  while(1)
  {
	work_temp(read_temp());     //處理溫度數據
	scan();                     //顯示溫度值
  }
}
//
//***********************結束**************************//

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜激情在线| 精品国产91洋老外米糕| 欧美日韩久久久一区| 欧美成人aa大片| 亚洲欧美中日韩| 精品亚洲国产成人av制服丝袜 | 日韩欧美123| 亚洲精品你懂的| 国产成人亚洲综合色影视| 欧美日韩精品综合在线| 中文字幕一区日韩精品欧美| 激情综合五月婷婷| 欧美日韩精品专区| 亚洲欧美视频在线观看视频| 国产精品白丝jk白祙喷水网站| 欧洲av在线精品| ...xxx性欧美| 国产高清成人在线| 欧美精品一区二区久久久| 午夜av一区二区三区| 一本一本久久a久久精品综合麻豆| 精品国产sm最大网站免费看| 视频在线在亚洲| 91激情在线视频| 亚洲图片激情小说| 成人综合在线观看| 国产婷婷一区二区| 国产乱国产乱300精品| 精品对白一区国产伦| 琪琪久久久久日韩精品| 欧美网站一区二区| 亚洲高清在线视频| 欧美日韩一区成人| 亚洲成人综合视频| 欧美日韩亚洲综合| 亚洲高清免费观看 | 国产精品美日韩| 国产成人精品影视| 中文字幕成人av| www.66久久| 一区二区三区四区蜜桃| 欧洲av在线精品| 亚洲第一在线综合网站| 777午夜精品免费视频| 视频一区视频二区中文| 777色狠狠一区二区三区| 日本在线不卡一区| 日韩欧美一二三四区| 国模一区二区三区白浆| 国产视频视频一区| 91麻豆精品视频| 亚洲成在人线在线播放| 精品日本一线二线三线不卡| 国产精品一区二区三区99| 国产精品高潮久久久久无| 欧洲精品中文字幕| 久久av资源网| 国产精品日韩精品欧美在线| 日本高清免费不卡视频| 日本成人在线电影网| 久久亚洲免费视频| av在线播放一区二区三区| 亚洲国产aⅴ成人精品无吗| 日韩久久久精品| 成人av免费在线播放| 日日夜夜免费精品| 国产午夜亚洲精品午夜鲁丝片| 99国产欧美另类久久久精品| 视频一区国产视频| 国产欧美日韩另类一区| 欧美综合久久久| 国产精品一品视频| 亚洲综合视频网| 久久人人97超碰com| 在线免费观看一区| 国内精品不卡在线| 亚洲一区二区三区四区在线观看 | 亚洲国产精品自拍| 久久精品视频网| 99天天综合性| 久久国产尿小便嘘嘘| 亚洲免费伊人电影| 国产视频一区二区在线| 欧美肥胖老妇做爰| 97久久超碰国产精品电影| 日韩av午夜在线观看| 国产精品美女www爽爽爽| 日韩色视频在线观看| 日本韩国欧美一区二区三区| 国产精品1区2区3区在线观看| 亚洲sss视频在线视频| 国产精品久久毛片| 精品第一国产综合精品aⅴ| 欧美三级日本三级少妇99| 丁香六月综合激情| 国产一区二区三区精品视频| 天天操天天色综合| 亚洲精品国久久99热| 久久精品日产第一区二区三区高清版| 欧美视频在线一区二区三区| 成人av中文字幕| 国产成人综合视频| 精品一区二区三区香蕉蜜桃| 午夜成人在线视频| 午夜视频一区二区| 亚洲午夜一区二区| 亚洲精品国产无天堂网2021| 中文字幕一区二区三区色视频| 精品成a人在线观看| 日韩欧美一二三区| 日韩免费电影网站| 日韩欧美一区二区三区在线| 欧美一级专区免费大片| 欧美精品三级在线观看| 欧美日韩免费一区二区三区视频| 91理论电影在线观看| 91在线云播放| 99天天综合性| 91免费视频网址| 色综合 综合色| 在线国产亚洲欧美| 欧美日韩国产综合一区二区三区| 一本高清dvd不卡在线观看| 91在线精品一区二区| 色婷婷久久久综合中文字幕| 91福利精品第一导航| 欧洲精品在线观看| 日韩丝袜美女视频| 综合欧美一区二区三区| 亚洲青青青在线视频| 一卡二卡欧美日韩| 亚洲午夜日本在线观看| 天天影视涩香欲综合网| 蜜臀av性久久久久蜜臀aⅴ四虎| 美日韩一区二区三区| 国产精品18久久久久久vr| 成人白浆超碰人人人人| 91久久精品一区二区三区| 欧美三级三级三级| 欧美mv日韩mv亚洲| 国产精品国产三级国产aⅴ入口| 亚洲激情五月婷婷| 日产国产高清一区二区三区 | 亚洲动漫第一页| 日本最新不卡在线| 高清视频一区二区| 欧美伊人久久久久久午夜久久久久| 欧美日韩不卡视频| 欧美成人a在线| 亚洲少妇中出一区| 爽好多水快深点欧美视频| 看电影不卡的网站| 99re免费视频精品全部| 欧美老肥妇做.爰bbww| 精品国产一区二区在线观看| 国产精品传媒入口麻豆| 亚洲成人在线免费| 国产mv日韩mv欧美| 欧美福利一区二区| 国产精品美女久久久久久| 午夜久久久影院| 国产成人福利片| 在线播放一区二区三区| 欧美激情一区二区三区在线| 亚洲va韩国va欧美va| 春色校园综合激情亚洲| 欧美高清你懂得| 亚洲人成伊人成综合网小说| 久草在线在线精品观看| 91久久线看在观草草青青| 日韩欧美你懂的| 亚洲国产一区在线观看| 国产九九视频一区二区三区| 欧美日韩高清一区二区不卡| 亚洲欧洲三级电影| 国产xxx精品视频大全| 日韩久久久久久| 亚洲高清不卡在线| 一本色道**综合亚洲精品蜜桃冫| 精品国产第一区二区三区观看体验 | 亚洲国产精品黑人久久久| 亚洲国产日韩a在线播放| 大胆欧美人体老妇| 久久久久久电影| 美女国产一区二区三区| 欧美视频自拍偷拍| 亚洲一区在线观看视频| 99vv1com这只有精品| 欧美激情一区二区在线| 国产精品综合在线视频| 精品乱人伦小说| 国内精品久久久久影院色| 欧美男同性恋视频网站| 亚洲大片精品永久免费| 91黄色免费看| 亚洲自拍与偷拍| 欧美日韩在线三区| 亚洲高清三级视频| 欧美人与禽zozo性伦| 日日噜噜夜夜狠狠视频欧美人|