欢迎来到天天文库
浏览记录
ID:50564847
大小:456.00 KB
页数:10页
时间:2020-03-11
《基于89c52单片机陀螺仪mpu6050测试程序.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、君悦的三轴陀螺仪MPU6050测试程序。IIC接口,51单片机驱动,LCD1602同步显示。硬件原理图//****************************************//MPU6050IIC测试程序//使用单片机STC89C52//晶振:11.0592M//显示:LCD1602//编译环境KeiluVision2//参考宏晶网站24c04通信程序//功能:显示加速度计和陀螺仪的10位原始数据//时间:2013年3月1日//****************************************#include#include/
2、/Keillibrary#include//Keillibrary#includetypedefunsignedcharuchar;typedefunsignedshortushort;typedefunsignedintuint;//****************************************//定义51单片机端口//****************************************#defineDataPortP0//LCD1602数据端口sbitSCL=P1^0;//IIC时钟引脚定义sbitSDA=P1^1
3、;//IIC数据引脚定义sbitLCM_RS=P2^0;//LCD1602命令端口sbitLCM_RW=P2^1;//LCD1602命令端口sbitLCM_EN=P2^2;//LCD1602命令端口//****************************************//定义MPU6050内部地址//****************************************#defineSMPLRT_DIV0x19//陀螺仪采样率,典型值:0x07(125Hz)#defineCONFIG0x1A//低通滤波频率,典型值:0x06(5Hz)#defineGYRO_CON
4、FIG0x1B//陀螺仪自检及测量范围,典型值:0x18(不自检,2000deg/s)#defineACCEL_CONFIG0x1C//加速计自检、测量范围及高通滤波频率,典型值:0x01(不自检,2G,5Hz)#defineACCEL_XOUT_H0x3B#defineACCEL_XOUT_L0x3C#defineACCEL_YOUT_H0x3D#defineACCEL_YOUT_L0x3E#defineACCEL_ZOUT_H0x3F#defineACCEL_ZOUT_L0x40#defineTEMP_OUT_H0x41#defineTEMP_OUT_L0x42#defineGYRO
5、_XOUT_H0x43#defineGYRO_XOUT_L0x44#defineGYRO_YOUT_H0x45#defineGYRO_YOUT_L0x46#defineGYRO_ZOUT_H0x47#defineGYRO_ZOUT_L0x48#definePWR_MGMT_10x6B//电源管理,典型值:0x00(正常启用)#defineWHO_AM_I0x75//IIC地址寄存器(默认数值0x68,只读)#defineSlaveAddress0xD0//IIC写入时的地址字节数据,+1为读取//****************************************//定义类型
6、及变量//****************************************uchardis[4];//显示数字(-511至512)的字符数组intdis_data;//变量//intTemperature,Temp_h,Temp_l;//温度及高低位数据//****************************************//函数声明//****************************************voiddelay(unsignedintk);//延时//LCD相关函数voidInitLcd();//初始化lcd1602voidlcd_p
7、rintf(uchar*s,inttemp_data);voidWriteDataLCM(uchardataW);//LCD数据voidWriteCommandLCM(ucharCMD,ucharAttribc);//LCD指令voidDisplayOneChar(ucharX,ucharY,ucharDData);//显示一个字符voidDisplayListChar(ucharX,ucharY,uchar*DData,L);//
此文档下载收益归作者所有