Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软体开发系统,与彙编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏彙编、连结器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。运行Keil软体需要WIN98、NT、WIN2000、WINXP等作业系统。如果你使用C语言编程,那幺Keil几乎就是你的不二之选,即使不使用C语言而仅用彙编语言编程,其方便易用的集成环境、强大的软体仿真调试工具也会令你事半功倍。
基本介绍
- 中文名Keil
- 外文名Keil
- 类属计算机系统
- 开发公司Keil Software
- 套用领域计算机
公司简介
Keil公司是一家业界领先的微控制器(MCU)软体开发工具的独立供应商。Keil公司由两家私人公司联合运营,分别是德国慕尼黑的Keil Elektronik GmbH和美国德克萨斯的Keil Software Inc。Keil公司製造和销售种类广泛的开发工具,包括ANSI C编译器、宏彙编程式、调试器、连线器、库管理器、固件和实时作业系统核心(real-time kernel)。有超过10万名微控制器开发人员在使用这种得到业界认可的解决方案。其Keil C51编译器自1988年引入市场以来成为事实上的行业标準,并支持超过500种8051变种。
Keil公司在2005年被ARM公司收购。
与ARM
Keil公司2005年由ARM公司收购。其两家公司分别更名为ARM Germany GmbH和ARM Inc。Keil公司执行长Reinhard Keil表示“作为ARM Connected Community中的一员,Keil和ARM保持着长期的良好关係。通过这次收购,我们将能更好地向高速发展的32位微控制器市场提供完整的解决方案,继续在μVision环境下支持我们的8051和C16x编译器。”
而后ARM Keil推出基于μVision界面,用于调试ARM7,ARM9,Cortex-M核心的MDK-ARM开发工具,用于为控制领域的开发。
界面
Keil μVision2
KeilμVision2是美国Keil Software公司出品的51系列兼容单片机C语言软体开发系统,使用接近于传统C语言的语法来开发,与彙编相比,C语言易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入彙编,您可以在关键的位置嵌入,使程式达到接近于彙编的工作效率。Keil C51标準C编译器为8051微控制器的软体开发提供了C语言环境,保留了彙编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到μVision2的集成开发环境中,这个集成开发环境包含编译器,彙编器,实时作业系统,项目管理器,调试器。μVision2 IDE可为它们提供单一而灵活的开发环境。
Keil μVision3
2006年1月30日ARM推出全新的针对各种嵌入式处理器的软体开发工具,集成Keil μVision3的RealView MDK开发环境。RealView MDK开发工具Keil μVision3源自Keil公司。RealView MDK集成了业内领先的技术,包括Keil μVision3集成开发环境与RealView编译器。支持ARM7、ARM9和最新的Cortex-M3核处理器,自动配置启动代码,集成Flash烧写模组,强大的Simulation设备模拟,性能分析等功能,与ARM之前的工具包ADS等相比,RealView编译器的最新版本可将性能改善超过20%。
Keil μVision4
2009年2月发布Keil μVision4,Keil μVision4引入灵活的视窗管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对视窗位置的完全控制的任何地方。新的用户界面可以更好地利用萤幕空间和更有效地组织多个视窗,提供一个整洁,高效的环境来开发应用程式。新版本支持更多最新的ARM晶片,还添加了一些其他新功能。
2011年3月ARM公司发布最新集成开发环境RealView MDK开发工具中集成了最新版本的Keil μVision4,其编译器、调试工具实现与ARM器件的最完美匹配。
Keil μVision5
2013年10月,Keil正式发布了Keil μVision5 IDE。
Keil中国
Keil 官网虽然没有发布中文版本,Keil 系列软体却被中国80%以上的软硬体工程师使用,但凡与电子相关的专业,都会开始从单片机和计算机编程开始学习,而学习单片机自然会用到Keil 软体。国内由米尔科技、亿道电子、英倍特提供Keil 的销售和技术支持服务,他们是ARM公司合作伙伴,也是国内领先的嵌入式解决方案提供商。
基础
Keil C51开发系统基本知识
⒈系统概述
Keil C51软体提供丰富的库函式和功能强大的集成开发调试工具,全Windows界面。重要的一点,只要看一下编译后生成的彙编代码,就能体会到Keil的优势。下面详细介绍Keil C51开发系统各部分功能和使用。
⒉Keil C51单片机软体开发系统的整体结构
C51工具包的整体结构,μVision与Ishell分别是C51 for Windows 和for Dos 的集成开发环境(IDE),可以完成编辑、编译、连线、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或彙编源档案。然后分别由C51及C51编译器编译生成目标档案(.obj)。目标档案可由LIB51 创建生成库档案,也可以与库档案一起经L51 连线定位生成绝对目标档案(.abs)。abs档案由OH51 转换成标準的hex 档案,以供调试器dScope51 或tScope51 使用进行原始码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程式存贮器如EPROM中。
使用独立的Keil仿真器时,注意事项
仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。
仿真器上的复位按钮只复位仿真晶片,不复位目标系统。
仿真晶片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真晶片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用。
优点
⒈Keil C51生成的目标代码效率非常之高,多数语句生成的彙编代码很紧凑,容易理解。在开发大型软体时更能体现高级语言的优势。
⒉与彙编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过彙编语言后再使用C来开发,体会更加深刻。
教程
为了让初学者更好地入门,笔者利用Keil 提供的AGSI 接口开发了两块仿真实验板。这两块仿真板将枯燥无味的数字用形象的图形表达出来,可以使初学者在没有硬体时就能感受到真实的学习环境,降低单片机的入门门槛。图1 是键盘、LED 显示实验仿真板的图,从图中可以看出,该板比较简单,有在P1 口接有8 个发光二管,在P3 口接有4 个按钮,图1 的右边给出了原理图。
图 2 是另一个较为複杂的实验仿真板。在该板上有8 个数码管,16 个按键(接成4×4 的矩阵式),还有P1 口接的8 个发光管,两个外部中断按钮,一个带有计数器的脉冲发生器等资源,显然,这块板可以完成更多的实验。
一、实验仿真板的安装
这两块仿真实验板实际上是两个dll 档案,名称分别是ledkey.dll 和simboard.dll,安装时只要根据需要将这两个或某一个档案拷贝到Keil 软体的C51\bin 资料夹中即可。
二、实验仿真板的使用
要使用仿真板,必须对工程进行设定,设定的方法是点击Project->Option for Target ‘Target1’打开对话框,然后选中Debug 标籤页,在Dialog :Parameter后的编缉框中输入-d 档案名称。例如要用ledkey.dll(即第一块仿真板)进行调试,就输入-dledkey,如图3所示,输入完毕后点击确定退出。编译、连线完成后按CTRL+F5 进入调试,此时,点击选单Peripherals,即会多出一项“键盘LED 仿真板(K)”,选中该项,即会出现如图1 的界面,同样,在设定时如果输入-dsimboard 则能够调出如图2 的界面。
第一块仿真板的硬体电路很简单,电路图已在板上,第二块板实现的功能稍複杂,其键盘和数码显示管部分的电路原理图如图4 所示。下表给出了常用字形码,读者也可以根据图中的接线自行写出其它如A、B、C、D、E、F 等的字形码。除了键盘和数码管以外,P1 口同样也接有8 个发光二极体,连线方式与图1 相同;键盘旁的两个按钮INT0和INT1分别接到P3口的INT0和INT1即P3.2和P3.3引脚,脉冲发生器是接入T0即P3.4引脚。
0c0h | 0f9h | 0a4h | 0b0h | 99h | 92h | 82h | 0f8h | 80h | 90h | 0FFH |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 消隐 |
三、实例调试
以下以一个稍複杂的程式为例,说明键盘、LED 显示实验仿真板的使用。该程式实现的是可控流水灯,接P3.2 的键为开始键,按此键则灯开始流动(由上而下),接P3.3 的键为停止键,按此键则停止流动,所有灯暗,接P3.4 的键为向上键,按此键则灯由上向下流动,接P3.6的键为向下键,按此键则灯由下向上流动。