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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 脈寬測(cè)量.c

?? 超聲波測(cè)距LC1602顯示
?? C
字號(hào):

/*============================================================
//HC-SRO4 超聲波測(cè)距模塊 DEMO 程序
//  QQ: 517535000
//淘寶店鋪:http://shop58246706.taobao.com
     
==============================================================
SMC1602A(16*2)模擬口線接線方式
連接線圖:	
       ---------------------------------------------------
       |LCM-----51   |	LCM-----51   |	LCM------51      |
       --------------------------------------------------|
       |DB0-----P1.0 |	DB4-----P1.4 |	RW-------P3.4    |
       |DB1-----P1.1 |	DB5-----P1.5 |	RS-------P3.3    |
       |DB2-----P1.2 |	DB6-----P1.6 |	E--------P3.5    |
       |DB3-----P1.3 |	DB7-----P1.7 |	VLCD接1K電阻到GND|
       ---------------------------------------------------
接線:模塊TRIG接 P2.6  ECH0 接P2.7

本程序源碼只供學(xué)習(xí)參考,不得應(yīng)用于商業(yè)用途,如有需要請(qǐng)聯(lián)系作者。

[注:AT89x51使用12M或11.0592M晶振,實(shí)測(cè)使用11.0592M]
=============================================================*/
#include <AT89x51.H>		//器件配置文件
#include <intrins.h>
#define  RX  P2_7
#define  TX  P2_6

#define LCM_RW  P3_4 //定義LCD引腳
#define LCM_RS  P3_3
#define LCM_E   P3_5
#define LCM_Data  P1

#define Key_Data P2_0 //定義Keyboard引腳
#define Key_CLK  P3_2

#define Busy    0x80 //用于檢測(cè)LCM狀態(tài)字中的Busy標(biāo)識(shí)

void LCMInit(void);
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);
void Delay5Ms(void);
void Delay400Ms(void);
void Decode(unsigned char ScanCode);
void WriteDataLCM(unsigned char WDLCM);
void WriteCommandLCM(unsigned char WCLCM,BuysC);

unsigned char ReadDataLCM(void);
unsigned char ReadStatusLCM(void);
unsigned char code mcustudio[] ={"mcustudio.com.cn"};
unsigned char code email[] =    {"fhwxaoo@163.com "};
unsigned char code Cls[] =      {"                "};
unsigned char code ASCII[15] =    {'0','1','2','3','4','5','6','7','8','9','.','-','M'};

static unsigned char DisNum = 0; //顯示用指針				  
       unsigned int  time=0;
	   unsigned long S=0;
	   bit      flag =0;
	   unsigned char disbuff[4]	   ={ 0,0,0,0,};


//寫數(shù)據(jù)
void WriteDataLCM(unsigned char WDLCM) 
{
	ReadStatusLCM(); //檢測(cè)忙
	LCM_Data = WDLCM;
	LCM_RS = 1;
	LCM_RW = 0;
	LCM_E = 0; //若晶振速度太高可以在這后加小的延時(shí)
	LCM_E = 0; //延時(shí)
	LCM_E = 1;
}

//寫指令
void WriteCommandLCM(unsigned char WCLCM,BuysC) //BuysC為0時(shí)忽略忙檢測(cè)
{
	if (BuysC) ReadStatusLCM(); //根據(jù)需要檢測(cè)忙
	LCM_Data = WCLCM;
	LCM_RS = 0;
	LCM_RW = 0;	
	LCM_E = 0;
	LCM_E = 0;
	LCM_E = 1;	
}

//讀數(shù)據(jù)
unsigned char ReadDataLCM(void)
{
	LCM_RS = 1; 
	LCM_RW = 1;
	LCM_E = 0;
	LCM_E = 0;
	LCM_E = 1;
	return(LCM_Data);
}

//讀狀態(tài)
unsigned char ReadStatusLCM(void)
{
	LCM_Data = 0xFF; 
	LCM_RS = 0;
	LCM_RW = 1;
	LCM_E = 0;
	LCM_E = 0;
	LCM_E = 1;
	while (LCM_Data & Busy); //檢測(cè)忙信號(hào)
	return(LCM_Data);
}

