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

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

?? 脈寬測量.lst

?? 超聲波測距資料
?? LST
字號:
C51 COMPILER V8.08   _隹聿_量                                                              05/01/2010 20:52:46 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE _隹聿_量
OBJECT MODULE PLACED IN 脈寬測量.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 脈寬測量.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          /*============================================================
   3          //DYP-ME007 超聲波測距模塊 DEMO 程序
   4          //程序編寫:Tvrostar  QQ: 77154401
   5          //淘寶店鋪: wxdz.taobao.com
   6               
   7          ==============================================================
   8          SMC1602A(16*2)模擬口線接線方式
   9          連接線圖:       
  10                 ---------------------------------------------------
  11                 |LCM-----51   |  LCM-----51   |  LCM------51      |
  12                 --------------------------------------------------|
  13                 |DB0-----P1.0 |  DB4-----P1.4 |  RW-------P3.4    |
  14                 |DB1-----P1.1 |  DB5-----P1.5 |  RS-------P3.3    |
  15                 |DB2-----P1.2 |  DB6-----P1.6 |  E--------P3.5    |
  16                 |DB3-----P1.3 |  DB7-----P1.7 |  VLCD接1K電阻到GND|
  17                 ---------------------------------------------------
  18          接線:模塊TRIG接 P2.6  ECH0 接P2.7
  19          
  20          本程序源碼只供學習參考,不得應用于商業用途,如有需要請聯系作者。
  21          
  22          [注:AT89x51使用12M或11.0592M晶振,實測使用11.0592M]
  23          =============================================================*/
  24          #include <AT89x51.H>            //器件配置文件
  25          #include <intrins.h>
  26          #define  RX  P2_7
  27          #define  TX  P2_6
  28          
  29          #define LCM_RW  P3_4 //定義LCD引腳
  30          #define LCM_RS  P3_3
  31          #define LCM_E   P3_5
  32          #define LCM_Data  P1
  33          
  34          #define Key_Data P2_0 //定義Keyboard引腳
  35          #define Key_CLK  P3_2
  36          
  37          #define Busy    0x80 //用于檢測LCM狀態字中的Busy標識
  38          
  39          void LCMInit(void);
  40          void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
  41          void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);
  42          void Delay5Ms(void);
  43          void Delay400Ms(void);
  44          void Decode(unsigned char ScanCode);
  45          void WriteDataLCM(unsigned char WDLCM);
  46          void WriteCommandLCM(unsigned char WCLCM,BuysC);
  47          
  48          unsigned char ReadDataLCM(void);
  49          unsigned char ReadStatusLCM(void);
  50          unsigned char code mcustudio[] ={"mcustudio.com.cn"};
  51          unsigned char code email[] =    {"fhwxaoo@163.com "};
  52          unsigned char code Cls[] =      {"                "};
  53          unsigned char code ASCII[15] =    {'0','1','2','3','4','5','6','7','8','9','.','-','M'};
  54          
  55          static unsigned char DisNum = 0; //顯示用指針                             
