51单片机超声波测距离(带温度补偿).docVIP

  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文档。上传文档
查看更多
超声波模块原理图: 发射 接收原理图 PCB: 51单片机原理图: 软件部分 C语言程序: /*==================================================================== 调试要求: 1.MCU:AT89S52芯片或AT89C52 2.晶振:12MHz 调试注意: 本程序带温度补偿,采用DS18B20测量温度 1.LCD1602液晶屏有显示后,才接入超声波模块。 2.注意超声波模块电源的极性。不清楚请参好淘宝的电路图 3.没有选用频率为12MHz晶振,用了别的频率晶振,单片机定时器的测量值与 发出的40KHz频率脉冲不对。 4.使用者经常误发出20KHZ脉冲当40KHZ脉冲。(40KHz频率脉冲,周期25us, 占空比为50% = 12.5us) 5.如果是用开发板调超声波模块,请检查开发板上的电路是否与超声波模块的 控制脚复用了, 若复用了,请通过跳线分开发板上的电路。 6如果使用的是万用板,请确定单片机的复位电路和晶振电路是否正常,同时 单片机的31脚(EA)记得 接高电平。 ====================================================================*/ #include reg52.h #include intrins.h #define uchar unsigned char #define uint unsigned int //===============================LCD1602接口定义===================== /*----------------------------------------------------- |DB0-----P2.0 | DB4-----P2.4 | RW-------P0.1 | |DB1-----P2.1 | DB5-----P2.5 | RS-------P0.2 | |DB2-----P2.2 | DB6-----P2.6 | E--------P0.0 | |DB3-----P2.3 | DB7-----P2.7 | 注意,P0.0到P0.2需要接上拉电阻 --------------------------------------------------- =============================================================*/ #define LCM_Data P2 //数据接口 #define Busy 0x80 //用于检测LCM状态字中的Busy标识 sbit LCM_RW = P0^1; //读写控制输入端,LCD1602的第五脚 sbit LCM_RS = P0^2; //寄存器选择输入端,LCD1602的第四脚 sbit LCM_E = P0^0; //使能信号输入端,LCD1602的第6脚 //===============================超声波模块定义======================== sbit RemPin = P3^2;// 接收端(这个不能修改,因为是外部中断(INT0)的引脚) sbit TxPin = P3^1;// 发射端 //*********************************************************************** //ds18b20数字温度传感器控制引脚定义 sbit dq_ds18b20=P3^3;//定义控制DS18B20 //*********************************************************************** //LCD显示模块的函数声明 void WriteDataLCM (uchar WDLCM);//LCD模块写数据 void WriteCommandLCM (uchar WCLCM,BuysC); //LCD模块写指令 uchar ReadDataLCM (void);//LCD模块读数据 uchar ReadStatusLCM (void);//读LCD模块的

文档评论(0)

Epiphany + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档