• 大小: 10.89MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-10-10
  • 语言: 其他
  • 标签: MMA8452  

资源简介

资料中有MMA8452相关的STM32测试代码,51测试代码,电路图验证过

资源截图

代码片段和文件信息

//***************************************
// GY-45 MMA8452 IIC测试程序
// 使用单片机STC89C51 
// 晶振:11.0592M
// 显示:电脑串口  波特率 9600
// 编译环境 Keil uVision2
// 参考宏晶网站24c04通信程序
// 时间:2011年12月1日
// QQ:531389319
//****************************************
#include  
#include      //Keil library  
#include     //Keil library
#include  
#define   uchar unsigned char
#define   uint unsigned int

sbit   SCL=P1^0;      //IIC时钟引脚定义
sbit    SDA=P1^1;      //IIC数据引脚定义

#define SlaveAddress   0x38 //定义器件在IIC总线中的从地址根据SA0地址引脚不同修改

typedef unsigned char  BYTE;
typedef unsigned short WORD;

BYTE BUF[8];                         //接收数据缓存区      
uchar geshibaiqianwan;           //显示变量
int  dis_data;                       //变量
int xyz;

void delay(unsigned int k);
void Init_MMA8452(void);             //初始化MMA8452
void conversion(uint temp_data);

void  Single_Write_MMA8452(uchar REG_Addressuchar REG_data);   //单个写入数据
uchar Single_Read_MMA8452(uchar REG_Address);                   //单个读取内部寄存器数据
void  Multiple_Read_MMA8452();                                  //连续的读取内部寄存器数据
//------------------------------------
void Delay5us();
void Delay5ms();
void MMA8452_Start();
void MMA8452_Stop();
void MMA8452_SendACK(bit ack);
bit  MMA8452_RecvACK();
void MMA8452_SendByte(BYTE dat);
BYTE MMA8452_RecvByte();
void MMA8452_ReadPage();
void MMA8452_WritePage();

uchar  RX_DATA;
//-----------------------------------

void serial_serve(void) interrupt 4
{  
RI=0;
RX_DATA=SBUF;
}
//*********************************************
//串口初始化
//9600 bps @ 11.059 MHz 
void init_uart()
{
TMOD=0x21;
TH1=0xfd;
TL1=0xfd;
SCON=0x50;
PS=1;      //串口中断设为高优先级别
TR0=1;    //启动定时器
TR1=1;
ET0=1;     //打开定时器0中断
ES=1;
EA=1;
}

//*********串口数据发送******************
void  SeriPushSend(uchar send_data)
{
    SBUF=send_data;  
while(!TI);TI=0;   
}
//*********************************************************
void conversion(uint temp_data)  
{  
    wan=temp_data/10000+0x30 ;
    temp_data=temp_data%10000;   //取余运算
qian=temp_data/1000+0x30 ;
    temp_data=temp_data%1000;    //取余运算
    bai=temp_data/100+0x30   ;
    temp_data=temp_data%100;     //取余运算
    shi=temp_data/10+0x30    ;
    temp_data=temp_data%10;      //取余运算
    ge=temp_data+0x30; 
}

/*******************************/
void delay(unsigned int k)
{
unsigned int ij;
for(i=0;i{
for(j=0;j<121;j++)
{;}}
}


/**************************************
延时5微秒(STC90C52RC@12M)
不同的工作环境需要调整此函数,注意时钟过快时需要修改
当改用1T的MCU时请调整此延时函数
**************************************/
void Delay5us()
{
    _nop_();_nop_();_nop_();_nop_();
    _nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
}

/**************************************
延时5毫秒(STC90C52RC@12M)
不同的工作环境需要调整此函数
当改用1T的MCU时请调整此延时函数
**************************************/
void Delay5ms()
{
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-03-07 09:46  MMA8452\
     目录           0  2011-12-13 08:45  MMA8452\51测试代码\
     目录           0  2011-12-13 15:05  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\
     目录           0  2011-12-14 08:42  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\
     文件       16578  2011-12-13 20:27  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\MMA8452_串口
     文件       10600  2011-12-13 20:31  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\MMA8452_串口.c
     文件        2882  2011-12-13 20:27  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\MMA8452_串口.hex
     文件          57  2011-12-13 20:27  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\MMA8452_串口.lnp
     文件       18210  2011-12-13 20:27  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\MMA8452_串口.LST
     文件       21983  2011-12-13 20:27  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\MMA8452_串口.M51
     文件       18682  2011-12-13 20:27  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\MMA8452_串口.OBJ
     文件        1089  2011-12-13 20:31  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\MMA8452_串口.Opt
     文件        2414  2011-12-13 20:31  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\MMA8452_串口.plg
     文件        2035  2011-12-13 20:31  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\MMA8452_串口.Uv2
     文件           0  2011-12-13 20:07  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\MMA8452_串口_Uv2.Bak
     文件        5115  2002-04-16 22:32  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\STARTUP.A51
     文件       11666  2011-12-13 20:27  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\STARTUP.LST
     文件         749  2011-12-13 20:27  MMA8452\51测试代码\51_MCU_GY-45_MMA8452\MMA8452_stc串口\STARTUP.OBJ
     目录           0  2013-08-30 19:55  MMA8452\STM32测试代码\
     目录           0  2013-08-30 19:55  MMA8452\STM32测试代码\CMSIS\
     文件       17273  2010-06-07 10:25  MMA8452\STM32测试代码\CMSIS\core_cm3.c
     文件       85714  2011-02-09 14:59  MMA8452\STM32测试代码\CMSIS\core_cm3.h
     目录           0  2013-08-30 19:55  MMA8452\STM32测试代码\CMSIS\startup\
     文件       15766  2011-03-10 10:52  MMA8452\STM32测试代码\CMSIS\startup\startup_stm32f10x_cl.s
     文件       15503  2011-03-10 10:52  MMA8452\STM32测试代码\CMSIS\startup\startup_stm32f10x_hd.s
     文件       15692  2011-03-10 10:52  MMA8452\STM32测试代码\CMSIS\startup\startup_stm32f10x_hd_vl.s
     文件       12376  2011-03-10 10:52  MMA8452\STM32测试代码\CMSIS\startup\startup_stm32f10x_ld.s
     文件       13656  2011-03-10 10:52  MMA8452\STM32测试代码\CMSIS\startup\startup_stm32f10x_ld_vl.s
     文件       12765  2011-03-10 10:52  MMA8452\STM32测试代码\CMSIS\startup\startup_stm32f10x_md.s
     文件       14073  2011-03-10 10:51  MMA8452\STM32测试代码\CMSIS\startup\startup_stm32f10x_md_vl.s
     文件       15955  2011-03-10 10:51  MMA8452\STM32测试代码\CMSIS\startup\startup_stm32f10x_xl.s
............此处省略385个文件信息

评论

共有 条评论