找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2415|回复: 2
收起左侧

MPU6050+12864显示+超声波测距

[复制链接]
ID:196216 发表于 2017-7-29 10:24 | 显示全部楼层 |阅读模式
希望可以帮助到大家 共师兄习
0.png

单片机源程序如下:
  1. #include<reg52.h>
  2. #include"chaoshengbo.h"
  3. #include"lcd12864.h"
  4. #include"mup.h"

  5. void display()
  6. {
  7.         uint a1,b1,c1;



  8.    a1=distance1%1000/100;
  9.          b1=distance1%1000%100/10;
  10.          c1=distance1%1000%100%10;

  11. //         a2=distance2%1000/100;
  12. //         b2=distance2%1000%100/10;
  13. //         c2=distance2%1000%100%10;
  14. //        
  15. //         a3=distance3%1000/100;
  16. //         b3=distance3%1000%100/10;
  17. //         c3=distance3%1000%100%10;

  18.           LcdWritePos(1,0);
  19.           write_str("1 距");
  20.           LcdWritePos(1,2);
  21.                   
  22.           LcdWriteData(a1+0x30);
  23.           LcdWriteData(b1+0x30);
  24.           LcdWriteData(c1+0x30);
  25.       write_str("cm");

  26. //          LcdWritePos(2,0);
  27. //          write_str("2 距");
  28. //          LcdWritePos(2,2);        
  29. //          LcdWriteData(a2+0x30);
  30. //          LcdWriteData(b2+0x30);
  31. //          LcdWriteData(c2+0x30);
  32. //    write_str("cm");

  33. //          LcdWritePos(3,0);
  34. //          write_str("3 距");
  35. //          LcdWritePos(3,2);        
  36. //          LcdWriteData(a3+0x30);
  37. //          LcdWriteData(b3+0x30);
  38. //          LcdWriteData(c3+0x30);
  39. //    write_str("cm");

  40. }
  41. void display2()
  42. {
  43.         int x1,y1,z1,x2,y2,z2;
  44.         if(Angle_x_temp<0)
  45.         {
  46.              Angle_x_temp=-Angle_x_temp;
  47.          LcdWritePos(2,2);
  48.              LcdWriteData('-');
  49.         }
  50.         else
  51.         {
  52.                 LcdWritePos(2,2);
  53.              LcdWriteData(' ');
  54.         }
  55.         if(Angle_y_temp<0)
  56.         {
  57.                 LcdWritePos(3,2);
  58.              Angle_y_temp=-Angle_y_temp;
  59.          
  60.              LcdWriteData('-');
  61.         }
  62.         else
  63.         {
  64.                 LcdWritePos(3,2);
  65.          
  66.              LcdWriteData(' ');
  67.         }
  68.         if(Angle_z_temp<0)
  69.         {
  70.             LcdWritePos(4,2);
  71.                 Angle_z_temp=-Angle_z_temp;
  72.            
  73.              LcdWriteData('-');
  74.         }
  75.         else
  76.         {
  77.                  LcdWritePos(4,2);
  78.          
  79.              LcdWriteData(' ');
  80.         }                 
  81.         
  82.   x1=Angle_x_temp/10;
  83.         x2=Angle_x_temp%10;
  84.         y1=Angle_y_temp/10;
  85.         y2=Angle_y_temp%10;
  86.         z1=Angle_z_temp/10;
  87.         z2=Angle_z_temp%10;
  88.         
  89.         
  90.          LcdWritePos(2,0);
  91. write_str("X 轴");
  92. LcdWritePos(2,3);
  93.         LcdWriteData(0x30+x1);
  94.         LcdWriteData(0x30+x2);
  95.         write_str("度");
  96.         
  97. LcdWritePos(3,0);
  98.         write_str("Y 轴");
  99.                 LcdWritePos(3,3);
  100.         LcdWriteData(0x30+y1);
  101.         LcdWriteData(y2+0x30);
  102.                 write_str("度");
  103.                
  104.          LcdWritePos(4,0);
  105. write_str("Z 轴");
  106.                          LcdWritePos(4,3);  
  107.         LcdWriteData(z1+0x30);
  108.         LcdWriteData(z2+0x30);
  109.                 write_str("度");
  110. }
  111. void main()
  112. {
  113. ……………………

  114. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

本人初学,仅供参考,存在错误和不足之处,请大家回帖多多指教,切勿照搬,文件下载:
mpu 12864 超声波.zip (64.24 KB, 下载次数: 54)

评分

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

查看全部评分

回复

使用道具 举报

ID:226087 发表于 2017-8-9 14:02 | 显示全部楼层
真的很强势,想要代码
回复

使用道具 举报

ID:491687 发表于 2020-1-10 15:23 | 显示全部楼层
优秀,膜拜大佬。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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