超声波测距正确程序文档格式.doc

上传人:b****2 文档编号:13321067 上传时间:2022-10-09 格式:DOC 页数:7 大小:28KB
下载 相关 举报
超声波测距正确程序文档格式.doc_第1页
第1页 / 共7页
超声波测距正确程序文档格式.doc_第2页
第2页 / 共7页
超声波测距正确程序文档格式.doc_第3页
第3页 / 共7页
超声波测距正确程序文档格式.doc_第4页
第4页 / 共7页
超声波测距正确程序文档格式.doc_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

超声波测距正确程序文档格式.doc

《超声波测距正确程序文档格式.doc》由会员分享,可在线阅读,更多相关《超声波测距正确程序文档格式.doc(7页珍藏版)》请在冰豆网上搜索。

超声波测距正确程序文档格式.doc

sbittrig=P1^0;

//发射端

sbitBeap=P2^3;

//蜂鸣器

sbitKey_Data=P2^4;

//按键发射

#defineRS_CLRRS=0

#defineRS_SETRS=1

#defineRW_CLRRW=0

#defineRW_SETRW=1

#defineEN_CLREN=0

#defineEN_SETEN=1

#defineDataPortP0

unsignedcharcodeASCII[15]={'

0'

'

1'

2'

3'

4'

5'

6'

7'

8'

9'

.'

-'

M'

};

unsignedchardisbuff[4] ={0,0,0,0,};

unsignedlongS=0;

unsignedcharFlag;

unsignedinttime;

unsignedintt=500;

/*------------------------------------------------

uS延时函数,含有输入参数unsignedchart,无返回值

unsignedchar是定义无符号字符变量,其值的范围是

0~255这里使用晶振12M,精确延时请使用汇编,大致延时

长度如下T=tx2+5uS

voidDelayUs2x(unsignedchart)

{

while(--t);

}

mS延时函数,含有输入参数unsignedchart,无返回值

0~255这里使用晶振12M,精确延时请使用汇编

voidDelayMs(unsignedchart)

{

while(t--)

{

//大致延时1mS

DelayUs2x(245);

DelayUs2x(245);

}

判忙函数

bitLCD_Check_Busy(void)

{

DataPort=0xFF;

RS_CLR;

RW_SET;

EN_CLR;

_nop_();

EN_SET;

return(bit)(DataPort&

0x80);

写入命令函数

voidLCD_Write_Com(unsignedcharcom)

{

while(LCD_Check_Busy());

//忙则等待

RW_CLR;

DataPort=com;

写入数据函数

voidLCD_Write_Data(unsignedcharData)

RS_SET;

DataPort=Data;

清屏函数

voidLCD_Clear(void)

LCD_Write_Com(0x01);

DelayMs(5);

写入字符串函数

voidLCD_Write_String(unsignedcharx,unsignedchary,unsignedchar*s)

{

if(y==0)

{

LCD_Write_Com(0x80+x);

//表示第一行

}

else

{

LCD_Write_Com(0xC0+x);

//表示第二行

}

while(*s)

LCD_Write_Data(*s);

s++;

写入字符函数

voidLCD_Write_Char(unsignedcharx,unsignedchary,unsignedcharData)

LCD_Write_Com(0x80+x);

}

LCD_Write_Data(Data);

LCD初始化函数

voidLCD_Init(void)

LCD_Write_Com(0x38);

/*显示模式设置*/

DelayMs(5);

LCD_Write_Com(0x08);

/*显示关闭*/

LCD_Write_Com(0x01);

/*显示清屏*/

LCD_Write_Com(0x06);

/*显示光标移动设置*/

LCD_Write_Com(0x0C);

/*显示开及光标设置*/

}

/*-------------------------------------------------

初始化超声波测距仪,定时器,中断

---------------------------------------------------*/

voidinit()

echo=0;

trig=0;

Flag=1;

LCD_Write_Char(7,0,'

o'

);

LCD_Write_Char(8,0,'

k'

TMOD=0x01;

//设T0为方式1

TH0=0;

TL0=0;

ET0=1;

//允许T0中断

TR0=0;

EA=1;

//开启总中断

定时器0中断函数

--------------------------------------------------*/

voidtimer0()interrupt1

TH0=0;

Flag=0;

//标志位,当检测超过65ms退出等待回波,继续下一次检测,非常必要

超声波测距仪触发模块

-------------------------------------------------*/

voidstartmodule()

trig=1;

//15us启动一次模块

_nop_();

trig=0;

键盘扫描函数

--------

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1