void LCMInit(void) //LCM初始化
{
	LCM_Data = 0;
	WriteCommandLCM(0x38,0); //三次顯示模式設(shè)置,不檢測(cè)忙信號(hào)
	Delay5Ms(); 
	WriteCommandLCM(0x38,0);
	Delay5Ms(); 
	WriteCommandLCM(0x38,0);
	Delay5Ms(); 

	WriteCommandLCM(0x38,1); //顯示模式設(shè)置,開(kāi)始要求每次檢測(cè)忙信號(hào)
	WriteCommandLCM(0x08,1); //關(guān)閉顯示
	WriteCommandLCM(0x01,1); //顯示清屏
	WriteCommandLCM(0x06,1); // 顯示光標(biāo)移動(dòng)設(shè)置
	WriteCommandLCM(0x0F,1); // 顯示開(kāi)及光標(biāo)設(shè)置
}

//按指定位置顯示一個(gè)字符
void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData)
{
	Y &= 0x1;
	X &= 0xF; //限制X不能大于15,Y不能大于1
	if (Y) X |= 0x40; //當(dāng)要顯示第二行時(shí)地址碼+0x40;
	X |= 0x80; //算出指令碼
	WriteCommandLCM(X, 1); //發(fā)命令字
	WriteDataLCM(DData); //發(fā)數(shù)據(jù)
}

//按指定位置顯示一串字符
void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData)
{
	unsigned char ListLength;

  ListLength = 0;
	Y &= 0x1;
	X &= 0xF; //限制X不能大于15,Y不能大于1
	while (DData[ListLength]>0x19) //若到達(dá)字串尾則退出
		{
			if (X <= 0xF) //X坐標(biāo)應(yīng)小于0xF
				{
					DisplayOneChar(X, Y, DData[ListLength]); //顯示單個(gè)字符
					ListLength++;
					X++;
				}
		}
}

//5ms延時(shí)
void Delay5Ms(void)
{
	unsigned int TempCyc = 5552;
	while(TempCyc--);
}

//400ms延時(shí)
void Delay400Ms(void)
{
	unsigned char TempCycA = 5;
	unsigned int TempCycB;
	while(TempCycA--)
		{
			TempCycB=7269;
			while(TempCycB--);
		};
}
/********************************************************/
    void Conut(void)
	{
	 time=TH0*256+TL0;
	 TH0=0;
	 TL0=0;
	
	 S=(time*1.7)/100;     //算出來(lái)是CM
	 if((S>=700)||flag==1) //超出測(cè)量范圍顯示“-”
	 {	 
	  flag=0;
	 
	  DisplayOneChar(0, 1, ASCII[11]);
	  DisplayOneChar(1, 1, ASCII[10]);	//顯示點(diǎn)
	  DisplayOneChar(2, 1, ASCII[11]);
	  DisplayOneChar(3, 1, ASCII[11]);
	  DisplayOneChar(4, 1, ASCII[12]);	//顯示M
	 }
	 else
	 {
	  disbuff[0]=S%1000/100;
	  disbuff[1]=S%1000%100/10;
	  disbuff[2]=S%1000%10 %10;
	  DisplayOneChar(0, 1, ASCII[disbuff[0]]);
	  DisplayOneChar(1, 1, ASCII[10]);	//顯示點(diǎn)
	  DisplayOneChar(2, 1, ASCII[disbuff[1]]);
	  DisplayOneChar(3, 1, ASCII[disbuff[2]]);
	  DisplayOneChar(4, 1, ASCII[12]);	//顯示M
	 }
	}
/********************************************************/
     void zd0() interrupt 1 		 //T0中斷用來(lái)計(jì)數(shù)器溢出,超過(guò)測(cè)距范圍
  {
    flag=1;							 //中斷溢出標(biāo)志
  }
/********************************************************/
     void  StartModule() 		         //啟動(dòng)模塊
  {
	  TX=1;			                     //啟動(dòng)一次模塊
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_();
	  _nop_(); 
	  _nop_(); 
	  _nop_(); 
	  _nop_();
	  TX=0;
  }
