超声波测距程序.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

/ / 超 声 波 测 距 程 序

#defineuintunsignedint#defineucharunsignedchar

sbitrs=P2^6; //1602的数据/指令选择控制线

sbitrw=P2^5; //1602的读写控制线sbiten=P2^7; //1602的使能控制线sbittrig=P2^0; //超声波测距模块Trigsbitecho=P2^1; //超声波测距模块Echobitflag1; //触发信号标志位//

ucharcount; //中断累加变量longintdistance; //测量所得距离

ucharcodetable1[]= distance: ;//定义字符数组显示数字voiddelay(uintn)

{

uintx,y;for(x=n;x0;x--)

for(y=110;y0;y--);

}

voiddelayt(uintx)

{

ucharj;while(x--0)

{

for(j=0;j125;j++)

{

;

}

}

}

voidlcd_wcom(ucharcom)

{

rs=0; //选择指令寄存器

rw=0; //选择写

P0=com; //把命令字送入P0

delay(5); //延时一小会儿,让1602准备接收数据

en=1; //使能线电平变化,命令送入1602的8位数据口,这点非常重要

en=0;

}

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

1602写数据函数

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

voidlcd_wdat(uchardat)

{

rs=1; //选择数据寄存器

rw=0; //选择写

P0=dat; //把要显示的数据送入P0

delay(5); //延时一小会儿,让1602准备接收数据,也就是检测忙信号,这点非常重要。

en=1; //使能线电平变化,数据送入1602的8位数据口

en=0;

}

voidlcd_init()

{

lcd_wcom(0x38); //8位数据,双列,5*7字形 ,用到功能设定指令

lcd_wcom(0x0c); //开启显示屏,关光标,光标不闪烁,用到显示开关控制指令

lcd_wcom(0x06); //显示地址递增,即写一个数据后,显示位置右移一位,用到了写入模式设置指令

lcd_wcom(0x01); //清屏,用到了清屏指令

}

voidlcd_xianshi()

{

uchari;lcd_wcom(0x80);for(i=0;i13;i++)

{

lcd_wdat(table1[i]);

}

lcd_wcom(0xcc);lcd_wdat(.);

lcd_wcom(0xce);//单位是厘米//

lcd_wdat(c);

lcd_wdat(m);

}

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

定时器0初始化,用于计算响应信号时间

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

voidinit_t0()

{

TMOD=0x01;

TL0=0x66;

TH0=0xfc; //1ms

ET0=1;

EA=1;

}

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

超声波模块触发信号

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

voidtrigger()

{

trig=0;

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

_nop_();

trig=1;

}

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

超声波模块相应端口初始化函数

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

voidinit_measuring()

{

trig=1;echo=1;count=0;

}

/*

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档