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

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

?? text1.lst

?? 這是一個溫度采集試驗
?? LST
字號:
C51 COMPILER V7.02a   TEXT1                                                                08/21/2007 15:06:16 PAGE 1   


C51 COMPILER V7.02a, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include"reg51.h"
   2          
   3          //*******************LCD模塊
   4          
   5          #define LCD_DATA P1        //LCD的數據口
   6          
   7          sbit LCD_BUSY=LCD_DATA^7;  //LCD忙信號位
   8          
   9          sbit LCD_RS=P0^0;          //LCD寄存器選擇
  10          sbit LCD_RW=P0^1;          //LCD讀寫控制
  11          sbit LCD_EN=P0^2;          //LCD使能信號
  12          
  13          
  14          void LCD_check_busy(void)   //檢測LCD狀態,看它是不是還在忙呢
  15          {
  16   1       while(1)
  17   1        {
  18   2         LCD_EN=0;
  19   2         LCD_RS=0; //指令寄存器通信
  20   2         LCD_RW=1;  //read data
  21   2         LCD_DATA=0xff;
  22   2         LCD_EN=1;
  23   2         if(!LCD_BUSY)break;
  24   2        }
  25   1       LCD_EN=0;
  26   1      }
  27          
  28          void LCD_cls(void)          //LCD清屏
  29          {
  30   1       
  31   1       LCD_check_busy();
  32   1       LCD_RS=0;
  33   1       LCD_RW=0;
  34   1       LCD_DATA=1;
  35   1       LCD_EN=1;
  36   1       LCD_EN=0;
  37   1       
  38   1      }
  39          
  40          void LCD_write_instruction(unsigned char LCD_instruction)   //寫指令到LCD
  41          {
  42   1       LCD_check_busy();
  43   1       LCD_RS=0;
  44   1       LCD_RW=0;      //寫數據
  45   1       
  46   1       LCD_DATA=LCD_instruction;
  47   1       LCD_EN=1;
  48   1       LCD_EN=0;
  49   1       }
  50          
  51          void LCD_write_data(unsigned char LCD_data)      //輸出一個字節數據到LCD
  52          {
  53   1       LCD_check_busy();
  54   1       LCD_RS=1;
  55   1       LCD_RW=0;
C51 COMPILER V7.02a   TEXT1                                                                08/21/2007 15:06:16 PAGE 2   

  56   1       
  57   1       LCD_DATA=LCD_data;
  58   1       LCD_EN=1;
  59   1       LCD_EN=0;
  60   1       }
  61           
  62          void LCD_set_position(unsigned char x)            //LCD光標定位到x處
  63          {
  64   1      LCD_write_instruction(0x80+x);
  65   1      }
  66          
  67          
  68          
  69          
  70          
  71          void LCD_printc(unsigned char lcd_data)          //輸出一個字符到LCD
  72          {
  73   1       LCD_write_data(lcd_data);
  74   1      }
  75          
  76          void LCD_prints(unsigned char *lcd_string)       //輸出一個字符串到LCD
  77          {
  78   1       unsigned char i=0;
  79   1       while(lcd_string[i]!=0x00)
  80   1        {
  81   2         LCD_write_data(lcd_string[i]);
  82   2         i++;
  83   2        } 
  84   1      }
  85          
  86          void LCD_initial(void)                        //初始化LCD
  87          {
  88   1       LCD_write_instruction(0x3c);
  89   1       LCD_write_instruction(0x0c);
  90   1       LCD_write_instruction(0x06);//顯示屏一定要不移動。
  91   1       LCD_cls();
  92   1      }
  93          //*************************LCD模塊結束
  94          
  95           //*******************************ds18b20
  96          unsigned char ds18b20_num1[8]={0x8e,0x00,0x00,0x00,0xb8,0xc5,0x30,0x28};
  97          unsigned char ds18b20_num2[8]={0xb9,0X00,0X00,0x00,0xb8,0Xc5,0X31,0X28};
  98          unsigned char ds18b20_num3[8]={0xe0,0x00,0x00,0x00,0xb8,0xc5,0x32,0x28};
  99          sbit DQ =P3^6;   //定義通信端口
 100          
 101          //延時函數
 102          
 103          void delay(unsigned int i)
 104          {
 105   1       while(i--);
 106   1      }
 107          
 108          //初始化函數
 109           unsigned char Init_DS18B20(void)
 110          {
 111   1       unsigned char x=0;
 112   1       DQ = 1;    //DQ復位
 113   1       delay(8);  //稍做延時
 114   1       DQ = 0;    //單片機將DQ拉低
 115   1       delay(80); //精確延時 大于 480us
 116   1       DQ = 1;    //拉高總線
 117   1       delay(14);
C51 COMPILER V7.02a   TEXT1                                                                08/21/2007 15:06:16 PAGE 3   

 118   1       x=DQ;      //稍做延時后 如果x=0則初始化成功 x=1則初始化失敗
 119   1       delay(20);
 120   1       return (x);
 121   1      }
 122          
 123          //讀一個字節
 124          ReadOneChar(void)
 125          {
 126   1      unsigned char i=0;
 127   1      unsigned char dat = 0;
 128   1      for (i=8;i>0;i--)
 129   1       {
 130   2        DQ = 0; // 給脈沖信號
 131   2        dat>>=1;
 132   2        DQ = 1; // 給脈沖信號
 133   2        if(DQ)
 134   2         dat|=0x80;
 135   2        delay(4);
 136   2       }
 137   1       return(dat);
 138   1      }
 139          
 140          //寫一個字節
 141          WriteOneChar(unsigned char dat)
 142          {
 143   1       unsigned char i=0;
 144   1       for (i=8; i>0; i--)
 145   1       {
 146   2        DQ = 0;
 147   2        DQ = dat&0x01;
 148   2        delay(5);
 149   2        DQ = 1;
 150   2        dat>>=1;
 151   2       }
 152   1      //delay(4);
 153   1      }
 154          unsigned char * read_rom(void)
 155          {
 156   1              unsigned char rom[8],i;
 157   1              Init_DS18B20();
 158   1              WriteOneChar(0x33);
 159   1              for(i=8;i>0;i--)
 160   1              {
 161   2                      rom[i-1]=ReadOneChar();
 162   2              }
 163   1              return &rom[0];
 164   1      }
 165          bit match_rom(unsigned char *rom)
 166          {
 167   1              unsigned char i;
 168   1              //Init_DS18B20();
 169   1              WriteOneChar(0x55);
 170   1              for(i=8;i>0;i--)
 171   1              {
 172   2                      WriteOneChar(*(rom+i-1));
 173   2              //      rom++;
 174   2              }
 175   1              return 1;
 176   1      }               
 177          
 178          //讀取溫度
 179          ReadTemperature(unsigned char n)
