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

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

?? 超聲波測距離程序.lst

?? 51--超聲波測距程序(LCD1602顯示,精度:優于3毫米)
?? LST
字號:
C51 COMPILER V6.12  超__瞋瞋_郷氤_序                                                       03/15/2010 12:44:04 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE 超__瞋瞋_郷氤_序
OBJECT MODULE PLACED IN .\超聲波測距離程序.OBJ
COMPILER INVOKED BY: D:\20090829 XP new file\Keil\C51\BIN\C51.EXE .\超聲波測距離程序.c DEBUG OBJECTEXTEND

stmt level    source

   1          #include <AT89x51.H>		//器件配置文件
   2          #include <intrins.h>
   3          #define  RX  P3_6
   4          #define  TX  P3_7
   5          #define LCM_RW  P2_6 //定義LCD引腳
   6          #define LCM_RS  P2_5
   7          #define LCM_E   P2_7
   8          #define LCM_Data  P0
   9          #define Key_Data P3_1 //定義Keyboard引腳
  10          #define Key_CLK  P3_2
  11          #define Busy    0x80 //用于檢測LCM狀態字中的Busy標識
  12          
  13          void LCMInit(void);//LCD初始化函數
  14          void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);//LCD顯示一個字符函數
  15          void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);//LCD顯示一個字符串函數
  16          void Delay5Ms(void);//延時5毫秒函數
  17          void Delay400Ms(void);//延時400毫秒函數
  18          void Decode(unsigned char ScanCode);
  19          void WriteDataLCM(unsigned char WDLCM);//LCD1602寫數據函數
  20          void WriteCommandLCM(unsigned char WCLCM,BuysC);//LCD寫命令函數
  21          
  22          //unsigned char ReadDataLCM(void);
  23          unsigned char ReadStatusLCM(void);
  24          unsigned char code Range[] ="==Range Finder==";//LCD1602顯示格式
  25          unsigned char code ASCII[13] = "0123456789.-M";
  26          unsigned char code table[]="Distance:000.0cm";
  27          unsigned char code table1[]="!!! Out of range";
  28          
  29          //static unsigned char DisNum = 0; //顯示用指針				  
  30          unsigned int  time=0;
  31          unsigned long S=0;
  32          bit  flag =0;
  33          unsigned char disbuff[4]={ 0,0,0,0,};
  34          
  35          //寫數據
  36          void WriteDataLCM(unsigned char WDLCM) 
  37          {
  38   1      	ReadStatusLCM(); //檢測忙
  39   1      	LCM_Data = WDLCM;
  40   1      	LCM_RS = 1;
  41   1      	LCM_RW = 0;
  42   1      	LCM_E = 0; //若晶振速度太高可以在這后加小的延時
  43   1      	LCM_E = 0; //延時
  44   1      	LCM_E = 1;
  45   1      }
  46          
  47          //寫指令
  48          void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC為0時忽略忙檢測
  49          {
  50   1      	if (BuysC) ReadStatusLCM(); //根據需要檢測忙
  51   1      	LCM_Data = WCLCM;
  52   1      	LCM_RS = 0;
  53   1      	LCM_RW = 0;	
  54   1      	LCM_E = 0;
  55   1      	LCM_E = 0;
C51 COMPILER V6.12  超__瞋瞋_郷氤_序                                                       03/15/2010 12:44:04 PAGE 2   

  56   1      	LCM_E = 1;	
  57   1      }
  58          
  59          //讀數據
  60          /*unsigned char ReadDataLCM(void)
  61          {
  62          	LCM_RS = 1; 
  63          	LCM_RW = 1;
  64          	LCM_E = 0;
  65          	LCM_E = 0;
  66          	LCM_E = 1;
  67          	return(LCM_Data);
  68          }*/
  69          
  70          //讀狀態
  71          unsigned char ReadStatusLCM(void)
  72          {
  73   1      	LCM_Data = 0xFF; 
  74   1      	LCM_RS = 0;
  75   1      	LCM_RW = 1;
  76   1      	LCM_E = 0;
  77   1      	LCM_E = 0;
  78   1      	LCM_E = 1;
  79   1      	while (LCM_Data & Busy); //檢測忙信號
  80   1      	return(LCM_Data);
  81   1      }
  82          
  83          void LCMInit(void) //LCM初始化
  84          {
  85   1      	LCM_Data = 0;
  86   1      	WriteCommandLCM(0x38,0); //三次顯示模式設置,不檢測忙信號
  87   1      	Delay5Ms(); 
  88   1      	WriteCommandLCM(0x38,0);
  89   1      	Delay5Ms(); 
  90   1      	WriteCommandLCM(0x38,0);
  91   1      	Delay5Ms(); 
  92   1      
  93   1      	WriteCommandLCM(0x38,1); //顯示模式設置,開始要求每次檢測忙信號
  94   1      	WriteCommandLCM(0x08,1); //關閉顯示
  95   1      	WriteCommandLCM(0x01,1); //顯示清屏
  96   1      	WriteCommandLCM(0x06,1); // 顯示光標移動設置
  97   1      	WriteCommandLCM(0x0c,1); // 顯示開及光標設置
  98   1      }
  99          
 100          //按指定位置顯示一個字符
 101          void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
 102          {
 103   1      	Y &= 0x1;
 104   1      	X &= 0xF; //限制X不能大于15,Y不能大于1
 105   1      	if (Y) X |= 0x40; //當要顯示第二行時地址碼+0x40;
 106   1      	X |= 0x80; //算出指令碼
 107   1      	WriteCommandLCM(X, 1); //發命令字
 108   1      	WriteDataLCM(DData); //發數據
 109   1      }
 110          
 111          //按指定位置顯示一串字符
 112          void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)
 113          {
 114   1      	unsigned char ListLength;
 115   1      
 116   1        ListLength = 0;
 117   1      	Y &= 0x1;
C51 COMPILER V6.12  超__瞋瞋_郷氤_序                                                       03/15/2010 12:44:04 PAGE 3   

 118   1      	X &= 0xF; //限制X不能大于15,Y不能大于1
 119   1      	while (DData[ListLength]>0x19) //若到達字串尾則退出
 120   1      		{
 121   2      			if (X <= 0xF) //X坐標應小于0xF
 122   2      				{
 123   3      					DisplayOneChar(X, Y, DData[ListLength]); //顯示單個字符
 124   3      					ListLength++;
 125   3      					X++;
 126   3      				}
 127   2      		}
 128   1      }
 129          
 130          //5ms延時
 131          void Delay5Ms(void)
 132          {
 133   1      	unsigned int TempCyc = 5552;
 134   1      	while(TempCyc--);
 135   1      }
 136          
 137          //400ms延時
 138          void Delay400Ms(void)
 139          {
 140   1      	unsigned char TempCycA = 5;
 141   1      	unsigned int TempCycB;
 142   1      	while(TempCycA--)
 143   1      		{
 144   2      			TempCycB=7269;
 145   2      			while(TempCycB--);
 146   2      		};
 147   1      }
 148          /********************************************************/
 149              void Conut(void)
 150          	{
 151   1      	 time=TH0*256+TL0;
 152   1      	 TH0=0;
 153   1      	 TL0=0;
 154   1      	
 155   1      	 S=(time*1.7)/10;     //算出來是MM
 156   1      	 if((S>=7000)||flag==1) //超出測量范圍
 157   1      	 {	 
 158   2      	  flag=0;
 159   2            DisplayListChar(0, 1, table1);
 160   2      	 }
 161   1      	 else
 162   1      	 {
 163   2            disbuff[0]=S%10;
 164   2      	  disbuff[1]=S/10%10;
 165   2      	  disbuff[2]=S/100%10;
 166   2      	  disbuff[3]=S/1000;
 167   2      	  DisplayListChar(0, 1, table);
 168   2      	  DisplayOneChar(9, 1, ASCII[disbuff[3]]);
 169   2      	  DisplayOneChar(10, 1, ASCII[disbuff[2]]);	
 170   2      	  DisplayOneChar(11, 1, ASCII[disbuff[1]]);
 171   2            DisplayOneChar(12, 1, ASCII[10]);
 172   2      	  DisplayOneChar(13, 1, ASCII[disbuff[0]]);
 173   2      	 }
 174   1      	}
 175          /********************************************************/
 176               void zd0() interrupt 1 		 //T0中斷用來計數器溢出,超過測距范圍
 177            {
 178   1          flag=1;			 //中斷溢出標志
 179   1      	RX=0;
C51 COMPILER V6.12  超__瞋瞋_郷氤_序                                                       03/15/2010 12:44:04 PAGE 4   

 180   1        }
 181          /********************************************************/
 182               void  StartModule() 		         //啟動模塊
 183            {
 184   1      	  TX=1;			                     //啟動一次模塊
 185   1      	  _nop_(); 
 186   1      	  _nop_(); 
 187   1      	  _nop_(); 
 188   1      	  _nop_(); 
 189   1      	  _nop_(); 
 190   1      	  _nop_(); 
 191   1      	  _nop_(); 
 192   1      	  _nop_(); 
 193   1      	  _nop_(); 
 194   1      	  _nop_(); 
 195   1      	  _nop_(); 
 196   1      	  _nop_(); 
 197   1      	  _nop_(); 
 198   1      	  _nop_(); 
 199   1      	  _nop_(); 
 200   1      	  _nop_(); 
 201   1      	  _nop_();
 202   1      	  _nop_(); 
 203   1      	  _nop_(); 
 204   1      	  _nop_(); 
 205   1      	  _nop_();
 206   1      	  TX=0;
 207   1        }
 208          /********************************************************/ 
 209          /*void delayms(unsigned int ms)
 210          {
 211          	unsigned char i=100,j;
 212          	for(;ms;ms--)
 213          	{
 214          		while(--i)
 215          		{
 216          			j=10;
 217          			while(--j);
 218          		}
 219          	}
 220          }*/
 221          void Timer_Count(void)
 222          {
 223   1      		 TR0=1;			    //開啟計數
 224   1      	     while(RX);			//當RX為1計數并等待
 225   1      	     TR0=0;				//關閉計數
 226   1               Conut();			//計算
 227   1      
 228   1      }
 229          /*********************************************************/
 230          void main(void)
 231          {
 232   1          unsigned int valA;
 233   1      	Delay400Ms(); //啟動等待,等LCM講入工作狀態
 234   1      	LCMInit(); //LCM初始化
 235   1      	Delay5Ms(); //延時片刻
 236   1      	DisplayListChar(0, 0, Range);
 237   1      	DisplayListChar(0, 1, table);
 238   1      	//ReadDataLCM();//測試用句無意義
 239   1          TMOD=0x01;//設T0為方式1,GATE=1;
 240   1          EA=1;
 241   1          TH0=0;
C51 COMPILER V6.12  超__瞋瞋_郷氤_序                                                       03/15/2010 12:44:04 PAGE 5   

 242   1          TL0=0;          
 243   1          ET0=1;             //允許T0中斷
 244   1      				   //開啟總中斷			
 245   1       	while(1)
 246   1      	  {
 247   2      		RX=1;
 248   2      	    StartModule();
 249   2              for(valA=7510;valA>0;valA--)
 250   2      	    {
 251   3      		   
 252   3      	       if(RX==1)
 253   3      		   {
 254   4                 Timer_Count();
 255   4      		   }
 256   3          	 }
 257   2      	  }
 258   1      }
 259          
 260          
 261          
 262                          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    648    ----
   CONSTANT SIZE    =     64    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     10      10
   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一区二区三区免费野_久草精品视频
