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

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

?? chaosheng.lst

?? 此程序是8051超聲波液位儀的源代碼 有一定的參考價值
?? LST
?? 第 1 頁 / 共 2 頁
字號:
C51 COMPILER V8.02   CHAOSHENG                                                             05/25/2007 11:20:26 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE CHAOSHENG
OBJECT MODULE PLACED IN C:\DOCUME~1\ADMINI~1\桌面\超聲波5.13\CHAOSHENG.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE C:\DOCUME~1\ADMINI~1\桌面\超聲波5.13\CHAOSHENG.C DB SB OE

line level    source

   1          #include"reg51.h"
   2          #include"intrins.h"
   3          
   4          #define uint unsigned int
   5          #define uchar unsigned char
   6          
   7          sbit DS=P1^4;
   8          sbit START=P1^5;
   9          
  10          sbit SCK=P1^0;
  11          sbit SI=P1^1;
  12          sbit SO=P1^2;
  13          sbit cs_feed=P1^3;//喂狗信號
  14          
  15          uchar code *init="超聲波液位儀";
  16          uchar code *work_temp="工作溫度      ℃";
  17          uchar code *test=  "測量距離      mm";
  18          uchar code *fail=": 失敗mm";
  19          uchar code *num_data="0123456789";
  20          uchar code *chao_v="超聲波速     m/s";
  21          
  22          uchar  data temp_data[2];//={0x00,0x00}; //讀出溫度暫存單元 {0x91,0x01} 25度;   高位存高位 低位存低位
  23          uint data plus_data;//存放中斷時的計數
  24          uint data  average=0;
  25          
  26          //RT12864寫指令
  27           void cmd (uchar intr)
  28          {
  29   1              P2=0x04;
  30   1              P0=intr;
  31   1              P2=0x00;
  32   1              P2=0x03;// 寫指令周期結束
  33   1      }
  34          //RT12864寫數據
  35          void dat (uchar  *p,uchar data j)
  36          {
  37   1              uchar data i,k;
  38   1              for(i=0;i<j;i++)
  39   1              {
  40   2                      for(k=0;k<10;k++);  //延時大約100us
  41   2                      P2=0x05;
  42   2                      P0=*(p+i);
  43   2                      P2=0x01;
  44   2                      P2=0x02;// 寫數據周期結束
  45   2              }
  46   1      }
  47           //
  48          void delay(uint t)
  49          {
  50   1              for(;t>0;t--);//循環一次延時11us
  51   1      }
  52          
  53          //18b20復位程序
  54          
  55          void reset()
