编辑: ddzhikoi | 2019-09-02 |
ec66.com Keil C51 集成开发环境 uVision2 安装与使用教程 作者:aoe 版权:EC66.com 版本:第一版 日期:2006.10 欢迎访问:中国电子网 www.ec66.com 目录 超级
51 开发板信息.3 前言
5 1. uVision2 的安装
7 2. uVision2 的卸载
11 3. 如何使用帮助文件.13 4. 工程使用教程.14 4.1. 如何建立工程.14 4.2. 如何设置工程.18 4.2.1. Target 标签页的设置.19 4.2.2. Output 标签页的设置.20 4.2.3. Listing 标签页的设置
22 4.2.4. C51 标签页的设置
23 4.2.5. Debug 标签页的设置
24 5. 编写您的 C51 代码.26 6. 编写您的汇编代码.26 7. 编译您的代码.26 8. 调试您的代码.28 9. 仿真您的代码.29 欢迎访问:中国电子网 www.ec66.com 超级
51 开发板信息 超级
51 开发板(详细信息 http://www.ec66.com/ad_super51/index.asp ) 超级
51 开发板主板(带精美塑料外壳) 选配外围器材 欢迎访问:中国电子网 www.ec66.com 电源及功放 DIY 板(赠送板不含元器件) 前卫 目前市面上大多数开发板都采用最简单的
51 内核芯片, 需要大量的外围器件才能完成 一些最基本的功能,例如 AD,DA 等,初看起来器件琳琅满目,实际上都是已经过时的技 术了,就象大学的教科书一样,学了但没什么实用价值.我们这款开发板采用最先进的
51 内核,在学习最先进的前沿技术的同时,也兼容传统的实验项目. 实用 融合了很多实用的产品方案,例如闹钟,万年历,万用表,温度计,抢答器以及各种 频率计、信号源等数字仪器仪表等,在一定程度上可以解决您自制万用表等常用工具的问 题,配合赠送的电源及功放 DIY 板你可以很方便的制作出数控直流电源,有源音响等实用 工具.这些好东西可能成为您以后的开发工作提供更多的便利. 超值 初学者学生比较多,在经济上一般都比较紧,因此我们这款产品走的是低价路线.此 外我们还特别推出不同版本,区别仅仅是是否选用一些价格略高的配件,而软件及代码却 都是齐全的,其目的就是为了降低零售价格,让更多的人能够轻松的学习. 选学习板就是看技术支持 中国电子技术信息网是一个综合的技术与信息网站,拥有雄厚的技术实力与完备的技 术支持体系.我们的网站有与该开发板项对应的技术文章、技术论坛,您在这里可以很方 便学习基础知识,并获得最新的技术跟踪. 欢迎访问:中国电子网 www.ec66.com 前言 Keil C51 的IDE(集成开发环境)主要有两个版本,一个是 UV1 (Keil C51 V5.20 以下 版本)运行界面: uv1 是16 位的软件,连接实际上是 dos 命令行的,不能在 windows NT,windows
2000 里运 行.是早期的软件(1997 年以前的软件) ,后来 keil 公司推出了新的
32 位的软件 Keil C51 V6.xx 又叫 uv2 .是全
32 位的软件, 可以运行在 windows 9x,windows nt,windows me,windows 2000,windows XP 等操作系统,功能更加强大,支持的芯片更多.uv2 运行界面: 欢迎访问:中国电子网 www.ec66.com uVision2 是目前最流行的 c51 开发环境,集编辑,编译,仿真于一体,支持 C51 及汇 编编程.目前介绍 C51 的书籍很多,但对 uVision2 介绍的却不多,为此我们特地编写了这 篇文章. 本文以 7.0 版本为例进行说明,其他版本差别不大,均可参考. 欢迎访问:中国电子网 www.ec66.com 1. uVision2 的安装 运行安装软件包中的 setup.exe 文件. 选择安装版本,如果您不是正版用户请选择 Eval ,否则选择 Full .我们以 Full 为 例加以说明. 欢迎访问:中国电子网 www.ec66.com 选择安装的目录.确认后点击 Next . 输入您的正版 SN 码及 First Name,Last Name.Company Name 可以任意填写.确认后点 击 Next . 欢迎访问:中国电子网 www.ec66.com 插入软盘或者将路径指到包含这些内容的硬盘目录,确认后点击 Next . 等待安装完成. 欢迎访问:中国电子网 www.ec66.com 确认是否通过网络注册,建议取消.确认后点击 Next .完成安装. 欢迎访问:中国电子网 www.ec66.com 2. uVision2 的卸载 选择 uVision2. 欢迎访问:中国电子网 www.ec66.com 选择卸载,确认后点击 Next . 卸载完成. 欢迎访问:中国电子网 www.ec66.com 3. 如何使用帮助文件 使用菜单如上. 直接到安装目录下的帮助目录查看如上图. 欢迎访问:中国电子网 www.ec66.com 方法三,在keil 的网站 www.keil.com 的faq 或论坛找到答案. 购买我们的
51 开发板的用户也可以到我们的官方论坛寻求帮助.地址 www.ecbbs.com 4. 工程使用教程 4.1.如何建立工程 keil c51 v5.xx 以后的版本,都需要一个文件来存储工程的相关信息,不管你是汇编的, 还是 c 的,只有一个文件,还是有多个文件的程序都要有一个工程文件.没有工程文件将 不能进行编译和仿真. 步骤如下: 点击菜单 project,选择 new project. 然后选择你要保存的路径,输入工程文件的名字,然后点击保存. 欢迎访问:中国电子网 www.ec66.com 这时会弹出一个对话框要求你选择单片机的型号.你可以根据你使用的单片机来选择,如 果您所使用的单片机型号在列表中找不到, 也可以找一款与您使用的相兼容的型号来代替. 这里还是以大家用的比较多的 Atmel 的89c52 来说明,如图所示,右边一栏是对这个单片 机的基本的说明,然后点击确定. 新建一个源程序文件,建立一个汇编或 c 文件,如果你已经有源程序文件,可以忽略这一 欢迎访问:中国电子网 www.ec66.com 步.点击菜单 File->
New 输入您的代码后保存文件. 选择你要保存的路径,在文件名里输入文件名.注意一定要输入扩展名,如果是 c 程序文 件扩展名为.c,如果是汇编文件扩展名为.a51,习惯.asm 的也可以存储为.asm.注解说明文 件可以保存为.txt 的扩展名. 欢迎访问:中国电子网 www.ec66.com 点击 Target
1 前面的+号,展开里面的内容 source Group1. 用右键点击 Sourece Group 1,将弹出一个菜单,选择 Add Files to Guoup'
Source Group 1'
. 欢迎访问:中国电子网 www.ec66.com 选择刚才的文件 test.c.文件类型选择 C Source file(*.c).因为我们的是 c 程序文件,所以 选择该类型;
如果是汇编文件,就选择 asm source file;
如果是目标文件,选择 Object file;
如果是库文件,选择 Library file.最后点击 Add.点击 add 之后,窗口不会消失,如果要 添加多个文件,可以不断添加,添加完毕此时再点击 Close 关闭该窗口. 4.2.如何设置工程 欢迎访问:中国电子网 www.ec66.com 用鼠标右键(注意用右键)点击左边的 Target 1,会出现一个菜单,选择 Options for Target '
Target 1'
.进入设置窗口. 4.2.1. Target 标签页的设置 Xtal (Mhz):是设置你的单片机的工作的频率.该数值与最终产生的目标代码无关,仅用于 软件模调试时显示程序执行时间,正确设置该数值可使显示时间与实际所用时间一致.一 般将其设置成与你的硬件所用晶振频率相同, 如果没必要了解程序执行的时间也可以不设. 默认是 24.0MHZ. Use On-chip ROM(0x0-0x1fff):这个选项是使用片上的 Flash Rom.默认不选,请选择该项. Off-chip Code memory:表示你在片外接的 Rom 的开始地址和大小.默认无. Off-Chip Xdata Memory :外部数据存储器的起始地址和大小.默认无. Code Banking:是使用 Code Banking 技术.keil 可以支持程序代码超过 64k 的情况, 最大可以 有2兆的程序代码.默认不选. Memory Model:有3个选项 Small:变量存储在内部 ram 里Compact:变量存储在外部 ram 里,使用页
8 位间接寻址 欢迎访问:中国电子网 www.ec66.com Large:变量存储在外部 Ram 里,使用
16 位间接寻址
3 种存储方式都支持内部
256 字节和外部 64k 字节的 ram, 区别是变量的优先(或默认) 存储位置.默认选 Small. Code Rom Size:有3个选项 Small: program 2K or less ;
适用于 89c2051 这些芯片 Compact:2k functiongs ,64k program:表示每个子函数的程序大小不超过 2k,整个工程可 以有 64k 的代码. Large:64K program:表示程序或子函数都可以大到 64k.使用 code bank 还可以更大 默认选 Large.在确认每子程序不会超过 2k 时可以选择 Compact. Operating:有3个选项 None:表示不使用操作系统 RTX-51 Tiny Real-Time Os:表示使用 Tiny 操作系统 RTX-51 Full Real-Time Os:表示使用 Full 操作系统 Keil c51 提供了 tiny 系统,Tiny 多任务操作系统,使用定时器
0 来做任务切换,效率 很低,无实用价值.Full 需要用户使用外部 ram,且需要单独购买运行库,不能使用.默 认选 None. 4.2.2. Output 标签页的设置 欢迎访问:中国电子网 www.ec66.com Select Folder for Objects:选择编译之后的目标文件存储在哪个目录里, 默认位置为工程文件 的目录里. Name of Executable:生成的目标文件的名字,缺省是工程的名字. Create Executable:是生成 OMF 以及 HEX 文件. OMF 文件名同工程文件名但没有带扩展名. Create Hex File:这个选项默认情况下未被选中,如果要写片做硬件实验就必须选中该项. 这一点是初学者易疏忽的, 在此特别提醒注意一定要要选中, 否则编译之不生成 Hex 文件. Create Library:生成 lib 库文件,默认不选. After Make:有几个设置: Beep when complete:编译完成之后发出咚的声音. Start Debugging:马上启动调试(软件仿真或硬件仿真),默认不选中. Run User Program #1,Run User Program #2:这个选项可以设置编译完之后运行别的应 用程序,比如有些用户自己编写的烧写芯片的程序,或调用外部的仿真程序.根据自己的 需要设置. 欢迎访问:中国电子网 www.ec66.com 4.2.3. Listing 标签页的设置 Listing 标签页用于调整生成的列表文件选项,默认为上图所示.建议设置如下图: Select Folder for Listings:选择生成的列表文件存放的目录,默认工程文件所在的目录. *.lst *.m51 文件对你了解你的程序用到了那些 idata ,data ,bit ,xdata,code ,ram,rom,stack 等有 很重要的作用. 欢迎访问:中国电子网 www.ec66.com Assembly Code 生成汇编的代码,根据需要决定是否选择. 4.2.4. C51 标签页的设置 C51 标签页用于对 Keil 的C51 编译器编译过程进行控制,其中比较常用的是 Code Optimization 组. 如图所示该组中 Level 是优化等级, C51 以页在对源程序进行编译时可以对代码多至
9 级优化,默认使用第
8 级,一般不必修改,如果在编译中出现一些问题可以降低优化级别 试一试. Emphasis 是选择编译优先方式,第一项是代码量优化(最终生成的代码量小) ,第二 项是速度优先(最终生成的代码速度快) ,第三项是缺省默认的,是速度优先,可根据需要 更改. 欢迎访问:中国电子网 www.ec66.com 4.2.5. Debug 标签页的设置 Debug 页用来设置调试器. 左侧的 Use Simulator 是选择 Keil 内置的模拟调试,可以使用 Keil 的模拟调试器进行 软件调试工作,详细说明见后面章节(调试您的代码) .该设置为工程默认设置. 下面详细描述一下如何设置您的仿真器: 欢迎访问:中国电子网 www.ec66.com 当需要使用仿真功能时,需要点击右侧的 Use 如图所示,通常正常安装完成后,Use 后的下拉列表就是显示 Keil Monitor-51 Drive.如果你发现是其他参数,可以点击下拉列表 选择 Keil Monitor-51 Drive. 选择完成后点击 Setting 按钮,选择你所用的 PC 上的串口,波特率(通常可以使用 38400) ,其他设置一般不需要更改,如图所示.点击 OK. 回到 Debug 页面后, 依次选中 Loa Application at Startd 和Go Till main. load Application at start,在启动时直接装载程序;
Go till main,装载后直接运行到 main 函数.如图所示. 所有仿真器有关设置完成! 欢迎访问:中国电子网 www.ec66.com 5. 编写您的 C51 代码 下一版本再写吧 6. 编写您的汇编代码 下一版本再写吧 7. 编译您的代码 写好您的代码后,就可以编译他们了. 图中
1、
2、3 都是编译按钮,不同点在于: 欢迎访问:中国电子网 www.ec66.com
1 是用于编译单个文件.
2 是编译当前项目,如果先前编译过一次之后文件没有做动编辑改动,这时再点击是不会 再次重新编译的.
3 是重新编译,每点击一次均会再次编译链接一次,不管程序是否有改动. 在3右边的
4 是停止编译按钮,只有点击了前三个中的任一个,停止按钮才会生效.
5 是编译功能在菜单中的位置. 在6中可以看到编译的错误信息和使用的系统资源情况等,我们要查错就靠它了.下 面举个查错的例子: 编译后报错:IO.C(65): error C141: syntax error near '
while'
这个错误是在'
while'
附近有语法错误,用鼠标双击该行,则编辑窗口出现一个蓝色箭头, 指出出错位置.观察'
while'
上下行,发现 init()后没有 ;
号,添加后再编译: 欢迎访问:中国电子网 www.ec66.com 提示成功创建 HEX 文件,0 Error(s),0 Warning(s).祝贺您,编译成功了! 需要指出的是即使有 N 个Warning 存在的情况下也会编译成功.这时候您要自己留意 这些 Warning 存在的原因,不是很重要的话就可以忽略.但一个合格的代码最低限度应该 是无 Warning 的. 8. 调试您的代码 编译通过只说明您的代码无语法错误,但究竟运行起来会是怎么执行的呢?这一章节 讲讲怎么调试您的代码. 需要说明的是,这个章节是针对 uVision2 内置模拟调试功能而讲的,也适用于仿真器 的应用. 欢迎访问:中国电子网 www.ec66.com 图中按钮在 Debug 菜单中都找的到,不再罗嗦了. 按钮
1 是启动 Debug 的总开关,因此必须启动了,才有最下面的那排调试按钮出现.
2 是在您的代码中设置插入和删除断点用的,3 是统杀断点.
4 是复位,模拟芯片的复位,程序回到最开头处执行.
5 为运行,当程序处于停止状态时才有效,6 为停止,程序处于运行状态时才有效.
7 为单步进入执行,8 为单步跨过执行,也就是说不逐行执行被调用函数. 按A我们可以................