三轴角度检测(倾角传感器MMA7455(加速度传感器))

发布者:科技之翼最新更新时间:2015-07-23 来源: 51hei关键字:三轴角度检测  倾角传感器  MMA7455  加速度传感器 手机看文章 扫描二维码
随时随地手机看文章
#include
#include  //要用到_nop_();函数

#define uchar unsigned char
#define uint  unsigned int
/***************************************************************************/
/***********               单片机引脚定义                       ************/
/***************************************************************************/
sbit sda=P1^0;              //I2C 数据传送位
sbit scl=P1^1;              //I2C 时钟传送位
char x,y,z,num[9]={0,0,0};

/******************************************************************************/
/**********                     数据部分                            ***********/
/******************************************************************************/
#define IIC_READ  0x1D      //定义读指令
#define IIC_WRITE 0x1D      //定义写指令


#define LCD_data  P0             //数据口
sbit inter_0=P3^2;
sbit LCD_RS  =  P2^7;            //寄存器选择输入 
sbit LCD_RW  =  P2^6;            //液晶读/写控制
sbit LCD_EN  =  P2^5;            //液晶使能控制
sbit LCD_PSB =  P2^4;            //串/并方式控制
void delay_1ms(uint x) 
{ 
uint i,j; 
for(j=0;j0;t--)
 for(j=19;j>0;j--);
}
void delay_50ms(uchar t)
{
    uint j;
 for(;t>0;t--)
 for(j=6245;j>0;j--);
}


/*********************************************************************/
/**************               I2C通信部分              ***************/
/*********************************************************************/
void iic_start()               //函数功能:I2C通信开始
{
 sda=1;
    iic_delay();
 scl=1;
    iic_delay();
 sda=0;
 iic_delay();
 
}

void iic_stop()                //函数功能:I2C通信停止
{
 sda=0;
 iic_delay();
 scl=1;
 iic_delay();
 sda=1;
 iic_delay();
 
}

void iic_ack()                 //函数功能:I2C通信查应答位
{ 
    sda=1;
 scl=1;
 iic_delay();
 ack_sign=sda;
 scl=0;    
}
[page]
void iic_write_byte(uchar wdata)//函数功能:向I2C从机写入一个字节
{
     uchar i,temp,temp1;

  temp1=wdata;
     for(i=0;i<8;i++)
 {
             scl = 0;
    iic_delay();
    temp=temp1;
    temp=temp&0x80;
    if(temp==0x80)
     sda=1;    
    else
     sda=0;
     iic_delay();
     scl=1;
     iic_delay();
     scl=0;
     iic_delay();
     temp1=temp1<<1;
   
 }

}
char iic_read_byte(void)    //函数功能:从I2C从机中读出一个字节
{
     uchar x;
  char data_data;
     for (x=0;x<8;x++)
 { 
     data_data=data_data<<1;
  sda=1;
  iic_delay();
  scl=0;
  iic_delay();
  scl=1;
  iic_delay();
  if(sda==1)
     data_data|=0x01; 
  //else  
  //   data_data&=0xfe;
 }
 return data_data;
}
void iic_write(uchar byte_add,uchar wdata)//函数功能:按地址写入一字节数据
{
     uchar t;
  t=(IIC_WRITE<<1);
  iic_start();
  iic_write_byte(t);
  iic_ack();
  iic_write_byte(byte_add);
  iic_ack();
  iic_write_byte(wdata);
  iic_ack();
  iic_stop();
}
char iic_read(uchar byte_add)            //函数功能:按地址读出一字节数据
{
     uchar t;
  char x;
  t=(IIC_WRITE<<1);
  iic_start();
  iic_write_byte(t);
  iic_ack();
  iic_write_byte(byte_add);
  iic_ack();
  t=((IIC_READ<<1)|0x01);
  iic_start();
  iic_write_byte(t);
  iic_ack();
  x=iic_read_byte();
  iic_ack();
  iic_stop();
  return x;
}
           

