亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲一区免费在线观看| 天天色综合成人网| 亚洲电影一区二区| 国产美女在线精品| 欧美最猛黑人xxxxx猛交| 亚洲精品一区二区三区四区高清| 中文字幕亚洲不卡| 久久综合综合久久综合| 色婷婷综合在线| 国产日韩v精品一区二区| 午夜精品免费在线| 91亚洲精品久久久蜜桃| 久久午夜色播影院免费高清 | 99re热这里只有精品视频| 欧美日韩国产欧美日美国产精品| 国产精品国产三级国产aⅴ原创| 奇米影视一区二区三区| 色狠狠综合天天综合综合| 久久欧美中文字幕| 经典三级在线一区| 91精品午夜视频| 五月天欧美精品| 91国内精品野花午夜精品 | 亚洲欧美中日韩| 狠狠狠色丁香婷婷综合激情| 欧美一区二区三区成人| 亚洲韩国精品一区| 欧美亚洲国产怡红院影院| 国产精品国产自产拍高清av王其| 久久se这里有精品| 欧美成人a视频| 麻豆一区二区在线| 日韩三级精品电影久久久| 日本aⅴ亚洲精品中文乱码| 欧美日韩国产影片| 亚洲国产美国国产综合一区二区| 色婷婷综合视频在线观看| 一区二区高清在线| 亚洲国产成人自拍| 国产精品污www在线观看| 亚瑟在线精品视频| 欧美色精品天天在线观看视频| 亚洲精品美腿丝袜| 欧美亚洲高清一区| 天堂午夜影视日韩欧美一区二区| 欧美日韩在线观看一区二区 | 亚洲成人精品影院| 欧美日韩免费一区二区三区视频| 一区二区三区毛片| 欧美三级韩国三级日本三斤| 日韩精品午夜视频| 日韩精品专区在线影院重磅| 国产成人精品一区二| 国产精品久久久久久久久免费相片| 国产99久久久国产精品| 国产精品每日更新| 欧美精品aⅴ在线视频| 国内精品国产成人| 欧美精品一区二区久久婷婷| 国产一二三精品| 国产精品二三区| 欧美色区777第一页| 久久国产精品免费| 亚洲欧洲日产国码二区| 欧美日韩在线三区| 国产成人午夜99999| 亚洲男人天堂av网| 在线不卡中文字幕播放| 精品国产制服丝袜高跟| 日韩激情中文字幕| 成人免费毛片片v| 洋洋成人永久网站入口| 国产成人精品午夜视频免费| 91麻豆精品国产91久久久久 | 欧美日韩激情一区二区| 国产一区二区三区美女| 日韩精品一区二区三区四区视频| 免费不卡在线观看| 久久先锋资源网| 欧美图区在线视频| 国产一区二区剧情av在线| 亚洲美女区一区| 精品国产免费人成在线观看| 色先锋久久av资源部| 看片的网站亚洲| 亚洲福利国产精品| 国产精品嫩草影院com| 欧美日韩国产大片| 91同城在线观看| 黑人巨大精品欧美一区| 丝袜诱惑亚洲看片| 亚洲视频在线一区观看| 亚洲精品一区二区三区99| 欧美伊人久久久久久久久影院| 国产69精品久久99不卡| 美女爽到高潮91| 亚洲愉拍自拍另类高清精品| 国产精品久久久久毛片软件| 日韩免费在线观看| 欧美日韩国产成人在线91| 91国内精品野花午夜精品| 成人妖精视频yjsp地址| 激情小说欧美图片| 美女视频黄a大片欧美| 亚洲香肠在线观看| 亚洲区小说区图片区qvod| 久久久噜噜噜久久人人看 | 香蕉成人伊视频在线观看| 日韩一区有码在线| 中文字幕av一区二区三区| 精品国产网站在线观看| 日韩一区二区三区免费看 | 激情综合色综合久久综合| 日本不卡中文字幕| 日本不卡视频一二三区| 丝袜美腿亚洲一区二区图片| 亚洲国产精品久久久久婷婷884| 亚洲私人黄色宅男| 亚洲精品国产一区二区三区四区在线| 午夜精品一区在线观看| 在线观看成人小视频| 成人av在线播放网址| 国产成人精品一区二| 福利一区二区在线| 成人黄色免费短视频| 色香色香欲天天天影视综合网| 99麻豆久久久国产精品免费| 一本久道中文字幕精品亚洲嫩 | 国产欧美一区二区三区在线看蜜臀 | 777奇米成人网| 欧美一卡二卡三卡| 精品国产乱码久久久久久老虎| 激情久久五月天| 亚洲日本va午夜在线影院| 2023国产一二三区日本精品2022| 欧美v国产在线一区二区三区| 日韩欧美色综合网站| 久久一二三国产| 日韩一区在线看| 亚洲高清免费一级二级三级| 美女被吸乳得到大胸91| 狠狠色2019综合网| 99re亚洲国产精品| 91精选在线观看| 国产日韩欧美一区二区三区综合| 欧美国产日韩一二三区| 一区二区三区欧美日| 亚洲超碰97人人做人人爱| 久久99精品国产| 91丨porny丨最新| 欧美妇女性影城| 欧美国产日韩在线观看| 亚洲电影第三页| 国产精品99久久久久久久女警| 97se亚洲国产综合自在线不卡| 91精品国产综合久久香蕉的特点| 久久久久久久久伊人| 一区二区三区四区在线免费观看| 日韩精品每日更新| 精品一区二区三区免费观看| 欧美午夜片在线观看| 亚洲青青青在线视频| 亚洲一区二区欧美日韩| 美女一区二区三区在线观看| av动漫一区二区| 日韩欧美一级二级三级久久久| 日本一区二区在线不卡| 石原莉奈在线亚洲三区| 成人黄色片在线观看| 日韩欧美激情四射| 亚洲精品中文在线观看| 国产在线精品一区二区不卡了 | 欧洲色大大久久| 精品国产凹凸成av人网站| 夜色激情一区二区| 成人av资源在线| 亚洲精品一区二区三区蜜桃下载 | 欧美大黄免费观看| 91色婷婷久久久久合中文| 91亚洲精品久久久蜜桃网站| 精品国产1区二区| 日韩精品免费专区| 欧美在线不卡一区| 综合欧美一区二区三区| 久久99国产精品久久99| 欧美日韩国产影片| 夜夜精品视频一区二区| av在线不卡观看免费观看| 国产亚洲精品7777| 久久成人免费电影| 91精品国产一区二区| 夜夜嗨av一区二区三区网页| 色天使色偷偷av一区二区| 中文字幕一区在线观看视频| 国产91丝袜在线观看| 久久久蜜桃精品| 国产成人精品免费网站| 精品国产乱码久久久久久浪潮 | 亚洲最新视频在线播放| 91影院在线观看|