C51 COMPILER V8.02   CHAOSHENG                                                             05/25/2007 11:20:26 PAGE 2   

  56          {
  57   1              bit bdata flag=1;
  58   1              while(flag)
  59   1              {
  60   2                      while(flag)
  61   2                      {
  62   3                              DS=1;
  63   3                              _nop_(); _nop_();  _nop_();
  64   3                              DS=0;//以上程序段制造一個下降延
  65   3                              delay(50);//延時550us  最短延時480us
  66   3                              DS=1;//18b20在上升延后等待15~60us發出存在脈沖,低電平持續60~240us 復位成功
  67   3                              delay(3);
  68   3                              flag=DS;
  69   3                      }
  70   2      
  71   2                      delay(50);//延時550us 看電平能不能升高  如果能升高證明是 低電平脈沖
  72   2                      DS=1;
  73   2                      flag=~DS;
  74   2      
  75   2                 }
  76   1      
  77   1      }
  78          //18b20寫命令函數
  79          
  80          void write(uchar rule)
  81           {
  82   1              uchar i,temp;
  83   1              for(i=0;i<8;i++)
  84   1              {
  85   2                              temp=rule&0x01;
  86   2                              DS=1;
  87   2                              _nop_(); _nop_();  _nop_();
  88   2                              DS=0;//以上程序段制造一個下降延
  89   2                              _nop_(); _nop_();  _nop_();
  90   2                              DS=temp;//從低位起 按位取出 送給18B20
  91   2                              rule=rule>>1;
  92   2                              delay(6);//延時66us
  93   2              }
  94   1              DS=1;
  95   1              delay(1);
  96   1       }
  97          
  98          //讀一溫度字節
  99          uchar read()
 100          {
 101   1              uchar data i;
 102   1              uchar data temp=0x00;
 103   1              uchar data value=0;
 104   1              for(i=0;i<8;i++)
 105   1              {
 106   2                              DS=1;
 107   2                              _nop_(); _nop_();  _nop_();
 108   2                              DS=0;//以上程序段制造一個下降延
 109   2                              _nop_(); _nop_();  _nop_();
 110   2                              DS=1;
 111   2                              _nop_(); _nop_();  _nop_();
 112   2                              value>>=1;
 113   2                              DS=0;
 114   2                              _nop_(); _nop_();  _nop_(); _nop_();
 115   2                              DS=1;
 116   2                              _nop_(); _nop_();  _nop_(); _nop_();
 117   2                              if(DS) value|=0x80;
C51 COMPILER V8.02   CHAOSHENG                                                             05/25/2007 11:20:26 PAGE 3   

 118   2                              delay(6);
 119   2              }
 120   1              DS=1;
 121   1              return(value);
 122   1      }
 123          //讀出溫度函數
 124          void read_temp()
 125          {
 126   1              reset();
 127   1              write(0xcc);//發skiprom命令
 128   1              write(0x44);//發送轉換命令
 129   1              reset();
 130   1              write(0xcc);//發skiprom命令
 131   1              write(0xbe);   //讀命令
 132   1              temp_data[0]=read();
 133   1              temp_data[1]=read();
 134   1              reset();
 135   1      
 136   1      
 137   1      }
 138          
 139          //數據處理顯示函數
 140          
 141          uchar deal_dis()
 142          {
 143   1              uchar data k;
 144   1              uchar data tmp[2];
 145   1              uchar  data  dis_data[6];
 146   1              dis_data[0]=':';
 147   1              if(temp_data[1]>127)  //判斷小于零
 148   1              {
 149   2                      temp_data[1]=~temp_data[1]+1;
 150   2                      temp_data[0]=~temp_data[0]+1;
 151   2                      dis_data[1]='-';
 152   2              }
 153   1              else
 154   1                      dis_data[1]=0x20;   //清空單元
 155   1              tmp[0]=temp_data[1]<<4;
 156   1              tmp[1]=temp_data[0]>>4;
 157   1              tmp[1]=tmp[1]&0x0f;
 158   1              tmp[0]=tmp[0]|tmp[1];//整數部分
 159   1              tmp[1]=temp_data[0]&0x0f;  //小數部分
 160   1              dis_data[2]=*(num_data+tmp[0]%100/10);
 161   1              dis_data[3]=*(num_data+tmp[0]%10);      //dis_data[0--3]內容是"-" 高位到低位
 162   1              dis_data[4]='.';
 163   1              if(tmp[1]==0x00)
 164   1                    dis_data[5]='0';
 165   1              else if(tmp[1]==0x0f)
 166   1                   dis_data[5]='9';
 167   1              else
 168   1                   dis_data[5]= *(num_data+tmp[1]/2+1);
 169   1              for(k=0;k<10;k++);  //延時大約100us
 170   1              cmd(0x94); //位置 //
 171   1              for(k=0;k<10;k++);  //延時大約100us
 172   1              dat(dis_data ,6);     //  溫度
 173   1              return(tmp[0]); //返回溫度整數部分用來超聲波計算超聲波速度
 174   1      
 175   1      }
 176           //開始發送超聲波
 177          void send_wave()
 178          {
 179   1              uchar w;
C51 COMPILER V8.02   CHAOSHENG                                                             05/25/2007 11:20:26 PAGE 4   

 180   1              START=0;//開始發送超聲波
 181   1              TR0=1;
 182   1              for(w=0;w<15;w++);//延時大約100us
 183   1              START=1;  //停止發送
 184   1              for(w=0;w<5;w++);//延時等待超聲波換能器余震 過去
 185   1              EX0=1;//外部中斷0允許
 186   1      }
 187          
 188          // 測試失敗
 189          void failed()
 190          {
 191   1               uchar k;
 192   1               for(k=0;k<10;k++);  //延時大約100us
 193   1               cmd(0x9c); //位置
 194   1               for(k=0;k<10;k++);  //延時大約100us
 195   1               dat(fail,8);    //距離
 196   1      }
 197          //計算速度和距離并顯示
 198          void  math(uchar t)
 199          {
 200   1              uint data s;
 201   1              float  v;
 202   1              uchar data i;
 203   1              float data temp1,temp2;
 204   1              uchar data distan_data[6];
 205   1              uint data div;//記錄有多少個100個脈沖 用來解決直接計算的越界問題
 206   1              v=331.5+0.6*t;
 207   1              s=v;                  //s是整形量 用來存儲v的整數部分
 208   1              distan_data[0]=':';
 209   1              distan_data[1]=' ';
 210   1              distan_data[2]=*(num_data+s/100);
 211   1              distan_data[3]=*(num_data+s%100/10);
 212   1              distan_data[4]=*(num_data+s%10);
 213   1              for(i=0;i<10;i++);  //延時大約100us
 214   1              cmd(0x8c); //位置
 215   1              for(i=0;i<10;i++);  //延時大約100us
 216   1              dat(distan_data,5);    //距離
 217   1             // plus_data=50001 ;
 218   1              if(plus_data>50000||TF0==1)
 219   1               {
 220   2                      failed();
 221   2                      for(i=0;i<100;i++);  //延時大約100us
 222   2                      return ;
 223   2               }
 224   1               plus_data/=2;
 225   1              div=plus_data/100;
 226   1              plus_data=plus_data%100;
 227   1              temp1=100*v/1000;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久亚洲欧洲日产国码αv| 久久精品视频在线免费观看| 国产在线精品一区二区不卡了 | 久久综合成人精品亚洲另类欧美| 国产+成+人+亚洲欧洲自线| 亚洲国产一区二区视频| 国产精品视频免费看| 欧美一级视频精品观看| 色婷婷综合五月| 国产99久久久国产精品潘金 | 久久蜜臀精品av| 欧美在线观看视频一区二区 | 欧美美女直播网站| 99久久国产综合精品女不卡| 久久99精品久久久| 性感美女极品91精品| 日本91福利区| 成人一级片网址| 亚洲成人av电影在线| 亚洲sss视频在线视频| 国产精品国产精品国产专区不片| 91精品在线观看入口| 色婷婷激情综合| 成人激情电影免费在线观看| 美女精品自拍一二三四| 亚洲成va人在线观看| 亚洲视频在线一区| 欧美性大战xxxxx久久久| 欧美视频一区二区三区四区| 国产精品一区在线观看你懂的| 欧美aa在线视频| 亚洲一区视频在线| 亚洲国产精品成人综合| 91麻豆精品国产综合久久久久久| 99re在线视频这里只有精品| 国产成a人无v码亚洲福利| 极品美女销魂一区二区三区| 美女视频网站久久| 免费在线欧美视频| 视频一区中文字幕| 亚洲综合在线免费观看| 亚洲免费观看视频| 国产精品免费av| 国产精品色在线观看| 国产精品久久免费看| 欧美国产精品一区| 国产精品免费久久久久| 国产精品福利在线播放| 亚洲天堂精品视频| 日韩码欧中文字| 亚洲欧美欧美一区二区三区| 亚洲另类一区二区| 亚洲综合成人在线视频| 亚洲a一区二区| 美国欧美日韩国产在线播放| 久久精品国产久精国产爱| 极品美女销魂一区二区三区免费| 国产一区 二区| 成人h精品动漫一区二区三区| 99热精品一区二区| 欧美猛男男办公室激情| 日韩免费视频一区| 久久综合狠狠综合久久综合88 | 欧美美女网站色| 日韩一级二级三级精品视频| xf在线a精品一区二区视频网站| 久久精品免视看| 1区2区3区欧美| 五月天激情综合网| 激情文学综合网| 懂色av中文字幕一区二区三区| 成人av高清在线| 欧美日韩性生活| 久久久久久免费网| 亚洲理论在线观看| 美女一区二区三区| 99久久er热在这里只有精品15| 欧亚洲嫩模精品一区三区| 欧美一区二区精品久久911| 欧美经典一区二区三区| 亚洲综合免费观看高清在线观看| 日韩激情av在线| 成人一区二区三区视频在线观看| 91福利视频在线| 精品国一区二区三区| 亚洲视频电影在线| 久久99久久99小草精品免视看| av综合在线播放| 56国语精品自产拍在线观看| 国产色产综合色产在线视频| 亚洲国产视频一区二区| 国产精品自产自拍| 欧美日韩一区二区三区免费看| 精品福利视频一区二区三区| 一区二区三区在线看| 精品一区二区免费| 欧美三区免费完整视频在线观看| 精品粉嫩aⅴ一区二区三区四区| 一区二区三区不卡在线观看| 精品一区二区免费看| 欧美性生活大片视频| 国产色91在线| 另类小说图片综合网| 日本二三区不卡| 国产日韩精品一区二区浪潮av| 亚洲不卡一区二区三区| 成人黄色777网| 欧美白人最猛性xxxxx69交| 亚洲一区二区三区精品在线| 不卡一区中文字幕| 精品国产区一区| 视频精品一区二区| 在线免费观看日本欧美| 欧美激情一区二区三区全黄 | 调教+趴+乳夹+国产+精品| 不卡一区中文字幕| 久久精品一二三| 男女性色大片免费观看一区二区 | 久久成人免费网站| 欧美日韩国产精品成人| 亚洲少妇最新在线视频| 成人免费毛片app| 久久综合九色综合97婷婷女人| 日本中文字幕一区| 欧美精品丝袜中出| 亚洲电影在线免费观看| 色婷婷av一区二区三区之一色屋| 国产精品网站导航| 成人永久看片免费视频天堂| 久久综合久久99| 寂寞少妇一区二区三区| 欧美不卡123| 久久99这里只有精品| 日韩欧美国产午夜精品| 偷拍与自拍一区| 91精品国产黑色紧身裤美女| 丝袜美腿亚洲一区| 欧美老肥妇做.爰bbww| 午夜精品福利在线| 6080国产精品一区二区| 午夜精品久久久| 91精品在线免费观看| 蜜臀99久久精品久久久久久软件| 欧美一级专区免费大片| 久久99国产精品久久99果冻传媒| 日韩亚洲电影在线| 国产一区二区三区在线观看免费| 久久综合色之久久综合| 顶级嫩模精品视频在线看| 亚洲欧洲av在线| 99re这里都是精品| 亚洲小说春色综合另类电影| 在线观看亚洲a| 日本网站在线观看一区二区三区| 欧美一区二区三区免费大片 | 日韩精品欧美精品| 欧美成人乱码一区二区三区| 狠狠色丁香久久婷婷综合丁香| 久久久久久夜精品精品免费| 国产凹凸在线观看一区二区| 亚洲欧洲日韩在线| 欧美三级资源在线| 久久99深爱久久99精品| 中文字幕乱码日本亚洲一区二区 | 欧美中文字幕亚洲一区二区va在线| 亚洲一区二区三区视频在线播放| 欧美福利视频一区| 国模冰冰炮一区二区| 中文字幕视频一区| 欧美日韩一卡二卡三卡| 激情五月婷婷综合| 中文字幕一区二| 欧美浪妇xxxx高跟鞋交| 国产精品12区| 亚洲一级二级在线| 精品国产精品一区二区夜夜嗨| 不卡视频在线观看| 亚洲国产成人av好男人在线观看| 精品国产伦理网| 色悠久久久久综合欧美99| 日本在线播放一区二区三区| 欧美国产97人人爽人人喊| 欧美日韩国产另类一区| 丁香五精品蜜臀久久久久99网站| 亚洲永久免费视频| 久久久99免费| 精品视频在线免费观看| 国产精品一级片| 午夜欧美电影在线观看| 国产欧美日韩三区| 欧美日韩和欧美的一区二区| 国产99久久久国产精品潘金| 亚洲18色成人| 国产精品久久久久影院老司 | 欧美成人综合网站| 日本精品视频一区二区| 国产大陆a不卡| 日韩二区三区在线观看| 亚洲男同性恋视频| 国产日产亚洲精品系列|