ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:432.99KB ,
资源ID:1500263      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/1500263.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式综合实验周.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

嵌入式综合实验周.docx

1、嵌入式综合实验周嵌入式系统原理及应用综合实验报告专业班级:姓名: 学 号:_时 间:_指导教师:_2017年 9 月 17 日嵌入式系统原理及应用综合实验报告摘要:信盈达电子产品信盈达智能穿戴开发平台,广泛应用于嵌入式生产实训教学中。该文通过分析STM32F40xxx系列微控制器的架构和操作原理,通过使用信盈达智能穿戴开发平台,给出了相关的编程设计方法和注意事项关键词:嵌入式 STM32 智能穿戴。1 引言IEEE(Institute of Electrical and Electronics Engineers,美国电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和

2、设备的装置”。原文为:Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。嵌入式系统,通常指一种专用的计算机设备,或作为装置和设备的一部分,亦或是指单纯的一块控制电路板。事实上带有数字接口的设备都使用了嵌入式系统。从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。本次实训采用了信盈达智能穿戴

3、开发平台,通过为期一周的学习,快速掌握了STM32F40XXX系列微控制器的基础使用方法,并通过编程实现了相关的功能。2 总体设计方案2.1 设计思路2.1.1设计一个智能穿戴系统,实现下列功能:显示小组、班级、学号;显示实时温度、湿度;测量并显示心率;测量并显示血压;返回初始界面。2.2 设计方框图3 系统硬件设计3.1 微控制器电路的设计图1 STM32F11微控制器电路3.2 按键电路的设计图2 按键电路3.3温湿度检测电路图3 SHT20温湿度检测电路SHT20是新一代sensirion湿度和温度传感器,采用数字输出方案,带有I2C接口,具有优异的长期稳定性,本电路采用I2C方案进行通

4、讯。3.4 OLED显示电路图4 OLED显示电路平台搭载了一款13264大小的OLED屏幕。OLED是有机发光二极管的缩写,又称有机电激光显示、有机发光半导体。其具有自发光、广视角、超高对比度、低耗电的优良性能,为一种高端的显示设备。4 系统软件设计图5 系统流程图相关程序编写:main函数所需头文件:#include stm32f4xx.h#include key.h#include led.h#include exti.h#include uart.h#include delay.h#include timer.h#include oled.h#include spi.h#include

5、 bmp.h#include iic.h#include sht20.h按键程序:在main函数中,按键程序采用switch语句,按下后累计按下次数,以此选择软件功能模块。switch(page) case 1: OLED_clear(); name_page(); break; case 2: OLED_clear(); clock_page(); break; case 3: OLED_clear(); pulse_page(); break; case 4: OLED_clear(); bp_page(); break; case 5: OLED_clear(); kal_km_page

6、(); break; default: break; SPI程序:SPI 是一种全双工串行接口,英文全称: Serial Peripheral Interface,可处理多个连接到指定总线上的主机和从机。在数据传输过程中,总线上只能有一个主机和一个从机通信。在数据传输中,主机总是会向从机发送一帧 8到 16 个位的数据,而从机也总会向主机发送一帧字节数据。“全双工”意义为:主机、从机同时给对方发送数据。 SPI,是一种高速的,全双工, 同步的通信总线(“同步” 的意思是数据传输需要时钟线),并且在芯片的管脚上只占用四根线,“信盈达智能穿戴设备开发平台”上的 OLED 屏使用的是 SPI 接口。

7、SPI 控制器的初始化步骤有以下几步:(1) 使能 SPI 复用功能所映射的 GPIO 口时钟。(2) SPI 控制器时钟使能。(3) 配置 GPIO 为复用功能。( MOSI/MISO/CLK)(4) GPIO 复用功能为第几复用功能( AFx)。(5) 配置 GPIO 输出速率为 50MHz。(6) 配置 SPIx-CR1 寄存器。 相关代码如下所示:void Spi1_init(void) RCC-AHB1ENR |= 1APB2ENR |= 1MODER &= (0X3F MODER |= 0X2A AFR0 &= (0XFFF AFR0 |= 0X555 OSPEEDR &= (0X

8、3F OSPEEDR |= 0X2A CR1 = 0; SPI1-CR1 |= 3 CR1 |= 1 CR1 |= 4 CR1 |= 1 SR & (1DR = val; while (SPI1-SR & (1DR); SHT20芯片程序: #include iic.h #include delay.h#include sht20.h#define SHT20ADDR 0x80 /SHT20写地址#define ACK 0 /应答信号#define NACK 1 /非应答信号#define FAIL 1 /读取温湿度失败的返回值。#define READ_TEMP_COMD 0xf3 /读取温

9、度命令#define READ_HUMI_COMD 0xf5 /读取湿度命令TempHumiValue_t temp_humi_Value;static void SHT20_setResolution(void);static void SHT20_setResolution(void);void SHT20_softReset(void);static u8 SHT20_writeOneByte(u8 dataToWrite) u8 ack; ack = IIC_WriteByte(dataToWrite); /发送字节 return ack;void SHT20_softReset(vo

10、id) IIC_Start(); /start I2C SHT20_writeOneByte(SHT20ADDR&0xfe); /I2C address + write SHT20_writeOneByte(0xfe); /soft reset IIC_Stop(); /stop I2C void SHT20_Init(void) SHT20_softReset();static u8 SHT20_readOneByte(u8 ack) u8 temp; temp=IIC_ReadByte(ack); return temp;static void SHT20_setResolution(vo

11、id) IIC_Start(); /Start I2C if(SHT20_writeOneByte(SHT20ADDR&0xfe)=ACK) /I2C address + write + ACK if(SHT20_writeOneByte(0xe6)=ACK) /写用户寄存器 if(SHT20_writeOneByte(0x83)=ACK); /设置分辨率 11bit RH% 测量时间:12ms(typ.) & 11bit T 测量时间:9ms(typ.) IIC_Stop(); /Stop I2C float SHT20_readTemOrHum(u8 commod) float temp;

12、 /温度 u8 ack=1; u8 MSB,LSB; /温度、相对湿度的寄存器数据 float Humidity,Temperature; /温湿度的转换结果 SHT20_setResolution(); /设置帧率8bit,9bit,10 bit,11bit ,12bit,13bit,14bit IIC_Start(); /iic开始信号 ack = SHT20_writeOneByte(SHT20ADDR&0xfe); if( ack = ACK ) /写地址,并等待ACK if(SHT20_writeOneByte(commod)=ACK) /写命令 do delay_ms(6); /延

13、时 IIC_Start(); /发送开始信号 while(SHT20_writeOneByte(SHT20ADDR|0x01)=NACK); /无应答则整形,还在测量中,如果有应答,则结束当前循环 MSB = SHT20_readOneByte(ACK); /读Data(MSB),给应答ACK LSB = SHT20_readOneByte(ACK); /读Data(LSB),给应答ACK SHT20_readOneByte(NACK); /读Checksum ,不给应答NACK IIC_Stop(); /Stop I2C LSB &= 0xfc; /Data (LSB) 的后两位在进行物理计算前前须置0 temp = MSB*256 + LSB; /十六进制转成十进制 i

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1