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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

Keil MDK5认识 微控制器STM32原理与应用实验指导.docx

1、Keil MDK5认识 微控制器STM32原理与应用实验指导Keil MDK5认识1 实验目的(1) 学习使用Keil MDK5建立工程; (2) 熟悉Keil MDK5编程语言;(3) 学会使用Keil MDK5的软件仿真。2 实验任务(1) 安装Keil MDK5软件,安装芯片软件包,注册软件;(2) 新建工程文件;(3) 下载程序,并进行软件仿真,观察程序运行结果。3 实验说明STM32所有系列的微控制器都可以在Keil MDK5下进行软件开发。Keil MDK,也称MDK-ARM,Realview MDK、I-MDK、uVision4等。目前Keil MDK 由三家国内代理商提供技术支

2、持和相关服务。MDK-ARM软件为基于Cortex-M、Cortex-R4、ARM7、ARM9处理器设备提供了一个完整的开发环境。MDK-ARM专为微控制器应用而设计,不仅易学易用,而且功能强大,能够满足大多数苛刻的嵌入式应用。4 实验步骤(1) 安装Keil MDK5软件,安装芯片软件包,注册软件;(2) 建立工程文件,选择芯片型号,加载系统文件、内核文件、标准外设驱动函数,添加系统启动文件;(3) 设置头文件加载路径,需要配置一个全局的宏定义变量,定位到c/c+界面,然后填写“STM32F10X_HD,USE_STDPERIPH_DRIVER”到Define输入框里面;(4) 编译整个工程

3、,根据提示修改语法错误;(5) 下载程序;(6) 选择仿真模式,利用模拟示波器观察程序运行结果。MDK5软件的安装和注册(1) 打开本课程所提供的资料,进入到MDK5文件夹。选中后Keil uvision5 MDK版,右键解压到当前文件夹。图2.1 解压Keil uvision5 MDK版(2) keygen是注册软件,mdk518就是Keil MDK5软件了,我们通常称之为Keil5。(后面为方便统称为Keil5)图2.2 MDK5文件夹(3) 开始安装Keil5,选mdk518,右键选择以管理员的身份运行此软件。(如果不这样做,可能相关驱动无法安装)图2.3 开始安装(4) 点击NEXT。

4、图2.4 点击NEXT(5) 选中“I agree to”,点击NEXT。图2.5 接受服务条款(6) 选定安装的路径,路径不可含有中文,必须是全英文。图2.6 设置安装路径(7) 随便填写信息,使用英文。图2.7 填写用户基本信息(8) 点击NEXT安装。图2.8 等待安装(9) 如果弹出是否要安装设备的界面,点击安装即可。(安装或者不安装都可以,因为到后面还要安装CH340的驱动)图2.9 安装串口驱动(10) 出现这个弹窗点击关闭即可。图2.10 关闭弹窗(11) 把MDK5弹出的所有窗口全部关闭。图2.11 关闭所有弹窗(12) 接下来,开始安装STM32F1系列的固件包。进入到此路径

5、。第一个文件是固件库安装包,双击并根据提示进行安装。图2.12 安装固件包(13) 安装完成后,开始注册软件。回到桌面,左键选中,然后右键以管理员的身份运行。(注意win7以上的系统一定要以管理员的身份打开此软件。否则,激活会失败。)点击file,然后选择“License Management”。图2.13 注册软件(14) 复制CID码。图2.14 CID码(15) 左键选中keygen,右键单击选择以管理员的身份运行。图2.15 运行keygen图2.16 生成LIC(16) 将生成的LIC复制粘贴到下面的那个框中,点击Add LIC。图2.17 添加LIC注意:如果没有注册机注册,软件将

6、只能编译32KB以下的文件。新建工程模板(1) 新建文件夹Template,点击MDK的菜单:ProjectNew Uvision Project,然后将路径定位到Template之下,在这个文件夹下面建立子文件夹USER,将工程文件就保存在USER文件夹中。工程命名为Template,点击保存。 图2.18 新建工程(2) 接下来会出现一个选择CPU的界面,就是选择芯片型号。如图2.19所示,实训平台所使用的芯片型号为STM32F103ZET6,所以在这里选择STMicroelectronicsSTM32F1 SeriesSTM32F103STM32F103ZET6。图2.19 选择芯片类型

