找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 6498|回復(fù): 4
收起左側(cè)

51單片機(jī)讀取LIS3DH加速度傳感器數(shù)據(jù)并LCD12864顯示的源碼

[復(fù)制鏈接]
ID:306240 發(fā)表于 2018-4-11 22:34 | 顯示全部樓層 |閱讀模式
51單片機(jī)讀取加速度傳感器LIS3DH數(shù)據(jù)并顯示在LCD12864上面
0.jpg
單片機(jī)源程序如下:
  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("設(shè)置 ODR:%d\r\n",response);
  15. response = LIS3DH_SetMode(LIS3DH_NORMAL);
  16. //printf("設(shè)置 MODE:%d\r\n",response);
  17. response = LIS3DH_SetFullScale(LIS3DH_FULLSCALE_2);
  18. //printf("設(shè)置 SCALE:%d\r\n",response);
  19. response = LIS3DH_SetAxis(LIS3DH_X_ENABLE | LIS3DH_Y_ENABLE | LIS3DH_Z_ENABLE);
  20. //printf("設(shè)置 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);                 //上電,等待穩(wěn)定
  30.    lis3dhinit();
  31.        
  32.   

  33.                                                                                                                                          
  34.   
  35.   while(1)
  36.   {
  37.           LIS3DH_GetAccAxesRaw(&ddata);   // 讀取函數(shù)在原來(lái)的庫(kù)函數(shù)上做了稍微調(diào)整

  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. …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
51單片機(jī)讀取加速度傳感器LIS3DH數(shù)據(jù)并顯示在LCD上面.rar (129.75 KB, 下載次數(shù): 172)


回復(fù)

使用道具 舉報(bào)

ID:375409 發(fā)表于 2018-11-19 15:25 | 顯示全部樓層
請(qǐng)問(wèn)data.AXIS_X是不是最后的x軸加速度值,為什么我用串口輸出這個(gè)值一直是0
回復(fù)

使用道具 舉報(bào)

ID:375409 發(fā)表于 2018-11-20 16:47 | 顯示全部樓層
SPISendByte(0x80|Reg);
寄存器地址什么還要或一個(gè)0x80才有數(shù)據(jù)啊
回復(fù)

使用道具 舉報(bào)

ID:327029 發(fā)表于 2019-5-24 20:28 | 顯示全部樓層
我顯示這個(gè)值也是0,不知道咋處理
回復(fù)

使用道具 舉報(bào)

ID:407961 發(fā)表于 2022-4-6 13:59 | 顯示全部樓層
下載一個(gè)試試,剛下的別人的都是STM官方驅(qū)動(dòng),程序太長(zhǎng)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表