- #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)
|