/********************************************************/ 
void delayms(unsigned int ms)
{
	unsigned char i=100,j;
	for(;ms;ms--)
	{
		while(--i)
		{
			j=10;
			while(--j);
		}
	}
}
/*********************************************************/
void main(void)
{
	unsigned char TempCyc;
	Delay400Ms(); //啟動(dòng)等待,等LCM講入工作狀態(tài)
	LCMInit(); //LCM初始化
	Delay5Ms(); //延時(shí)片刻(可不要)
	DisplayListChar(0, 0, mcustudio);
	DisplayListChar(0, 1, email);
	ReadDataLCM();//測(cè)試用句無(wú)意義
	for (TempCyc=0; TempCyc<10; TempCyc++)
	Delay400Ms(); //延時(shí)
	DisplayListChar(0, 1, Cls);	
	while(1)
	{
	 TMOD=0x01;		   //設(shè)T0為方式1,GATE=1;
	 TH0=0;
	 TL0=0;          
	 ET0=1;             //允許T0中斷
	 EA=1;			   //開(kāi)啟總中斷			
	
	while(1)
	  {
	     StartModule();
		// DisplayOneChar(0, 1, ASCII[0]);
	     while(!RX);		//當(dāng)RX為零時(shí)等待
	     TR0=1;			    //開(kāi)啟計(jì)數(shù)
	     while(RX);			//當(dāng)RX為1計(jì)數(shù)并等待
	     TR0=0;				//關(guān)閉計(jì)數(shù)
         Conut();			//計(jì)算
		 delayms(80);		//80MS
		 
	  }
	}
}



                

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精一品亚洲二区在线视频| 欧美韩日一区二区三区| 欧美色精品在线视频| 欧美日韩不卡一区二区| 久久亚洲综合色一区二区三区| 亚洲国产经典视频| 成人中文字幕电影| 91麻豆精品国产91久久久使用方法| 国产无遮挡一区二区三区毛片日本| 亚洲国产精品影院| 国产精品99久久久久久久vr| 国产欧美精品一区二区三区四区| 免费成人av在线播放| 色婷婷国产精品| 国产亚洲欧美在线| 99这里只有精品| 国产亚洲综合在线| 99热99精品| 午夜激情久久久| 91久久线看在观草草青青| 久久精品视频一区二区| 99热99精品| 蜜桃视频免费观看一区| 欧美精品在欧美一区二区少妇| 亚洲天堂2016| 成人av资源站| 日韩一区有码在线| 成人av免费在线| 亚洲aⅴ怡春院| 69久久99精品久久久久婷婷| 精品一区二区三区的国产在线播放| 欧美性xxxxx极品少妇| 亚洲精品视频免费看| www.爱久久.com| 天天综合色天天| 中文字幕精品一区二区精品绿巨人| 色婷婷综合久色| 激情综合色综合久久| 欧美日韩1234| 成人18视频在线播放| 日本欧美一区二区三区| 欧美岛国在线观看| 久久国产精品色婷婷| 精品福利一区二区三区免费视频| 久久99蜜桃精品| 亚洲精品国产成人久久av盗摄| 精品入口麻豆88视频| 国产精品一二三四区| 亚洲成人三级小说| 成人免费视频在线观看| 久久色成人在线| 欧美高清视频www夜色资源网| aaa欧美大片| 国产精一区二区三区| 婷婷开心激情综合| 亚洲男同性视频| 欧美亚洲国产一区在线观看网站| 国产盗摄一区二区| 亚洲欧美自拍偷拍| 久久蜜桃一区二区| 99久久国产综合精品色伊| 洋洋av久久久久久久一区| 91精品国产综合久久精品app| 美女任你摸久久| 亚洲成人动漫在线观看| 一区二区三区在线免费播放| 中文字幕一区二区5566日韩| 久久久精品tv| 精品国产免费一区二区三区香蕉 | 91麻豆精品91久久久久久清纯| 92国产精品观看| 成人午夜激情在线| 成人午夜在线视频| 国产成a人亚洲精| 亚洲国产欧美在线人成| 亚洲伦在线观看| 亚洲免费av网站| 一区二区三区加勒比av| 亚洲九九爱视频| 亚洲男人的天堂在线观看| 亚洲视频中文字幕| 亚洲免费在线观看| 夜夜嗨av一区二区三区中文字幕| 一区二区三区小说| 亚洲成人综合在线| 奇米888四色在线精品| 视频在线在亚洲| 亚洲日本护士毛茸茸| 亚洲日本韩国一区| 亚洲一区国产视频| 国产精品久久久久久妇女6080 | 91搞黄在线观看| 欧美网站一区二区| 欧美一卡2卡三卡4卡5免费| 欧美一区二区三区不卡| 精品国产乱码久久久久久久 | 国产激情精品久久久第一区二区 | 666欧美在线视频| 日韩视频123| 色94色欧美sute亚洲线路二 | 亚洲成人动漫av| 青青草视频一区| 国产成人免费在线观看| av一二三不卡影片| 欧美美女bb生活片| 久久综合色鬼综合色| 国产精品入口麻豆原神| 欧美mv日韩mv国产网站app| 久久精品在线免费观看| 亚洲日本护士毛茸茸| 日韩电影在线免费看| 国产精品自拍毛片| 91首页免费视频| 96av麻豆蜜桃一区二区| 欧美三级视频在线观看| 欧美成人aa大片| 亚洲视频精选在线| 免费观看成人鲁鲁鲁鲁鲁视频| 国产69精品久久久久毛片| 欧洲人成人精品| 欧亚洲嫩模精品一区三区| 6080日韩午夜伦伦午夜伦| 中文成人综合网| 日本亚洲三级在线| 波多野结衣亚洲| 国产精品女同互慰在线看 | 亚洲影视在线观看| 精品夜夜嗨av一区二区三区| 91同城在线观看| 精品久久久久久无| 亚洲一区二区中文在线| 国产精品一区二区在线观看不卡 | 国产91精品久久久久久久网曝门| 在线看一区二区| 国产欧美日韩一区二区三区在线观看| 亚洲综合区在线| 丰满放荡岳乱妇91ww| 欧美一区二区精品| 一区二区三区欧美久久| 国产成人精品一区二区三区四区 | 一本大道久久a久久综合婷婷| 欧美成人乱码一区二区三区| 亚洲综合色视频| av一区二区三区在线| 26uuu色噜噜精品一区二区| 亚洲成人动漫在线免费观看| 99久久伊人精品| 国产欧美日本一区视频| 麻豆中文一区二区| 精品视频1区2区| 夜夜嗨av一区二区三区四季av| 成人手机电影网| 久久精品水蜜桃av综合天堂| 美女mm1313爽爽久久久蜜臀| 欧美人伦禁忌dvd放荡欲情| 亚洲女性喷水在线观看一区| 国产精品亚洲а∨天堂免在线| 精品国产一区a| 麻豆精品蜜桃视频网站| 91.麻豆视频| 午夜私人影院久久久久| 欧美午夜电影在线播放| 艳妇臀荡乳欲伦亚洲一区| 色综合天天综合网天天看片| 欧美日韩精品一区二区| 亚洲男人的天堂av| 91免费国产在线观看| 中文字幕亚洲电影| av在线一区二区| 亚洲免费高清视频在线| 91黄色免费版| 亚洲一区二区三区在线播放| 欧美亚洲愉拍一区二区| 亚洲综合成人在线| 欧美日韩一区二区在线观看 | 欧美一级片在线看| 日日夜夜精品视频天天综合网| 欧美日韩国产一级二级| 天堂va蜜桃一区二区三区 | 色先锋aa成人| 亚洲国产日韩精品| 欧美日韩激情在线| 日本中文字幕一区| 精品国产一区二区三区av性色| 国产一区二区在线看| 91福利社在线观看| 亚洲成人精品影院| 日韩一级片网站| 国产精品中文有码| 中文字幕一区二区视频| 欧美在线高清视频| 免费人成网站在线观看欧美高清| 精品久久久影院| 成人av影院在线| 亚洲大片一区二区三区| 日韩午夜中文字幕| 国产成人免费网站| 一区二区三区不卡视频在线观看| 欧美裸体bbwbbwbbw| 国产麻豆午夜三级精品|