浙江工业大学单片机第五次实验.docx

浙江工业大学单片机第五次实验.docx

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Cortex-M4原理与实践实验报告

姓名

学号

指导老师

专业班级

学院信息工程学院

提交日期2017年12月2日

实验八:三轴加速度传感器实验

一、实验目的

1.了解I2C总线的特点和功能;

2.了解加速度传感器的原理;

3.学会使用I2C总线对ADXL345芯片进行操作.

二、实验过程(包括流程图)

1.加速度传感器简介

加速度传感器的基本结构通常是质量—弹簧—阻尼二阶惯性系统。由质量块m、弹簧k和阻尼器C所组成的惯性型二阶系统。质量块通过弹簧和阻尼器与传感器基座相连接。传感器基座与被测运动体相固连,因而随运动体一起相对于运动体之外惯性空间的某一参考点作相对运动。

由于质量块不与传感器基座相固连,因而在惯性作用下将于基座之间产生相对位移。质量块感受加速度并产生与加速度成比例的惯性力,从而使弹簧产生与质量块相对位移相等的伸缩变性,弹簧变形又产生与变形量成比例的反作用力。当惯性力与弹簧反作用力相平衡时,质量块相对于基座的位移与加速度成正比例,故可通过该位移或惯性力来测量加速度。加速度器有很多类型:位移式加速度传感器,应变式加速度传感器,由陀螺仪(角速度传感器)的改进的角加速度计等。按照原理可以分为变磁阻式、变电容式、霍尔式等等。

2.加速度传感器资源及特性

我们的实验板中采用三轴数字加速度计ADXL345,ADXL345是ADI公司于2008年推出的采用MEMS技术具有SPI和数字输出功能的三轴加速度计,具有小巧轻薄、超低功耗、可变量程、高分辨率等特点:它只有2mm×5mm×1mm的外形尺寸,面积大小相当于小拇指指甲盖的1/3;在典型电压。电压VS=2.5V时功耗电流约为25~130μA,比先期采用模拟输出的产品ADXL330功耗典型值低了约70~175μA;最大量程可达±16g,另可选择±2、±4、±8g量程,可采用固定的4mg/LSB分辨率模式,该分辨率可测得0.25°的倾角变化。ADXL345提供一些特殊的运动侦测功能,可侦测出物体是否处于运动状态,并能敏感出某一轴加速度是否超过了用户自定义门限,可侦测物体是否正在跌落。此外,还集成了一个32级FIFO缓存器,用来缓存数据以减轻处理器的负担。ADXL345可在倾斜敏感应用中测量静态重力加速度,也可在运动甚至振动环境中测量动态加速度,非常适合于移动设备应用,可望在手机、游戏和定位设备、微小型导航设备、硬盘保护、运动健身器材、数码照相机等产品中得到广泛应用。

3.ADXL345引脚功能描述

4.ADXL345的寄存器

实验流程图

图1实验流程图

三、实验代码、注释(最好每条注释)及现象

#includestdint.h

#includestdbool.h

#includeinc/hw_memmap.h

#includeinc/hw_types.h

#includedriverlib/pin_map.h

#includedriverlib/sysctl.h

#includedriverlib/gpio.h

#includeutils/uartstdio.h

uint32_tui32SysClock;

#define_NOP()_nop()

#defineSLAVE_ADDRESS_W0x3A//写ADXL345L时的从机地址

#defineSLAVE_ADDRESS_R0x3B//读ADXL345L时的从机地址

//UART初始化

void

InitConsole(void)

{//由于UART0使用PA0,PA1两个引脚,因此需要使能GPIOA模块

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);

//因为有引脚复用,所以要对PA0和PA1两个引脚的功能进行选择,这里将它们选择为执行UART0模块的功能

GPIOPinConfigure(GPIO_PA0_U0RX);

GPIOPinConfigure(GPIO_PA1_U0TX);

//对于PA0和PA1两个引脚,在将它们作为UART功能使用之前,需要对它们做一些有关UART的配置

GPIOPinTypeUART(GPIO_PORTA_BASE,GPIO_PIN_0|GPIO_PIN_1);

UARTStdioConfig(0,115200,ui32SysClock);//波特率设为115200

}

文档评论(0)

159****1944 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档