久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5130|回復: 3
收起左側

MAG3110地磁傳感器程序源碼與資料下載

[復制鏈接]
ID:319507 發(fā)表于 2018-4-30 18:32 | 顯示全部樓層 |閱讀模式
哈哈,剛弄來MAG3110模塊,這里把資料上傳,分享給大家!在附件里
0.png
0.jpg

單片機源程序如下:

  1.                        #include "config.h"
  2.                         uchar DataX_L,DataX_H,DataY_L,DataY_H,DataZ_L,DataZ_H;
  3.                         uchar DataX_L_Offset,DataX_H_Offset,DataY_L_Offset,DataY_H_Offset,DataZ_L_Offset,DataZ_H_Offset;
  4.                         uchar Data_XYZ[10];


  5.                         bit bdata   Time1_Flag;                          //For timer 0
  6.                         //************************************************************************************
  7.                         bit       UART_Flag;
  8.                         uchar     UART_Data;
  9.             uchar     Acc_Data[10];


  10.                         //******************************************************************************************
  11.                         //*函 數(shù) 名:   delays                                                          ************
  12.                         //*功能描述:  延時                                                             ************
  13.                         //******************************************************************************************
  14.                           void delays(int xxxx)
  15.                                            {
  16.                                                 uint dlay;
  17.                                                 uint dlay1;
  18.                                                 //**************************************************************************
  19.                                                 for(dlay=xxxx;dlay>0;dlay--)
  20.                                                     for(dlay1=100;dlay1>0;dlay1--);
  21.                                                 //**************************************************************************
  22.                                                  }
  23.                         //******************************************************************************************
  24.                            void serialset ()                  //串口設置,使用TR1做波特率發(fā)生器
  25.                                {
  26.                                               TMOD=0x21;          //定義串行口         (T1波特率發(fā)生器)
  27.                                  //******************************************************************************************
  28.                                              TL1=0xFA;           //波特率為9600
  29.                                                  TH1=0xFA;           //F=11.0592 M
  30.                                  //******************************************************************************************
  31.                                              //TL1=0xF4;         //波特率為9600
  32.                                                  //TH1=0xF4;               //F=22.1184 M
  33.                                  //******************************************************************************************
  34.                                              EA = 1;
  35.                                              PCON=0x80;
  36.                                              ET1=0;
  37.                                              TR1=1;
  38.                                              TI=0;
  39.                                              ES=1;
  40.                                                  //ES=0;           //禁止中斷
  41.                                              SCON=0x50;
  42.                                                  PS=1;               //串口中斷優(yōu)先級設置最高
  43.                                }
  44.                         //*****************************************************************************************/

  45.                         /******************************************************************************************
  46.                            void serialset()                  //串口設置,使用獨立波特率發(fā)生器
  47.                                {
  48.                                              SCON  =0x50;
  49.                                              PCON=0x80;
  50.                                                  //BRT   =0xF4;         //波特率為9600   F=22.1184 M
  51.                                              BRT   =0xFA;           //波特率為9600  F=11.0592 M
  52.                                                  AUXR  =0x11;
  53.                                                  PS=1;               //串口中斷優(yōu)先級設置最高
  54.                                                  ES=1;
  55.                                  }
  56.                         //******************************************************************************************/
  57.                          //****************************************************************************************
  58.                           void sendchar(uchar sendsign)      //單字節(jié)發(fā)送子程序
  59.                                         {
  60.                                                  ES=0;
  61.                                      SBUF=sendsign;
  62.                                      while(TI==0);
  63.                                      TI=0;
  64.                                                  ES=1;
  65.                                          }
  66.                         //*****************************************************************************************
  67.                           void int0 () interrupt 0 using 3                           //外部中斷0
  68.                                             {
  69.                                                  IE0=0;
  70.                                                  EA=0;
  71.                                                  IE0=0;
  72.                                                  EA=1;
  73.                                              }
  74.                         //****************************************************************************************
  75.                         //*函 數(shù) 名:   int1                                                            **********
  76.                         //*功能描述:   外部中斷0                                                       **********
  77.                         //****************************************************************************************
  78.                            void int1 () interrupt 2 using 3                  //外部中斷1
  79.                            {
  80.                                                 //************************************************************
  81.                                                 EA=0;
  82.                                                 IE1=0;
  83.                                                 EA=1;
  84.                                                 //************************************************************
  85.                             }
  86.                         //****************************************************************************************
  87.                         //定時器0中斷
  88.                         void time0 (void) interrupt 1
  89.                            {
  90.                                             EA=0;         
  91.                                                 TF0=0;
  92.                                                 EA=1;
  93.                             }
  94.                    //****************************************************************************************
  95.                    //定時器1中斷
  96.                    void time1 (void) interrupt 3
  97.                            {
  98.                                                 TF1=0;
  99.                              }         
  100.            //************************************************************************************
  101.           void UART_isr() interrupt 4
  102.                                       {
  103.                                            ES=0;
  104.                                            if(RI)
  105.                                                  {        
  106.                                                   RI =0;        
  107.                                                    UART_Flag =1;
  108.                                                   UART_Data =SBUF;
  109.                                                   }
  110.                                             ES=1;         
  111.                                         }




  112.         //****************************************************************************************
  113.         main( )
  114.                 {        
  115.                   uchar i;
  116.                   delays(8000);
  117.                   delays(8000);
  118.                   /*********************************
  119.                   P4SW =0x70;           //P4 as I/O
  120.                   P4M1 =0x00;
  121.                   P4M0 =0xff;
  122.                   //*********************************/
  123.               //*********************************
  124.                   //LCD_Init();
  125.               //Clear_Screen();
  126.                   serialset();
  127.               //CT_PutString8_16(10,6,"TEST",0);

  128.                   EE24_SDA=1;
  129.                   EE24_SCL=0;

  130.                   MAG3110_Init();
  131.                   //temp =TEST_ACK();
  132.                   //******************************************************************************
  133.                   delays(8000);

  134.                   i= EE24_RandomRead(WHO_AM_I_REG);
  135.                   if (i == MAG3110Q_ID)                    //確認初始化是否成功
  136.                   {
  137.                     //putstr("ID:MAG3110Q,OK!\n ");
  138.                      //sendchar(0x55);
  139.                   }  
  140.                   else //初始化失敗
  141.                   {
  142.                    //putstr("ID not identified,FAILED!\n");
  143.                    //sendchar(0x88);            
  144.                   }
  145.               while(1)
  146.                       {        
  147.                             //*********************  觸發(fā)測量模式 ********************************************
  148.                 EE24_ByteWrite(CTRL_REG1,0x1A);  //啟動測量 觸發(fā)測量模式
  149.                             i=EE24_RandomRead(STATUS_00_REG);
  150.                                 if(i&ZYXDR_MASK) //數(shù)據(jù)就緒
  151.                                 {         
  152.                                         DataX_H = EE24_RandomRead(OUT_X_MSB_REG); //讀取X軸高字節(jié)
  153.                                         DataX_L = EE24_RandomRead(OUT_X_LSB_REG); //讀取X軸低字節(jié)
  154.                                         DataY_H = EE24_RandomRead(OUT_Y_MSB_REG); //讀取Y軸高字節(jié)
  155.                                         DataY_L = EE24_RandomRead(OUT_Y_LSB_REG); //讀取Y軸低字節(jié)
  156.                                         DataZ_H = EE24_RandomRead(OUT_Z_MSB_REG); //讀取Z軸高字節(jié)
  157.                                         DataZ_L = EE24_RandomRead(OUT_Z_LSB_REG); //讀取Z軸低字節(jié)
  158.         
  159.                                      sendchar(0x66);
  160.                                      sendchar(DataX_H);
  161.                                      sendchar(DataX_L);
  162.                                      sendchar(DataY_H);
  163.                                      sendchar(DataY_L);
  164.                                      sendchar(DataZ_H);
  165.                                      sendchar(DataZ_L);
  166.                                         //EE24_SequentialRead(Data_XYZ,OUT_X_MSB_REG,6);
  167.                                      //sendchar(0x99);
  168.                             //for(i=0;i<6;i++)
  169.                             //   sendchar(Data_XYZ[i]);
  170.                                 }
  171.                             //******************************************************************************/

  172.                             /*********************  連續(xù)測量模式 ********************************************
  173.                             i=EE24_RandomRead(STATUS_00_REG);
  174.                                 if(i&ZYXDR_MASK) //數(shù)據(jù)就緒
  175.                                 {         
  176.                                         DataX_H = EE24_RandomRead(OUT_X_MSB_REG); //讀取X軸高字節(jié)
  177.                                         DataX_L = EE24_RandomRead(OUT_X_LSB_REG); //讀取X軸低字節(jié)
  178.                                         DataY_H = EE24_RandomRead(OUT_Y_MSB_REG); //讀取Y軸高字節(jié)
  179.                                         DataY_L = EE24_RandomRead(OUT_Y_LSB_REG); //讀取Y軸低字節(jié)
  180.                                         DataZ_H = EE24_RandomRead(OUT_Z_MSB_REG); //讀取Z軸高字節(jié)
  181.                                         DataZ_L = EE24_RandomRead(OUT_Z_LSB_REG); //讀取Z軸低字節(jié)
  182.         
  183.                                      sendchar(0x66);
  184.                                      sendchar(DataX_H);
  185.                                      sendchar(DataX_L);
  186.                                      sendchar(DataY_H);
  187.                                      sendchar(DataY_L);
  188.                                      sendchar(DataZ_H);
  189.                                      sendchar(DataZ_L);
  190.                                         EE24_SequentialRead(Data_XYZ,OUT_X_MSB_REG,6);
  191.                                      sendchar(0x99);
  192.                             for(i=0;i<6;i++)
  193.                                sendchar(Data_XYZ[i]);
  194.                                         //************************************************ read offset
  195.                                         DataX_H_Offset = EE24_RandomRead(OUT_X_Offset_MSB_REG); //讀取X軸高字節(jié)
  196.                                         DataX_L_Offset = EE24_RandomRead(OUT_X_Offset_LSB_REG); //讀取X軸低字節(jié)
  197.                                         DataY_H_Offset = EE24_RandomRead(OUT_Y_Offset_MSB_REG); //讀取Y軸高字節(jié)
  198.                                         DataY_L_Offset = EE24_RandomRead(OUT_Y_Offset_LSB_REG); //讀取Y軸低字節(jié)
  199.                                         DataZ_H_Offset = EE24_RandomRead(OUT_Z_Offset_MSB_REG); //讀取Z軸高字節(jié)
  200.                                         DataZ_L_Offset = EE24_RandomRead(OUT_Z_Offset_LSB_REG); //讀取Z軸低字節(jié)
  201.                                      //sendchar(0x88);
  202.                                      //sendchar(EE24_RandomRead(CTRL_REG1));
  203.                                      sendchar(0x99);
  204.                                      sendchar(DataX_H_Offset);
  205.                                      sendchar(DataX_L_Offset);
  206.                                      sendchar(DataY_H_Offset);
  207.                                      sendchar(DataY_L_Offset);
  208.                                      sendchar(DataZ_H_Offset);
  209.                                      sendchar(DataZ_L_Offset);
  210. ……………………

  211. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
MAG3110 三軸數(shù)字地球磁場地磁傳感器模塊 MAG3110FCR.rar (428.29 KB, 下載次數(shù): 71)



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:381204 發(fā)表于 2018-8-1 09:33 | 顯示全部樓層
為什么編譯時說頭文件打不開啊
回復

使用道具 舉報

ID:425568 發(fā)表于 2018-11-21 20:03 來自觸屏版 | 顯示全部樓層
我去,怎么沒有mag3110的驅(qū)動程序啊,卻只有頭文件
回復

使用道具 舉報

ID:74229 發(fā)表于 2020-5-25 10:21 | 顯示全部樓層
感謝,參考一下不錯
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人一区在线观看 | 免费观看av | 日韩欧美一二三区 | www.99久久.com | 涩在线| 成人1区| 影音先锋男 | 欧美成ee人免费视频 | 精品九九| 日韩欧美视频在线 | 一区二区三区国产精品 | 日本一卡精品视频免费 | 婷婷毛片| 亚洲最新在线视频 | 欧美一区二区三区在线视频 | 99精品国自产在线观看 | 紧缚调教一区二区三区视频 | 91精品国产综合久久久久久 | 欧美 日韩 综合 | 亚洲福利一区二区 | 欧美日韩淫片 | 99久久精品国产麻豆演员表 | 中文字幕一区二区三区不卡 | 久久久av一区 | 亚洲成人中文字幕 | 精品国产欧美一区二区三区成人 | 国产精品区二区三区日本 | 久久久女 | 久久9热 | av午夜激情 | 成人三级视频 | 国产成人精品久久久 | 91国产在线播放 | 天堂综合 | 午夜在线观看免费 | 嫩草网| 色欧美片视频在线观看 | 久久成人亚洲 | 日本三级电影在线免费观看 | 国产在线一区二区三区 | 久久精品国产亚洲夜色av网站 |