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

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

?? 3_ds.lst

?? 51單片機同時讀寫3個ds18B20和一個SHT10
?? LST
?? 第 1 頁 / 共 3 頁
字號:
C51 COMPILER V8.09   3_DS                                                                  01/20/2009 09:40:18 PAGE 1   


C51 COMPILER V8.09, COMPILATION OF MODULE 3_DS
OBJECT MODULE PLACED IN 3_ds.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 3_ds.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<reg52.h> //Microcontroller specific library, e.g. port definitions
   2          #include <intrins.h> //Keil library (is used for _nop()_ operation)  
   3          #include <math.h>    //Keil library  
   4          #include <stdio.h>   //Keil library
   5          #include <absacc.h>
   6          
   7          
   8          
   9          typedef union 
  10          { unsigned int i;
  11            float f;
  12          } value;
  13          
  14          //----------------------------------------------------------------------------------
  15          // modul-var
  16          //----------------------------------------------------------------------------------
  17          enum {TEMP,HUMI};
  18          
  19          //#define       DATA    P1_0
  20          //#define       SCK     P1_1
  21          
  22          #define noACK 0
  23          #define ACK   1
  24                                      //adr  command  r/w
  25          #define STATUS_REG_W 0x06   //000   0011    0
  26          #define STATUS_REG_R 0x07   //000   0011    1
  27          #define MEASURE_TEMP 0x03   //000   0001    1
  28          #define MEASURE_HUMI 0x05   //000   0010    1
  29          #define RESET        0x1e   //000   1111    0
  30          
  31          
  32          #define uchar unsigned char 
  33          #define uint unsigned int 
  34          
  35          uchar tplsb,tpmsb;              // 溫度值低位、高位字節 
  36          uchar ds_num;
  37          
  38          unsigned char xdata redata[8];   
  39          unsigned char xdata sedata[13];
  40          
  41          
  42          //sbit DQ = P0^1;                       // 數據通信線DQ
  43          
  44          union{
  45                  unsigned int  ds1_temp;   
  46                  unsigned char  ds1_t[2]; 
  47          
  48          }ds1;
  49          
  50          union{
  51                  unsigned int  ds2_temp;   
  52                  unsigned char  ds2_t[2]; 
  53          
  54          }ds2;
  55          
C51 COMPILER V8.09   3_DS                                                                  01/20/2009 09:40:18 PAGE 2   

  56          union{
  57                  unsigned int  ds3_temp;   
  58                  unsigned char  ds3_t[2]; 
  59          
  60          }ds3;
  61          
  62          
  63          union{
  64                  unsigned int  s_temp;   
  65                  unsigned char  s_t[2];
  66          
  67          }s;
  68          
  69          sbit DATA=P1^0;
  70          sbit SCK=P1^1;
  71          //sbit int485=P3^2;
  72          //unsigned char *tm;
  73          
  74          //unsigned int s_temph,s_templ,ds_temph,ds_templ;
  75          //float s_tem;
  76          //float xdata ds1_tem,ds2_tem,ds3_tem;
  77          
  78          
  79          //----------------------------------------------------------------------------------
  80          char s_write_byte(unsigned char value)
  81          //----------------------------------------------------------------------------------
  82          // writes a byte on the Sensibus and checks the acknowledge 
  83          { 
  84   1        unsigned char i,error=0;  
  85   1        for (i=0x80;i>0;i/=2)             //shift bit for masking
  86   1        { if (i & value) DATA=1;          //masking value with i , write to SENSI-BUS
  87   2          else DATA=0;                        
  88   2          SCK=1;                          //clk for SENSI-BUS
  89   2          _nop_();_nop_();_nop_();        //pulswith approx. 5 us     
  90   2          SCK=0;
  91   2        }
  92   1        DATA=1;                           //release DATA-line
  93   1        SCK=1;                            //clk #9 for ack 
  94   1        error=DATA;                       //check ack (DATA will be pulled down by SHT11)
  95   1        SCK=0;        
  96   1        return error;                     //error=1 in case of no acknowledge
  97   1      }
  98          
  99          //----------------------------------------------------------------------------------
 100          char s_read_byte(unsigned char ack)
 101          //----------------------------------------------------------------------------------
 102          // reads a byte form the Sensibus and gives an acknowledge in case of "ack=1" 
 103          { 
 104   1        unsigned char i,val=0;
 105   1        DATA=1;                           //release DATA-line
 106   1        for (i=0x80;i>0;i/=2)             //shift bit for masking
 107   1        { SCK=1;                          //clk for SENSI-BUS
 108   2          if (DATA) val=(val | i);        //read bit  
 109   2          SCK=0;                                       
 110   2        }
 111   1        DATA=!ack;                        //in case of "ack==1" pull down DATA-Line
 112   1        SCK=1;                            //clk #9 for ack
 113   1        _nop_();_nop_();_nop_();          //pulswith approx. 5 us 
 114   1        SCK=0;                                                    
 115   1        DATA=1;                           //release DATA-line
 116   1        return val;
 117   1      }