欧美午夜电影在线播放| 色噜噜狠狠色综合中国| 亚洲v中文字幕| 亚洲在线免费播放| 一区二区三区四区高清精品免费观看 | 色猫猫国产区一区二在线视频| 国产.欧美.日韩| 成人高清视频在线| 91在线视频官网| 色噜噜狠狠成人网p站| 91日韩在线专区| 在线这里只有精品| 欧美日本一区二区在线观看| 欧美猛男男办公室激情| 在线播放中文一区| 精品少妇一区二区三区在线视频| 日韩欧美美女一区二区三区| 欧美精品一区在线观看| 日本一区二区三区四区在线视频 | 亚洲精品一区二区三区福利| 久久人人爽人人爽| 亚洲va韩国va欧美va精品| 亚洲成人先锋电影| 精品一区二区三区免费播放| 久久91精品久久久久久秒播| 福利一区在线观看| 色8久久人人97超碰香蕉987| 91精品国产91久久综合桃花| 久久午夜国产精品| 亚洲乱码国产乱码精品精可以看| 一区二区国产盗摄色噜噜| 免费观看30秒视频久久| 国产精品性做久久久久久| 色偷偷久久一区二区三区| 777色狠狠一区二区三区| 久久先锋资源网| 亚洲一区二区av在线| 国内国产精品久久| 日本道色综合久久| 国产日韩欧美一区二区三区乱码| 亚洲最新视频在线观看| 黑人巨大精品欧美黑白配亚洲| 色天天综合久久久久综合片| 日韩欧美www| 夜夜精品浪潮av一区二区三区| 捆绑调教美女网站视频一区| av电影在线观看不卡| 日韩精品一区在线| 亚洲国产aⅴ成人精品无吗| 国产黄人亚洲片| 7777精品伊人久久久大香线蕉最新版| 国产精品素人一区二区| 日韩专区中文字幕一区二区| 成人激情动漫在线观看| 日韩欧美国产高清| 亚洲gay无套男同| 一本到不卡免费一区二区| 久久久久久久久久看片| 日韩电影免费在线看| 日本韩国视频一区二区| 中文成人综合网| 韩国欧美国产1区| 日韩丝袜美女视频| 日韩在线一区二区| 欧美日韩一区二区不卡| 亚洲另类春色校园小说| 91啪九色porn原创视频在线观看| 久久久久久久久久久久久女国产乱| 免费一区二区视频| 制服丝袜国产精品| 日韩福利电影在线| 欧美三级乱人伦电影| 亚洲福利一二三区| 欧美日韩大陆在线| 亚洲激情综合网| 91污片在线观看| 中文字幕一区二区三区不卡在线 | 中文字幕一区二区三区在线播放 | 久久中文娱乐网| 精品一二三四区| 亚洲精品一区在线观看| 蜜臀av一区二区| 日韩欧美一级在线播放| 免费成人在线视频观看| 欧美成人福利视频| 国产一区二区三区香蕉| 久久精品视频网| 成人美女视频在线看| 国产精品电影一区二区| 91香蕉视频污在线| 亚洲国产日韩在线一区模特| 欧美酷刑日本凌虐凌虐| 青青草原综合久久大伊人精品优势| 欧美一区二区在线观看| 久久国产精品99久久久久久老狼| 精品国产凹凸成av人网站| 国模一区二区三区白浆| 亚洲欧美中日韩| 欧美日韩成人在线一区| 激情综合网天天干| 国产精品福利一区| 欧美日韩一区二区三区免费看| 男人的天堂亚洲一区| 国产日韩欧美电影| 欧美在线999| 精品一区二区精品| 国产精品水嫩水嫩| 欧美视频第二页| 国模少妇一区二区三区| 自拍偷自拍亚洲精品播放| 欧美顶级少妇做爰| 丰满亚洲少妇av| 首页综合国产亚洲丝袜| 2020国产精品| 欧美色图片你懂的| 国产福利一区二区三区| 亚洲国产aⅴ成人精品无吗| 久久亚洲春色中文字幕久久久| 日本高清成人免费播放| 精品写真视频在线观看| 亚洲一区二区视频在线| 国产午夜亚洲精品理论片色戒 | 久久久久久一级片| 欧美丝袜第三区| 99久久久无码国产精品| 久久国产精品一区二区| 一区二区三区在线播放| 国产视频一区二区在线观看| 欧美日韩亚洲综合一区二区三区| 国产精品亚洲а∨天堂免在线| 日本中文字幕一区二区有限公司| 国产精品久久久久久久第一福利| 精品国产伦理网| 欧美精品在线视频| 色av成人天堂桃色av| 国产91精品露脸国语对白| 久久er99热精品一区二区| 五月天激情综合| 亚洲网友自拍偷拍| 日韩伦理免费电影| 中文字幕av一区二区三区免费看| 日韩女优视频免费观看| 91精品国产综合久久精品麻豆| 欧美网站大全在线观看| 在线看不卡av| 色呦呦一区二区三区| 成人av在线资源网| 成人av在线资源| 91在线观看成人| 91视视频在线直接观看在线看网页在线看| 韩国精品一区二区| 国产一区二区中文字幕| 国产主播一区二区| 国产一区三区三区| 国产福利一区二区三区视频在线| 国产一区二区日韩精品| 国产在线播精品第三| 国产成人午夜片在线观看高清观看| 国产在线播放一区三区四| 国内精品在线播放| 国产91富婆露脸刺激对白| 成人妖精视频yjsp地址| 本田岬高潮一区二区三区| 99re这里只有精品首页| 在线观看欧美日本| 欧美精品日韩一本| 91精品国产综合久久久蜜臀图片 | 一区二区三区四区视频精品免费 | 欧美另类一区二区三区| 欧美日韩国产另类不卡| 欧美videofree性高清杂交| 久久综合九色综合欧美98| 日本一区二区三区免费乱视频 | 亚洲视频在线一区观看| 一区二区在线观看av| 天天综合天天综合色| 久国产精品韩国三级视频| 国产成人亚洲综合a∨猫咪| 99国产精品久| 91精品久久久久久久99蜜桃 | 亚洲图片另类小说| 亚洲第一搞黄网站| 国产一区二区毛片| 91在线精品秘密一区二区| 欧美日韩电影在线| 国产女主播在线一区二区| 一区二区三区中文字幕电影| 日韩影院免费视频| jlzzjlzz国产精品久久| 69av一区二区三区| 国产欧美一区二区三区鸳鸯浴| 亚洲精品久久久久久国产精华液| 蜜桃av噜噜一区| 99久久精品一区| 欧美成人精精品一区二区频| 一区二区三区四区av| 国产一区欧美日韩| 欧美日韩在线三区| 国产精品初高中害羞小美女文| 麻豆91在线观看|