C51 COMPILER V8.08   _隹聿_量                                                              05/01/2010 20:52:46 PAGE 2   

  56                 unsigned int  time=0;
  57                     unsigned long S=0;
  58                     bit      flag =0;
  59                     unsigned char disbuff[4]        ={ 0,0,0,0,};
  60          
  61          
  62          //寫數據
  63          void WriteDataLCM(unsigned char WDLCM) 
  64          {
  65   1              ReadStatusLCM(); //檢測忙
  66   1              LCM_Data = WDLCM;
  67   1              LCM_RS = 1;
  68   1              LCM_RW = 0;
  69   1              LCM_E = 0; //若晶振速度太高可以在這后加小的延時
  70   1              LCM_E = 0; //延時
  71   1              LCM_E = 1;
  72   1      }
  73          
  74          //寫指令
  75          void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC為0時忽略忙檢測
  76          {
  77   1              if (BuysC) ReadStatusLCM(); //根據需要檢測忙
  78   1              LCM_Data = WCLCM;
  79   1              LCM_RS = 0;
  80   1              LCM_RW = 0;     
  81   1              LCM_E = 0;
  82   1              LCM_E = 0;
  83   1              LCM_E = 1;      
  84   1      }
  85          
  86          //讀數據
  87          unsigned char ReadDataLCM(void)
  88          {
  89   1              LCM_RS = 1; 
  90   1              LCM_RW = 1;
  91   1              LCM_E = 0;
  92   1              LCM_E = 0;
  93   1              LCM_E = 1;
  94   1              return(LCM_Data);
  95   1      }
  96          
  97          //讀狀態
  98          unsigned char ReadStatusLCM(void)
  99          {
 100   1              LCM_Data = 0xFF; 
 101   1              LCM_RS = 0;
 102   1              LCM_RW = 1;
 103   1              LCM_E = 0;
 104   1              LCM_E = 0;
 105   1              LCM_E = 1;
 106   1              while (LCM_Data & Busy); //檢測忙信號
 107   1              return(LCM_Data);
 108   1      }
 109          
 110          void LCMInit(void) //LCM初始化
 111          {
 112   1              LCM_Data = 0;
 113   1              WriteCommandLCM(0x38,0); //三次顯示模式設置,不檢測忙信號
 114   1              Delay5Ms(); 
 115   1              WriteCommandLCM(0x38,0);
 116   1              Delay5Ms(); 
 117   1              WriteCommandLCM(0x38,0);
C51 COMPILER V8.08   _隹聿_量                                                              05/01/2010 20:52:46 PAGE 3   

 118   1              Delay5Ms(); 
 119   1      
 120   1              WriteCommandLCM(0x38,1); //顯示模式設置,開始要求每次檢測忙信號
 121   1              WriteCommandLCM(0x08,1); //關閉顯示
 122   1              WriteCommandLCM(0x01,1); //顯示清屏
 123   1              WriteCommandLCM(0x06,1); // 顯示光標移動設置
 124   1              WriteCommandLCM(0x0F,1); // 顯示開及光標設置
 125   1      }
 126          
 127          //按指定位置顯示一個字符
 128          void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
 129          {
 130   1              Y &= 0x1;
 131   1              X &= 0xF; //限制X不能大于15,Y不能大于1
 132   1              if (Y) X |= 0x40; //當要顯示第二行時地址碼+0x40;
 133   1              X |= 0x80; //算出指令碼
 134   1              WriteCommandLCM(X, 1); //發命令字
 135   1              WriteDataLCM(DData); //發數據
 136   1      }
 137          
 138          //按指定位置顯示一串字符
 139          void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)
 140          {
 141   1              unsigned char ListLength;
 142   1      
 143   1        ListLength = 0;
 144   1              Y &= 0x1;
 145   1              X &= 0xF; //限制X不能大于15,Y不能大于1
 146   1              while (DData[ListLength]>0x19) //若到達字串尾則退出
 147   1                      {
 148   2                              if (X <= 0xF) //X坐標應小于0xF
 149   2                                      {
 150   3                                              DisplayOneChar(X, Y, DData[ListLength]); //顯示單個字符
 151   3                                              ListLength++;
 152   3                                              X++;
 153   3                                      }
 154   2                      }
 155   1      }
 156          
 157          //5ms延時
 158          void Delay5Ms(void)
 159          {
 160   1              unsigned int TempCyc = 5552;
 161   1              while(TempCyc--);
 162   1      }
 163          
 164          //400ms延時
 165          void Delay400Ms(void)
 166          {
 167   1              unsigned char TempCycA = 5;
 168   1              unsigned int TempCycB;
 169   1              while(TempCycA--)
 170   1                      {
 171   2                              TempCycB=7269;
 172   2                              while(TempCycB--);
 173   2                      };
 174   1      }
 175          /********************************************************/
 176              void Conut(void)
 177                  {
 178   1               time=TH0*256+TL0;
 179   1               TH0=0;
C51 COMPILER V8.08   _隹聿_量                                                              05/01/2010 20:52:46 PAGE 4   

 180   1               TL0=0;
 181   1              
 182   1               S=(time*1.7)/100;     //算出來是CM
 183   1               if((S>=700)||flag==1) //超出測量范圍顯示“-”
 184   1               {       
 185   2                flag=0;
 186   2               
 187   2                DisplayOneChar(0, 1, ASCII[11]);
 188   2                DisplayOneChar(1, 1, ASCII[10]);      //顯示點
 189   2                DisplayOneChar(2, 1, ASCII[11]);
 190   2                DisplayOneChar(3, 1, ASCII[11]);
 191   2                DisplayOneChar(4, 1, ASCII[12]);      //顯示M
 192   2               }
 193   1               else
 194   1               {
 195   2                disbuff[0]=S%1000/100;
 196   2                disbuff[1]=S%1000%100/10;
 197   2                disbuff[2]=S%1000%10 %10;
 198   2                DisplayOneChar(0, 1, ASCII[disbuff[0]]);
 199   2                DisplayOneChar(1, 1, ASCII[10]);      //顯示點
 200   2                DisplayOneChar(2, 1, ASCII[disbuff[1]]);
 201   2                DisplayOneChar(3, 1, ASCII[disbuff[2]]);
 202   2                DisplayOneChar(4, 1, ASCII[12]);      //顯示M
 203   2               }
 204   1              }
 205          /********************************************************/
 206               void zd0() interrupt 1              //T0中斷用來計數器溢出,超過測距范圍
 207            {
 208   1          flag=1;                                                      //中斷溢出標志
 209   1        }
 210          /********************************************************/
 211               void  StartModule()                         //啟動模塊
 212            {
 213   1                TX=1;                                      //啟動一次模塊
 214   1                _nop_(); 
 215   1                _nop_(); 
 216   1                _nop_(); 
 217   1                _nop_(); 
 218   1                _nop_(); 
 219   1                _nop_(); 
 220   1                _nop_(); 
 221   1                _nop_(); 
 222   1                _nop_(); 
 223   1                _nop_(); 
 224   1                _nop_(); 
 225   1                _nop_(); 
 226   1                _nop_(); 
 227   1                _nop_(); 
 228   1                _nop_(); 
 229   1                _nop_(); 
 230   1                _nop_();
 231   1                _nop_(); 
 232   1                _nop_(); 
 233   1                _nop_(); 
 234   1                _nop_();
 235   1                TX=0;
 236   1        }
 237          /********************************************************/ 
 238          void delayms(unsigned int ms)
 239          {
 240   1              unsigned char i=100,j;
 241   1              for(;ms;ms--)
C51 COMPILER V8.08   _隹聿_量                                                              05/01/2010 20:52:46 PAGE 5   

 242   1              {
 243   2                      while(--i)
 244   2                      {
 245   3                              j=10;
 246   3                              while(--j);
 247   3                      }
 248   2              }
 249   1      }
 250          /*********************************************************/
 251          void main(void)
 252          {
 253   1              unsigned char TempCyc;
 254   1              Delay400Ms(); //啟動等待,等LCM講入工作狀態
 255   1              LCMInit(); //LCM初始化
 256   1              Delay5Ms(); //延時片刻(可不要)
 257   1              DisplayListChar(0, 0, mcustudio);
 258   1              DisplayListChar(0, 1, email);
 259   1              ReadDataLCM();//測試用句無意義
 260   1              for (TempCyc=0; TempCyc<10; TempCyc++)
 261   1              Delay400Ms(); //延時
 262   1              DisplayListChar(0, 1, Cls);     
 263   1              while(1)
 264   1              {
 265   2               TMOD=0x01;                //設T0為方式1,GATE=1;
 266   2               TH0=0;
 267   2               TL0=0;          
 268   2               ET0=1;             //允許T0中斷
 269   2               EA=1;                     //開啟總中斷                 
 270   2              
 271   2              while(1)
 272   2                {
 273   3                   StartModule();
 274   3                      // DisplayOneChar(0, 1, ASCII[0]);
 275   3                   while(!RX);                //當RX為零時等待
 276   3                   TR0=1;                         //開啟計數
 277   3                   while(RX);                 //當RX為1計數并等待
 278   3                   TR0=0;                             //關閉計數
 279   3               Conut();                       //計算
 280   3                       delayms(80);           //80MS
 281   3                       
 282   3                }
 283   2              }
 284   1      }
 285          
 286          
 287          
 288                          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    757    ----
   CONSTANT SIZE    =     66    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     11       8
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
END OF MODULE INFORMATION.


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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品在线电影| 欧美日韩国产综合一区二区 | 一区二区国产盗摄色噜噜| 久久久国际精品| 国产情人综合久久777777| 精品人在线二区三区| 欧美一区二区三区在线观看视频| 欧美精品aⅴ在线视频| 欧美日韩一卡二卡| 91精品国产乱| 欧美一区二区视频在线观看2022| 色老综合老女人久久久| 99re这里只有精品首页| 成人午夜看片网址| 一本高清dvd不卡在线观看| jlzzjlzz亚洲女人18| 色婷婷激情综合| 欧美日韩国产免费一区二区| 欧美男生操女生| 久久久精品免费网站| 亚洲视频在线一区| 婷婷国产v国产偷v亚洲高清| 久久99精品久久久久久| 国产福利91精品一区二区三区| 成人av免费在线播放| 欧美天天综合网| 久久影院电视剧免费观看| 亚洲欧洲另类国产综合| 婷婷综合久久一区二区三区| 国内精品久久久久影院一蜜桃| 不卡免费追剧大全电视剧网站| 色婷婷亚洲精品| 欧美亚洲国产一区在线观看网站| 日韩一区二区三区在线| 中文字幕欧美一区| 日日摸夜夜添夜夜添国产精品| 国产高清无密码一区二区三区| 色综合中文综合网| 一区二区三区**美女毛片| 午夜欧美一区二区三区在线播放| 国产真实精品久久二三区| 成人sese在线| 日韩欧美三级在线| 亚洲欧美区自拍先锋| 免费高清在线一区| 色综合久久99| 国产欧美一区二区精品性| 性感美女极品91精品| 成人sese在线| 久久久久久久综合色一本| 天天色 色综合| 91浏览器在线视频| 久久久久久综合| 欧美bbbbb| 欧美二区乱c少妇| 亚洲女同女同女同女同女同69| 国产福利精品一区| 精品91自产拍在线观看一区| 肉色丝袜一区二区| 欧美日韩一二三区| 一区二区三区中文字幕电影| 99视频有精品| 中文字幕一区二区三| 丰满岳乱妇一区二区三区| 亚洲精品在线免费观看视频| 久久国产尿小便嘘嘘尿| 日韩欧美国产综合一区| 免费人成在线不卡| 日韩一区二区三区视频在线| 日韩电影一二三区| 在线综合+亚洲+欧美中文字幕| 亚洲国产精品久久久久秋霞影院 | 日韩精品一区二区三区视频在线观看| 亚洲在线视频免费观看| 91视频免费播放| 亚洲精品精品亚洲| 色999日韩国产欧美一区二区| 亚洲欧美中日韩| 97aⅴ精品视频一二三区| 成人欧美一区二区三区白人| 99精品欧美一区二区三区综合在线| 欧美韩日一区二区三区四区| 成人免费毛片app| 亚洲欧美一区二区不卡| 欧美亚洲国产一卡| 天天影视色香欲综合网老头| 日韩欧美中文字幕一区| 极品少妇xxxx精品少妇偷拍| 久久女同精品一区二区| 国产99久久久国产精品潘金网站| 国产日韩欧美精品综合| 91原创在线视频| 亚洲超丰满肉感bbw| 91精品欧美一区二区三区综合在 | 激情国产一区二区| 欧美高清一级片在线观看| 高清不卡一二三区| 亚洲宅男天堂在线观看无病毒| 欧美高清视频www夜色资源网| 久久爱www久久做| 国产精品蜜臀在线观看| 欧美视频一区在线| 久久激五月天综合精品| 国产精品乱码久久久久久| 在线精品视频免费播放| 麻豆成人久久精品二区三区红| 国产三级精品在线| 欧美日韩一二三区| 懂色av一区二区三区免费看| 亚洲国产美女搞黄色| 亚洲精品一区二区三区福利| 91在线小视频| 麻豆一区二区三区| 欧美在线观看视频一区二区| 亚洲精品成a人| 久久亚洲精华国产精华液| 欧美在线观看一区| 成人一区二区三区视频在线观看| 亚洲国产精品嫩草影院| 国产欧美日韩另类视频免费观看| 欧美日韩精品免费观看视频| 成人激情免费网站| 免费在线看成人av| 亚洲一级不卡视频| 国产精品乱人伦| 日韩欧美成人一区| 欧美日韩一区二区电影| 99久久婷婷国产综合精品电影| 免费成人美女在线观看.| 亚洲免费在线看| 国产精品污网站| www久久精品| 91精品国产色综合久久久蜜香臀| 不卡av在线免费观看| 国产一区二区不卡在线| 免费在线观看一区| 午夜激情综合网| 亚洲线精品一区二区三区八戒| 国产精品国产自产拍高清av王其| 精品少妇一区二区三区在线播放| 在线不卡免费欧美| 欧美日韩国产高清一区二区三区 | a级精品国产片在线观看| 久久国产精品色| 日韩电影在线一区二区| 亚洲国产精品精华液网站| 亚洲欧洲综合另类在线| 综合久久给合久久狠狠狠97色 | 日韩欧美一区二区免费| 欧美日韩一区二区三区高清| 欧美在线看片a免费观看| 日本高清不卡视频| 91啦中文在线观看| 色婷婷国产精品| 91国偷自产一区二区开放时间 | 国产在线精品一区二区夜色| 日本不卡免费在线视频| 日韩高清中文字幕一区| 日韩电影在线一区二区| 久久精品av麻豆的观看方式| 老司机精品视频导航| 国产综合色精品一区二区三区| 国产一区二区三区av电影| 国内不卡的二区三区中文字幕 | 欧美吻胸吃奶大尺度电影 | 精品国产亚洲一区二区三区在线观看| 欧美一区二区福利视频| 精品成人在线观看| 欧美高清一级片在线观看| 亚洲天天做日日做天天谢日日欢| 亚洲精品老司机| 日本亚洲视频在线| 国产精品一二二区| 色综合中文综合网| 欧美亚洲动漫另类| 日韩欧美专区在线| 中文字幕一区二区不卡| 亚洲国产日韩a在线播放性色| 久久精品99国产国产精| 成人高清av在线| 欧美日韩黄色一区二区| 国产亚洲成aⅴ人片在线观看| 成人免费一区二区三区视频 | 欧美精品一二三| 欧美精品一区二区久久久| 国产精品福利一区二区三区| 婷婷中文字幕一区三区| 国产成人在线色| 欧美日韩一二区| 中文字幕+乱码+中文字幕一区| 亚洲成av人影院在线观看网| 狠狠色综合日日| 欧美三级日韩三级| 日本一区二区免费在线观看视频| 亚洲成人免费视频| av成人免费在线| 精品剧情在线观看| 亚洲福利一区二区三区| 成人av网站在线观看免费| 欧美一级二级在线观看|