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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? w013.lst

?? 使用Keil環(huán)境開發(fā)了基于C8051單片機(jī)的溫度采集模塊
?? LST
字號(hào):
C51 COMPILER V8.02   W013                                                                  06/07/2007 21:45:36 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE W013
OBJECT MODULE PLACED IN w013.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil\C51\BIN\C51.EXE w013.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*******************************************************************************
   2          * 實(shí)驗(yàn)名稱: 數(shù)字溫度表(DS18B20)LCD1620顯示                                     *
   3          ********************************************************************************
   4          * 實(shí)驗(yàn)描述: LCD1620顯示測量的溫度                                              *
   5          * 實(shí)驗(yàn)說明: DS18B20正常時(shí),顯示“DS18B20 OK”及溫度值                                      *
   6          *           DS18B20沒有安裝時(shí),顯示“DS18B20  ERR0R PLEASE CHECK”                         *
   7          *                       實(shí)驗(yàn)前要在J7上安裝DS18B20                                                                  *
   8          *                       1:接DS18B20的GND端                                                                                *
   9          *           2:接DS18B20的DQ端                                                 * 
  10          *           3:接DS18B20的VDD端                                                *
  11          *******************************************************************************/
  12          
  13          #include <reg51.h>
  14          #include <intrins.h>
  15          
  16          #define uchar unsigned char
  17          #define uint  unsigned int
  18          
  19          sbit LCD_RS = P2^3;
  20          sbit LCD_RW = P2^4;
  21          
  22          sbit HC138_A = P2^5;
  23          sbit HC138_B = P2^6;
  24          sbit HC138_C = P2^7;
  25          
  26          #define SELECT_LCD()    HC138_A=0; HC138_B=1; HC138_C=0
  27          #define NOSELECT_LCD()  HC138_A=1; HC138_B=1; HC138_C=1
  28          
  29          sbit DQ = P3^7 ;    //定義DS18B20端口DQ  
  30          bit presence ;      //DS18B20初始化成功標(biāo)志位
  31          
  32          uchar data  temp_data[2] = {0x00,0x00} ;   //溫度數(shù)據(jù)緩存
  33          uchar data  dis_data[5]={0,0,0,0,0};       //溫度值百十個(gè)小數(shù)位及一個(gè)數(shù)據(jù)緩存
  34          
  35          uchar code  dis_code1[ ] = {"   DS18B20 OK   "} ;
  36          uchar code  dis_code2[ ] = {"  TEMP:    .  C "} ;
  37          uchar code  dis_code3[ ] = {" DS18B20  ERR0R "} ;
  38          uchar code  dis_code4[ ] = {"  PLEASE CHECK  "} ;
  39          
  40          
  41          /*溫度小數(shù)部分查表*/
  42          unsigned char code  ditab[16] = {0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,
  43                                           0x05,0x06,0x06,0x07,0x08,0x08,0x09,0x09};
  44          
  45          
  46          /*自定義字符*/
  47          unsigned char code  mytab[8] = {0x0C,0x12,0x12,0x0C,0x00,0x00,0x00,0x00} ; //度的符號(hào)
  48          
  49          
  50          void Delay(unsigned int num) //us級(jí)延時(shí)函數(shù)
  51          {
  52   1        while( --num ) ;
  53   1      }
  54          
  55          bit LCD_Busy()     //LCD忙碌狀態(tài)檢測
