- #include <STC15F2K60S2.H>
- #include <mpu6050.h>
- #include <math.h> //Keil library
- #include <stdio.h> //Keil library
- #define FOSC 11059200UL
- #define BAUD 115200
- #define URMD 0 //0:使用定時器2作為波特率發生器
- //1:使用定時器1的模式0(16位自動重載模式)作為波特率發生器
- //2:使用定時器1的模式2(8位自動重載模式)作為波特率發生器
- void SendData(float dat);
- void Delay(WORD n);
- void InitUart();
- void sendString();
- void send(unsigned char S);
- void main()
- {
-
- InitUart();
- InitMPU6050(); //初始化MPU6050
- delay(150);
- while(1)
- {
- // TI=1;
- // printf("%d\n",moveRate[i]);
- // TI=0;
- formstring();
- TI=1;
- printf("%d\n",buffer[0]);
-
- // printf("%d\n",buffer[1]);
- // printf("%d\n\n",buffer[2]);
-
- //printf("%d\n",buffer[3]);
- // printf("%d\n",buffer[4]);
- // printf("%d\n\n",buffer[5]);
- TI=0;
-
-
- delay(1000);
- }
- }
- /*----------------------------
- 初始化串口
- ----------------------------*/
- void InitUart()
- {
- SCON = 0x5a; //設置串口為8位可變波特率
- #if URMD == 0
- T2L = (65536 - (FOSC/4/BAUD));
- T2H = (65536 - (FOSC/4/BAUD)) >> 8;
- AUXR = 0x14; //T2為1T模式, 并啟動定時器2
- AUXR |= 0x01; //選擇定時器2為串口1的波特率發生器
- #elif URMD == 1
- AUXR = 0x40; //定時器1為1T模式
- TMOD = 0x00; //定時器1為模式0(16位自動重載)
- TL1 = (65536 - (FOSC/4/BAUD));
- TH1 = (65536 - (FOSC/4/BAUD)) >> 8;
- TR1 = 1; //定時器1開始啟動
- #else
- TMOD = 0x20; //設置定時器1為8位自動重裝載模式
- AUXR = 0x40; //定時器1為1T模式
- TH1 = TL1 = (256 - (FOSC/32/BAUD));
- TR1 = 1;
- #endif
- }
復制代碼
Keil代碼下載:
iic讀取mpu6050.rar
(47.81 KB, 下載次數: 63)
2021-12-22 21:34 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|