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

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

?? urm37_wr.c

?? URM3751距離測量模板驅(qū)動程序,最近到0.5CM,精度0.1CM
?? C
字號:
#include"URM37_51demo.H"

extern void LCD_ClearLin2(void);
extern void LCD_WRITE_COMM(uchar);
extern void LCD_WRITE_DATA(uchar);
/******************************************************************** 
* 名稱: Delay_us
* 說明: 
* 功能: 延時量 = DelayTime(us)  MAX = 65536MS
* 調(diào)用: 無
* 輸入: DelayTime
* 返回值: 無
***********************************************************************/
/*
void Delay_us(uint DelayTime)
{	
	uchar *p;
	p = &DelayTime;
	DelayTime = 65535-DelayTime;
	TR0 = 0;
	TF0 = 0;
	TH0 = *p++;
	TL0 = *p;
	TR0 = 1;
	while(TF0 == 0);
}
*/
/******************************************************************** 
* 名稱: HEX_TO_DEC
* 說明: 
* 功能: 將一個16BIT的16進(jìn)制數(shù)轉(zhuǎn)換為10進(jìn)制數(shù)
* 調(diào)用: 無
* 輸入: uint source,uchar * object
* 返回值: 無
***********************************************************************/
void HEX_TO_DEC(uint source,uchar * object)
{
	uchar i;
	source*=5;//source個半厘米,放大10倍
	for(i=0;i<5;i++)
	{
		*(object+i) = source % 10;
		source/=10;
	}
	return;
}
/******************************************************************** 
* 名稱: IIC_START
* 說明: 
* 功能: IIC啟動信號
* 調(diào)用: Delay_us
* 輸入: 無
* 返回值: 無
***********************************************************************/
void  IIC_START(void)//啟動信號
{
	uchar i;
	IIC_SCL = 0;
	for(i=0;i<7;i++);
	IIC_SDA = 1;
	for(i=0;i<7;i++);	
	IIC_SCL = 1;
	for(i=0;i<7;i++);
	IIC_SDA = 0;	
	for(i=0;i<7;i++);
	IIC_SCL = 0;	
}
/******************************************************************** 
* 名稱: IIC_ACK
* 說明: 
* 功能: 讀取返回應(yīng)答信號
* 調(diào)用: Delay_us
* 輸入: 無
* 返回值: 操作標(biāo)志
***********************************************************************/
uchar	IIC_ACK(void)	//讀取返回應(yīng)答信號
{
	uchar i;
	TR0 = 0;
	TF0 = 0;	
	TL0 = 0;
	TH0 = 0;
	TR0 = 1;
	
	
	while(IIC_SDA)
	{
		if(TF0 == 1) return ERROR;	
	}
	TR0 = 0;
	TF0 = 0;	
	TL0 = 0;
	TH0 = 0;
	TR0 = 1;
	while(IIC_SDA==0)
	{
		if(TF0 == 1) return ERROR;	
	}
	for(i=0;i<7;i++);
	return OK;
	
}
/******************************************************************** 
* 名稱: SendByte
* 說明: 
* 功能: 發(fā)送1 Byte 數(shù)據(jù)
* 調(diào)用: Delay_us
* 輸入: uchar Byte
* 返回值: 無
***********************************************************************/
void	SendByte(uchar Byte)	//發(fā)送1 Byte 數(shù)據(jù)
{
	uchar	i;
	uchar	j;
	for(j=0;j<8;j++)
	{
		IIC_SCL = 0;
		for(i=0;i<7;i++);
		IIC_SDA = (bit)(Byte & 0x80);
		Byte <<= 1;	
		for(i=0;i<7;i++);
		IIC_SCL = 1;
		for(i=0;i<7;i++);
	}
	IIC_SCL = 0;
			
}
/******************************************************************** 
* 名稱: Send_BIT9RW
* 說明: 
* 功能: 發(fā)送第9位的R/W_N
* 調(diào)用: Delay_us
* 輸入: uchar RW
* 返回值: 無
***********************************************************************/
void	Send_BIT9RW(uchar RW)	//發(fā)送第9位的R/W_N 
{
	uchar i;
	IIC_SCL = 0;
	for(i=0;i<7;i++);
	if(RW == W)
		IIC_SDA = W;
	else
		IIC_SDA = R;	
		
	for(i=0;i<7;i++);
	IIC_SCL = 1;
	for(i=0;i<7;i++);
	IIC_SCL = 0;
	IIC_SDA = 1;
	for(i=0;i<7;i++);
	
}

