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

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

?? wdbj.lst

?? 溫度傳感器的使用程序
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V7.50   WDBJ                                                                  03/08/2008 22:56:25 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE WDBJ
OBJECT MODULE PLACED IN wdbj.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE wdbj.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include<intrins.h>     
   2          #include<reg52.h>
   3          #include<absacc.h>
   4          #define uint  unsigned int
   5          #define uchar unsigned char
   6          
   7          #define liangtime       40                                      //設置閃爍時間
   8          #define mietime         40                                      
   9          #define MaxRate 50                                              //重復前的延遲值600MS
  10          #define MinRate 20                                              //重復速度240MS
  11          #define         N       2                                               //設定去抖時間
  12          
  13          //定時器1的時間常數和方式控制字2ms
  14          #define V_TH0   (65535-10000)/256
  15          #define V_TL0   (65535-10000)%256
  16          #define V_TMOD  0x01
  17          sbit    ds18b20_IO=P1^0;
  18          sbit    duX=P2^7;       //段選使能
  19          sbit    weX=P2^6;       //位選使能
  20          sbit    K1=P3^7;        //設置鍵
  21          sbit    K2=P3^5;        //加數鍵
  22          sbit    K3=P3^6;        //減數鍵
  23          sbit    K4=P3^4;
  24          sbit    led4=P1^3;      
  25          sbit    led8=P1^7;
  26          sbit    sda=P1^2;       
  27          sbit    scl=P1^1;
  28          uchar   buffer[]={0,0,0,0,0,0,0,0};             //數碼管鍵顯緩存
  29          uchar   *pb=&buffer[0];
  30          uchar   code    duma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
  31                                  0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};//數碼管段碼表
  32          uchar   code    wema[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//位選
  33          uchar   tempL,tempH;
  34          uchar   task;                                           //task:按鍵狀態,0:去抖,1:重復的延緩,2:重復
  35          bit             keydone,keyprocess;                                     //keydone:按鍵任務完成標志,為1時已完成
  36                                                                                          //keyprocess:按鍵有效標志,為1時對按鍵執行
  37          bit     shans;                                                          //shans 為閃爍使能位,1時LED閃,shanz為閃爍狀態位,
  38          bit             shanz;                                                          //1時為滅
  39          bit     keymark;                                                //設定狀態標志位
  40          uchar   blink;                                          //閃爍控制器,某位為1時閃爍。
  41          uchar   ledtime;                                                //閃爍時間
  42          uchar   sdate;                                          //顯示位置變量
  43          
  44          uchar   funcnt;                                         //功能鍵的個數
  45          uchar   funval;                                         //最后掃描到的功能鍵的值
  46          uchar   keypre=0x00;                            //存放上次功能鍵的鍵值
  47          uint    num1;
  48          void    keyXZ(void);
  49          void    display(uchar pos);
  50          /****************************************************************************/
  51          /*                                                                          */
  52          /*                         所用的延時子程序                                 */
  53          /*                                                                          */
  54          /****************************************************************************/
  55          void DelayM(uint a)                                                                             //延時函數 1MS/次       
C51 COMPILER V7.50   WDBJ                                                                  03/08/2008 22:56:25 PAGE 2   

  56          {
  57   1                      unsigned char i;
  58   1                      while( --a != 0)
  59   1                      {               
  60   2                              for(i = 0; i < 125; i++);                                       //一個 ; 表示空語句,CPU空轉。
  61   2                      }                                                                                       //i 從0加到125,CPU大概就耗時1毫秒
  62   1      }
  63          void DelayU(uint b)                                                                             //延時函數 US級別       
  64          {
  65   1                      unsigned char i;
  66   1                      while( --b != 0)
  67   1                      {               
  68   2                              for(i = 0; i < 20; i++);                                        //一個 ; 表示空語句,CPU空轉。
  69   2                      }                                 
  70   1      }
  71          void delay_5us(uchar c)         //(2.17*y+5)us延時,11.0592M晶振
  72          {
  73   1          while(--c);
  74   1      }
  75          void    delay(void)
  76          {;;}
  77          /******************************************************************/
  78          /******************************************************************/
  79          /*                                              DS18B20驅動函數                                                   */
  80          /******************************************************************/
  81          void DS18b20_w_byte(uchar dat);
  82          uchar DS18b20_r_byte(void);
  83          DS18b20_init(void);
  84          uint DS18b20_readTemp(void);
  85          /******************************************************************/
  86          /*                                              寫一字節函數                                                      */
  87          /*                                              入口參數dat                                                               */
  88          /******************************************************************/
  89          void DS18b20_w_byte(uchar dat)                  //向18b20寫一個字節dat是要寫的內容
  90          {
  91   1          uchar i;
  92   1          for(i=0;i<8;i++)
  93   1          {
  94   2              ds18b20_IO=0;
  95   2              ds18b20_IO=0x01&dat;
  96   2              delay_5us(15);                  //要求總時間在60-120us
  97   2              ds18b20_IO=1;                   //釋放總線    
  98   2              dat=dat>>1;
  99   2          }    
 100   1      }
 101          
 102          /******************************************************************/
 103          /*                                              讀一字節函數                                                      */
 104          /*                                                                                                                                */
 105          /******************************************************************/
 106          uchar DS18b20_r_byte(void)                      //從18b20讀一個字節.返回讀到的內容
 107          {
 108   1          uchar i,dat;
 109   1          dat=0;                              
 110   1          for(i=0;i<8;i++)
 111   1          {
 112   2      
 113   2              ds18b20_IO=0;
 114   2              dat=dat>>1;
 115   2              ds18b20_IO=1;                   //釋放總線
 116   2              if(ds18b20_IO)
 117   2                   dat|=0x80;
C51 COMPILER V7.50   WDBJ                                                                  03/08/2008 22:56:25 PAGE 3   

 118   2              delay_5us(15);                  //要求總時間在60-120us
 119   2          }
 120   1          return dat;    
 121   1      }
 122          
 123          /******************************************************************/
 124          /*                                              ds18b20初始化函數                                                 */
 125          /*                                                                                                                                */
 126          /******************************************************************/
 127          DS18b20_init(void)                                      //每次上電都給18b20初始化,設置18b20的參數
 128          {
 129   1              uchar x=0;
 130   1          ds18b20_IO=1;
 131   1              delay_5us(25);
 132   1              ds18b20_IO=0;
 133   1          delay_5us(255);                     //要求480-960us
 134   1          ds18b20_IO=1;                       //釋放總線
 135   1          delay_5us(40);                      //要求60-120us
 136   1              x=ds18b20_IO;                                           //用X值來判斷初始化是否成功
 137   1              delay_5us(60);
 138   1      }
 139          
 140          /******************************************************************/
 141          /*                                              向DS18B20讀溫度值                                                 */
 142          /*                                              出口參數DS18b20_temp                                      */
 143          /******************************************************************/
 144          uint DS18b20_readTemp(void)                                     //讀18b20溫度值
 145          {
 146   1              uint DS18b20_temp,t;                            //讀出的18b20溫度值存放地
 147   1              uchar   i;
 148   1              float tt=0;
 149   1              DS18b20_init();
 150   1              DS18b20_w_byte(0xcc);                   //發送Skip ROM命令
 151   1          DS18b20_w_byte(0x44);                       //發送溫度轉換命令
 152   1              for(i=0;i<7;i++)
 153   1              {
 154   2                      for(sdate=0;sdate<=7;sdate++)
 155   2                      {
 156   3                              display(sdate);
 157   3                              DelayM(3);
 158   3                      }
 159   2                      keyXZ();
 160   2              }
 161   1              DS18b20_init();
 162   1              DS18b20_w_byte(0xcc);                   //發送Skip ROM命令
 163   1          DS18b20_w_byte(0xbe);                       //讀溫度寄存器(頭兩個值分別為溫度的低和高位
 164   1              tempL=DS18b20_r_byte();                         //讀溫度低字節  
 165   1              tempH=DS18b20_r_byte();                         //讀溫度高字節
 166   1              t=tempH;
 167   1              t<<=8;
 168   1              t|=tempL;
 169   1              tt=t*0.0625;
 170   1              DS18b20_temp=tt*10+0.5;
 171   1              return(DS18b20_temp); 
 172   1      }
 173          //以下為EEPROM所用子函數
 174          //起始信號
 175          void start()
 176          {
 177   1              sda=1;
 178   1              delay();
 179   1              scl=1;
C51 COMPILER V7.50   WDBJ                                                                  03/08/2008 22:56:25 PAGE 4   

 180   1              delay();
 181   1              sda=0;
 182   1              delay();
 183   1              scl=0;
 184   1              delay();
 185   1      }
 186          //停止信號
 187          void stop()
 188          {
 189   1              sda=0;
 190   1              delay();
 191   1              scl=1;
 192   1              delay();
 193   1              sda=1;
 194   1              delay();
 195   1      }
 196          //應答
 197          void yingda()
 198          {
 199   1              uchar i=0;
 200   1              scl=1;
 201   1              delay();
 202   1              while((sda==1)&&(i<250))i++;
 203   1              scl=0;
 204   1              delay();
 205   1      }
 206          //初始
 207          void init()
 208          {
 209   1              scl=1;
 210   1              delay();
 211   1              sda=1;
 212   1              delay();        
 213   1      }
 214          //寫一個字節
 215          void write_byte(uchar date)
 216          {
 217   1              uchar i,temp;
 218   1              temp=date;
 219   1              for(i=0;i<8;i++)
 220   1              {
 221   2                      temp=temp<<1;
 222   2                      scl=0;
 223   2                      delay();
 224   2                      sda=CY;
 225   2                      delay();
 226   2                      scl=1;
 227   2                      delay();        
 228   2              }
 229   1              scl=0;
 230   1              delay();
 231   1              sda=1;
 232   1              delay();
 233   1      }
 234          //讀一個字節
 235          uchar read_byte()
 236          {       
 237   1              uchar i,j,k;
 238   1              scl=0;
 239   1              delay();
 240   1              sda=1;
 241   1              for(i=0;i<8;i++)
C51 COMPILER V7.50   WDBJ                                                                  03/08/2008 22:56:25 PAGE 5   

 242   1              {
 243   2                      delay();
 244   2                      scl=1;
 245   2                      delay();
 246   2                      if (sda==1) j=1;
 247   2                            else j=0;
 248   2                      k=(k<<1)|j;
 249   2                      scl=0;          
 250   2              }
 251   1              delay();
 252   1              return k;
 253   1      }
 254          
 255          void write_add(uchar dizhi,uchar date)
 256          {
 257   1              start();
 258   1              write_byte(0xa0);
 259   1              yingda();
 260   1              write_byte(dizhi);
 261   1              yingda();
 262   1              write_byte(date);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美绝品在线观看成人午夜影视| 欧美在线观看视频在线| 亚洲女性喷水在线观看一区| 欧美日韩三级一区| 国产91丝袜在线观看| 亚洲综合男人的天堂| 国产午夜精品一区二区三区四区| 欧美日韩久久不卡| 91视频国产资源| 国产精品羞羞答答xxdd| 日韩av网站免费在线| 日韩美女视频一区| 久久精品人人做人人爽人人| 6080日韩午夜伦伦午夜伦| 99国产精品久| 国产成人精品在线看| 日欧美一区二区| 亚洲精品美腿丝袜| 国产精品青草综合久久久久99| 欧美一区二区网站| 欧美亚洲一区二区三区四区| av亚洲精华国产精华精| 国产在线一区观看| 美女免费视频一区| 日韩激情一区二区| 午夜电影一区二区| 午夜精品久久久| 一区二区三区欧美在线观看| 国产精品不卡视频| 欧美国产日韩精品免费观看| 久久综合久久久久88| 日韩亚洲欧美一区二区三区| 欧美日韩一区二区三区高清| 色老汉一区二区三区| 色8久久人人97超碰香蕉987| 97精品超碰一区二区三区| 波多野结衣91| av电影在线观看一区| 成人美女视频在线观看18| 高清beeg欧美| 懂色av一区二区在线播放| 国产福利一区二区三区视频在线 | 悠悠色在线精品| 欧美激情一区二区三区在线| 久久精品人人做| 国产亚洲欧美一区在线观看| 精品国产99国产精品| 精品99999| 国产亚洲一区二区三区在线观看| 久久麻豆一区二区| 国产欧美日韩另类视频免费观看 | 亚洲免费毛片网站| 亚洲欧美日韩国产中文在线| 一区二区三区免费| 亚洲va中文字幕| 青青草国产精品97视觉盛宴| 热久久久久久久| 国产在线精品一区二区三区不卡 | 亚洲国产美国国产综合一区二区| 亚洲自拍另类综合| 亚洲va欧美va国产va天堂影院| 日韩精品电影一区亚洲| 久久se精品一区精品二区| 国产激情一区二区三区桃花岛亚洲| 国产精品自产自拍| 成人精品视频.| 色乱码一区二区三区88 | 国产午夜精品理论片a级大结局 | 国产最新精品免费| 国产高清在线精品| 91免费看片在线观看| 欧美日韩一本到| www欧美成人18+| 日韩一区欧美一区| 热久久免费视频| 成人av影视在线观看| 欧美日韩一级黄| 国产欧美va欧美不卡在线| 亚洲美女免费视频| 麻豆传媒一区二区三区| 白白色 亚洲乱淫| 555www色欧美视频| 国产欧美一区视频| 亚洲bdsm女犯bdsm网站| 国产裸体歌舞团一区二区| 色综合天天综合网天天狠天天 | 1000精品久久久久久久久| 亚洲高清久久久| 国产成人免费视频网站| 欧美无人高清视频在线观看| 久久亚洲精品国产精品紫薇| 亚洲精品视频免费观看| 精品午夜久久福利影院 | 不卡电影一区二区三区| 欧美日韩国产综合视频在线观看| 久久精品欧美一区二区三区不卡 | 国产精品一级黄| 欧美三级视频在线| 国产精品色哟哟| 麻豆91精品视频| 欧美丝袜丝nylons| 国产精品久久久久一区| 美脚の诱脚舐め脚责91| 91福利社在线观看| 国产欧美日韩亚州综合| 免费看欧美女人艹b| 91毛片在线观看| 国产欧美一区在线| 国产一区二区免费在线| 在线成人高清不卡| 一区二区三区电影在线播| 国产91丝袜在线播放0| 欧美丰满高潮xxxx喷水动漫| 亚洲免费电影在线| 成人午夜视频网站| 久久伊人中文字幕| 卡一卡二国产精品| 欧美肥妇毛茸茸| 亚洲gay无套男同| 欧美系列日韩一区| 亚洲精品亚洲人成人网在线播放| 国产激情一区二区三区| 久久久久久久久久久久电影| 琪琪久久久久日韩精品| 欧美日韩二区三区| 亚洲成a人v欧美综合天堂| 一本久道中文字幕精品亚洲嫩| 亚洲国产精品二十页| 国产在线精品一区二区不卡了| 日韩一区二区三区视频在线观看| 亚洲成人自拍网| 色噜噜狠狠成人网p站| 亚洲人xxxx| 91碰在线视频| 一区二区三区四区高清精品免费观看 | 国产日韩欧美在线一区| 国产一区二区美女诱惑| 精品成人在线观看| 久久99国产精品尤物| 日韩手机在线导航| 久久不见久久见免费视频1| 精品国产区一区| 国产一区二区导航在线播放| 久久久久久夜精品精品免费| 国产另类ts人妖一区二区| 欧美一区二区三级| 麻豆专区一区二区三区四区五区| 日韩欧美一级二级三级久久久| 久久机这里只有精品| 2022国产精品视频| 国产黑丝在线一区二区三区| 国产精品三级视频| 91伊人久久大香线蕉| 有码一区二区三区| 欧美精品123区| 国内精品写真在线观看| 日本一区二区三区dvd视频在线| 成人av在线看| 水野朝阳av一区二区三区| 91麻豆精品国产91| 国产久卡久卡久卡久卡视频精品| 中文幕一区二区三区久久蜜桃| 99在线精品视频| 亚洲va韩国va欧美va精品| 精品国产成人在线影院 | 成人一区二区三区在线观看| 亚洲欧洲精品一区二区精品久久久 | 亚洲人精品一区| 欧美一区二区三区日韩视频| 精品一区二区在线视频| 日本一区二区在线不卡| 91丨九色丨国产丨porny| 手机精品视频在线观看| 久久噜噜亚洲综合| 色综合久久中文综合久久97| 午夜久久久久久电影| 欧美精品一区二区三区在线播放| 波多野结衣中文字幕一区| 亚洲夂夂婷婷色拍ww47| 久久综合视频网| 日本乱人伦aⅴ精品| 美美哒免费高清在线观看视频一区二区 | 色婷婷av一区二区三区之一色屋| 午夜精品久久久久久久久| 国产日韩欧美精品一区| 欧美日韩国产片| 大尺度一区二区| 日韩激情视频在线观看| 国产精品久久久久天堂| 欧美一区二区视频观看视频| 成人国产精品免费网站| 日韩黄色在线观看| 亚洲三级在线免费观看| 精品国产免费一区二区三区四区 | 狠狠色丁香久久婷婷综合_中| 亚洲免费在线播放| 国产片一区二区| 日韩欧美区一区二| 欧美日韩免费观看一区三区| 处破女av一区二区|