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

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

?? text2.lst

?? 單片機超聲波測距程序源代碼,38KHZ,可以4M
?? LST
字號:
C51 COMPILER V6.12  TEXT2                                                                  08/25/2006 17:25:49 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE TEXT2
OBJECT MODULE PLACED IN .\Text2.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil7.0\C51\BIN\C51.EXE .\Text2.c DEBUG OBJECTEXTEND

stmt level    source

   1          /*-------------------------------------
   2          超聲波測距單片C程序
   3          MCU  AT89S52 XAL 12M
   4          2006.8.21   by maozhen
   5          增加EEPROM存儲功能,測量過程中鍵1存,鍵2讀
   6          --------------------------------------*/
   7          #include<AT89X52.h>
   8          #include <intrins.h>
   9          #define uchar unsigned char
  10          #define uint unsigned int
  11          #define ulong unsigned long
  12          #define Sda P1_2 /*串行數據*/
  13          #define Scl P1_1  /*串行時鐘*/
  14          #define WriteRom P1_5
  15          #define ReadRom  P1_4
  16          data uchar ramnum=0;
  17          extern void transmit(void);
  18          extern void display(void);
  19          
  20          //sfr WDTRST  = 0xA6;
  21          //sfr AUXR    = 0X8E;
  22          data uchar testok;
  23          data ulong time;
  24          data uchar dispram[3]={1,1,1};
  25          const unsigned char LED7Code[]={
  26          	0x14,		// 0
  27              0x77,		// 1
  28              0x4C,		// 2
  29          	0x45,		// 3
  30          	0x27,		// 4
  31          	0x85,		// 5
  32          	0x84,		// 6
  33          	0x57,		// 7
  34          	0x04,		// 8
  35          	0x05,		// 9
  36              0x8e,       // F
  37              0x8C,		// E
  38              0x12,       // n
  39              0x64,		// D
  40                                           };
  41          const uchar dispbit[]={
  42            0xfe,    //bit1
  43            0xfb,    //bit2
  44            0xef,    //bit3
  45                          };
  46          
  47            extern void delay(uint t)
  48            {
  49   1        uint n,j;
  50   1         for (n=0;n<t;n++)
  51   1         for (j=0; j<10;j++);
  52   1         }
  53          
  54          /*void supplydog(void)
  55           {
C51 COMPILER V6.12  TEXT2                                                                  08/25/2006 17:25:49 PAGE 2   

  56            EA=0;
  57            WDTRST=0x1E;
  58            WDTRST=0xE1;
  59            EA=1;
  60           }
  61          */
  62          extern void mDelay(uint Delay)
  63          { uint i;
  64   1      for(;Delay>0;Delay--)
  65   1      { for(i=0;i<124;i++)
  66   2      {;}
  67   2        //supplydog();
  68   2      }
  69   1      }
  70          
  71          /*發送起始條件*/
  72          void Start(void) /*起始條件*/
  73          {
  74   1      Sda=1;
  75   1      Scl=1;
  76   1      _nop_();
  77   1      _nop_();
  78   1      _nop_();
  79   1      _nop_();
  80   1      Sda=0;
  81   1      _nop_();
  82   1      _nop_();
  83   1      _nop_();
  84   1      _nop_();
  85   1      }
  86          
  87          void Stop(void) /*停止條件*/
  88          {
  89   1      Sda=0;
  90   1      Scl=1;
  91   1      _nop_();
  92   1      _nop_();
  93   1      _nop_();
  94   1      _nop_();
  95   1      Sda=1;
  96   1      _nop_();
  97   1      _nop_();
  98   1      _nop_();
  99   1      _nop_();
 100   1      }
 101          
 102          void Ack(void) /*應答位*/
 103          {
 104   1      Sda=0;
 105   1      _nop_();
 106   1      _nop_();
 107   1      _nop_();
 108   1      _nop_();
 109   1      Scl=1;
 110   1      _nop_();
 111   1      _nop_();
 112   1      _nop_();
 113   1      _nop_();
 114   1      Scl=0;
 115   1      }
 116          
 117          void NoAck(void) /*反向應答位*/
