如何使用keil编译器
Posted 51单片机学习站
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用keil编译器相关的知识,希望对你有一定的参考价值。
一、下载并安装keil5编译器
打开连接会看到下图页面
点击C51V960A.EXE开始下载(注:下载可能需要科学上网)
下载成功后打开安装程序
单击Next
勾选"agree"后进行下一步
在这里选择安装位置,默认C盘然后进行下一步
这里填写一部分个人信息后进行下一步后安装程序会自动开始安装
单击Finish就完成安装了
二、使用keil5建立工程
安装完成之后启动keil5后如下图所示
选择Project中的New uVision Project后即可在指定的目录下建立工程文件,建议一个工程放在一个特殊的文件夹中,避免多个工程的文件掺杂在一起导致混乱。
在建立工程文件时会询问你使用的单片机,我这里使用的是stc89c52故我可以直接选择AT89C52,这两者大部分情况是可以相互兼容的,AT89C52的生产厂商是Atmel,而STC89C52的生产厂商是宏晶公司。
建立工程的最后一部的时候会询问你是否要复制"STARTUP.A51"这个文件到工程中,"STARTUP.A51"文件是keil C51的启动代码,一般情况下不需要修改,如果不需要修改"STARTUP.A51"的话就没有必要去复制这个文件到工程中,所以如果不打算更改这个文件的话,选是或否无所谓。
小编这里选择的是否,建立好工程后keil界面如下图所示
三、对Target进行设置
选择下图所示的“魔术棒”
首先进入到下图所示的界面中
其中Xtal是单片机的晶振频率
Memory Model中
Small:变量存储在内部RAM中
Compact:部分变量存储在外部拓展RAM中
Large:全部变量存储在外部拓展RAM中
通常情况下,单片机内部RAM的速度远快于外部拓展RAM,所以一般情况下,我们使用Small模式。
Code Rom Size中
Small:整个程序不超过2K
Compact:单个子函数不超过2K,整个工程不超过64K
Large:子程序和工程可以达到64K
Operating system中
None:不选择操作系统
RTX-51 Tiny:使用Tiny操作系统
RTX-51 Full:使用Full操作系统
keil提供了Tiny多任务操作系统,效率很低,几乎没有实际价值。Full需要用户使用外部拓展Ram,而且需要单独购买运行库,无法使用,默认选择None
Use On-chip ROM:这个选择用于选择片内的程序存储器,如果你的EA口接入的是高电平,则勾选这个选项。
Code Banking:使用这个技术keil可以支持程序代码超过64k的情况,最高可以有2M的程序代码。
在Output中
Name of Executable:生成的目标文件名
Create Executable:生成目标文件
Create HEX File:生成HEX文件
Listing中调整生成的列表文件,这个选项卡中比较常用的是Assembly Code,功能是生成汇编代码。
四、向工程中添加源代码文件
设置好Target后就可以向工程中添加源代码文件了,选择如下图所示的图标进行对工程项目的管理。
下图为工程项目管理的界面
我们选择Add Files向工程中添加源程序文件,在弹出的界面中选择你要添加的源程序即可向工程中添加。
四、程序的调试
点击如图所示的图标进行调试,再次点击可终止调试
常用按钮如下图
从左至右依次是,归位、开始执行、停止执行、逐句执行、主函数内逐句执行、执行子函数内剩余语句并跳至主函数、运行至光标选中行。
变量的查看
点击上图所示的图标打开观察窗
在观察窗的Enter expression中输入变量名即可跟踪变量
I/O口的查看
如图依次选择Peripherals->I/O-Ports->Port 0即可跟踪P0口
五、程序的编译
keil编译会用到下图的三个按键
从左至右依次为
Translate:编译改动的文件并检查语法错误,不生成可执行文件
Build:只编译更改的文件,并链接生成可执行文件,如果之前没有进行编译链接过,则自动调用ReBuild All
ReBuild All:对工程中所有文件进行编译并链接生成可执行文件
六、使用外部编辑器
如果你认为keil自带的编辑器不是很好用的话, 可以使用外部编辑器
选择Tools中的Customize Tools Menu
在下图界面中选择New
然后在Command中选择你所要使用的编辑器的程序
在Arguments中输入#E即可
调用时在Tools中选择你加入的外部编辑器即可。
以上是关于如何使用keil编译器的主要内容,如果未能解决你的问题,请参考以下文章
Keil uvision4软件谁知道如何使用,如何烧录程序,谢谢各位大侠们。麻烦具体介绍操作方法。