7、图2.20 选择芯片型号(3) 点击OK,MDK会弹出Manage Run-Time Environment对话框,这是MDK5 新增的一个功能,在这个界面,可以添加自己需要的组件,从而方便构建开发环境,由于本实验并没有用到,直接关闭即可。图2.21 添加组件对话框(4) 现在USER目录下面包含两个文件夹和两个文件。Template.uvprojx是工程文件,非常关键,不能删除。Listings和Objects文件夹是MDK自动生成的文件夹,用于存放编译过程产生的中间文件,将其删除即可。图2.22 删除Listings和Objects文件夹(5) 接下来,在Template工程目录下面,新建

8、3个文件夹CORE、OBJ以及TM32F10x_FWLib。CORE用来存放核心文件和启动文件,OBJ是用来存放编译过程文件以及hex文件,STM32F10x_FWLib文件夹用来存放ST官方提供的库函数源码文件。已有的USER目录除了用来放工程文件外,还用来存放主函数文件main.c,以及其他包括system_stm32f10x.c等。图2.23 新建文件夹(6) 将固件库包里面相关的启动文件复制到工程目录CORE文件夹。打开路径STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3CoreSupport,将文件core_cm3.c和文件core_cm

9、3.h复制到CORE文件夹中。然后在路径STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTTM32F10xstartuparm下面,将里面startup_stm32f10x_hd.s文件复制到CORE文件夹中。将官方的固件库包里的源码文件复制到工程目录文件夹下面。打开官方固件库包,STM32F10x_StdPeriph_Lib_V3.5.0LibrariesSTM32F10x_StdPeriph_Driver 路径下,将目录下面的src和inc文件夹复制到STM32F10x_FWLib文件夹下面。src 存放的是固件库的

10、.c文件,inc存放的是对应的.h文件,打开这两个文件目录过目一下里面的文件,每个外设对应一个.c文件和一个.h头文件。图2.24 src文件夹(7)STM32F10x_StdPeriph_Lib_V3.5.0LibrariesCMSISCM3DeviceSupportSTSTM32F10x路径下,将里面的三个文件stm32f10x.h、system_stm32f10x.c、system_stm32f10x.h,复制到USER目录下。STM32F10x_StdPeriph_Lib_V3.5.0ProjectSTM32F10x_StdPeriph_Template路径下的4个文件main.c、s

11、tm32f10x_conf.h、stm32f10x_it.c、stm32f10x_it.h复制到 USER目录下面。图2.25 USER文件夹(8) 到此,需要的固件库相关文件已经复制到了工程目录下面,现在需要将这些文件加入到工程中。右键点击Template,选择Manage Components。图2.26 Manage Components(9) 下面往Group里面添加工程需要的文件。先选中FWLIB,然后点击右边的Add Files, 进入STM32F10x_FWLib/src路径下,将里面所有的文件选中(Ctrl+A),然后点击Add,然后点击Close可以看到Files列表下面已经

12、包含添加的文件。这里需要说明一下,在平时的项目工程中,如果只用到了其中的某个外设,是不需要添加没有用到的外设库文件的。本实验中选择全部添加进来是为了后面方便,不用每次添加,当然这样的坏处是工程太大,编译起来速度慢,可以根据需要自行选择。图2.27 添加src文件图2.28 添加过后的FWLIB(10) 用同样的方法,将Groups定位到CORE和USER下面,添加需要的文件。CORE下面需要添加的文件为core_cm3.c、core_cm3.h、startup_stm32f10x_hd.s (注意:默认添加的时候文件类型为.c, 也就是添加startup_stm32f10x_hd.s启动文件的

13、时候,需要将选择文件类型更改为All files才能看得到这个文件),USER目录下面需要添加的文件为main.c、stm32f10x_it.c、system_stm32f10x.c。图2.29 添加过后的CORE图2.30 添加过后的USER(11) 在编译工程之前要先选择编译中间文件编译后存放目录。方法是点击魔术棒,然后选择Output选项下面的“Select folder for objects”,然后选择目录为新建的OBJ目录。这里需要注意,如不设置Output路径,那么默认的编译中间文件存放目录就是Keil MDK5自动生成的Objects目录和Listings目录。图2.31 更改