C51 COMPILER V8.09   3_DS                                                                  01/20/2009 09:40:18 PAGE 3   

 118          
 119          //----------------------------------------------------------------------------------
 120          void s_transstart(void)
 121          //----------------------------------------------------------------------------------
 122          // generates a transmission start 
 123          //       _____         ________
 124          // DATA:      |_______|
 125          //           ___     ___
 126          // SCK : ___|   |___|   |______
 127          {  
 128   1         DATA=1; SCK=0;                   //Initial state
 129   1         _nop_();
 130   1         SCK=1;
 131   1         _nop_();
 132   1         DATA=0;
 133   1         _nop_();
 134   1         SCK=0;  
 135   1         _nop_();_nop_();_nop_();
 136   1         SCK=1;
 137   1         _nop_();
 138   1         DATA=1;                 
 139   1         _nop_();
 140   1         SCK=0;                  
 141   1      }
 142          
 143          //----------------------------------------------------------------------------------
 144          void s_connectionreset(void)
 145          //----------------------------------------------------------------------------------
 146          // communication reset: DATA-line=1 and at least 9 SCK cycles followed by transstart
 147          //       _____________________________________________________         ________
 148          // DATA:                                                      |_______|
 149          //          _    _    _    _    _    _    _    _    _        ___     ___
 150          // SCK : __| |__| |__| |__| |__| |__| |__| |__| |__| |______|   |___|   |______
 151          {  
 152   1        unsigned char i; 
 153   1        DATA=1; SCK=0;                    //Initial state
 154   1        for(i=0;i<9;i++)                  //9 SCK cycles
 155   1        { SCK=1;
 156   2          SCK=0;
 157   2        }
 158   1        s_transstart();                   //transmission start
 159   1      }
 160          
 161          //----------------------------------------------------------------------------------
 162          char s_softreset(void)
 163          //----------------------------------------------------------------------------------
 164          // resets the sensor by a softreset 
 165          { 
 166   1        unsigned char error=0;  
 167   1        s_connectionreset();              //reset communication
 168   1        error+=s_write_byte(RESET);       //send RESET-command to sensor
 169   1        return error;                     //error=1 in case of no response form the sensor
 170   1      }
 171          
 172          //----------------------------------------------------------------------------------
 173          char s_read_statusreg(unsigned char *p_value, unsigned char *p_checksum)
 174          //----------------------------------------------------------------------------------
 175          // reads the status register with checksum (8-bit)
 176          { 
 177   1        unsigned char error=0;
 178   1        s_transstart();                   //transmission start
 179   1        error=s_write_byte(STATUS_REG_R); //send command to sensor
C51 COMPILER V8.09   3_DS                                                                  01/20/2009 09:40:18 PAGE 4   

 180   1        *p_value=s_read_byte(ACK);        //read status register (8-bit)
 181   1        *p_checksum=s_read_byte(noACK);   //read checksum (8-bit)  
 182   1        return error;                     //error=1 in case of no response form the sensor
 183   1      }
 184          
 185          //----------------------------------------------------------------------------------
 186          char s_write_statusreg(unsigned char *p_value)
 187          //----------------------------------------------------------------------------------
 188          // writes the status register with checksum (8-bit)
 189          { 
 190   1        unsigned char error=0;
 191   1        s_transstart();                   //transmission start
 192   1        error+=s_write_byte(STATUS_REG_W);//send command to sensor
 193   1        error+=s_write_byte(*p_value);    //send value of status register
 194   1        return error;                     //error>=1 in case of no response form the sensor
 195   1      }
 196                                                                     
 197          //----------------------------------------------------------------------------------
 198          char s_measure(unsigned char *p_value, unsigned char *p_checksum, unsigned char mode)
 199          //----------------------------------------------------------------------------------
 200          // makes a measurement (humidity/temperature) with checksum
 201          { 
 202   1        unsigned error=0;
 203   1        unsigned int i;
 204   1      
 205   1        s_transstart();                   //transmission start
 206   1        switch(mode){                     //send command to sensor
 207   2          case TEMP   : error+=s_write_byte(MEASURE_TEMP); break;
 208   2          case HUMI   : error+=s_write_byte(MEASURE_HUMI); break;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品在线电影| 国产一区二区不卡老阿姨| 欧美电影一区二区| 日精品一区二区| 久久综合丝袜日本网| 精品视频在线免费| 91在线云播放| 成人激情小说乱人伦| 热久久免费视频| 午夜精品福利在线| 国产精品午夜免费| 国产视频一区在线观看| 亚洲在线观看免费视频| 丝袜诱惑亚洲看片 | 欧美日韩美女一区二区| 国产麻豆成人精品| 国模无码大尺度一区二区三区| 午夜精品在线视频一区| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲欧洲日产国码二区| 一区二区三区91| 久久久久国产成人精品亚洲午夜| 制服丝袜亚洲精品中文字幕| 欧美一级午夜免费电影| 欧美一卡在线观看| 欧美三级中文字幕| 欧美成人综合网站| 中文字幕不卡在线观看| 最好看的中文字幕久久| 香蕉久久夜色精品国产使用方法| 天天色天天爱天天射综合| 丁香婷婷综合激情五月色| 精品一区二区三区香蕉蜜桃| 久久精品国产亚洲a| 成人丝袜高跟foot| 欧美亚洲国产怡红院影院| 91精品国产一区二区| 国产精品入口麻豆原神| 亚洲一线二线三线视频| 国产在线乱码一区二区三区| 成人毛片在线观看| 欧美伦理影视网| 自拍偷自拍亚洲精品播放| 国产一区二区成人久久免费影院 | 亚洲h动漫在线| 国产一区二区三区在线看麻豆| 欧美性生活一区| 久久久不卡网国产精品一区| 亚洲综合免费观看高清在线观看| 国产精品一区在线观看乱码| 国产自产高清不卡| 成人一区二区三区中文字幕| 成人激情文学综合网| 欧美成人精品3d动漫h| 亚洲国产精品视频| 91麻豆123| 亚洲日本va在线观看| 成人一区二区三区中文字幕| 久久久综合视频| 麻豆精品视频在线| 国产成人午夜精品5599| 国产不卡高清在线观看视频| 日韩美女一区二区三区四区| 丝袜亚洲另类欧美综合| 在线免费观看视频一区| 亚洲男人都懂的| 色婷婷亚洲综合| 亚洲日本一区二区| 色一情一伦一子一伦一区| 亚洲日本电影在线| 欧美午夜片在线看| 色综合天天做天天爱| 久久综合久久综合久久| 国产一区二区免费视频| 国产婷婷色一区二区三区在线| 久久97超碰色| 国产精品午夜免费| 欧美色涩在线第一页| 裸体歌舞表演一区二区| 久久品道一品道久久精品| 99久久国产综合精品麻豆| 欧美日韩美少妇| 亚洲一区在线电影| 欧美吞精做爰啪啪高潮| 日韩av二区在线播放| 国产女同性恋一区二区| 9i在线看片成人免费| 亚洲综合在线免费观看| 欧美精品一区二区在线播放| av电影在线观看一区| 亚洲国产精品一区二区久久| 欧美成人午夜电影| 91在线国产福利| 一区二区三区免费| 国内外精品视频| 色偷偷久久人人79超碰人人澡| 国产精品美女久久久久aⅴ| 成人免费视频app| 亚洲一区二区影院| 久久精品视频免费| 色8久久精品久久久久久蜜| 日本不卡中文字幕| 日韩小视频在线观看专区| 亚洲同性同志一二三专区| 色偷偷88欧美精品久久久| 亚洲国产sm捆绑调教视频 | 国产精品一级黄| 国产视频一区在线观看 | 久久电影网站中文字幕| 欧美国产综合色视频| 在线亚洲人成电影网站色www| 亚洲小少妇裸体bbw| 精品国产凹凸成av人网站| 精品制服美女久久| 国产精品人成在线观看免费| 色久优优欧美色久优优| 亚洲在线一区二区三区| 日韩精品一区二区三区老鸭窝| 成人永久免费视频| 久久精品国产亚洲a| 亚洲影院理伦片| 国产日韩v精品一区二区| 亚洲精品一区二区三区精华液| 日韩视频一区二区三区| 日韩三级视频中文字幕| 欧美一级黄色大片| 欧美日韩精品一二三区| 4438成人网| 日韩限制级电影在线观看| 日韩欧美国产系列| 2023国产一二三区日本精品2022| 91久久精品一区二区| 自拍偷自拍亚洲精品播放| 一本色道亚洲精品aⅴ| 亚洲不卡av一区二区三区| 国产女同互慰高潮91漫画| 精品国产第一区二区三区观看体验| 欧美草草影院在线视频| 日精品一区二区| 欧美一区二区三区白人| 精品动漫一区二区三区在线观看| 国产一区二区三区黄视频 | 欧美美女激情18p| 久久99精品久久久久久动态图 | 国产很黄免费观看久久| 水蜜桃久久夜色精品一区的特点| 亚洲小少妇裸体bbw| 视频一区视频二区中文字幕| 日韩精品午夜视频| 美女视频第一区二区三区免费观看网站 | 欧美日韩免费电影| 欧美群妇大交群中文字幕| 欧美无砖专区一中文字| 欧美挠脚心视频网站| 欧美xxxxxxxx| 欧美国产在线观看| 亚洲免费毛片网站| 亚洲成人av电影| 激情亚洲综合在线| 丁香亚洲综合激情啪啪综合| 成人短视频下载| 欧美三级在线看| 日韩欧美国产三级电影视频| 国产亚洲精品久| 亚洲一区二区三区中文字幕在线| 日韩高清不卡在线| www.av精品| 精品久久久久久亚洲综合网| 国产精品乱人伦一区二区| 亚洲在线免费播放| 国产一区二区三区国产| 91久久国产综合久久| 中文字幕亚洲在| 国产高清无密码一区二区三区| 国产精品2024| 色婷婷精品久久二区二区蜜臂av| 欧美巨大另类极品videosbest| 精品乱人伦一区二区三区| 喷水一区二区三区| 夜色激情一区二区| 久久精品人人爽人人爽| 人人狠狠综合久久亚洲| 国产亚洲综合av| 欧美一区二区三区喷汁尤物| 色呦呦国产精品| 成+人+亚洲+综合天堂| 国产精品自在在线| 久久精品久久精品| 日韩成人免费电影| 午夜久久久久久久久| 亚洲一区视频在线| 亚洲日穴在线视频| 成人激情午夜影院| 国产午夜一区二区三区| 激情久久五月天| 精品入口麻豆88视频| 九色综合狠狠综合久久| 精品国产91九色蝌蚪| 日韩精品一二三四| 欧美精品日韩精品|