




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验2 MINI STM32按键控制LED灯实验一、 实验目的1、 掌握嵌入式程序设计流程。2、 熟悉STM32固件库的基本使用。二、 实验内容1、 编程使用I/O口作为输入,控制板载的两个LED 灯。2、 使用固件库编程。三、 实验设备硬件: PC机 一台 MINI STM32开发板 一套软件: RVMDK V3.8 一套 Windows XP 一套四、 实验步骤1、 设计工程,使用固件库来编程设置。1.1、在这里我们建立一个文件夹为: STM32-Projects. 点击Keil 的菜单:Project >New Uvision Project ,然后将目录定位到刚才建立的文件夹ST
2、M32-Projecst 之下,在这个目录下面建立子文件夹 shiyan1, 然后定位到 shiyan1目录下面,我们的工程文件就都保存到shiyan1 文件夹下面。工程命名为shiyan1, 点击保存. 1.2、这里我们定位到STMicroelectronics 下面的STM32F103RB( 针对我们的mini 板子是这个型号。1.3、弹出对话框“Copy STM32 Startup Code to project .”,询问是否添加启动代码到我们的工程中,这里我们选择“否”,因为我们使用的ST固件库文件已经包含了启动文件。1.4、接下来,我们在 Template 工程目录下面,新建3 个
3、文件夹 CORE, USER, STM32F10x_FWLib 。USER 用来放我们主函数文件 main.c, 以及其他包括system_stm32f10x.c 等等,CORE 用来存放启动文件等,STM32F10x_FWLib 文件夹顾名思义用来存放ST官方提供的库函数源码文件.1.5、.打开官方固件库包,定位到我们之前准备好的固件库包的目录。STM32F10x_StdPeriph_Lib_V3.5.0LibrariesSTM32F10x_StdPeriph_Driver 下面,将目录下面的src,inc 文件夹 copy 到我们刚才建立的STM32F10x_FWLib 文件夹下面。1.6
4、、我们将文件加入我们的工程中去。右键点击Target1,选择 Manage Components 1.7、把将固件库包里面相关的启动文件复制到我们的工程目录 CORE 之下。 打开官方固件库包,定位到目录。STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3CoreSupport 下面,将文件core_cm3.c 和文件 core_cm3.h 复制到 CORE 下面去。 STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10xstartuparm 下面,将里面所有的文
5、件同样复制到 CORE 下面1.8、定位到目录:STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10x 将里面的三个文件stm32f10x.hsystem_stm32f10x.csystem_stm32f10x.h,复制到我们的USER 目录之下。然后STM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_Template 下面的4 个文件main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h复制到
6、 USER 目录下面1.9、Project Targets 一栏,我们将 Target 名字修改为Template, 然后在 Groups 一栏删掉一个,建立三个Groups :USER,CORE,FWLIB.点击OK.可以看到我们的Target 名字以及Groups 情况。1.10、往 Group 里面添加我们需要的文件。右键点击点击Tempate,选择选择Manage Components.然后选择需要添加文件的 Group,这里第一步我们选择 FWLIB,然后点击右边的 Add Files,定位到我们刚才建立的目录STM32F10x_FWLib/src 下面,将里面所有的文件选中(Ctr
7、l+A) ,然后点击Add ,然后Close. 1.11、用同样的方法,将 Groups 定位到CORE 和USER 下面,添加需要的文件。这里 我们的CORE 下面需要添加的文件为core_cm3.c ,startup_stm32f10x_md.s ,USER 目录下面需要添加的文件为main.c,stm32f10x_it.c,system_stm32f10x.c. 这样我们需要添加的文件已经添加到我们的工程中去了,最后点击 OK,回到工程主界面 1.12、下面我们要告诉 MDK,在哪些路径之下搜索相应的文件。回到工程主菜单,点击魔术棒 ,出来一个菜单,然后点击 c/c+ 选项. 然后点击
8、Include Paths 右边的按钮。 弹出一个添加path 的对话框,然后我们将图上面的 3 个目录添加进去。记住,keil 只会在一级目录查找,所以如果你的目录下面还有子目录,记得path 一定要定位到最后一级子目录。然后点击OK. 1.13、定位到 c/c+ 界面,然后复制“STM32F10X_MD,USE_STDPERIPH_DRIVER” 到 Define里面。1.14、把编写好的主函数放在USER里。1.15、下面还需要配置,让编译之后能够生成hex 文件。同样点击魔术棒,进入配置菜单,选择Output 。然后勾上下三个选项。 1.16、编译代码,可以看到生成了 hex 文件,这
9、个文件我们用 mcuisp 下载到 mcu。1.17、编译结果2、编写代码,实现I/O编程及LED 控制;#include "led.h"#include "delay.h"#include "sys.h"#include "key.h"int main(void) u8 t; SystemInit(); /系统时钟设置delay_init(72); /延时初始化NVIC_Configuration();/设置NVIC中断分组2:2位抢占优先级,2位响应优先级 LED_Init();/初始化与LED连接的硬件接口K
10、EY_Init();/初始化与按键连接的硬件接口while(1)t=KEY_Scan();/得到键值 if(t) switch(t) case 1:LED0=!LED0;break;case 2:LED1=!LED1;break;case 3:LED0=!LED0;LED1=!LED1;break;else delay_ms(10); 3、 实验现象:按下 同时控制两盏灯的亮灭。 按下 就红灯亮,按下 就红绿亮。五、实验与总结有了上次实验,这次试验相对来说难度没那么大,使用固件库的基本流程都已学会,可以说是比较熟悉了。而由于借出过一次软件了,所以对软件也比较熟悉,操也作起来比较熟练,没有第一次那么陌生了,慢慢来总会有进步的。对于这次试验,感觉没什么难度,可能是比较熟悉的原因吧,很快就可以做好了。但是,在实验过程中却遇到了一个比较大的问题,就是下载的时候老是检查不到通道,试过很多种方法都没有成功,这就导致
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保型氟硅表面活性剂行业跨境出海项目商业计划书
- 小鸭子美术课件设计与教学应用
- 高精度函数信号发生器行业深度调研及发展项目商业计划书
- 2025届河南省新乡七中学数学八下期末综合测试模拟试题含解析
- 广西百色市右江区2025届数学八下期末联考模拟试题含解析
- 山东省泰安市大津口中学2025年七下数学期末教学质量检测试题含解析
- 江苏省无锡市太湖高级中学2024-2025学年高一下学期期中考试数学试卷(解析版)
- 河南省洛阳市2024-2025学年高一下学期期中考试数学试卷(解析版)
- 跨学科学习导向的初中语文说明性文本教学研究
- 病情观察护理教学
- 附件1:中国联通动环监控系统B接口技术规范(V3.0)
- 隧道吊柱安装作业指导书
- GB/T 1185-2006光学零件表面疵病
- 区域消防安全风险评估规程DB50-T 1114-2021
- 幼教培训课件:《家园共育体系建构与实施策略》
- 安全输血管理制度培训课件
- 小学美术1色彩的情感课件
- 奥沙利铂过敏反应
- 项目部临时动火作业审批表
- 项目质量管理评价表
- 饮料生产公司应急预案汇编参考范本
评论
0/150
提交评论