/******************************************************************** 
* 名稱: ReceiveTowByte
* 說明: 
* 功能: 接收 2 Byte數(shù)據(jù)
* 調(diào)用: Delay_us
* 輸入: uint *p
* 返回值: 無
***********************************************************************/
void	ReceiveTowByte(uint *p)		//接收 2 Byte數(shù)據(jù)
{
	uchar i;
	uchar j;
	uint	TempInt;
	*p = 0;
	TempInt = 0x8000;
	for(j=0;j<16;j++)
	{
		IIC_SCL = 1;
		for(i=0;i<7;i++);
		if(IIC_SDA == 1)
			*p = *p + TempInt;
		CY = 0;	
		TempInt = TempInt>>1;
		for(i=0;i<7;i++);
		IIC_SCL = 0;
		for(i=0;i<7;i++);	
	}
	
}
/******************************************************************** 
* 名稱: Read_Temper
* 說明: 
* 功能: 讀取溫度的低層驅(qū)動模塊
* 調(diào)用: IIC_START,SendByte,Send_BIT9RW,IIC_ACK,ReceiveTowByte
* 輸入: uint *p
* 返回值: 操作標(biāo)志
***********************************************************************/ 
uchar	Read_Temper(uint *p)
{
	uchar	Temp;
	
	IIC_START();	//啟動信號
	SendByte(140);
	Send_BIT9RW(R);	//讀		
	Temp = IIC_ACK();
	if(Temp == OK)
	{
		ReceiveTowByte(p);
		return OK;
	}
	else
		return ERROR;		
}

/******************************************************************** 
* 名稱: Read_EEPROM
* 說明: 
* 功能: 讀模塊內(nèi)部的EEPROM 
* 調(diào)用: IIC_START,SendByte,Send_BIT9RW,IIC_ACK,ReceiveTowByte
* 輸入: uchar Addr,uchar *p
* 返回值: 操作標(biāo)志
***********************************************************************/
uchar	Read_EEPROM(uchar Addr,uchar *p)//讀EEPROM
{
	uchar	Temp;
	uint	DataInt;
	
	IIC_START();	//啟動信號
	SendByte(Addr);
	Send_BIT9RW(R);	//讀
		
	Temp = IIC_ACK();
	if(Temp == OK)	
	{
		ReceiveTowByte(&DataInt);
		*p = (uchar)(DataInt&0x00ff);
		return OK;
	}	
	else
		return ERROR;
}
/******************************************************************** 
* 名稱: Write_EEPROM
* 說明: 
* 功能: 寫模塊內(nèi)部的EEPROM
* 調(diào)用: IIC_START,SendByte,Send_BIT9RW,IIC_ACK
* 輸入: uchar Addr,uchar Data
* 返回值: 操作標(biāo)志
***********************************************************************/
uchar	Write_EEPROM(uchar Addr,uchar Data)
{
	uchar	Temp;
	IIC_START();	//啟動信號
	SendByte(Addr);
	Send_BIT9RW(W);	//寫
	SendByte(Data);
	Temp = IIC_ACK();
	if(Temp == OK)	
		return 	OK;
	else
		return	ERROR;	

}
/******************************************************************** 
* 名稱: Read_Ultra
* 說明: 
* 功能: 讀超聲波測量到的距離數(shù)據(jù)
* 調(diào)用: IIC_START,SendByte,Send_BIT9RW,IIC_ACK,ReceiveTowByte
* 輸入: uuint *p
* 返回值: 操作標(biāo)志
***********************************************************************/
uchar	Read_Ultra(uint *p)//讀超聲波測量到的距離數(shù)據(jù)
{
	uchar	Temp;
	
	IIC_START();	//啟動信號
	SendByte(150);
	Send_BIT9RW(R);	//讀		
	Temp = IIC_ACK();
	if(Temp == OK)
	{
		ReceiveTowByte(p);
		return OK;
	}
	else
		return ERROR;		
}

