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

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

?? tempture.lst

?? 溫度傳感器18B20的典型應用
?? LST
字號:
C51 COMPILER V8.02   TEMPTURE                                                              07/18/2008 16:54:11 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE TEMPTURE
OBJECT MODULE PLACED IN tempture.OBJ
COMPILER INVOKED BY: D:\安裝程序\UV3\C51\BIN\C51.EXE tempture.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*******************************************************************************************************
   2          程序名稱:1602液晶溫度顯示
   3          實現功能:1602液晶溫度顯示
   4          作者:李燦松
   5          最后修改時間:2008.7.18
   6          =========================================
   7          數據說明:                                                              *
   8          P0_0=D0   P0_1=D1    P0_2=D2    P0_3=D3 *
   9          P0_4=D4   P0_5=D5    P0_6=D6    P0_7=D7 *   
  10          P2_0=RS   P2_1=RW    P2_2=E                             *
  11                                                                                          *
  12          P3_3為DS18B20的數據輸入口                       *
  13          =========================================
  14          *******************************************************************************************************/
  15          #include<reg52.h>
  16          #include<intrins.h>
  17          #define T_cont  0.0625               //溫度轉換常數
  18          #define uchar  unsigned char
  19          #define uint  unsigned int             
  20          #define L1602_DB0_DB7 P0             //定義1602的數據總線
  21          bit T_sign=0;                        //溫度正負符號        
  22          float  temp1=0;
  23          sbit DQ=P3^3;                        //單口線說明
  24          sbit L1602_RS=P2^0;                  //定義1602得RS控制線
  25          sbit L1602_RW=P2^1;                  //定義1602得RW控制線
  26          sbit L1602_E=P2^2;                   //定義1602的E控制線
  27          sbit L1602_Busy=P0^7;                //定義1602的測忙線
  28          uchar code Welcome[]={"wlecome"};
  29          uchar code Welcome1[]={"tempture"};
  30          uchar code Welcome2[]={"cansong:"};
  31          uchar code Temp[]={"temp"};
  32          unsigned char sdata,t_bai,t_shi,t_ge,t_feng,t_miao;
  33          typedef bit BOOL ; 
  34          
  35          /**********************************************************************************************
  36          函數名稱:主函數
  37          函數功能:
  38          說明:
  39          **********************************************************************************************/
  40          void main(void)
  41          {
  42   1      void print(uchar a,uchar *str);
  43   1      void print1(uchar a,uchar t); 
  44   1      void LCM1602_Init();
  45   1      void LCM1602_Delay(uchar count);
  46   1      void ReadTemperature();
  47   1      void DS18B20_init();
  48   1      
  49   1      DS18B20_init();
  50   1      LCM1602_Init();
  51   1      print(0x80,Welcome);
  52   1      print(0xc0,Welcome1);
  53   1      LCM1602_Delay(5000);
  54   1      while(1)
  55   1        {
C51 COMPILER V8.02   TEMPTURE                                                              07/18/2008 16:54:11 PAGE 2   

  56   2         ReadTemperature();
  57   2         print(0x80, Welcome2);
  58   2         if(T_sign==1)
  59   2             print1(0xc0,0x2d);
  60   2         else 
  61   2             print1(0xc0,0x2b);    
  62   2         //if(t_bai!=0)
  63   2             print1(0xc1,t_bai+0x30);
  64   2        // else
  65   2            // print1(0xc1,t_shi+0x30);   //消隱,不顯示
  66   2        // t_shi=3;
  67   2         print1(0xc2,t_shi+0x30);
  68   2         print1(0xc3,t_ge+0x30);
  69   2         print1(0xc4,0x2e);               //顯示點
  70   2         print1(0xc5,t_feng+0x30);
  71   2         print1(0xc6,t_miao+0x30);
  72   2         print1(0xc7,0x43);              //顯示'C
  73   2        }
  74   1      }        
  75          
  76          
  77          /**********************************************************************************************
  78          函數名稱:讀取溫度函數
  79          函數功能:讀取DS18B20的轉換溫度值
  80          說明:
  81          **********************************************************************************************/
  82          
  83          void ReadTemperature()               //獲取溫度源程序
  84          {
  85   1       void delay(unsigned int delay_time);
  86   1       void DS18B20_init();
  87   1       void DS18B20_send(unsigned char out_data);
  88   1       uchar DS18B20_read(void);
  89   1       unsigned int y=0;
  90   1       uchar a=0;
  91   1       uchar b=0;
  92   1      // unsigned char k;
  93   1       DS18B20_init();                   //初始化DS18B20
  94   1       DS18B20_send (0xcc);
  95   1       DS18B20_send (0x44);              //啟動溫度轉換
  96   1       delay(125);
  97   1       DS18B20_init();       
  98   1       DS18B20_send (0xcc);
  99   1       DS18B20_send (0xbe);             //讀取溫度寄存器
 100   1       a=DS18B20_read();                     //讀取低位
 101   1       b=DS18B20_read();                        //讀取高位
 102   1       //k=b&0X08;
 103   1       //if(k==0x08)  T_sign=1;          //溫度是負數
 104   1       //else T_sign=0;
 105   1      
 106   1              if(b>0x7f)
 107   1              {                                                   
 108   2                      a=~a;b=~b+1;              //補碼轉換,取反加一
 109   2                      T_sign=1;                //溫度為負時flag=0
 110   2                       
 111   2              }
 112   1              sdata=a/16+b*16;
 113   1              t_bai=sdata/100;
 114   1              t_shi=sdata/10;
 115   1              t_ge=sdata%10;
 116   1              t_feng=(a&0x0f)*10/16;
 117   1              t_miao=(a&0x0f)*100/16%10;
C51 COMPILER V8.02   TEMPTURE                                                              07/18/2008 16:54:11 PAGE 3   

 118   1       
 119   1      } 
 120          
 121          
 122          /**********************************************************************************************
 123          函數名稱:延時函數
 124          函數功能:轉換延時和顯示延時
 125          說明:LCM1602_Delay()是液晶顯示延時,delay()是溫度轉換延時
 126          **********************************************************************************************/
 127          void delay(unsigned int delay_time) // 延時程序
 128          {
 129   1       while(delay_time--);
 130   1      }
 131          
 132          void LCM1602_Delay(uchar count)
 133          {
 134   1              uchar i;
 135   1              while(--count!=0)
 136   1                 {for(i=0;i<250;i++);}        
 137   1      }
 138          
 139          /**********************************************************************************************
 140          函數名稱:初始化函數
 141          函數功能:對DS18B20進行初始化
 142          說明:
 143          **********************************************************************************************/
 144          void DS18B20_init()  //初始化DS18B20
 145          {
 146   1      unsigned char i=0;
 147   1      DQ=1;
 148   1      delay(8);
 149   1      DQ=0;
 150   1      delay(85);       //精確延時484 us
 151   1      DQ=1;
 152   1      delay(14);        //精確延時34us
 153   1      i=DQ;
 154   1      delay(20);
 155   1                                       
 156   1      }
 157          
 158          /**********************************************************************************************
 159          函數名稱:寫函數
 160          函數功能:向DS18B20寫命令
 161          說明:
 162          **********************************************************************************************/
 163          void DS18B20_send(unsigned char out_data) //主機發送一字節到DS18B20
 164          {
 165   1       unsigned char i=0;
 166   1       
 167   1       for(i=8;i>0;i--)
 168   1         {
 169   2          DQ=0;
 170   2              DQ=out_data&0x01;                     //數據從低位送出
 171   2              delay(5);                            //精確延時61us
 172   2              DQ=1;
 173   2              out_data>>=1;
 174   2         }
 175   1        delay(4);
 176   1      }
 177          
 178          /**********************************************************************************************
 179          函數名稱:讀函數
C51 COMPILER V8.02   TEMPTURE                                                              07/18/2008 16:54:11 PAGE 4   

 180          函數功能:從DS18B20讀取數據
 181          說明:
 182          **********************************************************************************************/
 183          uchar DS18B20_read(void)//主機從DS18B20中讀取一字節
 184          {
 185   1       unsigned char i,in_data;
 186   1       in_data=0;
 187   1       for(i=8;i>0;i--)
 188   1          {
 189   2               DQ=1;
 190   2               delay(1);
 191   2               DQ=0;            //給脈沖信號
 192   2               in_data>>=1;
 193   2               DQ=1;           //給脈沖信號
 194   2               if(DQ) 
 195   2                 in_data|=0x80;
 196   2               delay(4);
 197   2              }
 198   1       return(in_data);
 199   1      }
 200          
 201          
 202          /**********************************************************************************************
 203          函數名稱:初始化函數
 204          函數功能:液晶1602初始化
 205          說明:
 206          **********************************************************************************************/
 207          void  LCM1602_Init(void)
 208          {
 209   1       void LCM1602_WriteData(uchar LCM1602_data);
 210   1       void LCM1602_WriteCMD(uchar LCM1602_command);
 211   1       LCM1602_WriteCMD(0x38);    //顯示兩行,每個字符為5*7個像素
 212   1       delay(1);
 213   1       LCM1602_WriteCMD(0x06);    //光標移動設置,光標右移
 214   1       delay(1);
 215   1       LCM1602_WriteCMD(0x0c);    //現設開,光標開,閃爍開
 216   1       delay(1);
 217   1       LCM1602_WriteCMD(0x01);    //清屏
 218   1       delay(1);
 219   1      }
 220          void  print(uchar a,uchar *str)
 221          {
 222   1       void  LCM1602_WriteData(uchar LCM1602_data);
 223   1       void  LCM1602_WriteCMD(uchar LCM1602_command);
 224   1       LCM1602_WriteCMD(a);
 225   1       while(*str!='\0')
 226   1          {
 227   2          LCM1602_WriteData(*str++);
 228   2              }
 229   1       *str=0;
 230   1      }
 231          void print1(uchar a,uchar t)
 232          {
 233   1       LCM1602_WriteCMD(a);
 234   1       LCM1602_WriteData(t);
 235   1      }
 236          
 237          
 238          
 239          /**********************************************************************************************
 240          函數名稱:寫命令和寫數據函數
 241          函數功能:向LCD寫命令和數據
C51 COMPILER V8.02   TEMPTURE                                                              07/18/2008 16:54:11 PAGE 5   

 242          說明:LCM1602_WriteCMD是寫命令函數,void LCM1602_WriteData是寫數據函數
 243          **********************************************************************************************/
 244          void LCM1602_WriteCMD(uchar LCM1602_command)
 245          {
 246   1      BOOL lcd_bz();
 247   1      while(lcd_bz());        //測忙
 248   1      L1602_RS=0;
 249   1      L1602_RW=0;
 250   1      L1602_E=0;
 251   1      _nop_();
 252   1      _nop_();
 253   1      L1602_DB0_DB7=LCM1602_command;
 254   1      _nop_();
 255   1      _nop_();_nop_();
 256   1      L1602_E=1;    //命令總送出
 257   1      _nop_();_nop_();_nop_();
 258   1      L1602_E=0; 
 259   1      }
 260          
 261          void LCM1602_WriteData(uchar LCM1602_data)
 262          {
 263   1      BOOL lcd_bz();
 264   1      while(lcd_bz());        //測忙
 265   1      L1602_RS=1;
 266   1      L1602_RW=0;
 267   1      L1602_E=0;
 268   1      L1602_DB0_DB7=LCM1602_data;
 269   1      _nop_();
 270   1      _nop_();
 271   1      _nop_();
 272   1      _nop_();
 273   1      L1602_E=1;   //數據送出
 274   1      _nop_();
 275   1      _nop_();
 276   1      _nop_();
 277   1      L1602_E=0;
 278   1      }
 279          
 280          
 281          /**********************************************************************************************
 282          函數名稱:LCD檢測忙函數
 283          函數功能:檢測LCD是否處于忙狀態
 284          說明: 
 285          **********************************************************************************************/
 286          BOOL lcd_bz()
 287          {                                                       // 測試LCD忙碌狀態
 288   1              BOOL result;
 289   1              L1602_RS=0;
 290   1          L1602_RW=1;
 291   1          L1602_E=1;
 292   1              _nop_();
 293   1              _nop_();
 294   1              _nop_();
 295   1              _nop_();
 296   1              result = (BOOL)(P0 & 0x80);
 297   1              L1602_E = 0;
 298   1              return result;  
 299   1      }
 300          /**********************************************************************************************/ 