void main()
{delay_1ms(10);                 //延时
    lcd_init();
 delay_1ms(5);
 
 
 
 iic_write(0x16,0x5);
 
 iic_write(0x10,0x32);//校正X值
 iic_write(0x12,0x62);//校正Y值

 delay_50ms(20);
 while(1)
 {
x=iic_read(0x06);
y=iic_read(0x07);
z=iic_read(0x08);
num[0]=x/100;
num[1]=x/10%10;
num[2]=x%10;

num[3]=y/100;
num[4]=y/10%10;
num[5]=y%10;


num[6]=z/100;
num[7]=z/10%10;
num[8]=z%10;

lcd_pos(0,0);
write_dat(num[0]+48);
delay_1ms(5);      
write_dat(num[1]+48);
delay_1ms(5);
write_dat(num[2]+48);
delay_1ms(5);

lcd_pos(1,0);
write_dat(num[3]+48);
delay_1ms(5);      
write_dat(num[4]+48);
delay_1ms(5);
write_dat(num[5]+48);
delay_1ms(5);

lcd_pos(2,0);
write_dat(num[6]+48);
delay_1ms(5);      
write_dat(num[7]+48);
delay_1ms(5);
write_dat(num[8]+48);
delay_1ms(5);

  
}} 
 
关键字:三轴角度检测  倾角传感器  MMA7455  加速度传感器 引用地址:三轴角度检测(倾角传感器MMA7455(加速度传感器))

上一篇:8*8点阵流水显示I 爱心“U”
下一篇:无线通信NRF24L01-发送

推荐阅读最新更新时间:2024-03-16 14:26