/******************************************************************** 
* 名稱: Read_AD
* 說明: 
* 功能: 讀AD轉(zhuǎn)換數(shù)據(jù)
* 調(diào)用: IIC_START,SendByte,Send_BIT9RW,IIC_ACK,ReceiveTowByte
* 輸入: uchar Channel(通道選擇1 - 4) ,uint *p
* 返回值: 操作標(biāo)志
***********************************************************************/
uchar	Read_AD(uchar Channel ,uint *p)
{
	uchar	Temp;
	
	IIC_START();	//啟動信號
	SendByte(130+(Channel&0x07));
	Send_BIT9RW(R);	//讀		
	Temp = IIC_ACK();
	if(Temp == OK)
	{
		ReceiveTowByte(p);
		return OK;
	}
	else
		return ERROR;	
}

/******************************************************************** 
* 名稱: DisplayTemper
* 說明: 
* 功能: 顯示溫度
* 調(diào)用: Read_Temper,WR_DATA10
* 輸入: 無
* 返回值: 無
***********************************************************************/
void	DisplayTemper(void)//顯示溫度
{
	uchar	i;
	uchar	Temp;
	uchar	TemperData;
	uint	DataInt;
	uchar	array[]="Temperature: ";	
	
	Temp = Read_Temper(&DataInt);
	if(Temp == OK)
	{
		i = 0;
		//LCD_ClearLin2();
		LCD_WRITE_COMM(0xc0);	//
		while(array[i]!='\0')
		{
			LCD_WRITE_DATA(array[i]);
			i++;	
		}
		
		TemperData = (uchar)(DataInt>>4)&0x00ff;
		Temp = TemperData/10;
		LCD_WRITE_DATA(0x30+Temp);
		Temp= TemperData%10;
		LCD_WRITE_DATA(0x30+Temp);
		LCD_WRITE_DATA('C');
	}	
}

