keilc教程,以及程序例子要点.pdf
《keilc教程,以及程序例子要点.pdf》由会员分享,可在线阅读,更多相关《keilc教程,以及程序例子要点.pdf(29页珍藏版)》请在三一文库上搜索。
1、1 第一章KEIL 编译器的安装 KEIL( http:/ 以内, 可以从网上下载使用。而8051 编译器正式版本由1 张 CD、1 张有序列号码的1.44MB 软盘 和连接打印机端口的硬件锁定键组成。 利用评估版本(Evaluation)对源程序通过了便宜,也生成了HEX 文件,但就是不能正常 运行。 这是为什么?使用者可以随时从网上下载KEIL 评估版本进行安装,但是编译长度小 于 2KB 的目标代码,并且代码的起始(Start)地址自动设定为4000h,所以硬件组成也应予以 支持。免费获得的评估版还有别的限制,为了把所生成HEX 文件下载到地址不是4000h 的 ROM 中,就要利用he
2、x2bin.exe 实用程序把hex 变成 bin 后下载到ROM ,只有这样才能正 常运行。 hex2bin.exe 程序可以从网上下载。 下载 KEIL C51 安装程序后,双击Setup.exe 文件约几秒后,在安装向导窗口上可以选 择安装、更新、搬移程序三个选项,如图1 2 所示。 图 1 1 安装项目的选择 在默认(Install Support for Additional Microcontroller Architectures) 的情况下,点击 Next进入图 1 2 所示画面。 Eval Version (Evaluation Version) 评估版本; Full Ver
3、sion 正式版本; Quit 退出安装; 在安装过程中, 键入写在软盘上的序列号码,选择驱动器路径,把软盘插入驱动器继续 安装。这时,在程序设置信息项目中出现“Last Name”项目,必须键入才能激活“Next ” 按钮,比如自己的“姓”或其他。在安装盘上有序列号码和与安装有关的重要信息,因此有 必要把安装盘进行备份以保护重要的信息。若没有序列号的情况下请选择Eval Version (Evaluation Version) 评估版本进行安装。 2 图 1 2 正式版与评估版的选择 如果 Keil uVision2 的 KEIL 编译器安装结束,则会生成下列路径和图标:以最上层路径 为 C
4、:KEIL为假设予以罗列。安装结束后若想运行,则双击屏幕上的Keil uVision2 集成运 行快捷按钮。 在 Windows 开始 程序菜单上也会发现同样的快捷按 钮。 表 1 1 文件夹的结构 路径说明 C51ASM 汇编 SFR(Special Function Register) 定义和源程序样本文件 C51BIN 编译器的执行文件所位置 C51EXAMPLES 应用程序视图文件 C51RTX51 实时操作系统Full 文件, 255 个任务 C51RTX_TINY 实时操作系统Tiny 文件, 16 个任务 C51INC C 语言中与8051 有关的所有包含文件都在此处 C51LI
5、B 库、开始代码、输入/输出源程序 C51MON51 监控目标硬件系统时所使用的HEX 代码生成文件 UV2 编译器集成执行文件 KEIL 编译器 C51 以 ANSI(American National Standard Institute)规格为标准, 所以使用C 语言的开发人员用ANSI 编写程序就可以(使用 Classic C 语言也可以 )。 3 第二章 Keil uVision2 快速入门 为了能让使用者快速入门,先简单介绍8051。8051 单片机是一个具有40 个引脚的长方 形芯片, 其中, 有 5V 直流电源Vcc( 因为内部有很多逻辑电路,应使用波纹系数小的直流电 源)和电
6、源地GND 引脚。还有至少保持2 个机器周期 (一个机器周期=12 个振荡周期 )为高电 就复位的 RESET 引脚。 端口 P0 是由开漏 (用作 I/O 口时需要外部接上拉电阻)的驱动器构成的8 位双向 I/O 口, 用作 A0A7 , D0D7;端口 1 是有内部上拉电阻的准双向I/O 口;端口2 是有内部上拉电 阻的准双向I/O 口,用作A8A15 ;端口 3 是有内部上拉电阻的准双向I/O 口,兼有串行通 讯、外部中断、定时器、读/写的特殊功能;X1 是振荡放大器的反向输入引脚,X2 是反向 输出引脚, 因此,使用晶体时把晶振并联连接到X1 和 X2 上,使用外部振荡器时只连接X1。
7、 ALE/PROG(Address Latch Enable Output/Program Pulse Input)引脚的 ALE ,在访问外部 存储器时用来锁存低8 位地址,而PROG 在编程EPROM时用来进行脉冲输入。 PSEN(Program Strobe Enable)引脚信号作为访问外部程序存储器的读选通,每个机器周期 PSEN 被激活 2 次,在ALE 的下降沿将端口0 的地址锁存到外部锁存器。EA/Vpp(Exteral Access Enable)引脚连接到GND ,则 0FFFFH 地址都访问外部程序存储器;连接到 Vcc,则 访问内部程序存储趋。Vpp 是对 8751 编
8、程电压输入端子,其电压为12.7521V ,具体值随 不同型号芯片而有所不同。 双击 Keil uVision2 集成执行快捷按钮,将弹出如图2 1 所示的窗口。 这是一个初始开 发集成窗口。 如果没有做过任何项目,则窗口上什么也没有。窗口的上端有10 个下拉菜单。 C51 在管理程序时,采用所谓的项目(Project)文件来进行管理。项目把程序的环境甚至和编 图 2 1 Keil uVision2 的执行 辑有关的全部信息都保存着,因此使用者可以把多个程序以项目为单位使用C51 就可以了。 4 由于 C51 8051 KEIL编译器变成集成环境,提供即使不知道汇编或不详细知道8051 也 能
9、编写应用程序的环境。这一章的内容可以使工程人员快速并正确地熟悉编译器环境。执行 集成环境 C51,如图 2 1 所示,出现编辑、项目、输出等3 个大窗口和File, Edit, View, Project,Debug,Flash, Peripherals,Tools, SVCS, Window ,Help 等 11 个下拉菜单。 为了开始新的项目,选择“Project New Project ”选项后,出现如图2 2 所示,然 后选择源程序所在路径键入项目的名字并单击“保存” 按钮。 项目的名字会立即出现在集成 环境的左上端。这个项目的名字最后为HEX 文件的名字。因此,项目的名字最好不超过8
10、 个英文字母,并且尽量不采用中文为好。在这里采用的项目名字为“First_Project ” 。 图 2 2 建立一个新工程 接着选择用8051 开发的目标硬件系统的MPU 选项,如图 2 3 所示。 这个选项的是为 了反映各个不同厂家生产的具有不同性能的8051 而设计的,因此,只要正确选择自己要开 发的目标硬件系统的MPU 就可以了。 5 图 2 3 目标硬件系统的CPU 的选择 接着要进行 “Option for Target ”的设定, 以修改跟编译器有关的信息和跟目标系统有关的事 项。如图2 4 中,第一个选项“Target”设定目标系统的存储器、输出文件以及与源程序 文件有关的事项
11、。在菜单栏中,选择“Project/Opintion for Target, ”或者单击工具栏中的 “Option for Target ”快捷按钮就可以开始设定。在这里,要输入系统的工作频率、ROM 与 RAM 的开始地址和大小以及存储模式。首先,正确输入目标系统的晶振的频率值后选择存 储模式。 图 2 4 Option for Target 为了让 8051 的机器语言代码下载到ROM ,需要产生HEX 代码。图 2 5 的 Option 选 项用来设定HEN 文件的名字和要存放的文件夹(Select Folder for Object ,)。通常编译、 调试 到下载 ROM 需要进行多次
12、编译才能完成。如果不选择“Creat HEX File ” ,编译后不将产生 HEX 代码 (即使不发生错误) 。 这样可以避免不必要地反复写硬盘以保护硬盘的磁道和扇区。 图 2 5 中右上端的“ Name of Executable ”表示 HEX 代码文件的名字,通常和项目文 件同名, 也可以指定别的名字。编译完成后生成HEX 代码文件, 并存放在项目所在路径中。 因为 8051 的知识产权是Intel 公司的, 其命令语的处理也跟随Intel 的结构, 所以 KEIL 只支 持Intel HEX文件的形式。另外,为了在源代码层次上进行调试,最好选择“Debug Information ”
13、 。为了便于编译程序,最好选择“Browser Information ” 。 6 图 2 5 Option for Target 输出文件设定 在使用监控程序(Monitor) 与目标硬件系统和KEIL 编译器集成环境接口,能够监控变量 的值和函数的执行。监控程序把监控程序ROM 移植到目标硬件系统后运行。 为了把监控程序和目标硬件系统接口,需要制作合适的硬件。监控程序的监控原理是, 把监控程序装入ROM 区,把应用程序代码装入RAM 以后,执行监控程序,则监控程序, 调用应用程序执行。这样,在RAM 区域里代码存储区和数据存储区共存。 所以在使用监控程序调试应用程序的时候,需要在 KEIL
14、 软件中修改以下参数,如图 2 6 所示将原来的“CSEG AT 0 ”修改成“CSEG AT 08000h” (不包括双引号) 。如 果使用烧写器直接调试程序,则使用默认的“CSEG AT 0 ”即可。 图 2 6 Startup.A51 文件修改 7 同时将 Option for Target 中 BL51 Locate 中的 Code 代码段的设定修改成如图2 7 所示 图 2 7 Option for Target 代码段的设定 下 面 是 可 以 驱 动 用 于 调 试 的 仿 真 器 和 监 控 器 的 环 境 设 定 选 项 卡 “ Option for Target/Debug
15、” ,如图 2 8 所示。主要有2 个单选项:左侧有仅用软件来仿真8051 的软件 模拟仿真器单选项,右侧有与目标硬件系统边传送信息边进行调试的“KEIL Monitor 51 Driver ”和“Triscend E5 Driver ”单选项。 由于 KEIL 8051 集成开发环境综合了调试(Debug) 和 Scope 功能,所以称之为dScope。 监控器的功能是把监控器的ROM 移植到目标硬件系统, 用 RS 232 连接 PC 机和目标硬件系统,PC 机的 KEIL dScope 和目标硬件系统互相传送信 息。可以下载代码,也可以查看目标硬件系统的变量。 8 图 2 8 Optio
16、n for Target/Debug 9 第三章应用程序的调试 经过上面的软件设置,下面将介绍一下,如何在KEIL 软件中进行应用程序的调试、编 译和连接。 首先单击“ File”菜单,在下拉的菜单中单击“New”选项,屏幕图3 1 所示,此时 可以看到编辑窗口的标题栏是空的,而光标在编辑窗口闪烁。这个时候就可以键入应用程序 了。 图 3 1 含有空白的编辑窗口的屏幕 单击菜单条上的“File”菜单,在下拉菜单中选中“Save As”选项单击,屏幕如图3 2 所示。在“文件名”栏右侧的编辑框中,键入欲使用的文件名称,同时,必须键入正确的扩 展名。注意:如果使用C 语言编写程序,则扩展名为(*.
17、C) ;如果是用汇编语言编写的程 序,则扩展名为(*.asm)。然后,单击“保存”按钮。 10 图 3 2 保存文件对话框 然后需要将你已经保存好的文件添加到该项目中,具体步骤为:单击“Source Group1” 然后在单击鼠标右键,屏幕如图3 3 所示。 图 3 3 把源程序添加到工程中 11 接着单击 “Add File to ,Source Group1? ”,此时屏幕将出现图3 4 所示的画面, 然后选 择你刚刚设定的函数文件名。单击“Add”按钮后则可以编写C 语言程序了; 图 3 4 选择所需要的源程序 现在编写程序: #include / 包含文件 #include / 包含文
18、件 void main(void) SCON=0x52; TMOD=0x20; TH1=0xf3; TR1=1; printf( “ Hello I am KEIL 51.n ” ); /打印程序执行信息 printf( “ I will be your friend.n ” ); /打印程序执行信息 while(1);/ 等价于 HALT 指令 在输入上述程序时,KEIL51 会自动识别关键字,并以不同颜色提示用户加以注意,这 样可以减低错误率,有利于提高编程效率。程序输入完毕后,屏幕如图3 5 所示。 12 图 3 5 程序输入完成后的屏幕显示 编辑源程序之后,为了下载到目标硬件系统,要反
19、复进行编译和连接操作。这时使用的 正是“ Project”下拉菜单中的编译命令。“Build Target ”()表示只编译和连接在项目窗口 修改过的源程序,因此适合于多种源程序文件的情况。“Rebuild all Target File”()表示 编译和连接项目里登陆的所有源程序文件。相反, “Translate”()表示只编译被激活的窗 口中的源程序。另外,在编译和连接过程中,可以利用“Build Stop ”()停止正在进行中 的编译和连接, 这个快捷按钮是未被激活状态时的画面。在窗口底部可以看见KEIL 项目文 件( *.UV )的历史记录,列出最近使用过的文件,最多10 个。除使用过
20、的项目文件之外的 历史记录,在“File”下拉菜单的下端可以到过去曾使用过的6 个文件列表。 在设定“Option for Target ”的存储器和 “Settings”项后。进行编译并执行dScope()。 则出现如图3 6 所示画面。当然,在执行前装如监控程序和目标硬件系统已接好电源,并 且串行通信电缆也已连接到PC 机的 COM 端口。然后监控程序和连接都正常,则在左下端 状态栏里显示蓝色的直方图表,以表示正在装入;如果通信电缆没有连接到目标硬件系统, 则显示如3 7 所示的信息。这时,要按目标硬件系统的复位按钮重新执行监控程序之后, 单击“ Try Again ”或者“ Settin
21、gs, ”,重新确定设定值。特别是要重新确定通信速度是否 为设定为9 600bps,目标硬件系统的时钟频率是否设定为11.0592Mhz。如果这样还是连接 不上,单击“ Stop Debugging ”来退出bScope,重新进行上面的步骤。若还没有任何进展, 则只好从头开始检查一下目标硬件系统和软件的设置,在特殊情况下,有时往往是ROM 里 的指令代码有问题,或者串行通信有问题。如果一切连接都正常,则不出现错误窗口,在 13 dScope 环境中变成准备等待(Standby)状态。 图 3 6 正在运行的源程序 图 3 7 错误信息提示 根据上述编写的程序,若需要在电脑上显示编写的结果是不是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- keilc 教程 以及 程序 例子 要点
链接地址:https://www.31doc.com/p-5197321.html