C51 COMPILER V8.02   W013                                                                  06/07/2007 21:45:36 PAGE 2   

  56          {                                                       
  57   1              bit result;
  58   1              LCD_RS = 0;                         
  59   1              LCD_RW = 1;
  60   1              SELECT_LCD();
  61   1              _nop_();
  62   1              _nop_();
  63   1              _nop_();
  64   1              _nop_();
  65   1              result = (bit)(P0 & 0x80);      
  66   1              NOSELECT_LCD();
  67   1              return result;  
  68   1      }
  69          
  70          LCD_WriteCommand(uchar cmd)      //寫指令數(shù)據(jù)到LCD
  71          {                                                          
  72   1              while(LCD_Busy());
  73   1              LCD_RS = 0;
  74   1              LCD_RW = 0;
  75   1              NOSELECT_LCD();
  76   1              _nop_();
  77   1              _nop_();        
  78   1              P0 = cmd;
  79   1              _nop_();
  80   1              _nop_();
  81   1              _nop_();
  82   1              _nop_();
  83   1              SELECT_LCD();
  84   1              _nop_();
  85   1              _nop_();
  86   1              _nop_();
  87   1              _nop_();
  88   1              NOSELECT_LCD();         
  89   1      }
  90          
  91          LCD_WriteDate(uchar dat)   //寫字符顯示數(shù)據(jù)到LCD
  92          {                                                       
  93   1              while(LCD_Busy());
  94   1              LCD_RS = 1;
  95   1              LCD_RW = 0;
  96   1              NOSELECT_LCD();
  97   1              P0 = dat;
  98   1              _nop_();
  99   1              _nop_();
 100   1              _nop_();
 101   1              _nop_();
 102   1              SELECT_LCD();
 103   1              _nop_();
 104   1              _nop_();
 105   1              _nop_();
 106   1              _nop_();
 107   1              NOSELECT_LCD(); 
 108   1      }
 109          
 110          LCD_DisplayPosit(uchar pos)      //設(shè)定字符在LCD上顯示的位置
 111          {                                                       
 112   1              LCD_WriteCommand(pos | 0x80);
 113   1      }
 114          
 115          LCD_Init()      //LCD初始化
 116          {                                                       
 117   1              LCD_WriteCommand(0x38);    
C51 COMPILER V8.02   W013                                                                  06/07/2007 21:45:36 PAGE 3   

 118   1              Delay(5);
 119   1              LCD_WriteCommand(0x0c);   
 120   1              Delay(5);
 121   1              LCD_WriteCommand(0x06);   
 122   1              Delay(5);
 123   1              LCD_WriteCommand(0x01); 
 124   1              Delay(5);
 125   1      }
 126          
 127          void  LCD_WriteMytab()  //自定義字符寫入CGRAM函數(shù)
 128          {  
 129   1          unsigned char i ;
 130   1          LCD_WriteCommand(0x40) ;  //寫CGRAM
 131   1          for (i = 0 ; i< 8 ; i++)       
 132   1          LCD_WriteDate(mytab[ i ]) ;        
 133   1      }
 134          
 135          void LCD_DisplayLine(uchar a[ ],uchar b[ ])     //LCD1620顯示兩行字符函數(shù)
 136          {
 137   1          uchar  m ;
 138   1          LCD_Init() ;                //初始化LCD 
 139   1                  
 140   1          LCD_DisplayPosit(0) ;       //設(shè)置顯示位置為第一行的第1個(gè)字符
 141   1           m = 0 ;
 142   1          while(a[m] != '\0')
 143   1           {                          //顯示第一行字符
 144   2             LCD_WriteDate(a[m]) ;
 145   2             m++ ;
 146   2           }
 147   1      
 148   1          LCD_DisplayPosit(0x40) ;    //設(shè)置顯示位置為第二行第1個(gè)字符
 149   1           m = 0 ;
 150   1          while(b[m] != '\0')
 151   1           {
 152   2             LCD_WriteDate(b[m]) ;    //顯示第二行字符
 153   2             m++ ;
 154   2           } 
 155   1      }
 156          
 157          DS18B20_Init(void)       //DS18B20初始化函數(shù)
 158          {  
 159   1           DQ = 1 ;        //DQ復(fù)位
 160   1           Delay(8) ;      //延時(shí)
 161   1      
 162   1           DQ = 0 ;        //單片機(jī)將DQ拉低
 163   1           Delay(90) ;     //延時(shí) 大于 480us
 164   1      
 165   1           DQ = 1 ;        //拉高總線
 166   1           Delay(8) ;
 167   1      
 168   1           presence = DQ ;    //如果 presence=0則初始化成功 presence=1則初始化失敗
 169   1           Delay(100) ;
 170   1           DQ = 1 ; 
 171   1           
 172   1           return(presence) ; // 返回信號(hào),0=presence,1= no presence
 173   1      }                                                  
 174          
 175           ReadOneChar(void)         //讀一個(gè)字節(jié)數(shù)據(jù)函數(shù)
 176          {                                           
 177   1        unsigned char i = 0 ;
 178   1        unsigned char dat = 0 ;
 179   1      
C51 COMPILER V8.02   W013                                                                  06/07/2007 21:45:36 PAGE 4   

 180   1        for (i = 8 ; i > 0 ; i--)
 181   1          {
 182   2            DQ = 0 ;   
 183   2            dat >>= 1 ;
 184   2            DQ = 1 ;    
 185   2      
 186   2            if(DQ)
 187   2              dat |= 0x80 ;
 188   2              Delay(4) ;
 189   2          }
 190   1      
 191   1          return (dat) ;
 192   1      }
 193          
 194          
 195           WriteOneChar(unsigned char dat)  //寫一個(gè)字節(jié)數(shù)據(jù)函數(shù)
 196          {
 197   1        unsigned char i = 0 ;
 198   1        for (i = 8 ; i > 0 ; i--)
 199   1        {
 200   2          DQ = 0 ;
 201   2          DQ = dat&0x01 ;
 202   2          Delay(5) ;
 203   2      
 204   2          DQ = 1 ;
 205   2          dat>>=1 ;
 206   2        }
 207   1      }
 208          
 209           ReadTemperature(void)   //讀取溫度函數(shù)
 210          {
 211   1           DS18B20_Init() ;
 212   1        
 213   1           WriteOneChar(0xCC) ;  //跳過讀序號(hào)列號(hào)的操作
 214   1           WriteOneChar(0x44) ;  //啟動(dòng)溫度轉(zhuǎn)換
 215   1      
 216   1           DS18B20_Init() ;
 217   1           WriteOneChar(0xCC) ;  //跳過讀序號(hào)列號(hào)的操作
 218   1           WriteOneChar(0xBE) ;  //讀取溫度寄存器
 219   1      
 220   1           temp_data[0] = ReadOneChar() ;   //讀溫度低8位
 221   1           temp_data[1] = ReadOneChar() ;   //讀溫度高8位 
 222   1      }
 223          
 224           TemperatureDisplay()   //溫度數(shù)據(jù)轉(zhuǎn)換和顯示函數(shù)
 225          {
 226   1        dis_data[4]=temp_data[0]&0x0f ;            //temp_data[0]低4為有效
 227   1        dis_data[3]=ditab[dis_data[4]]+0x30;   //查表得小數(shù)位的值
 228   1        
 229   1        dis_data[4]=((temp_data[0]&0xf0)>>4)|((temp_data[1]&0x0f)<<4);
 230   1        dis_data[2]=dis_data[4]%10+0x30;                 //個(gè)位
 231   1        dis_data[1]=(dis_data[4]/10)%10+0x30;    //十位
 232   1        dis_data[0]=dis_data[4]/100+0x30;                //百位
 233   1      
 234   1          if(dis_data[0]==0x30)     //百位為0,不顯示
 235   1         { 
 236   2           dis_data[0]=0x20;
 237   2                             
 238   2           if(dis_data[1]==0x30)    //十位為0,不顯示
 239   2             dis_data[1]=0x20 ;
 240   2         }
 241   1      
C51 COMPILER V8.02   W013                                                                  06/07/2007 21:45:36 PAGE 5   

 242   1           LCD_DisplayPosit(0x48) ;             
 243   1           LCD_WriteDate(dis_data[0]) ;  //百位數(shù)顯示 
 244   1           LCD_DisplayPosit(0x49) ;             
 245   1           LCD_WriteDate(dis_data[1]) ;  //十位數(shù)顯示 
 246   1           LCD_DisplayPosit(0x4a) ;             
 247   1           LCD_WriteDate(dis_data[2]) ;  //個(gè)位數(shù)顯示 
 248   1           LCD_DisplayPosit(0x4c) ;             
 249   1           LCD_WriteDate(dis_data[3]) ;  //小數(shù)位數(shù)顯示
 250   1               LCD_WriteMytab() ;            //自定義字符(度的符號(hào))寫入CGRAM
 251   1           Delay(5) ;
 252   1           LCD_DisplayPosit(0x4d) ;
 253   1           LCD_WriteDate(0x00) ;         //顯示自定義字符(度的符號(hào))
 254   1      
 255   1      }
 256          
 257          void  DS18B20_OkMenu ()    //DS18B20 OK 菜單顯示函數(shù)
 258          { 
 259   1           LCD_DisplayLine(dis_code1,dis_code2); 
 260   1      }
 261          
 262          void  DS18B20_ErrorMenu ()  //DS18B20 ERROR 菜單顯示函數(shù)
 263          {
 264   1           LCD_DisplayLine(dis_code3,dis_code4);
 265   1      }
 266          
 267          void main()        //主函數(shù)
 268           {
 269   1            DS18B20_OkMenu () ;
 270   1      
 271   1          do
 272   1          {
 273   2            ReadTemperature() ;
 274   2            TemperatureDisplay() ;
 275   2          }
 276   1          while(!presence)  ;
 277   1      
 278   1           DS18B20_ErrorMenu () ;
 279   1      
 280   1          do
 281   1          {  
 282   2            DS18B20_Init() ;
 283   2          }
 284   1          while(presence) ;
 285   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    592    ----
   CONSTANT SIZE    =     92    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1       1
END OF MODULE INFORMATION.


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

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久影视| 99re这里只有精品6| 欧美一区二区视频在线观看2022| 亚洲美女少妇撒尿| 欧美男生操女生| 日本中文字幕不卡| 日韩精品最新网址| 国产成人在线电影| 亚洲激情成人在线| 91精品国产91综合久久蜜臀| 老司机精品视频在线| 中文字幕不卡一区| 欧美三级中文字幕在线观看| 午夜视频一区在线观看| 日韩精品中文字幕一区| 成人午夜av在线| 一区二区三区中文字幕| 日韩欧美国产高清| 97久久超碰精品国产| 亚洲电影在线播放| 欧美岛国在线观看| 99久久免费精品| 爽好多水快深点欧美视频| xf在线a精品一区二区视频网站| 成人午夜精品一区二区三区| 亚洲一区二区三区中文字幕| 精品粉嫩aⅴ一区二区三区四区| 成人黄色小视频| 日韩av成人高清| 日本一区二区三区免费乱视频| 色香色香欲天天天影视综合网 | 精品国精品自拍自在线| 成人黄色网址在线观看| 五月激情综合网| 中文天堂在线一区| 欧美精品国产精品| 99免费精品在线观看| 久久丁香综合五月国产三级网站| 中文字幕一区二区日韩精品绯色 | 5858s免费视频成人| 成人在线视频首页| 麻豆精品新av中文字幕| 亚洲精品日日夜夜| 国产亚洲一区二区三区四区| 9191精品国产综合久久久久久| 国产精品一卡二| 日韩中文字幕亚洲一区二区va在线| 国产日韩欧美一区二区三区乱码 | 日韩网站在线看片你懂的| 99国产精品99久久久久久| 极品少妇一区二区| 天天色综合天天| 亚洲精品国产a| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 欧美中文字幕一区二区三区| 福利电影一区二区| 激情另类小说区图片区视频区| 亚洲在线视频一区| 亚洲人吸女人奶水| 国产精品久久久久一区二区三区| 精品久久久久久综合日本欧美| 欧美日韩一级片在线观看| 91麻豆福利精品推荐| 高清在线不卡av| 九九精品一区二区| 精品制服美女丁香| 美国精品在线观看| 蜜桃一区二区三区在线| 日韩不卡一二三区| 视频一区视频二区在线观看| 夜夜亚洲天天久久| 亚洲国产综合色| 亚洲综合色噜噜狠狠| 亚洲一区二区三区四区在线观看 | 伊人性伊人情综合网| 中文字幕一区二区三区不卡| 国产精品乱人伦中文| 日本一区二区三区久久久久久久久不| 国产亚洲一区字幕| 国产欧美日韩综合| 中文字幕在线不卡一区二区三区| 国产精品五月天| 国产精品丝袜久久久久久app| 国产人成亚洲第一网站在线播放| 国产午夜精品福利| 日韩一区在线看| 亚洲私人黄色宅男| 一区二区欧美视频| 偷窥国产亚洲免费视频| 青草av.久久免费一区| 狠狠色综合播放一区二区| 国产精品66部| eeuss鲁片一区二区三区| 99国产精品一区| 欧美日韩三级在线| 欧美一级国产精品| 日本一区二区三区久久久久久久久不 | 国产精品区一区二区三区| 最近中文字幕一区二区三区| 亚洲卡通欧美制服中文| 无码av免费一区二区三区试看 | 婷婷中文字幕综合| 久久国产欧美日韩精品| 成人免费高清在线观看| 色偷偷88欧美精品久久久| 欧美色视频在线| 精品国产一区二区三区忘忧草 | 国产综合色精品一区二区三区| 成人自拍视频在线观看| 色噜噜狠狠成人中文综合| 4438x亚洲最大成人网| 久久久久久麻豆| 亚洲欧美另类综合偷拍| 午夜久久福利影院| 国产成人精品免费视频网站| 欧美亚洲一区二区在线| 精品成人在线观看| 亚洲激情六月丁香| 国产在线日韩欧美| 在线亚洲免费视频| 久久人人97超碰com| 亚洲一区二区三区三| 国产一区二区导航在线播放| 在线看不卡av| 国产欧美日韩不卡免费| 午夜视频久久久久久| 9人人澡人人爽人人精品| 91精品国产综合久久小美女| 国产精品不卡一区| 美女视频一区二区三区| 色屁屁一区二区| 久久午夜老司机| 天天色图综合网| 色综合久久九月婷婷色综合| 精品国产乱码久久久久久老虎| 亚洲男人的天堂在线观看| 国产乱码精品一区二区三区五月婷| 欧美日韩一区 二区 三区 久久精品 | 午夜精品久久一牛影视| 99久久综合国产精品| 精品99久久久久久| 日韩av在线免费观看不卡| 色老综合老女人久久久| 国产日本欧美一区二区| 久久se精品一区精品二区| 欧美日韩一区视频| 亚洲一区二区视频在线观看| 成人动漫精品一区二区| 欧美激情在线观看视频免费| 久久国产精品99久久人人澡| 欧美日韩专区在线| 亚洲最新在线观看| 91首页免费视频| 国产精品女同一区二区三区| 国产主播一区二区| 精品成人一区二区| 国产中文一区二区三区| 精品美女被调教视频大全网站| 天堂资源在线中文精品| 欧美日韩在线精品一区二区三区激情 | 亚洲一区二区综合| 欧美无砖专区一中文字| 亚洲宅男天堂在线观看无病毒| 日本韩国一区二区三区| 亚洲色欲色欲www在线观看| 91在线视频在线| 亚洲欧美日本韩国| 在线免费观看成人短视频| 亚洲综合区在线| 欧美三级日本三级少妇99| 亚洲电影在线免费观看| 欧美日本在线播放| 视频一区二区不卡| 欧美一区二区三区播放老司机| 免费人成精品欧美精品 | 国产在线不卡视频| 欧美精品一区二区三区蜜桃视频| 国内偷窥港台综合视频在线播放| 久久久久久9999| 97se亚洲国产综合自在线不卡| 亚洲品质自拍视频网站| 91激情五月电影| 天天综合色天天| 亚洲精品一区二区三区四区高清 | 久久99精品国产麻豆婷婷| 久久蜜桃一区二区| 99久久精品免费| 亚洲国产日日夜夜| 日韩午夜激情av| 国产不卡视频在线播放| 亚洲欧美日本韩国| 欧美一三区三区四区免费在线看 | 亚洲精品国产a| 91精品免费观看| 丰满少妇在线播放bd日韩电影| 国产精品成人网| 欧美电影一区二区| 国产成人av一区二区| 亚洲一区二区三区不卡国产欧美 | 国产网站一区二区|