MODULE INFORMATION:   STATIC OVERLAYABLE
C51 COMPILER V8.02   TEMPTURE                                                              07/18/2008 16:54:11 PAGE 6   

   CODE SIZE        =    560    ----
   CONSTANT SIZE    =     31    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     10       9
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品免费aⅴ片在线观看| 亚洲激情成人在线| 亚洲黄色av一区| 久久99九九99精品| 欧美伊人久久久久久久久影院| 久久男人中文字幕资源站| 亚洲午夜久久久久中文字幕久| 国产99一区视频免费| 欧美一区二区三区思思人| 一区二区三区中文在线| 国产成人av电影在线观看| 欧美一区二区在线不卡| 亚洲一二三四区| 91一区二区在线观看| 久久精品视频一区二区三区| 久久精品国产成人一区二区三区 | 国产资源精品在线观看| 欧美日韩视频专区在线播放| 激情综合网激情| 欧美久久久久久蜜桃| 亚洲一区在线观看视频| 在线免费一区三区| 一区二区三区在线视频免费观看| 91视频国产资源| 亚洲人吸女人奶水| 日本精品裸体写真集在线观看| 国产拍揄自揄精品视频麻豆| 久久99国产精品免费网站| 日韩一区二区三区免费看 | 91精品国产综合久久久久久久久久| 专区另类欧美日韩| 99精品偷自拍| 一区二区三区日韩精品视频| 91成人在线精品| 亚洲电影第三页| 欧美日韩国产综合久久| 日韩激情av在线| 精品国产一区二区三区忘忧草 | 99久久伊人久久99| 亚洲伦在线观看| 欧美亚洲高清一区二区三区不卡| 亚洲成人激情自拍| 日韩女优视频免费观看| 国产麻豆视频一区| 国产精品国产三级国产aⅴ中文| 91在线高清观看| 一区二区免费视频| 欧美一区二区三区不卡| 国产精品99久久久久久宅男| 中文欧美字幕免费| 欧美在线影院一区二区| 美腿丝袜在线亚洲一区 | 欧美一区二视频| 久久99久久精品| 日本一区二区三区在线不卡| 色婷婷亚洲精品| 青草av.久久免费一区| 久久综合色鬼综合色| jlzzjlzz亚洲日本少妇| 婷婷久久综合九色综合绿巨人 | 日韩欧美亚洲国产另类 | 伊人夜夜躁av伊人久久| 91麻豆精品国产91久久久更新时间 | 综合久久国产九一剧情麻豆| 欧美性猛交xxxx黑人交| 国产裸体歌舞团一区二区| 亚洲人成在线播放网站岛国| 91麻豆精品国产91久久久久久久久 | 色综合天天视频在线观看| 日韩一区精品视频| 中文字幕久久午夜不卡| 欧美日韩亚洲不卡| av不卡一区二区三区| 麻豆国产一区二区| 亚洲一区二区三区视频在线| 亚洲精品一区二区三区精华液| 色综合天天综合网国产成人综合天| 男女男精品网站| 亚洲黄色av一区| 中文字幕乱码亚洲精品一区| 日韩欧美123| 欧美日韩一区高清| 99在线精品观看| 开心九九激情九九欧美日韩精美视频电影| 亚洲欧洲成人自拍| 久久蜜桃一区二区| 欧美一区二区三区四区五区 | 色婷婷av一区二区三区之一色屋| 日本欧美久久久久免费播放网| 亚洲日本va午夜在线影院| 欧美mv和日韩mv的网站| 欧美日韩精品一区二区三区蜜桃 | www日韩大片| 91精品国产91久久久久久一区二区| av在线免费不卡| 国产成人午夜精品影院观看视频| 秋霞成人午夜伦在线观看| 亚洲乱码精品一二三四区日韩在线| 欧美激情中文不卡| 欧美国产一区在线| 久久精品人人做人人爽97| 久久先锋资源网| 久久精品亚洲麻豆av一区二区| 日韩精品专区在线影院观看| 欧美一区二区精品在线| 欧美人xxxx| 日韩天堂在线观看| 欧美妇女性影城| 欧美一区永久视频免费观看| 精品污污网站免费看| 欧美午夜精品理论片a级按摩| 97久久超碰精品国产| 菠萝蜜视频在线观看一区| 成人永久免费视频| av男人天堂一区| 日本久久一区二区三区| 色综合久久88色综合天天 | 9色porny自拍视频一区二区| 成人免费看片app下载| 不卡在线视频中文字幕| 99精品久久99久久久久| 99精品国产视频| 色视频成人在线观看免| 色狠狠色噜噜噜综合网| 欧美久久久久中文字幕| 日韩欧美不卡在线观看视频| 精品国产91乱码一区二区三区| 久久久国产精品麻豆| 国产女主播视频一区二区| 激情久久五月天| 国产福利一区二区三区视频在线| 成人黄色小视频| 欧美亚洲国产怡红院影院| 欧美一区二区三区免费在线看| 精品国产乱码久久久久久久| 久久久久久久综合色一本| 最新热久久免费视频| 亚洲va国产va欧美va观看| 免费成人在线网站| 国产宾馆实践打屁股91| 色婷婷综合久久久久中文| 欧美日韩国产高清一区二区三区 | 欧美一级午夜免费电影| 26uuu亚洲综合色欧美| 亚洲色图一区二区三区| 日本aⅴ亚洲精品中文乱码| 成人一区二区三区在线观看| 色就色 综合激情| 亚洲精品一区二区三区影院| 亚洲人成小说网站色在线 | 亚洲成国产人片在线观看| 久久99精品一区二区三区三区| 不卡的电影网站| 欧美一区二区精品在线| 亚洲欧洲一区二区三区| 日韩av二区在线播放| 97se亚洲国产综合自在线观| 欧美精品xxxxbbbb| 亚洲欧美一区二区在线观看| 奇米在线7777在线精品| 99精品国产热久久91蜜凸| 日韩精品自拍偷拍| 亚洲一区在线看| youjizz久久| 日韩美女视频在线| 一区二区三区日本| 成人h精品动漫一区二区三区| 日韩一区二区三区在线| 一区二区三区不卡视频在线观看| 国产成人综合亚洲网站| 欧美一卡二卡三卡| 亚洲一区免费在线观看| 波多野结衣视频一区| 久久亚洲私人国产精品va媚药| 亚洲mv大片欧洲mv大片精品| 91色在线porny| 国产精品伦一区二区三级视频| 紧缚奴在线一区二区三区| 欧美精品色一区二区三区| 亚洲免费观看高清完整版在线观看 | 欧美一二三区在线| 亚洲高清在线视频| 色婷婷久久综合| 亚洲少妇中出一区| 不卡在线视频中文字幕| 亚洲精品一线二线三线无人区| 日日摸夜夜添夜夜添国产精品| 色先锋aa成人| 亚洲精品一二三区| 99久久精品国产精品久久| 国产精品久久久久aaaa樱花| 成熟亚洲日本毛茸茸凸凹| 国产网站一区二区| 高潮精品一区videoshd| 中文字幕不卡三区| 成人一区二区三区视频在线观看 | 成+人+亚洲+综合天堂| 国产午夜亚洲精品理论片色戒| 欧美一级久久久| 日韩精品1区2区3区|