C51 COMPILER V6.12  TEXT2                                                                  08/25/2006 17:25:49 PAGE 3   

 118          {
 119   1      Sda=1;
 120   1      _nop_ ();
 121   1      _nop_ ();
 122   1      _nop_ ();
 123   1      _nop_ ();
 124   1      Scl=1;
 125   1      _nop_ ();
 126   1      _nop_ ();
 127   1      _nop_ ();
 128   1      _nop_ ();
 129   1      Scl=0;
 130   1      }
 131          
 132          void Send(uchar Data) /*發送數據子程序,Data為要求發送的數據*/
 133          {
 134   1      uchar BitCounter=8; /*位數控制*/
 135   1      uchar temp; /*中間變量控制*/
 136   1      //supplydog();
 137   1      do
 138   1      {
 139   2      temp=Data;
 140   2      Scl=0;
 141   2      _nop_ ();
 142   2      _nop_ ();
 143   2      _nop_ ();
 144   2      _nop_ ();
 145   2      if((temp&0x80)==0x80)/* 如果最高位是1*/
 146   2      Sda=1;
 147   2      else
 148   2      Sda=0;
 149   2      Scl=1;
 150   2      temp=Data<<1; /*RLC*/
 151   2      Data=temp;
 152   2      BitCounter--;
 153   2      }while(BitCounter);
 154   1      Scl=0;
 155   1      }
 156          
 157          uchar Read(void) /*讀一個字節的數據,并返回該字節值*/
 158          {
 159   1      uchar temp=0;
 160   1      uchar temp1=0;
 161   1      uchar BitCounter=8;
 162   1      Sda=1;
 163   1      //supplydog();
 164   1      do{
 165   2      Scl=0;
 166   2      _nop_();
 167   2      _nop_();
 168   2      _nop_();
 169   2      _nop_();
 170   2      Scl=1;
 171   2      _nop_();
 172   2      _nop_();
 173   2      _nop_();
 174   2      _nop_();
 175   2      if(Sda)
 176   2      temp=temp|0x01; /*temp的最低位置1*/
 177   2      else
 178   2      temp=temp&0xfe; /*否則temp的最低位清0*/
 179   2      if(BitCounter-1)
C51 COMPILER V6.12  TEXT2                                                                  08/25/2006 17:25:49 PAGE 4   

 180   2      { temp1=temp<<1;
 181   3      temp=temp1;
 182   3      }
 183   2      BitCounter--;
 184   2      }while(BitCounter);
 185   1      return(temp);
 186   1      }
 187          
 188          void WrToROM(uchar Data[],uchar Address,uchar Num)
 189          {
 190   1      uchar i;
 191   1      uchar *PData;
 192   1      PData=Data;
 193   1      for(i=0;i<Num;i++)
 194   1      {
 195   2      Start(); /*發送啟動信號*/
 196   2      Send(0xa0); /*發送SLA+W*/
 197   2      Ack();
 198   2      Send(Address+i); /*發送地址*/
 199   2      Ack();
 200   2      Send(*(PData+i));
 201   2      Ack();
 202   2      Stop();
 203   2      mDelay(20);
 204   2      }
 205   1      }
 206          
 207          void RdFromROM(uchar Data[],uchar Address,uchar Num)
 208          {
 209   1      uchar i;
 210   1      uchar *PData;
 211   1      PData=Data;
 212   1      for(i=0;i<Num;i++)
 213   1      {
 214   2      Start();
 215   2      Send(0xa0);
 216   2      Ack();
 217   2      Send(Address+i);
 218   2      Ack();
 219   2      Start();
 220   2      Send(0xa1);
 221   2      Ack();
 222   2      *(PData+i)=Read();
 223   2      Scl=0;
 224   2      NoAck();
 225   2      Stop();
 226   2      }
 227   1      }
 228          
 229          void testkey(void)
 230          {
 231   1      uchar j,k,temp1[1],temp[30]; 
 232   1      uint  i1=0,i;
 233   1      //supplydog();
 234   1       if((!WriteRom)|(!ReadRom))
 235   1          {
 236   2           if (WriteRom==0)
 237   2              {mDelay(50);
 238   3               if (WriteRom==0)
 239   3                  {
 240   4      			 WrToROM(dispram,ramnum,3);   //一次寫入三個數據
 241   4                   ramnum=ramnum+3;
C51 COMPILER V6.12  TEXT2                                                                  08/25/2006 17:25:49 PAGE 5   

 242   4      			 }
 243   3              }
 244   2            else if (ReadRom==0)
 245   2             {mDelay(50);
 246   3              if (ReadRom==0)
 247   3                  { 
 248   4                   
 249   4      		         for(i=0;i<ramnum;i++)
 250   4                         {
 251   5      				    RdFromROM(temp1,i,1);
 252   5      				    temp[i]=temp1[0];
 253   5                          }
 254   4                    for(k=0;k<ramnum/3;k++)     //逐個顯示記錄的數據
 255   4                     {
 256   5      			          for(j=0;j<3;j++)
 257   5      			             {dispram[j]=temp[i1++];}
 258   5      			          for(i=0;i<5000;i++)
 259   5      			             {display();}
 260   5      				}
 261   4                   }
 262   3                   dispram[0]=11;              //記錄顯示結束,“END
 263   3                   dispram[1]=12;
 264   3                   dispram[2]=13;       
 265   3              for(i=0;i<1000;i++)
 266   3                 {display();}
 267   3      	     }
 268   2           }
 269   1      }
 270          
 271          /* main  */
 272          void main(void)
 273           {
 274   1       data uint k;
 275   1       ramnum=0;
 276   1       //supplydog();
 277   1      // AUXR = 0x08;
 278   1       P0 = 0xFF;
 279   1       P1 = 0xFD;
 280   1       P3 = 0xFF;
 281   1       P2 = 0x8e;
 282   1      TMOD=0x21;    //timer1 mode2,timer0 mode1
 283   1      RCAP2H=0xff;    //65536-75
 284   1      RCAP2L=0xb5;
 285   1      TH2   =0xff;
 286   1      TL2   =0xB5;
 287   1      TH0=0x0;
 288   1      TL0=0x0;
 289   1      T2MOD=0x02;    //T2作為CLK輸出40k
 290   1      T2CON=0x00;    //no打開TIMER2
 291   1      P1_3 =1;
 292   1      
 293   1      while(1)
 294   1       {
 295   2      //supplydog();
 296   2      EA=0;
 297   2      RCAP2H=0xff;    //65536-75
 298   2      RCAP2L=0xb5;
 299   2      TH2   =0xff;
 300   2      TL2   =0xB5;
 301   2      TH0=0x0;
 302   2      TL0=0x0;
 303   2      T2MOD=0x02;    //T2作為CLK輸出40k
C51 COMPILER V6.12  TEXT2                                                                  08/25/2006 17:25:49 PAGE 6   

 304   2      T2CON=0x00;    //no打開TIMER2
 305   2      TMOD=0x21;
 306   2      P1_3 =1;
 307   2      EA=1;
 308   2      transmit();
 309   2      testok=0;
 310   2       while (!testok) display();
 311   2       if(1==testok)
 312   2         {
 313   3         time=TH0;
 314   3         time=(time<<8)|TL0;
 315   3         //supplydog();
 316   3         TH0=0;
 317   3         TL0=0;
 318   3         time*=172;
 319   3         time/=10000;
 320   3         time+=6;
 321   3         dispram[2]=(uchar)(time%10); //個位
 322   3      
 323   3         dispram[1]=(uchar)((time/10)%10);//十位
 324   3      
 325   3         dispram[0]=(uchar)(time/100);  //百位
 326   3         //supplydog();
 327   3         } else
 328   2         {
 329   3         dispram[0]=10;
 330   3         dispram[1]=10;
 331   3         dispram[2]=10;
 332   3         }
 333   2        EA=0;
 334   2         for (k=0;k<150;k++)
 335   2         display();  //500
 336   2         testkey();
 337   2        EA=1;
 338   2        }
 339   1       }
 340          
 341          
 342           /*超聲波接蕆eceive*int)*/
 343           void receive(void) interrupt 0
 344           {
 345   1       TR2=0;
 346   1       TR0=0;
 347   1       ET0=0;
 348   1       EX0=0;
 349   1       testok=1;
 350   1       //supplydog();
 351   1       }
 352          
 353           /*超時清除程序(內中斷T0 YICHU)*/
 354           void overtime(void) interrupt 1
 355           {
 356   1      
 357   1        testok=0;
 358   1         TR2=0;
 359   1        EX0=0;
 360   1        TR0=0;
 361   1        ET0=0;
 362   1        testok=2;
 363   1        //supplydog();
 364   1        }
 365          
