找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5340|回复: 4
收起左侧

51单片机读取LIS3DH加速度传感器数据并LCD12864显示的源码

[复制链接]
ID:306240 发表于 2018-4-11 22:34 | 显示全部楼层 |阅读模式
51单片机读取加速度传感器LIS3DH数据并显示在LCD12864上面
0.jpg
单片机源程序如下:
  1. #include"reg51.h"
  2. #include"12864.h"
  3. #include "lis3dh_driver.h"
  4. #include <stdio.h>
  5. #include <intrins.h>
  6. #include<stdarg.h>  


  7. #define uchar unsigned char
  8. #define uint  unsigned int

  9. u16 a=1000;


  10.   void lis3dhinit(void)
  11. {
  12. unsigned char  response=0;
  13. response = LIS3DH_SetODR(LIS3DH_ODR_100Hz);
  14. //printf("设置 ODR:%d\r\n",response);
  15. response = LIS3DH_SetMode(LIS3DH_NORMAL);
  16. //printf("设置 MODE:%d\r\n",response);
  17. response = LIS3DH_SetFullScale(LIS3DH_FULLSCALE_2);
  18. //printf("设置 SCALE:%d\r\n",response);
  19. response = LIS3DH_SetAxis(LIS3DH_X_ENABLE | LIS3DH_Y_ENABLE | LIS3DH_Z_ENABLE);
  20. //printf("设置 ENABLE:%d\r\n",response);
  21. }



  22. void main()
  23. {
  24.    AxesRaw_t ddata;
  25.    
  26.    Lcd_Init();
  27.          
  28.    //Show_number(0x80,a);

  29.         delay(1000);                 //上电,等待稳定
  30.    lis3dhinit();
  31.        
  32.   

  33.                                                                                                                                          
  34.   
  35.   while(1)
  36.   {
  37.           LIS3DH_GetAccAxesRaw(&ddata);   // 读取函数在原来的库函数上做了稍微调整

  38.         delay(60000);
  39.         delay(60000);
  40.         delay(60000);
  41.         delay(60000);
  42.         delay(60000);
  43.         delay(60000);
  44.         delay(60000);
  45.         delay(60000);
  46.         Show_number(0x80,ddata.AXIS_X);
  47.         Show_number(0x90,ddata.AXIS_Y);
  48.         Show_number(0x88,ddata.AXIS_Z);
  49.        

  50.            //Show_number(0x98,a);
  51.   }


  52. }



  53. ……………………

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

所有资料51hei提供下载:
51单片机读取加速度传感器LIS3DH数据并显示在LCD上面.rar (129.75 KB, 下载次数: 169)
回复

使用道具 举报

ID:375409 发表于 2018-11-19 15:25 | 显示全部楼层
请问data.AXIS_X是不是最后的x轴加速度值,为什么我用串口输出这个值一直是0
回复

使用道具 举报

ID:375409 发表于 2018-11-20 16:47 | 显示全部楼层
SPISendByte(0x80|Reg);
寄存器地址什么还要或一个0x80才有数据啊
回复

使用道具 举报

ID:327029 发表于 2019-5-24 20:28 | 显示全部楼层
我显示这个值也是0,不知道咋处理
回复

使用道具 举报

ID:407961 发表于 2022-4-6 13:59 | 显示全部楼层
下载一个试试,刚下的别人的都是STM官方驱动,程序太长
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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