C51 COMPILER V7.02a   TEXT1                                                                08/21/2007 15:06:16 PAGE 4   

 180          {
 181   1      unsigned char a=0;
 182   1      unsigned char b=0;
 183   1      unsigned int t=0;
 184   1      float tt=0;
 185   1      Init_DS18B20();
 186   1      WriteOneChar(0xCC); // 跳過讀序號列號的操作
 187   1      WriteOneChar(0x44); // 啟動溫度轉換
 188   1      Init_DS18B20();
 189   1      //WriteOneChar(0xCC); //跳過讀序號列號的操作
 190   1      //if (n==1)  match_rom(ds18b20_num1);
 191   1      //else if (n==2)  match_rom(ds18b20_num2);
 192   1      //else if (n==3)  match_rom(ds18b20_num3);
 193   1      //.......................
 194   1      //else if (n==0) 
 195   1      WriteOneChar(0xCC); //跳過讀序號列號的操作 
 196   1      WriteOneChar(0xBE); //讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度
 197   1      a=ReadOneChar();
 198   1      b=ReadOneChar();
 199   1      t=b;
 200   1      t<<=8;
 201   1      t=t|a;
 202   1      tt=t*0.0625;
 203   1      t= tt*10+0.5; //放大10倍輸出并四舍五入---此行沒用
 204   1      return(t);
 205   1      }
