- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式实验一解读
keil4的安装
一、实验目的
了解keil4软件安装与调试
二、实验内容
安装keil4软件并成功注册
三、实验仪器、设备
计算机、keil4软件
四、实验步骤
1.首先打开keil4破解.rar并解压文件,得到MDK400_mcu123.exe(安装文件)和KEIL_Lic.exe(破解文件)。
2.打开安装文件,根据提示进行下一步操作,一直到安装完成。
Keil4的安装步骤1
Keil4的安装步骤2
Keil4安装完成
3.点击finish后,打开桌面上的Keil uVision4,进入MDK。
MDK界面
点菜单file——license management,会出现以下界面。
注册管理界面
复制图片中的CID码,每个计算机的CID不同,所以必须在本机安装后才能注册。我们再打开一起被解压出来的keil4破解文件KEIL_Lic.exe。将CID码输入,并在Target中选择ARM(选择其他的选项也可以注册,但是遇到大程序时会出现无法编译的情况)。然后点击generate生成注册码,将注册码填入LIC中,点击add lic,显示*** LIC Added Sucessfully ***时,注册成功。,然后重新启动MDK。即完成破解。
Keil4的破解
实验一 闪烁灯与keil4环境下STM32的设置
一、实验目的
熟悉在keil4环境下的STM32的参数设置
完成闪烁灯实验任务
二、实验内容
建立新的工程文件,并根据STM32的设置需求进行配置,配置完成后能顺利执行闪烁灯程序
三、实验仪器、设备
计算机、keil4软件
四、实验步骤
1.首先建立固件库文件夹,将其他例子中的固件库复制到我们所需要的文件夹中(文件名可更改)。
固件库文件夹
CM3:放置系统头文件
User:放置用户工程文件及函数
FWLIB:stm32的函数库
List:编译后产生的各种文件
startup:启动代码文件
obj:放置编译后生成的可执行HEX等文件
2. 新建一个keil 工程文件在目标文件夹中,Project——new uVision project,指定一个工程文件存放地点,自定义工程文件名字后,选择保存。
新建工程文件
点击保存后进入芯片选择,我们选择的是STMicroelectronics下的STM32F103VE芯片
芯片选择
点击OK,在弹出的提示加载startup文件到工程中的选择中选择否(N)
进入新建工程的主界面,接下来,我们需要对编译环境进行定义
点击按钮,对编译文件进行添加
首先添加名称为ARM的启动文件,将startup_stm32f10x_hd.s添加进去。
ASM--startup_stm32f10x_hd.s 由于我们采用的是STM32F103大存储器芯片,因此采用STM32标准库自带的大存储器芯片启动代码,这个文件已经配置好了初始状态,以及中断向量表。可以直接在工程里使用,如果你在以后的应用中采用了中存储器或者小存储器STM32芯片,可以将启动代码换为startup_stm32f10x_md.s 或者startup_stm32f10x_ld.s。
然后添加名称为USR的用户代码,将闪烁灯的主函数main.c添加进去。
USER—main.c 例程的主函数。
RCC_Configuration() 完成对系统时钟的设置,例程中通过系统时钟设置函数,外接晶振采用8Mhz,经过片内频率合成,9倍频,设置为72MHz的时钟。
LED_Config() 对控制3个LED指示灯的IO口进行了初始化,将3个端口配置为推挽上拉输出,口线速度为50Mhz。
在配置某个口线时,首先应对它所在的端口的时钟进行使能。否则无法配置成功,由于3个控制口用到了端口B和端口D, 因此要对这两个端口的时钟进行使能,RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD , ENABLE);
程序中对各状态LED进行了预定义:
#define LED1_ON GPIO_SetBits(GPIOB, GPIO_Pin_5);
#define LED1_OFF GPIO_ResetBits(GPIOB, GPIO_Pin_5);
#define LED2_ON GPIO_SetBits(GPIOD, GPIO_Pin_6);
#define LED2_OFF GPIO_ResetBits(GPIOD, GPIO_Pin_6);
define LED3_ON GPIO_SetBits(GPIOD, GPIO_Pin_3);
#define LED3_O
文档评论(0)