14、Output路径(12) 添加头文件路径。对于任何一个工程,都需要把工程中引用到的所有头文件的路径都包含到进来。回到工程主菜单,点击魔术棒,出来一个弹窗,然后点击c/c+选项。然后点击Include Paths右边的按钮。弹出一个添加path的对话框,然后我们将如图2.33的3个目录添加进去。注意:Keil5只会在一级目录查找,所以如果你的目录下面还有子目录,记得path一定要定位到最后一级目录。然后点击OK。图2.32 添加头文件路径(13) 编译工程。可以看到出现很多错误。这是因为3.5版本的库函数在配置和选择外设的时候通过宏定义来选择的,所以需要配置一个全局的宏定义变量。打开c/c+界面

15、,然后填写“STM32F10X_HD,USE_STDPERIPH_DRIVER”到Define输入框里面。(注意:实训平台使用的时STM32F103ZET6位大容量芯片,所以填写STM32F10X_HD,如果是中容量那么STM32F10X_HD修改为 STM32F10X_MD,小容量修改为STM32F10X_LD。)然后点击OK。图2.33 通过宏定义选择外设(14) 这次在编译之前,打开工程USER下面的main.c,复制下面一段代码到main.c覆盖已有代码,然后进行编译。(记得在代码的最后面加上一个回车,否则会有警告,这是软件本身的bug,与代码无关)可以看到,这次编译已经成功了。#in

16、clude stm32f10x.h void Delay(u32 count) /延迟函数 u32 i=0; for(;iPB.5 端口配 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; /推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; /IO口速度为50MHGPIO_Init(GPIOB, &GPIO_InitStructure); /初始化 GPIOB.5 GPIO_SetBits(GPIOB,GPIO_Pin_5); /PB.5 输出高 GPIO_Init(GPIOE, &GP

17、IO_InitStructure); /初始化 GPIOE.5 GPIO_SetBits(GPIOE,GPIO_Pin_5); /PE.5 输出高 while(1) GPIO_ResetBits(GPIOB,GPIO_Pin_5); /PB.5 输出低 Delay(3000000); /延迟GPIO_SetBits(GPIOB,GPIO_Pin_5); Delay(3000000); 图2.34 编译工程可以看到0个错误,0个警告。到此工程就建立完成了。图2.35 编译结果到了这里建立工程文件结束,可以明显感受到建立工程模版的步骤十分复杂。所以在以后实验里,可以直接拿本实验中建好的工程模版使用

18、。软件仿真(1)单击魔术棒,单击Target,将晶振改为8MHZ。图2.36 设置晶振(2) 单击Debug选项,选择:Use Simulator,使用软件仿真。选择:Run to main(),即跳过汇编代码,直接跳转到main函数开始仿真。设置下方的:Dialog DLL分别为:DARMSTM.DLL和TARMSTM.DLL,Parameter均为:-pSTM32F103ZE,用于设置支持STM32F103ZE的软硬件仿真(即可以通过Peripherals选择对应外设的对话框观察仿真结果)。最后点击OK,完成设置。 图2.37 软件仿真配置(3) 配置完成后点击OK。打开软件仿真。图2.3

19、8 开始仿真(4) 调用示波器。图2.39 打开示波器(5) 先点击红框内的小方框,然后点击Setup输入PORTB.5点击回车:图2.40 添加监控GPIOB.5出现下图所示,点击Close。图2.41 添加成功(6) 点击运行。图2.42 开始运行(7) 运行十秒钟左右点击停止。图2.43 仿真结束(8) 观察波形,测量高电平和低电平的时间间隔。如果观察不到波形。可以在上面找到Auto,点击就会自动调整。(上方红色小框)图2.44 观察示波器(9) 比较测量的时间与设定的时间的误差并分析其原因。下载程序到实训平台(1) 接上J-Link V8,并把Jlink插到实训平台上,打开Option

20、s for Target选项卡,在Debug栏选择使用J-LINK/ J-TRACE Cortex,如下图。图2.45 选择JLINK下载(2) 点击Settings,进入下图所示界面。图2.46 选择下载模式(3) 如果提示keil cannot load driver JL2CM3.dll,需要配置系统环境。自行XX进入设置系统环境变量的方法。(出现这种情况大部分是由于在电脑的用户名为中文用户名)图2.47 更改环境变量(4) 填写完后,点击确定即可进入下一步。然后:点击Flash Download,进行如下设置图2.48 下载配置(5) 点击确定,返回之前那个界面然后,点击Utilities按钮,在设置完之后,点击OK,回到IDE界面。图2.49 选择Use Debug Driver(6) 为了能直观的观察效果,我们为PB5接一个灯,这样就可以控制LED灯的闪烁。也可使用示波器观察实际输出波形。

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

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