*** WARNING C280 IN LINE 179 OF TEXT1.C: 'n': unreferenced local variable
 206           //****************************************ds18b20結束
 207           unsigned char TempBuffer[5];
 208          void IntToStr(unsigned int t, unsigned char *str, unsigned char n) 
 209          {
 210   1              unsigned char a[5]; char i, j;    //取得整數值到數組                                    
 211   1              a[0]=t/100;   //百位            
 212   1              a[1]=(t/10)%10;//十位                                           
 213   1              a[2]=t%10;    //個位                            
 214   1                                                      
 215   1                                                            
 216   1              for(i=0; i<3; i++)         //轉成ASCII碼                
 217   1                      a[i]=a[i]+'0';                                          
 218   1              for(i=0; a[i]=='0' && i<=3; i++);                       
 219   1              for(j=3-n; j<i; j++)       //填充空格                   
 220   1                      { *str=' ';  str++; }                                   
 221   1              for(; i<3; i++)                                         
 222   1                      { *str=a[i]; str++; }  //加入有效的數字                 
 223   1              *str='\0'; 
 224   1      } 
 225          
 226          
 227          
 228          
 229          main()
 230          { 
 231   1      //==讀取序列號操作。在1602上顯示。
 232   1       /*unsigned char i; 
 233   1      unsigned char *ds1820rom;
 234   1        ds1820rom=read_rom();
 235   1        LCD_initial();
 236   1        LCD_set_position(0);
 237   1        for(i=0;i<8;i++)
 238   1        {unsigned char a;
 239   1         a=(*ds1820rom)/16;
 240   1        if(a>=0&&a<=9) a=a+'0';
C51 COMPILER V7.02a   TEXT1                                                                08/21/2007 15:06:16 PAGE 5   

 241   1        else if(a>=0x0a &&a<= 0x0f) a=a-10+'a';
 242   1        LCD_printc(a);
 243   1        a=(*ds1820rom)%16;
 244   1        if(a>=0&&a<=9) a=a+'0';
 245   1        else if(a>=0x0a &&a<= 0x0f) a=a-10+'a';
 246   1        LCD_printc(a);
 247   1        ds1820rom++;
 248   1        }
 249   1        while(1);*/
 250   1      
 251   1      
 252   1      unsigned int i,a;
 253   1          i=ReadTemperature(3); //讀溫度
 254   1      
 255   1          a=i;
 256   1          IntToStr(i,&TempBuffer[0],3);
 257   1          LCD_initial();
 258   1          LCD_set_position(0);
 259   1          LCD_prints("temperature :");
 260   1          LCD_set_position(0x40);
 261   1          LCD_printc(TempBuffer[0]); 
 262   1              LCD_printc(TempBuffer[1]);
 263   1              LCD_printc('.');
 264   1              LCD_printc(TempBuffer[2]);
 265   1              LCD_printc(' ');
 266   1              LCD_printc(0xDF);
 267   1              LCD_printc('C');
 268   1      while(1)
 269   1       {      i=ReadTemperature(3); 
 270   2          if (i!=a )    //如果有變化
 271   2               {       a=i;
 272   3              IntToStr(i,&TempBuffer[0],3);
 273   3          LCD_initial();
 274   3          LCD_set_position(0);
 275   3          LCD_prints("temperature :");
 276   3          LCD_set_position(0x40);
 277   3          LCD_printc(TempBuffer[0]); 
 278   3              LCD_printc(TempBuffer[1]);
 279   3              LCD_printc('.');
 280   3              LCD_printc(TempBuffer[2]);
 281   3              LCD_printc(' ');
 282   3              LCD_printc(0xDF);
 283   3              LCD_printc('C');
 284   3      
 285   3      
 286   3               }
 287   2      }       
 288   1      
 289   1      }
 290            


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    707    ----
   CONSTANT SIZE    =     14    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     29      35
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕在线不卡| 亚洲日本护士毛茸茸| 久久精品亚洲精品国产欧美 | 久久久91精品国产一区二区精品| 中文字幕亚洲不卡| 轻轻草成人在线| 色综合久久久久综合体桃花网| 51久久夜色精品国产麻豆| ...中文天堂在线一区| 麻豆视频一区二区| 欧美影片第一页| 亚洲国产精品传媒在线观看| 日本不卡不码高清免费观看| 91色综合久久久久婷婷| 国产日韩欧美精品一区| 蜜臀91精品一区二区三区| 欧美亚洲精品一区| 国产精品毛片久久久久久久| 久久精品国产亚洲一区二区三区| 欧美亚洲愉拍一区二区| 17c精品麻豆一区二区免费| 国产成人av影院| www激情久久| 久久99久久99| 欧美mv日韩mv国产| 久久精品免费看| 这里只有精品99re| 男人操女人的视频在线观看欧美| 欧美性色综合网| 亚洲自拍都市欧美小说| 在线免费av一区| 一区二区三区四区在线| 在线国产电影不卡| 中文字幕av不卡| 国产成人精品一区二| 国产午夜三级一区二区三| 国产剧情av麻豆香蕉精品| 国产午夜一区二区三区| 粉嫩久久99精品久久久久久夜| 国产女人aaa级久久久级 | 亚洲黄色尤物视频| 91九色02白丝porn| 一区二区三区鲁丝不卡| 欧美在线不卡一区| 日韩精品久久久久久| 在线不卡的av| 精品一二线国产| 久久精品一区四区| 色综合久久综合网| 性做久久久久久免费观看| 欧美精品一二三四| 国产在线精品免费av| 最好看的中文字幕久久| 欧美在线观看视频一区二区| 免费观看一级欧美片| 久久综合久久99| 不卡电影一区二区三区| 亚洲国产成人精品视频| 欧美一区二区日韩一区二区| 激情综合五月天| 中文字幕在线免费不卡| 欧美无砖专区一中文字| 精品一区二区三区免费视频| 国产精品水嫩水嫩| 欧美私模裸体表演在线观看| 六月婷婷色综合| 国产精品久久毛片av大全日韩| 欧美三片在线视频观看 | 午夜精品久久久久久久久久久 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 欧美日韩综合色| 久久99国产乱子伦精品免费| 中文字幕在线免费不卡| 欧美一区午夜视频在线观看| 国产精品18久久久久久久久久久久| 亚洲精品乱码久久久久久久久 | 在线精品视频小说1| 久久99久国产精品黄毛片色诱| 日韩美女啊v在线免费观看| 91精品国产一区二区三区 | 国内精品久久久久影院薰衣草 | 成人综合日日夜夜| 视频一区免费在线观看| 国产精品久久久久久久久免费相片 | 香蕉加勒比综合久久| 国产亚洲欧美中文| 日韩一区二区三区四区| 99久久精品国产一区二区三区| 蜜臀91精品一区二区三区| 亚洲美女视频在线| 欧美国产精品一区二区| 7777精品伊人久久久大香线蕉 | 亚洲欧美一区二区三区国产精品| 日韩视频免费观看高清完整版 | 精品国产乱码久久久久久老虎 | 成人精品视频一区| 精品一区二区三区欧美| 丝袜a∨在线一区二区三区不卡| 一区视频在线播放| 久久久不卡网国产精品二区| 欧美一区二区不卡视频| 欧美日韩电影在线| 欧美亚洲日本国产| 色素色在线综合| a亚洲天堂av| caoporn国产精品| 福利电影一区二区三区| 国产又粗又猛又爽又黄91精品| 偷窥国产亚洲免费视频| 夜夜嗨av一区二区三区网页 | 欧美精品一区二区三区很污很色的 | 日韩黄色免费电影| 亚洲成av人影院在线观看网| 亚洲天堂精品在线观看| 国产精品嫩草影院av蜜臀| 久久久亚洲精品一区二区三区| 日韩视频在线一区二区| 欧美va在线播放| 欧美电影免费观看高清完整版| 欧美蜜桃一区二区三区| 制服丝袜日韩国产| 欧美一区二区三区四区久久| 91精品国产一区二区三区香蕉 | 欧美国产精品专区| 国产精品蜜臀在线观看| 亚洲视频一区在线观看| 一区二区三区四区乱视频| 一区二区在线免费| 五月天激情综合网| 老司机精品视频一区二区三区| 国产美女视频91| 99国内精品久久| 精品视频色一区| 3d动漫精品啪啪一区二区竹菊| 日韩亚洲欧美在线观看| 久久综合九色综合97婷婷女人| 欧美韩国一区二区| 亚洲免费观看高清| 日韩和欧美一区二区三区| 狠狠色丁香久久婷婷综| thepron国产精品| 欧美性高清videossexo| 精品国产伦一区二区三区观看方式| 久久久久久久久久久黄色| 亚洲色图一区二区| 日本中文字幕不卡| 国产精品白丝av| 欧美亚洲另类激情小说| 精品三级在线看| √…a在线天堂一区| 轻轻草成人在线| 成人av网站免费| 在线播放日韩导航| 国产精品乱码久久久久久| 亚洲国产欧美日韩另类综合| 国内国产精品久久| 欧美日韩在线免费视频| 久久免费电影网| 亚洲成人av福利| 成人黄色在线网站| 日韩一二在线观看| 一区二区免费在线播放| 国产乱码精品一区二区三区忘忧草| 色噜噜偷拍精品综合在线| 精品成人佐山爱一区二区| 亚洲综合久久久| 丰满亚洲少妇av| 精品区一区二区| 亚洲一区二区三区影院| 成人精品免费看| 日韩欧美一区二区在线视频| 最好看的中文字幕久久| 国产一区二区导航在线播放| 欧美日韩国产高清一区二区| 中文字幕一区二区三区蜜月| 精品在线观看免费| 欧美二区三区91| 亚洲色欲色欲www| 国产精品自在欧美一区| 日韩欧美在线网站| 婷婷综合久久一区二区三区| 色悠久久久久综合欧美99| 国产精品久久久久影院老司 | 亚洲精品在线三区| 午夜电影一区二区| 欧美性生活影院| 亚洲精品成人在线| 91在线观看高清| 亚洲国产高清在线| 国产高清久久久| 精品久久久久久久久久久久包黑料 | 韩国三级在线一区| 日韩免费福利电影在线观看| 日韩精品欧美精品| 欧美男同性恋视频网站| 亚洲电影一区二区| 欧美四级电影在线观看| 亚洲一区二区三区四区在线观看| 一本色道久久加勒比精品| 中文字幕欧美一区|