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

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

?? ds1820溫度.lst

?? 這個(gè)是AM51S開發(fā)板的專用溫度測(cè)試程序!
?? LST
字號(hào):
C51 COMPILER V8.08   DS1820蝊度                                                            04/18/2009 01:57:16 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE DS1820蝊度
OBJECT MODULE PLACED IN DS1820溫度.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE DS1820溫度.c DEBUG OBJECTEXTEND

line level    source

   1          //溫度顯示程序==LED顯示,精度0.5度
   2          //12M,11.0592M
   3          
   4          /*********************************************/
   5          
   6          #include"AT89x52.h"
   7                  
   8          #define uint unsigned int
   9          #define uchar unsigned char
  10          
  11          sbit DUAN=P2^0;     //74HC573的LE端    LED的段選端
  12          sbit WEI=P2^1;      //74HC573的LE端    LED的位選端
  13          sbit TMDAT=P1^7;    //DS1820溫度接口
  14          
  15          uchar Temp[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x39,0x40};  //共陰顯示字庫(kù)
  16          uchar Temp_1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};          //共陰==帶小數(shù)點(diǎn)
  17          
  18          bit f;             //負(fù)溫度標(biāo)志
  19          bit flag;          //DS1820初始化成功標(biāo)志
  20          uchar tempint,tempdf;             //溫度整數(shù)部分和小數(shù)部分
  21          
  22          void wei_1(uchar wei)             //數(shù)碼管位控制
  23          {
  24   1              WEI=1;
  25   1              P0=wei;
  26   1              WEI=0;
  27   1      }
  28          
  29          void duan_1(uchar duan)           //數(shù)碼管段控制
  30          {
  31   1              uint i;
  32   1              DUAN=1;
  33   1              P0=Temp[duan];
  34   1              DUAN=0;
  35   1              for(i=500;i>0;i--);
  36   1      }
  37          
  38          void duan_2(uchar duan)           //數(shù)碼管段控制
  39          {
  40   1              uint i;
  41   1              DUAN=1;
  42   1              P0=Temp_1[duan];
  43   1              DUAN=0;
  44   1              for(i=500;i>0;i--);
  45   1      }
  46          
  47          void set_ds1820()              //初始化DS1820
  48          {
  49   1              while(1)
  50   1              {
  51   2                      uchar delay;
  52   2                      flag=0;
  53   2                      TMDAT=1;                  //總線高電平
  54   2                      delay=1;
  55   2                      while(--delay);           //稍微延時(shí)
C51 COMPILER V8.08   DS1820蝊度                                                            04/18/2009 01:57:16 PAGE 2   

  56   2                      TMDAT=0;                  //總線拉低
  57   2                      delay=250;
  58   2                      while(--delay);           //延時(shí)500us
  59   2                      TMDAT=1;                  //拉高總線
  60   2                      delay=30;
  61   2                      while(--delay);           //延時(shí)60us
  62   2                      while(!TMDAT)             //當(dāng)DS1820拉低總線
  63   2                      {
  64   3                              delay=120;  
  65   3                              while(--delay);        //延時(shí)240us
  66   3                              if(TMDAT)
  67   3                              {
  68   4                                      flag=1;             //DS1820初始化成功標(biāo)志
  69   4                                      break;
  70   4                              }
  71   3                      }
  72   2                      if(flag)                  //初始化成功后再延時(shí)480us,時(shí)序要求
  73   2                      {
  74   3                              delay=240;
  75   3                              while(--delay);
  76   3                              break;
  77   3                      }
  78   2              }
  79   1      }
  80          
  81          void write_ds1820(uchar command)  //寫8位
  82          {
  83   1              uchar delay,i;
  84   1              for(i=8;i>0;i--)               //循環(huán)8次寫入
  85   1              {
  86   2                      TMDAT=0;                    //拉低總線
  87   2                      delay=6;
  88   2                      while(--delay);             //延時(shí)12us
  89   2                      TMDAT=command&0x01;         //將數(shù)據(jù)放在總線上,進(jìn)行采樣
  90   2                      delay=25;
  91   2                      while(--delay);             //延時(shí)50us,采樣完畢
  92   2                      command=command>>1;         //數(shù)據(jù)右移一位,準(zhǔn)備下次數(shù)據(jù)
  93   2                      TMDAT=1;                    //釋放總線
  94   2              }
  95   1      }
  96          
  97          void read_ds1820()                //讀
  98          {
  99   1              uchar delay,i,j,k,temp,temph,templ;
 100   1              j=2;                           //讀2位字節(jié)數(shù)據(jù)
 101   1              do
 102   1              {
 103   2                      for(i=8;i>0;i--)            //一個(gè)字節(jié)分8位讀取
 104   2                      {
 105   3                              temp>>=1;                //讀取1位右移1位
 106   3                              TMDAT=0;                 //數(shù)據(jù)線置低電平
 107   3                              delay=1;
 108   3                              while(--delay);          //延時(shí)2us
 109   3                              TMDAT=1;                 //拉高總線
 110   3                              delay=4;
 111   3                              while(--delay);          //延時(shí)8us
 112   3                              if(TMDAT)temp|=0x80;     //讀取1位數(shù)據(jù)
 113   3                              delay=25;
 114   3                              while(--delay);          //讀取1位數(shù)據(jù)后延時(shí)50us
 115   3                      }
 116   2                      if(j==2)templ=temp;         //讀取的第一字節(jié)存templ
 117   2                      else temph=temp;            //讀取的第二字節(jié)存temph
C51 COMPILER V8.08   DS1820蝊度                                                            04/18/2009 01:57:16 PAGE 3   

 118   2              }while(--j);
 119   1              f=0;                           //初始溫度標(biāo)志為正
 120   1              if((temph&0xf8)!=0x00)         //若溫度為負(fù)的處理,對(duì)二進(jìn)制補(bǔ)碼的處理
 121   1              {
 122   2                      f=1;                        //為負(fù)溫度f置1
 123   2                      temph=~temph;
 124   2                      templ=~templ;
 125   2                      k=templ+1;
 126   2                      templ=k;
 127   2                      if(k>255)
 128   2                      {
 129   3                              temph++;
 130   3                      }
 131   2              }
 132   1              tempdf=templ&0x0f;            //將讀取的數(shù)據(jù)轉(zhuǎn)換成溫度值,整數(shù)部分存tempint,小數(shù)部分存tempdf
 133   1              templ>>=4;
 134   1              temph<<=4;
 135   1              tempint=temph|templ;
 136   1      }
 137          
 138          void get_temperature()           //溫度轉(zhuǎn)換、獲得溫度子程序
 139          {
 140   1              set_ds1820();                 //初始化DS18B20
 141   1              write_ds1820(0xcc);           //發(fā)跳過ROM匹配命令
 142   1              write_ds1820(0x44);           //發(fā)溫度轉(zhuǎn)換命令
 143   1              set_ds1820();                 //初始化DS18B20
 144   1              write_ds1820(0xcc);           //發(fā)跳過ROM匹配命令
 145   1              write_ds1820(0xbe);           //發(fā)出讀溫度命令
 146   1              read_ds1820();                //將讀出的溫度數(shù)據(jù)保存到tempint和tempdf處
 147   1      }
 148          
 149          void disp_temp()                      //顯示溫度
 150          {
 151   1              uchar tempinth,tempintl;        
 152   1              tempinth=tempint/10;          //整數(shù)高半字節(jié)
 153   1              tempintl=tempint%10;          //整數(shù)低半字節(jié)
 154   1              if(!flag)wei_1(0xff);         //如果不能檢測(cè)出DS1820,則不顯示
 155   1              else                          //或者顯示溫度值
 156   1              {
 157   2                      if(f==1)                   //如果為負(fù)溫度,則顯示負(fù)號(hào)
 158   2                      {
 159   3                              wei_1(0xf7);
 160   3                              duan_1(11);
 161   3                      }
 162   2                      else  wei_1(0xff);        //或者不顯示負(fù)號(hào) 
 163   2                      wei_1(0xef);
 164   2                      duan_1(tempinth);               
 165   2                      wei_1(0xdf);
 166   2                      duan_2(tempintl);
 167   2                      wei_1(0xbf);
 168   2                      duan_1(tempdf); 
 169   2                      wei_1(0x7f);
 170   2                      duan_1(10);     
 171   2                      f=0;                     //清負(fù)溫度標(biāo)志 
 172   2              }       
 173   1      }
 174          
 175          void main()
 176          {
 177   1              while(1)
 178   1              {
 179   2                      get_temperature();         //獲得溫度         
C51 COMPILER V8.08   DS1820蝊度                                                            04/18/2009 01:57:16 PAGE 4   

 180   2                      if(tempdf>=8)tempdf=5;     //0.5度精度顯示   
 181   2                      else tempdf=0;
 182   2                      disp_temp();               //顯示溫度
 183   2              }
 184   1      }
 185                  


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    355    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     24       1
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      2    ----
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一区二区三区免费野_久草精品视频
国产午夜精品福利| 欧美一级黄色大片| 欧美国产视频在线| 国产麻豆一精品一av一免费| 久久久精品免费免费| 国产成人亚洲综合a∨猫咪| 国产日韩av一区| 99热在这里有精品免费| 亚洲综合色视频| 欧美日韩不卡在线| 美国av一区二区| 亚洲国产精品成人综合色在线婷婷 | 欧美在线你懂得| 五月天激情综合| 久久伊人蜜桃av一区二区| 不卡一区中文字幕| 一区二区三区小说| 日韩一区二区在线观看视频 | 久久综合丝袜日本网| 成人av中文字幕| 亚洲制服丝袜在线| 精品国产一区久久| 99久久精品99国产精品| 午夜久久电影网| 久久精品夜色噜噜亚洲a∨| 91免费版pro下载短视频| 日韩国产在线一| 久久品道一品道久久精品| 91啪亚洲精品| 精品一区二区av| 亚洲欧美色综合| 久久影院视频免费| 91国偷自产一区二区使用方法| 麻豆高清免费国产一区| 日韩美女视频19| 精品国产乱码久久久久久久久 | 91麻豆精品国产91| 国产91丝袜在线观看| 性做久久久久久免费观看| 国产婷婷色一区二区三区| 欧美日韩视频不卡| 成人激情小说网站| 麻豆一区二区在线| 一区二区免费看| 欧美激情自拍偷拍| 欧美成人一区二区三区在线观看| 91亚洲精品一区二区乱码| 精品一区二区三区久久久| 亚洲国产视频直播| 成人免费在线播放视频| 精品免费日韩av| 欧美日韩在线播放三区四区| 高清不卡一区二区在线| 久久精品国产99国产精品| 午夜欧美一区二区三区在线播放| 国产精品麻豆久久久| 久久免费国产精品| 欧美va亚洲va在线观看蝴蝶网| 欧美视频在线播放| 色婷婷一区二区| 91尤物视频在线观看| 成人一区二区三区中文字幕| 国产在线麻豆精品观看| 蜜桃视频第一区免费观看| 性久久久久久久| 亚洲成a天堂v人片| 亚洲综合区在线| 亚洲丝袜美腿综合| 亚洲欧洲av一区二区三区久久| 国产日韩成人精品| 欧美激情综合网| 国产精品视频线看| 国产精品久久久久久一区二区三区 | 色网站国产精品| 91麻豆精东视频| 91色porny在线视频| 91欧美一区二区| 91视频xxxx| 欧洲国内综合视频| 欧美日本在线看| 69堂精品视频| 精品国产凹凸成av人网站| 久久综合九色综合97婷婷| 久久毛片高清国产| 国产精品国产三级国产专播品爱网| 国产三级一区二区三区| 国产欧美日韩综合精品一区二区| 国产亲近乱来精品视频| 国产精品你懂的| 亚洲精品水蜜桃| 午夜精品福利一区二区三区蜜桃| 日韩精品色哟哟| 九九精品一区二区| 成人免费三级在线| 一本久久精品一区二区| 欧美日韩国产欧美日美国产精品| 9191久久久久久久久久久| 制服丝袜亚洲精品中文字幕| 欧美α欧美αv大片| 久久精品水蜜桃av综合天堂| 综合久久久久综合| 午夜视频在线观看一区二区| 老色鬼精品视频在线观看播放| 国模套图日韩精品一区二区| 波多野结衣精品在线| 欧美日韩国产精品自在自线| 日韩精品一区二区三区四区视频| 一区免费观看视频| 日韩高清不卡一区二区三区| 国产主播一区二区| 91蜜桃视频在线| 69久久99精品久久久久婷婷| 国产亚洲欧美一级| 亚洲小说春色综合另类电影| 老司机免费视频一区二区| 成人一道本在线| 欧美日韩国产系列| 国产精品网站在线| 日韩电影免费一区| 91在线看国产| 日韩精品中文字幕一区二区三区| 国产精品久久久久久妇女6080 | 成人综合在线网站| 欧美中文字幕一二三区视频| 日韩精品一区二区三区在线播放 | 国产精品1024久久| 欧美日韩精品欧美日韩精品一 | 国产精品日韩精品欧美在线| 亚洲国产精品久久久久秋霞影院 | 国产精品福利一区| 日韩av不卡在线观看| av在线不卡电影| 精品国产免费久久| 一区二区三区欧美| 高清beeg欧美| 日韩欧美国产系列| 亚洲国产欧美在线| 99re亚洲国产精品| 久久嫩草精品久久久精品一| 天天综合色天天| 一本色道久久综合狠狠躁的推荐| 久久免费偷拍视频| 麻豆久久一区二区| 欧美日韩不卡一区| 亚洲精品国产成人久久av盗摄 | 日韩电影一区二区三区四区| 99久久精品国产一区| 国产日韩欧美精品综合| 久久成人综合网| 777久久久精品| 午夜精品久久久久久久| 色88888久久久久久影院按摩| 欧美激情综合五月色丁香小说| 久久精品国产99国产| 91麻豆精品国产91久久久使用方法| 一区二区三区在线观看欧美| 粉嫩aⅴ一区二区三区四区五区 | 韩国精品一区二区| 日韩一级成人av| 日本成人在线网站| 欧美一区二区在线看| 午夜伦欧美伦电影理论片| 欧洲一区二区三区在线| 樱桃国产成人精品视频| 91在线码无精品| 亚洲美女少妇撒尿| 欧美午夜精品电影| 亚洲国产精品影院| 欧美精品v日韩精品v韩国精品v| 亚洲一区二区在线免费看| 91久久精品日日躁夜夜躁欧美| 日韩一区在线播放| 一本色道久久综合亚洲91| 亚洲免费在线电影| 在线观看日韩毛片| 婷婷久久综合九色国产成人| 欧美日韩高清在线播放| 日韩电影免费在线| 亚洲精品在线三区| 国产成人精品网址| 亚洲色图欧洲色图| 欧美综合亚洲图片综合区| 午夜伊人狠狠久久| 日韩无一区二区| 国产在线精品一区二区不卡了| 久久精品人人做人人爽人人| 成人精品高清在线| 一区二区三区欧美亚洲| 欧美日韩精品欧美日韩精品| 美女网站一区二区| 国产日韩一级二级三级| 99久久精品免费观看| 亚洲香肠在线观看| 日韩精品一区在线| 成人免费视频一区| 亚洲成人免费观看| 久久蜜桃一区二区| 日本福利一区二区| 久久99久久精品欧美| 国产精品免费av|