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

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

ID:37855248

大小:601.00 KB

页数:19页

时间:2019-06-01

51单片机超声波测距离(带温度补偿)_第1页
51单片机超声波测距离(带温度补偿)_第2页
51单片机超声波测距离(带温度补偿)_第3页
51单片机超声波测距离(带温度补偿)_第4页
51单片机超声波测距离(带温度补偿)_第5页
资源描述:

《51单片机超声波测距离(带温度补偿)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、超声波模块原理图:发射接收原理图PCB:51单片机原理图:软件部分C语言程序:/*====================================================================调试要求:1.MCU:AT89S52芯片或AT89C522.晶振:12MHz调试注意:本程序带温度补偿,采用DS18B20测量温度1.LCD1602液晶屏有显示后,才接入超声波模块。2.注意超声波模块电源的极性。不清楚请参好淘宝的电路图3.没有选用频率为12MHz晶振,用了别的频率晶振,单片机

2、定时器的测量值与发出的40KHz频率脉冲不对。4.使用者经常误发出20KHZ脉冲当40KHZ脉冲。(40KHz频率脉冲,周期25us,占空比为50%=12.5us)5.如果是用开发板调超声波模块,请检查开发板上的电路是否与超声波模块的控制脚复用了,若复用了,请通过跳线分开发板上的电路。6如果使用的是万用板,请确定单片机的复位电路和晶振电路是否正常,同时单片机的31脚(EA)记得接高电平。=============================================================

3、=======*/#include#include#defineucharunsignedchar#defineuintunsignedint//===============================LCD1602接口定义=====================/*-----------------------------------------------------

4、DB0-----P2.0

5、DB4-----P2.4

6、RW-------P0.1

7、

8、DB1

9、-----P2.1

10、DB5-----P2.5

11、RS-------P0.2

12、

13、DB2-----P2.2

14、DB6-----P2.6

15、E--------P0.0

16、

17、DB3-----P2.3

18、DB7-----P2.7

19、注意,P0.0到P0.2需要接上拉电阻---------------------------------------------------=============================================================*/#defineLCM_DataP2/

20、/数据接口#defineBusy0x80//用于检测LCM状态字中的Busy标识sbitLCM_RW=P0^1;//读写控制输入端,LCD1602的第五脚sbitLCM_RS=P0^2;//寄存器选择输入端,LCD1602的第四脚sbitLCM_E=P0^0;//使能信号输入端,LCD1602的第6脚//===============================超声波模块定义========================sbitRemPin=P3^2;//接收端(这个不能修改,因为是外部中断(INT0

21、)的引脚)sbitTxPin=P3^1;//发射端//***********************************************************************//ds18b20数字温度传感器控制引脚定义sbitdq_ds18b20=P3^3;//定义控制DS18B20//***********************************************************************//LCD显示模块的函数声明voidWriteDataLCM

22、(ucharWDLCM);//LCD模块写数据voidWriteCommandLCM(ucharWCLCM,BuysC);//LCD模块写指令ucharReadDataLCM(void);//LCD模块读数据ucharReadStatusLCM(void);//读LCD模块的忙标voidDisplayOneChar(ucharX,ucharY,ucharASCII);//在第X+1行的第Y+1位置显示一个字符voidDisplayListChar(ucharX,ucharY,uchardelayms,uch

23、arcode*DData);voidDisplayCursorPos(ucharX,ucharY);voidLCMInit(void);voidDisplayIntData(ucharX,ucharY,intZhengShu,ucharDigit,ucharXiaoShu);voidDisplayCharData(ucharX,ucharY,ucharZiFu);//***********************

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。