倾角传感器在汽车防盗系统中的应用
倾角传感器在汽车防盗系统中的应用 现代汽车的防盗系统通常采用对车体的冲击、振动监测的方式防盗预警,常用的多为磁效应传感器。虽然其敏感性能很好,但由于存在装配、安装误差,其频率响应不稳定,致使系统报警的可靠性降低,误报率较高。另外,拖车或整车搬运的方法也是目前窃赋盗窃汽车常用的手段,对付这种盗窃方式最有效的方法是对车体的倾斜角度进行监测,而磁效应传感器无法测量静态加速度,也就无法对此进行监测预警。总之,如今需要更合理、更可靠的倾角传感器来替代。 主流的都使用MEMS工艺制作的低价格、低功耗、单芯片集成双轴加速度传感器。 NA5200系列9~30V宽电压供电,可以测量±90°范围内的倾角,分辨率高达0.001°至0.005
[嵌入式]
MMA7260Q轴向高灵敏度加速度传感器
便携式电子产品功能的增加推动了对数据驱动器存储的需求,设计人员正在寻找占用较小板卡空间的改进保护系统。飞思卡尔半导体率先推出业界第一款三轴向高灵敏度加速度传感器——MMA7260Q。MMA7260Q能在XYZ三个轴向上以极高的灵敏度读取低重力水平的坠落、倾斜、移动、放置、震动和摇摆,它是同类产品中的第一个单芯片三轴向加速器。 1 小巧的巨人 飞思卡尔自1980年第一个传感器问世以来,销售的传感器数量在去年已经突破了具有里程碑意义的4.5亿大关。飞思卡尔帮助客户开发产品,用以监控身边的大量产品和技术。 MEMS传感器是面向加速和压力传感器市场的支持技术。飞思卡尔将非常小的电子和机械组件包含在一个封装中,做成了MEMS传感
[应用]
ADXL345倾角传感器的51单片机源程序
这是自己做的一个小程序,用到了STC12C5160S2这块单片机芯片做控制,实现ADXL345倾角传感器模块测量角度 单片机源程序如下: /******************************************************************** * 文件名 :GY-29 ADXL345 测角度,角度值显示 * 创建人 :飞翔的猫 * 描述 : 该文件实现了用GY-29 ADXL345角度的采集,并在数码管上显示出来。 使用单片机STC89C51 *晶振 :11.0592M *显示 :LCD1602 *编译环境 :Keil uVision4 ********
[单片机]
传感器产品技术-工业级加速度传感器揭秘
传感器是获得精准有效数据的第一触点;它们在将原始物理量转换为便于测量计算的数据量的过程中,发挥着重要作用。伴随着电力、船舶、航空、航天等多种工程技术的迅猛发展,对相关应用场景越来越需要更精确的动态数据。航空发动机、燃气轮机、蒸汽机等高能动力装置,对工业级传感器都提出了更加严苛的要求。在众多传感器里,笔者以工业级加速度传感器为例,结合应用和相关产品数据,将一些体会和经验做一个简单的分享。 什么是加速度传感器? 加速度传感器(Accelerometer),又称加速规、加速计,是用于测量加速度的一种感应装置,该装置在加速过程中对自身所受惯性力进行测量,通过牛顿第二定律得出加速度值。从感应机理上分为压电式、电容式、电感式、应变式、压阻
[手机便携]
传感器产品技术-工业级<font color='red'>加速度传感器</font>揭秘
基于微加速度传感器的无线鼠标的设计
引 言   微机械加速度传感器是一种典型的微机电系统(microelectromechanical system,MEMS),在航空、航天、汽车等领域已得到了越来越广泛的应用,但基于MEMS微加速度传感器技术的无线输入设备的研究和应用还不是很多,微加速度传感器用于输入设备的潜在优势还没有得到很好的应用。   鼠标是最常用的电脑输入设备,随着PDA、笔记本、可穿戴式电脑等便携设备的流行,传统的鼠标已经满足不了移动办公的需要。现有的滚轮式或光电式鼠标都需要一个平坦的工作表面,且自身的体积也比较大。而基于微加速度传感器的无线鼠标则完全没有这个限制,它可以自由自在的在空中移动来控制电脑;可以做得很小,便于携带,可以灵活地应用于各种场合
[工业控制]
基于微<font color='red'>加速度传感器</font>的无线鼠标的设计
博世新推出车用SMA130加速度传感器
车载信息服务系统和内置导航加速度传感器 世界最小的汽车应用加速度传感器 五大节能模式实现高效能 博世新推出的SMA130三轴加速度传感器为汽车信息娱乐系统与车载信息服务系统应用提供信息。汽车MEMS传感器产品经理Frank Sch fer说道: 目前,汽车生产商主要将加速度传感器输出的数据用于安全系统。另一方面,SMA130输出eCall紧急通知与导航系统所需的数据。 该传感器测量三轴加速度。此外,该传感器还能够测量车身侧倾、运动、振动及震动。博世计划于2015年年底实现基于MEMS技术开发的新式加速度传感器量产。 作为世界上最小的汽车应用加速度传感器,SMA 130的尺寸仅为2 x 2毫米,非常易于安装。尽
[传感器]
博世新推出车用SMA130<font color='red'>三</font><font color='red'>轴</font><font color='red'>加速度传感器</font>
基于加速度传感器的低功耗冲击记录仪的实现
引言 随着工业自动化水平的不断发展,产品质量监测、控制手段已经成为保证产品质量标准的不可缺少的一环。许多对装配有较高要求的产品,在运输过程中也同样对受到的冲击有极限要求。受到超过极限的冲击将给产品带来伤害,为企业带来不必要的损失。为监测运输过程,目前通常的做法是随产品一起安装冲击记录仪。 当前,国内普遍使用的冲击记录仪都是机械式冲击记录仪,其内部构造像一台照相机,有上下两个纸带卷筒,将记录纸带放入上纸筒,纸带的始端插入下纸筒。在纸带上方有一个固定记录笔的金属横梁,横梁上装有3只记录笔,分别记录X、Y、Z 3条轴线方向的冲击力。这种机械式冲击记录仪的缺点主要体现在以下几个方面: 机械式冲击记录,记录纸长度有限可记录的冲击数据也就有
[应用]
基于SCA100t和C8051F单片机的数字倾角传感器
  1 引言   随着市场需求和科技的发展,人们对工程、机械、航空、航海设备的可靠性和稳定性提出了更高的要求,其中姿态测量是一项重要的指标。倾角传感器是测量关于某一基准面的倾斜角或者是姿态的装置。目前,市场上已有单轴、双轴、三轴的 倾角传感器 ,但大多都价格昂贵或者体积较大。本文提出以双轴 传感器 SCA100t 和C8051F 单片机实现的设计,可大大降低系统成本,不但可以构成一个单独的数字输出传感器,也可以作为一个测量模块,嵌入到测量控制系统中,广泛应用于机器人控制、平台姿态(俯仰和滚转)测量、双轴加速度测量等系统中。   2 硬件电路设计   整个系统结构如图1 所示。可分为供电电路、角度测量和数据采集与输出等
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved