找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1780|回复: 0
收起左侧

给初学者—基于51单片机的超声波测距模块(LCD1602)

[复制链接]
ID:915029 发表于 2021-7-30 09:53 | 显示全部楼层 |阅读模式
之前才学完51单片机是开始练习一些模块用的是SFR05超声波模块
以下源码
  1. #include <REGX52.H>
  2. #include "LCD1602.h
  3. #include "Delay.h
  4. #include "Timer0.h

  5. unsigned char Distance;
  6. unsigned char i;
  7. unsigned int T;
  8. unsigned int T0Count;
  9. unsigned char Time;
  10. unsigned int a,b;
  11. sbit Trig = P2^0
  12. sbit Echo = P2^1;





  13. void Super_Wave_Init()
  14. {
  15.         Trig = 0;
  16.         Echo = 0;
  17. }




  18. void Distance_Init()
  19. {
  20.         a=(TH0*256+TL0);
  21. //        T=T-0x66fc;
  22.         b=(a);
  23.         T= b/46.3
  24. }




  25. void main()
  26. {
  27.         LCD_Init();
  28.         Timer0Init()
  29.         LCD_ShowString(1,1,"Distance:");
  30.         LCD_ShowString(2,6,"CM");
  31.         while(1)
  32.         {
  33.                 Trig=1;
  34.                 i = 4;
  35.                 while (--i)
  36.                 Trig=0;
  37.                 while(Echo==0)
  38.                 TR0=1;
  39.                 while(Echo);
  40.                 TR0=0;
  41.                 Distance_Init();
  42.                 LCD_ShowNum(2,1,T,5);
  43.                 Delay(250);
  44.                 TL0 = 0
  45.                 TH0 = 0;
  46. //                Delay(20);
  47.                 Super_Wave_Init();
  48.                
  49.                
  50.         }
  51. }





  52. void Timer0_Routine() interrupt 1
  53. {
  54. //        TL0 = 0
  55.         
  56.         T0Count++;
  57.         if(T0Count==18)
  58.         {
  59.                 TR0 = 0;
  60. //    TL0 = 0x66;
  61. //    TH0 = 0xfc;
复制代码


这是其中包含的一些头文件

这是其中包含的一些头文件

超声波测距.zip

41.93 KB, 下载次数: 18, 下载积分: 黑币 -5

评分

参与人数 1黑币 +20 收起 理由
admin + 20 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表