1. KEIL的基本介绍
Keil是一家德国的嵌入式系统软件公司,提供了许多针对ARM、C51、8051、AVR等各种不同架构的微控制器的软件开发工具,其中最知名的是Keil MDK(Microcontroller Development Kit)。
Keil MDK是一个综合性的软件开发环境,用于嵌入式系统的开发,它包括了编译器、调试器、仿真器等多个工具,支持多种不同的处理器架构,如ARM Cortex-M、Cortex-R、Cortex-A系列,以及8051、C166等。Keil MDK提供了一系列易用的集成开发环境(IDE),可以帮助用户快速地开发和调试嵌入式应用程序,而且具有高度的可靠性和稳定性。
除了MDK之外,Keil还提供了一系列辅助工具,如Flash编程工具、CAN总线分析工具、USB分析工具等,用于协助嵌入式系统的开发和测试。
总之,Keil软件是嵌入式系统开发领域中非常知名和广泛使用的软件开发工具之一,其提供的工具和功能可以有效地提升开发效率和软件质量。
2. KEIL的使用步骤
2.1 新建工程
- 双击打开软件;
- 新建工程:Project --> New uVision Project --> 输入文件名,如“LED”,会自动创建一个“LED.uvproj”的工程文件;
- 弹出如下窗口,因为是写C51代码,所以在"Devices"选择Lagacy Device Database;
图1.芯片选型
- 找到需要的芯片 --> 点击"OK";
图2.直接搜索找到需要的芯片
- 添加启动文件"STARTUP51",点击“OK”;
图3.添加启动文件“STARUP.A51”文件
2.2 新建.c文件
- [File] --> [New],此时会新建一个文本文件[Text1];
- 保存为 “XX.c”,编写代码;
#include <reg51.h> // 包含AT89C51寄存器定义的头文件 void delay(unsigned int time) // 延时函数,单位为毫秒 { unsigned int i, j; for(i = time; i > 0; i--) { for(j = 112; j > 0; j--); } } void main() { P1 = 0x00; // 将P1口的输出全部设为0 while(1) // 无限循环 { P1 = 0x01; // 点亮P1.0口的LED灯 delay(1000); // 延时1秒钟 P1 = 0x00; // 熄灭P1.0口的LED灯 delay(1000); // 延时1秒钟 } }
或者:
#include <reg51.h> // 包含AT89C51寄存器定义的头文件 sbit P1_0 = P1^0; //对P1.0引脚进行位定义,P1.0引脚位名称为P1_0 void delay(unsigned int time) // 延时函数,单位为毫秒 { unsigned int i, j; for(i = time; i > 0; i--) { for(j = 112; j > 0; j--); } } void main() { while(1) // 无限循环 { P1_0 = 0; // 点亮P1.0口的LED灯 delay(5000); // 延时,根据需要进行修改 P1_0 = 1; // 熄灭P1.0口的LED灯 delay(1000); // 延时1秒钟 } }
- 添加已有文件。右击左侧边栏中的“Source Group” --> "Add Existing Files to Group 'Source Group 1'",将c文件欠佳到“Source Group”中;
2.3 项目设置
- 右击侧边栏中的“Target 1” --> "Options for 'Target 1'";
- 在输出"Output"一栏勾选“Create HEX File”,如下图所示:
图4.设置编译输出时创建.hex文件
注:生产的.hex文件所在位置可以在上图中的“Select Folder Objects…"中查找或更改。
2.4 编译
- 点击“Rebuild”,检查输出窗口有没有提示错误信息;
图5.程序编译
2.5 下载程序到开发或者用Proteus创建仿真模型进行仿真验证
- 我这里通过Proteus建立仿真模型进行验证:
图6.仿真图
自此,一个简单的LED灯模型就创建完成。