首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

MMA7660应用教程

2013-04-02 
MMA7660使用教程MMA7660是一个3轴g-sensor,它主要用于测量倾斜角,惯性力,冲击力及震动.工作原理:mma7660是

MMA7660使用教程

         MMA7660是一个3轴g-sensor,它主要用于测量倾斜角,惯性力,冲击力及震动. 

 工作原理:

          mma7660是一种电容式g-sensor.电容式g-sensor大多为欧美厂商,其技术是在wafer的表面做出梳状结构,当产生动作时,由侦测电容差来判断变形量,反推出加速度的值.

       与压阻式不同的是,电容式很难在同一个结构中同时感测到三个轴(X,Y,Z)的变化,通常都是X,Y和Z分开来的, (这也就是为什么当板子水平放置时,无论如何改变X,Y的位置,都不会有中断产生,因为这时它只能检测Z轴的变化,X,Y的变化它检测不到,只有当我们将板子倾斜一个角度后才能检测X,Y的变化) .而压阻式在同一个结构就能感测到三个轴的变化. 

工作模式:

        mma7660主要有三种工作模式.(通过设置MODE寄存器) 

        1).  Standby(待机)模式

              此时只有I2C工作,接收主机来的指令.该模式用来设置寄存器.也就是说,要想改变mma7660的任何一个寄存器的值,必须先进入Standby模式.设置完成后再进入Active或Auto-Sleep模式.

         2).Active and Auto-Sleep (活动并且Auto-Sleep)模式 

              mma7660的工作状态分两种,一种是高频度采样,一种是低频度采样.为什么这样分呢,为了节省功耗,但是在活动时又保持足够的灵敏度. 

               所以说mma7660的Active模式其实又分两种模式,一种是纯粹的Active模式,即进了Active模式后一直保持高的采样频率,不变.还有一种是Active& Auto-Sleep模式,就是说系统激活后先进入高频率采样,经过一定时间后,如果没检测到有活动,它就进入低频率采样 ,所以就叫做Auto-Sleep, Sleep并不是真的Sleep ,只是说降低采样频率.

低频率采样模式又叫Auto-Wake摸式,即自动唤醒模式.它不是睡眠模式, 它只是降低采样频率. 

        3). Auto-Wake (自动唤醒)模式 

             Auto-Sleep后就进入低频率采样模式,这种模式就叫做Auto-Wake摸式,即自动唤醒模式.它不是睡眠模式,它只是降低采样频率.

 寄存器:

MMA7660应用教程

 中断设置:

MMA7660应用教程

 摇晃感应的配置:

//ConfigureMMA7660FC as Shake Detection

Write to the MODEregister = 0x00                 //Standby Mode

Write to the SPCNTregister = 0x00                  //Nosleep count

Write to the INTSUregister = 0xE0            //ConfigureShake Interrupt on 3 axes

Write to the PDETregister = 0xE0                 //No tapdetection enabled

Write to the SRregister = 0x02                      //32 samples/s

Write to the PDregister = 0x00                    //Notap detection debounce count enabled

Write to the MODEregister = 0x41            //Active Mode,INT = push-pull and active low

 

//Interrupt serviceroutine

   If (Shake INT occurs)

       REGTILT=Read TILT Register ;          //Read TILT Register value    

       If (Shake =1)                       //Verify “Shake” bit inTILT register

       Shake occurs

更多代码:http://download.csdn.net/detail/markmin214/5192348

1楼xiaohui6630995094天前 17:32
很好的文章,学习了

热点排行