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

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

?? lcmtemp.lst

?? 已經調試通過的利用溫度傳感器18B20實現溫度測量
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V8.02   LCMTEMP                                                               08/11/2007 11:03:53 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE LCMTEMP
OBJECT MODULE PLACED IN lcmtemp.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcmtemp.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /*==========================================================
   2                 -------------------------------------------------
   3                 |LCM-----51   | LCM-----51   | LCM------51      |
   4                 |-----------------------------------------------|
   5                 |DB0-----P1.0 | DB4-----P1.4 | RS-------P3.5    |
   6                 |DB1-----P1.1 | DB5-----P1.5 | RW-------P3.6    |
   7                 |DB2-----P1.2 | DB6-----P1.6 | E--------P3.7    |
   8                 |DB3-----P1.3 | DB7-----P1.7 | VLCD接1K電阻到GND|
   9                 -------------------------------------------------
  10                             [AT89S52使用12M晶振]                        
  11          注:高級功能函數被屏蔽,請選擇使用
  12          =============================================================*/
  13          
  14          /*=====================頭函數與宏定義===================*/
  15          #include <reg52.h>
  16          #include  <pio.h>
  17          
  18          sbit DQ=P3^6; //數據傳輸線接單片機的相應的引腳 
  19          unsigned char tempL=0; //設全局變量
  20          unsigned char tempH=0; 
  21          unsigned int sdata;//測量到的溫度的整數部分
  22          unsigned char xiaoshu1;//小數第一位
  23          unsigned char xiaoshu2;//小數第二位
  24          unsigned char xiaoshu;//兩位小數
  25          bit  fg=1;        //溫度正負標志
  26          /*======================================================*/
  27          sbit LCM1602_RS=P2^0;
  28          sbit LCM1602_RW=P2^1;
  29          sbit LCM1602_E=P2^2;
  30          #define LCM1602_DATA P1    //數據線
  31          #define busy    0x80    //用于檢測LCM狀態字中的busy標識
  32          /*======================================================*/
  33          
  34          /*===================================================================================================*/
  35          /*                                  函數聲明                                                             */
  36          /*===================================================================================================*/
  37          void delay(unsigned char i)
  38          {
  39   1       for(i;i>0;i--);
  40   1      }
  41          
  42          
  43          //***********************************************************
  44          
  45          //                     延時子程序
  46          
  47          //************************************************************
  48          /*void delay1ms()
  49          {
  50           unsigned char i;
  51           for(i=124;i>0;i--);  //延時124*8+10=1002us
  52          }
  53          
  54          */
  55          
C51 COMPILER V8.02   LCMTEMP                                                               08/11/2007 11:03:53 PAGE 2   

  56          //*****************************初始化程序 *********************************//
  57          
  58          Init_DS18B20(void) 
  59          {
  60   1       unsigned char x=0;
  61   1       DQ=1; //DQ先置高 
  62   1       delay(8); //稍延時
  63   1       DQ=0; //發送復位脈沖 
  64   1       delay(80); //延時(>480us) 
  65   1       DQ=1; //拉高數據線 
  66   1       delay(5); //等待(15~60us) 
  67   1       x=DQ; //用X的值來判斷初始化有沒有成功,18B20存在的話X=0,否則X=1 
  68   1       delay(20); 
  69   1      } 
  70          //**********讀一個字節************//
  71          
  72          ReadOneChar(void)  //主機數據線先從高拉至低電平1us以上,再使數據線升為高電平,從而產生讀信號
  73          {
  74   1      unsigned char i=0; //每個讀周期最短的持續時間為60us,各個讀周期之間必須有1us以上的高電平恢復期
  75   1      unsigned char dat=0; 
  76   1      for (i=8;i>0;i--) //一個字節有8位 
  77   1      {
  78   2       DQ=1; 
  79   2       delay(1); 
  80   2       DQ=0;
  81   2       dat>>=1; 
  82   2       DQ=1; 
  83   2       if(DQ) 
  84   2       dat|=0x80; 
  85   2       delay(4);
  86   2      } 
  87   1      return(dat);
  88   1      } 
  89          
  90          
  91          
  92          //*********************** **寫一個字節**************************//
  93          
  94          WriteOneChar(unsigned char dat) 
  95          { 
  96   1        unsigned char i=0; //數據線從高電平拉至低電平,產生寫起始信號。15us之內將所需寫的位送到數據線上,
  97   1        for(i=8;i>0;i--) //在15~60us之間對數據線進行采樣,如果是高電平就寫1,低寫0發生。 
  98   1        {
  99   2         DQ=0; //在開始另一個寫周期前必須有1us以上的高電平恢復期。 
 100   2         DQ=dat&0x01; 
 101   2         delay(5); 
 102   2         DQ=1; 
 103   2         dat>>=1;
 104   2        } 
 105   1        delay(4);
 106   1      } 
 107          
 108          
 109          //讀溫度值(低位放tempL;高位放tempH;)
 110          ReadTemperature(void) 
 111          { 
 112   1       Init_DS18B20(); //初始化
 113   1       WriteOneChar(0xcc); //跳過讀序列號的操作
 114   1       WriteOneChar(0x44); //啟動溫度轉換
 115   1       delay(125); //轉換需要一點時間,延時 
 116   1       Init_DS18B20(); //初始化
 117   1       WriteOneChar(0xcc); //跳過讀序列號的操作 
C51 COMPILER V8.02   LCMTEMP                                                               08/11/2007 11:03:53 PAGE 3   

 118   1       WriteOneChar(0xbe); //讀溫度寄存器(頭兩個值分別為溫度的低位和高位) 
 119   1       tempL=ReadOneChar(); //讀出溫度的低位LSB
 120   1       tempH=ReadOneChar(); //讀出溫度的高位MSB 
 121   1        
 122   1                      if(tempH>0x7f)      //最高位為1時溫度是負
 123   1                      {
 124   2                       tempL=~tempL;         //補碼轉換,取反加一
 125   2                       tempH=~tempH+1;       
 126   2                       fg=0;      //讀取溫度為負時fg=0
 127   2             }
 128   1                      sdata = tempL/16+tempH*16;      //整數部分
 129   1                      xiaoshu1 = (tempL&0x0f)*10/16; //小數第一位
 130   1                      xiaoshu2 = (tempL&0x0f)*100/16%10;//小數第二位
 131   1                      xiaoshu=xiaoshu1*10+xiaoshu2; //小數兩位
 132   1      }
 133          
 134          
 135          void initialize_1602(void);//LCM初始化
 136             
 137          void write_1602_command(unsigned char command,BuysC);   //寫控制
 138          void write_1602_data(unsigned char Data);               //寫數據
 139          void read_1602_status(void);                            //讀狀態,等待空閑
 140          
 141          void display_1602_onechar(unsigned char x, unsigned char y, unsigned char d);   //按指定位置顯示一個字符
 142          void display_1602_listchar(unsigned char x, unsigned char y, unsigned char *d); //按指定位置顯示一串字符
 143          
 144          void cursor_1602(unsigned char work);   //光標開關,work=0為關,work=1為開
 145          void clear_1602();              //清屏
 146          void delay1602(unsigned char t);
 147          
 148          /*====================高級功能函數==========================================================
 149          void movesreen_1602_rl(unsigned int time,unsigned char direction);   //循環左(右)移動屏幕上的所有字符
 150          void movedata_1602_left(unsigned char *d);                   //以左移動的方式顯示長于16字節的字符串
 151          void movedata_1602_up(unsigned char *d);                     //以逐行上移的方式顯示文章
 152          void turnpage_1602(unsigned char *d);                        //以翻頁的方式顯示文章
 153          ============================================================================================*/
 154          
 155          void display_1602_num(unsigned char x,unsigned char y,long int num);  //在指定的位置顯示數字num
 156          
 157          /*==================================================================================*/
 158          /*                         字符串                                                   */
 159          /*==================================================================================*/
 160          unsigned char code first[]={"Temperature is:"};
 161          unsigned char code second[]={"jim love zhou"};
 162          
 163          
 164          
 165          /*===============================主函數==================================*/
 166          void main()
 167          {
 168   1      while(1)
 169   1      {
 170   2      
 171   2      
 172   2      
 173   2      delay1602(100);                           //啟動等待,等LCM講入工作狀態
 174   2      initialize_1602();                      //LCM初始化
 175   2      
 176   2      
 177   2      display_1602_listchar(0, 0, first); //在第一行顯示"welcome to use"
 178   2      while(1)
 179   2      {
C51 COMPILER V8.02   LCMTEMP                                                               08/11/2007 11:03:53 PAGE 4   

 180   3      ReadTemperature();
 181   3      display_1602_onechar(0,1,sdata/10+0x30);
 182   3      display_1602_onechar(1,1,sdata%10+0x30);
 183   3      display_1602_onechar(2,1,'.');
 184   3      display_1602_onechar(3,1,xiaoshu/10+0x30);
 185   3      display_1602_onechar(4,1,xiaoshu%10+0x30);
 186   3      display_1602_onechar(5,1,'C');
 187   3      
 188   3      
 189   3      
 190   3      
 191   3      
 192   3      }
 193   2      
 194   2      
 195   2      
 196   2       }
 197   1      
 198   1      
 199   1      
 200   1       }
 201          
 202          /*=======================================================================*/
 203          
 204          
 205          /*==========================================================================*/
 206          /*                              寫控制                                      */
 207          /*==========================================================================*/
 208          void write_1602_command(unsigned char command,BuysC) //BuysC為0時忽略忙檢測
 209          {
 210   1      if (BuysC) read_1602_status();    //檢測忙信號
 211   1      LCM1602_DATA=command;
 212   1      LCM1602_RS=0;
 213   1      LCM1602_RW=0; 
 214   1      LCM1602_E=0;
 215   1      LCM1602_E=0;
 216   1      LCM1602_E=1;
 217   1      }
 218          
 219          
 220          /*=========================================================================*/
 221          /*                              寫數據                                     */
 222          /*=========================================================================*/
 223          void write_1602_data(unsigned char Data)
 224          {
 225   1      read_1602_status();//檢測忙
 226   1      LCM1602_DATA=Data;
 227   1      LCM1602_RS=1;
 228   1      LCM1602_RW=0;
 229   1      LCM1602_E=0;      //若晶振速度太高可以在這后加小的延時
 230   1      LCM1602_E=0;      //延時
 231   1      LCM1602_E=1;
 232   1      }
 233          
 234          /*==================================*/
 235          /*          讀狀態,等待空閑         */
 236          /*==================================*/
 237          void read_1602_status(void)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产**网站演员| 另类小说欧美激情| 亚洲综合色区另类av| 亚洲欧美日韩电影| 亚洲综合一区二区三区| 日韩av在线发布| 粉嫩蜜臀av国产精品网站| 一本色道久久加勒比精品| 欧美日韩一区二区三区视频| 日韩欧美国产wwwww| 国产精品久久久久久久久久久免费看| 亚洲最大色网站| 激情五月婷婷综合| 欧美性欧美巨大黑白大战| 91久久精品国产91性色tv| 91麻豆精品国产91久久久久久| 久久精品亚洲精品国产欧美kt∨| 一区二区三区色| 国产黑丝在线一区二区三区| 欧美午夜免费电影| 国产欧美日韩精品在线| 亚洲h在线观看| 成人激情午夜影院| 日韩欧美亚洲国产精品字幕久久久| 国产精品视频观看| 午夜伦理一区二区| 成人免费高清视频在线观看| 日韩一区二区三区免费观看| 自拍偷拍欧美激情| 国产一区二区三区久久久| 色噜噜狠狠成人中文综合| 欧美一级免费大片| 一区二区三区在线高清| 国产999精品久久久久久| 91麻豆精品国产无毒不卡在线观看| 国产精品视频看| 国产成人一区在线| 色乱码一区二区三区88| 国产精品国产自产拍高清av王其| 久久99久久精品欧美| 欧美亚洲日本国产| 综合电影一区二区三区| 粉嫩久久99精品久久久久久夜| 91精品国产综合久久福利| 亚洲国产成人tv| 91福利社在线观看| 中文字幕一区二区在线观看| 国产精品一级片在线观看| 欧美成人vr18sexvr| 日本在线不卡一区| 69堂成人精品免费视频| 亚洲a一区二区| 欧美亚洲国产bt| 亚洲电影一级片| 欧美日本一区二区三区四区 | 精品国产亚洲在线| 琪琪久久久久日韩精品| 91精品欧美一区二区三区综合在 | 欧美一区在线视频| 日韩精品欧美精品| 欧美一级二级三级乱码| 日韩激情视频网站| 欧美大片顶级少妇| 国内精品国产成人| 国产欧美日韩亚州综合| 成人一区在线观看| 欧美精品一区二区三区蜜桃视频| 国产精品一区在线观看乱码| 国产欧美日韩卡一| 色噜噜偷拍精品综合在线| 一区二区三区在线播放| 欧美精品v国产精品v日韩精品 | 亚洲午夜久久久| 欧美另类videos死尸| 蜜臀精品一区二区三区在线观看| 日韩一区二区在线观看视频| 国产一区二区三区综合| 中文无字幕一区二区三区| 成人午夜av在线| 亚洲精品欧美综合四区| 欧美精品久久一区二区三区| 蜜桃精品在线观看| 中文字幕电影一区| 欧美日本国产视频| 国产麻豆成人精品| 亚洲精品成人少妇| 欧美一区二区在线播放| 国产精品正在播放| 中文字幕日韩av资源站| 欧美日韩一区精品| 国产一区二区福利| 一区二区三区在线看| 日韩一区二区电影网| 成人av网址在线观看| 亚洲成av人在线观看| 久久久久久99久久久精品网站| 国产.欧美.日韩| 一区二区不卡在线播放 | 国产伦精品一区二区三区免费迷 | 青青草国产精品97视觉盛宴| 国产视频在线观看一区二区三区| 91色porny蝌蚪| 精品伊人久久久久7777人| 国产精品久久久久婷婷二区次| 色综合久久综合网97色综合| 久久精品国产网站| 亚洲国产精品一区二区久久| 国产日韩欧美激情| 欧美一区二区三区免费在线看| 成人不卡免费av| 精品一区二区成人精品| 亚洲婷婷在线视频| 久久久久国产精品人| 欧美二区乱c少妇| 91一区二区三区在线播放| 精品一区在线看| 蜜臀精品一区二区三区在线观看| 亚洲三级免费电影| 国产人伦精品一区二区| 日韩欧美一区在线| 欧美日韩一区二区电影| 一本色道久久综合亚洲aⅴ蜜桃 | 久久久91精品国产一区二区精品 | 日韩一区二区在线观看| 欧美日韩成人激情| 色婷婷av一区二区三区大白胸| 国产福利一区二区| 麻豆精品在线视频| 奇米一区二区三区av| 国产美女一区二区三区| 岛国一区二区三区| 色丁香久综合在线久综合在线观看| 91免费版pro下载短视频| 欧美视频在线播放| 欧美一级片免费看| 国产欧美1区2区3区| 日韩伦理电影网| 日韩成人精品在线观看| 国产尤物一区二区| 色一情一伦一子一伦一区| 欧美日韩高清一区| 久久久噜噜噜久久中文字幕色伊伊| 中文字幕 久热精品 视频在线 | 久久综合九色综合欧美亚洲| 国产人成一区二区三区影院| 亚洲欧美日韩成人高清在线一区| 午夜欧美在线一二页| 国产黄人亚洲片| 欧美无乱码久久久免费午夜一区| 欧美电影免费观看高清完整版在 | 亚洲v日本v欧美v久久精品| 日韩精品电影在线| 国产91综合网| 一本大道久久精品懂色aⅴ| 91精品国产综合久久福利软件| 久久精品视频在线看| 亚洲午夜成aⅴ人片| 国产精品资源在线| 久久青草国产手机看片福利盒子| 1024成人网| 精品一区二区三区不卡| 色欧美日韩亚洲| 国产欧美一区二区在线| 午夜精品视频一区| 成人动漫一区二区三区| 日韩欧美一级片| 亚洲一区二区在线免费看| 国产伦精一区二区三区| 欧美一区二区网站| 亚洲国产日韩在线一区模特| 国产成人av福利| 日韩欧美一级精品久久| 午夜视频在线观看一区二区| 懂色av一区二区三区免费看| 日韩视频一区二区在线观看| 一区二区在线观看视频在线观看| 国产一区二区三区四区在线观看| 欧美日韩一二三区| 亚洲欧美中日韩| 丁香五精品蜜臀久久久久99网站| 欧美一区二区在线播放| 亚洲综合精品自拍| 日本久久一区二区| 国产精品伦一区| 国产原创一区二区| 精品国产乱码久久久久久闺蜜| 亚洲线精品一区二区三区八戒| 99久久亚洲一区二区三区青草| 久久色视频免费观看| 久久综合综合久久综合| 91精品免费在线| 性做久久久久久久免费看| 在线观看www91| 亚洲人亚洲人成电影网站色| 福利一区二区在线| 中文字幕第一区二区| 成人综合婷婷国产精品久久| 国产欧美精品一区| 成人高清免费观看| 国产精品色呦呦|