MSP430 MMA7455 加速度传感器的SPI通信(附程序和资料)
[复制链接]
今天上午花了个把小时看了一下MMA7455的数据手册,写了一个MMA7455 加速度传感器的底层程序,采用SPI通信方式 ,网上关于此芯片SPI方式的资料好像比较少,但我个人觉得SPI比IIC好用很多,简单实用,而且速度比IIC要快 。
现简单说明一下!!!此程序原创,写的程序应该是比较容易看懂的,采用软件模拟SPI实现,(数据时8位模式的,好像10位模式很简单,只需要换个地址就OK了,只测试了8位数据模式)模块化的程序,几乎不用修改可以直接移植到51、AVR等其他单片机上(只需要改个对应的IO口即可!!),实验室人在51上测试没有问题。还算比较稳定。测试了一下X、Z轴数据偏差不大,但是Y轴偏差比较大,应该需要矫正补偿!!!
对于矫正的问题,我也看了一下,好像内部有个矫正寄存器,X、Y、Z轴对应的OFF7-OFF0,不知道具体如何矫正,还有其对应的64LSB-0.5LSB是什么意思,LSB不是低位的意思吗????
还有一个任务就是把X、Y、Z轴的加速度转化为对应的角度值,这个怎么执行呢??个人想了一下,应该是通过X、Y、Z轴的加速度算出传感器平面和重力加速度方向的夹角,计算出这个值之后,采用arcsin来算出传感器平面与重力方向的夹角。不知道正不正确,具体实现呢???直接采用math.h头文件中的数学函数实现吗????那如果要计算与对应基准平面的夹角呢???不是与重力方向夹角。这个还是有点问题。请大虾指点。
特别,把我今天上午研究的程序和所用到得资料全部上传,供大家参考!!!!!
注意哦!!全部免费哦!!大家不需要芯币可以直接下载!!!!谢谢!!!
[ 本帖最后由 li460135301 于 2011-8-28 22:35 编辑 ]
|