/******************************************************************** 
* 名稱: DisplayUltra
* 說明: 
* 功能: 顯示超聲波測量距離
* 調(diào)用: Read_Ultra,HEX_TO_DEC,WR_DATA10
* 輸入: 無
* 返回值: 無
***********************************************************************/
void	DisplayUltra(void)//顯示超聲波測量距離
{
	uchar	i;
	uchar	Temp;
	uint	DataInt;
	uchar	Data[5];
	uchar	array[]="Distance: ";
	Temp = Read_Ultra(&DataInt);
	if(Temp == OK)
	{
		i = 0;
		//LCD_ClearLin2();
		LCD_WRITE_COMM(0xc0);	//
		while(array[i]!='\0')
		{
			LCD_WRITE_DATA(array[i]);
			i++;	
		}
		HEX_TO_DEC(DataInt,Data);
		//LCD_WRITE_DATA(0x30+Data[2]);
        LCD_WRITE_DATA(0x30+Data[3]);//米
		LCD_WRITE_DATA('.');
        LCD_WRITE_DATA(0x30+Data[2]);//分米
		LCD_WRITE_DATA(0x30+Data[1]);//厘米
		LCD_WRITE_DATA(0x30+Data[0]);//毫米
		LCD_WRITE_DATA('m');
		
	}	
}
/******************************************************************** 
* 名稱: EEPROM_Test
* 說明: 
* 功能: 寫EEPROM測試
* 調(diào)用: Write_EEPROM,Read_EEPROM,WR_DATA10
* 輸入: 無
* 返回值: 無
***********************************************************************/
void   EEPROM_Test(void) //寫EEPROM測試
{
	uchar Temp;
	uchar Temp2;
	uchar i;
	uchar array[]="EEPROM Test:  ";
	Write_EEPROM(0,0x51);
	Temp = Read_EEPROM(0,&Temp2);
	if(Temp == OK)
	{
		i = 0;
		//LCD_ClearLin2();
		LCD_WRITE_COMM(0xc0);	//
		while(array[i]!='\0')
		{
			LCD_WRITE_DATA(array[i]);
			i++;	
		}
		Temp = (Temp2>>4)&0x0f;
		LCD_WRITE_DATA(0x30+Temp);
		Temp = Temp2&0x0f;
		LCD_WRITE_DATA(0x30+Temp);
	}
}
/******************************************************************** 
* 名稱: AD_Test
* 說明: 
* 功能: 讀內(nèi)部AD測試
* 調(diào)用: Read_AD,HEX_TO_DEC,WR_DATA10
* 輸入: uchar Channel:通道選擇(1 - 4)
* 返回值: 無
***********************************************************************/
void	AD_Test(uchar Channel)//讀內(nèi)部AD測試
{
	uchar Temp;
	uchar i;
	uint  DataInt;	
	uchar	Data[5];
	uchar array[]="AD CH";
	Temp = Read_AD(Channel,&DataInt);//讀AD輸入
	if(Temp == OK)
	{
		i = 0;
		//LCD_ClearLin2();
		LCD_WRITE_COMM(0xc0);	//
		while(array[i]!='\0')
		{
			LCD_WRITE_DATA(array[i]);
			i++;	
		}
		LCD_WRITE_DATA(0x30+Channel);
		LCD_WRITE_DATA(':');
		LCD_WRITE_DATA(' ');
		LCD_WRITE_DATA(' ');
		LCD_WRITE_DATA(' ');
		LCD_WRITE_DATA(' ');
		LCD_WRITE_DATA(' ');
		HEX_TO_DEC(DataInt,Data);
		LCD_WRITE_DATA(0x30+Data[3]);
		LCD_WRITE_DATA(0x30+Data[2]);
		LCD_WRITE_DATA(0x30+Data[1]);
		LCD_WRITE_DATA(0x30+Data[0]);
		
	}
			
}	

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久影音资源网| a美女胸又www黄视频久久| 精品视频1区2区3区| 婷婷综合五月天| 欧美一级电影网站| 国产精品白丝av| 亚洲欧洲三级电影| 在线欧美小视频| 日韩高清不卡在线| 久久久久9999亚洲精品| 99久精品国产| 视频一区二区欧美| 久久精品人人做人人综合| 不卡一二三区首页| 亚洲成人1区2区| 精品电影一区二区| 91丨九色porny丨蝌蚪| 亚洲一区中文日韩| 欧美videos中文字幕| 风间由美一区二区av101| 一区二区成人在线观看| 日韩一区二区三区在线观看 | 91黄色激情网站| 调教+趴+乳夹+国产+精品| 2020国产成人综合网| 91免费小视频| 久久99精品一区二区三区三区| 国产女人18水真多18精品一级做| 欧美亚洲国产一区二区三区va | 国产精品小仙女| 亚洲国产中文字幕在线视频综合| xfplay精品久久| 色诱亚洲精品久久久久久| 狠狠色综合播放一区二区| 亚洲免费观看视频| 久久午夜国产精品| 欧美日韩黄视频| aa级大片欧美| 国产真实精品久久二三区| 一区二区三区成人| 国产人久久人人人人爽| 91精品黄色片免费大全| 91网址在线看| 国产寡妇亲子伦一区二区| 午夜精品一区在线观看| 亚洲欧洲美洲综合色网| 精品对白一区国产伦| 正在播放亚洲一区| 欧洲av在线精品| 91视频国产资源| 成人一区二区三区在线观看| 蜜臀av一区二区| 天天综合天天综合色| 一区二区三区波多野结衣在线观看| 国产欧美日韩在线看| 精品成人一区二区| 欧美一区二区在线免费观看| 欧美撒尿777hd撒尿| 一本久道久久综合中文字幕| 丁香婷婷综合五月| 国产一区二区在线影院| 精品一区二区三区久久久| 亚洲国产精品一区二区尤物区| 成人欧美一区二区三区在线播放| 国产欧美日韩视频在线观看| 精品国产91乱码一区二区三区| 欧美一级免费观看| 在线不卡的av| 在线播放日韩导航| 欧美电影影音先锋| 91精品国产综合久久婷婷香蕉| 欧美视频在线播放| 欧美日韩久久久久久| 欧美日韩国产高清一区二区三区| 色就色 综合激情| 在线免费观看一区| 色婷婷激情久久| 欧美日韩在线不卡| 在线综合+亚洲+欧美中文字幕| 欧美电影一区二区| 欧美大片拔萝卜| 久久久精品中文字幕麻豆发布| 久久蜜桃一区二区| 国产精品欧美经典| 亚洲精品日日夜夜| 亚洲sss视频在线视频| 天堂在线亚洲视频| 久久国产精品无码网站| 国内不卡的二区三区中文字幕| 久久91精品久久久久久秒播| 国产一区二区三区在线观看免费视频| 国产自产2019最新不卡| 成人网在线免费视频| 91在线免费视频观看| 欧美性极品少妇| 日韩欧美一级在线播放| 26uuu另类欧美亚洲曰本| 欧美极品少妇xxxxⅹ高跟鞋| 亚洲人成精品久久久久| 丝袜亚洲另类欧美| 丰满少妇在线播放bd日韩电影| 91视频观看视频| 777a∨成人精品桃花网| 久久久精品日韩欧美| 亚洲精品乱码久久久久久黑人| 午夜国产精品影院在线观看| 麻豆国产91在线播放| k8久久久一区二区三区 | 成人激情开心网| 欧美亚洲丝袜传媒另类| 欧美成人video| 中文字幕色av一区二区三区| 亚洲国产美女搞黄色| 国产呦萝稀缺另类资源| 91在线视频在线| 日韩午夜在线观看| 中文字幕一区二区三区在线观看| 婷婷亚洲久悠悠色悠在线播放| 国产在线精品一区二区不卡了| 91丨porny丨户外露出| 日韩精品中文字幕一区二区三区| 国产精品久久久久影视| 日韩精品午夜视频| youjizz久久| 日韩欧美不卡一区| 一区二区三区日本| 丁香天五香天堂综合| 欧美另类变人与禽xxxxx| 亚洲国产激情av| 蜜桃av噜噜一区二区三区小说| 97精品久久久午夜一区二区三区| 91精品在线一区二区| 自拍偷在线精品自拍偷无码专区 | 亚洲综合一二区| 国产在线不卡一卡二卡三卡四卡| 色狠狠综合天天综合综合| 久久新电视剧免费观看| 日韩高清一区二区| 色拍拍在线精品视频8848| 欧美国产日本视频| 国产一区二区三区在线观看精品| 欧美日韩精品高清| 亚洲精品国产无天堂网2021| 国产成人啪免费观看软件| 91精品蜜臀在线一区尤物| 亚洲尤物视频在线| 99久久精品国产网站| 久久久久久久久久电影| 久久国产生活片100| 91精品国产综合久久久久久| 亚洲一区二区美女| 91久久精品网| 亚洲男人的天堂网| 波多野洁衣一区| 日韩理论在线观看| 成人av在线网| 国产精品久久夜| 成人在线视频首页| 国产精品美女久久久久久久| 国产精品一区不卡| 久久精品人人做人人综合| 国产精品99久久久久久似苏梦涵 | 国产精品久久久久一区二区三区| 国产精品一区免费在线观看| 日韩免费在线观看| 精品一区二区三区久久久| 亚洲精品在线免费观看视频| 紧缚捆绑精品一区二区| 精品美女一区二区| 久久99久久99精品免视看婷婷| 日韩一区二区三区视频在线 | 国产伦精品一区二区三区在线观看 | 亚洲一区二区三区免费视频| 色婷婷av一区二区三区gif| 亚洲精选免费视频| 欧美日韩三级一区二区| 亚洲电影中文字幕在线观看| 欧美日韩精品一区二区| 日本sm残虐另类| 久久一日本道色综合| 成人国产电影网| 亚洲免费观看高清完整版在线观看熊| 色欧美日韩亚洲| 日韩电影免费在线观看网站| 日韩精品一区二区三区视频| 国产在线视频不卡二| 久久久国产精华| 99久久精品免费看| 亚洲精品欧美综合四区| 欧美性猛交xxxxxx富婆| 另类小说欧美激情| 国产亚洲精品7777| 色天天综合久久久久综合片| 天天操天天干天天综合网| 欧美变态tickle挠乳网站| 国产成人免费网站| 一卡二卡欧美日韩| 日韩亚洲欧美在线| 不卡大黄网站免费看| 偷偷要91色婷婷|