C51 COMPILER V6.12  TEXT2                                                                  08/25/2006 17:25:49 PAGE 7   

 366           void transmit(void)
 367           {
 368   1       	EX0=0;
 369   1       	IE0=0;
 370   1        //supplydog();
 371   1        testok=0;
 372   1        TH0=0;
 373   1        TL0=0;
 374   1        //P1_3 =0;  ////and輸入端,抑制發送?
 375   1        TR2 =1;  //start timer2
 376   1        TR0=1;   //T0開始記述
 377   1        delay(1);
 378   1        TR2=0;
 379   1        
 380   1        testok=0;
 381   1        P1_0=0;  //接電容的發射腳為0,發射器上兩邊0
 382   1        delay(5);  //delay(1)
 383   1        //P1_3 =1;  //
 384   1        IE0=0;
 385   1        EX0=1;    //開外中斷
 386   1        ET0=1;    //T0 INT ON
 387   1        testok=0;
 388   1        //supplydog();
 389   1        }
 390          
 391          
 392          void display(void)
 393          {   int i;
 394   1         for( i=0;i<3;i++)
 395   1        {
 396   2         P2=LED7Code[dispram[i]];
 397   2         P0=dispbit[i];
 398   2         delay(3);
 399   2         //supplydog();
 400   2        };
 401   1       
 402   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   1011    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     26      57
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丁香六月久久综合狠狠色| 亚洲国产精品久久久男人的天堂| 久久精品国产999大香线蕉| 欧美一区二区女人| 久久精品国产成人一区二区三区 | 国产成人精品网址| 国产欧美精品区一区二区三区| 精品制服美女丁香| 日韩一区二区三区电影| 天堂av在线一区| 777亚洲妇女| 六月婷婷色综合| 国产欧美日韩视频一区二区| 成人97人人超碰人人99| 一区二区三区国产豹纹内裤在线| 欧美视频一区在线| 精品无人码麻豆乱码1区2区| 国产女人aaa级久久久级| 91视频在线观看| 首页国产欧美日韩丝袜| 久久九九久精品国产免费直播| 不卡一卡二卡三乱码免费网站| 一区二区三区不卡视频| 日韩精品一区二区三区中文不卡| 国产成人午夜视频| 亚洲韩国精品一区| 久久嫩草精品久久久久| 色欧美日韩亚洲| 偷拍一区二区三区四区| 欧美激情一区二区在线| 欧美在线色视频| 国产一区二区三区精品视频| 国产精品理论片在线观看| 欧美日韩一区久久| 国产精品一二一区| 天堂成人国产精品一区| 国产精品毛片大码女人| 欧美一区二区三区色| eeuss鲁片一区二区三区| 午夜精品福利在线| 国产精品九色蝌蚪自拍| 欧美一区三区四区| 色av一区二区| 国产成人免费视频网站| 五月婷婷久久丁香| 1区2区3区精品视频| 日韩精品一区二区在线| 欧美日韩亚洲综合一区二区三区| 国产福利一区二区三区视频在线| 亚洲v日本v欧美v久久精品| 国产人伦精品一区二区| 日韩一区二区视频| 欧美亚一区二区| 99久久精品国产导航| 久久99国产精品久久99| 亚洲成人av福利| 一区二区三区在线视频观看| 国产日韩高清在线| 精品久久久久av影院| 欧美老肥妇做.爰bbww| 972aa.com艺术欧美| 国产91高潮流白浆在线麻豆 | 蜜桃精品在线观看| 亚洲大片精品永久免费| 亚洲欧美另类久久久精品2019| 欧美国产日韩在线观看| 精品国产91乱码一区二区三区| 欧美日韩成人在线| 美女视频网站黄色亚洲| 午夜精品久久久久久久蜜桃app| 中文字幕一区在线观看| 国产欧美一区二区三区沐欲| 精品sm在线观看| 日韩精品中文字幕在线一区| 欧美日韩在线三区| 欧美日韩国产综合草草| 在线日韩av片| 欧美吞精做爰啪啪高潮| 在线观看三级视频欧美| 在线观看日韩一区| 欧美性猛交一区二区三区精品| 欧美自拍偷拍一区| 欧美日韩一级视频| 51精品国自产在线| 日韩你懂的电影在线观看| 欧美成va人片在线观看| 欧美成人猛片aaaaaaa| 欧美不卡视频一区| 国产欧美日韩在线视频| 国产精品久久久久9999吃药| 日韩av电影天堂| 日本一道高清亚洲日美韩| 日韩精品午夜视频| 久久爱www久久做| 国产精品一区二区在线观看网站 | 日韩av不卡在线观看| 免费高清在线视频一区·| 久久99精品久久久久久| 国产乱一区二区| 91在线国产观看| 欧美日韩一区三区| 精品剧情在线观看| 中文一区一区三区高中清不卡| 国产精品久久久久久久久免费桃花 | 久久精品亚洲一区二区三区浴池| 国产三级精品三级| 亚洲靠逼com| 日本欧美一区二区三区乱码 | 亚洲综合激情网| 日本在线播放一区二区三区| 激情综合色丁香一区二区| 国产91高潮流白浆在线麻豆| 91福利在线播放| 欧美电视剧免费全集观看| 国产三级精品在线| 午夜欧美在线一二页| 国产一区视频在线看| 91麻豆高清视频| 日韩视频免费观看高清完整版在线观看| 国产色产综合色产在线视频| 亚洲精品成a人| 国产一区二区三区免费观看| 91电影在线观看| 久久精品亚洲乱码伦伦中文 | 午夜精品视频一区| 福利电影一区二区| 91超碰这里只有精品国产| 国产亚洲精久久久久久| 亚洲国产精品一区二区久久 | 蜜桃av噜噜一区| 91色九色蝌蚪| www欧美成人18+| 亚洲va国产va欧美va观看| 国产91丝袜在线观看| 日韩欧美久久久| 亚洲一区免费在线观看| 成人亚洲一区二区一| 欧美一区二区三区免费视频| 亚洲私人影院在线观看| 99久久er热在这里只有精品15| 欧美电影免费观看高清完整版在线 | 午夜伦欧美伦电影理论片| 国产精品1024久久| 日韩一区二区精品葵司在线| 亚洲欧美日韩在线不卡| 国产91丝袜在线18| 精品国一区二区三区| 日韩中文欧美在线| 欧美性大战久久久| 亚洲素人一区二区| eeuss鲁片一区二区三区在线观看| 精品久久久久99| 免费一区二区视频| 8x福利精品第一导航| 另类综合日韩欧美亚洲| 欧美日韩精品三区| 亚洲综合色丁香婷婷六月图片| 91在线观看美女| 中文字幕一区二区三区四区不卡| 国产中文字幕精品| 精品国产免费一区二区三区四区 | 欧美亚洲综合久久| 日韩一区在线免费观看| 国产黄人亚洲片| 久久亚洲精品国产精品紫薇| 久久精品国产**网站演员| 欧美一区二区三区四区久久| 午夜伊人狠狠久久| 欧美人与z0zoxxxx视频| 五月激情综合色| 欧美日韩dvd在线观看| 天天影视涩香欲综合网| 在线不卡中文字幕播放| 日本大胆欧美人术艺术动态 | 日韩免费性生活视频播放| 日本成人在线网站| 日韩视频在线永久播放| 激情综合色播激情啊| 久久久久久久久久看片| 国产不卡一区视频| 亚洲丝袜制服诱惑| 91国偷自产一区二区三区观看| 亚洲国产日韩综合久久精品| 欧美电影影音先锋| 久久精品国产一区二区| 久久男人中文字幕资源站| 成人午夜精品在线| 亚洲人成精品久久久久久 | 日韩精品一二区| 欧美哺乳videos| 成人免费的视频| 亚洲激情自拍偷拍| 欧美一级欧美三级在线观看| 韩国理伦片一区二区三区在线播放| 国产亚洲成年网址在线观看| av影院午夜一区| 午夜一区二区三区在线观看| 精品国产人成亚洲区| 成人免费毛片嘿嘿连载视频| 亚洲一线二线三线久久久|