keil快速入门_第1页
keil快速入门_第2页
keil快速入门_第3页
keil快速入门_第4页
keil快速入门_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Keil 入门入门vKeil是德国Keil公司开发的单片机编译器,是目前最好的51单片机开发工具之一,可以用来编译C源代码和汇编源程序、连接和重定位目标文件和库文件、创建HEX文件、调试目标程序等,是一种集成化的文件管理编译环境。1.1 Keil Vision中的源程序设计与编译中的源程序设计与编译v在Keil集成开发环境下使用工程的方法来管理文件,而不是单一文件的模式,所有的文件包括源程序(如C程序、汇编程序)、头文件等都可以放在工程项目文件里统一管理。对于刚刚使用Keil的用户,一般可以按照下面的步骤来创建一个自己的应用程序:v(1) 一个工程项目文件;v(2) 选择目标器件(例如,选择A

2、TMEL公司的AT89C51);v(3) 为工程项目设置软硬件调试环境;v(4) 创建源程序文件并输入程序代码;v(5) 保存创建的源程序项目文件;v(6) 把源程序文件添加到项目中。v具体如何建立应用程序并进行仿真调试,我们将通过实验来详细说明。v1. 建立一个项目v双击桌面快捷图标即可进入如图6-7所示的集成开发环境编辑操作界面,主要包括三个窗口:工程项目窗口、编辑窗口和输出窗口。v单击 Project 菜单,在弹出的下拉菜单中选中“New Project”选项,新建一个项目,如图6-8所示。图6-7 Vision2编辑操作界面图6-8 Project界面v然后选择要保存的路径,输入工程文

3、件的名字(比如保存到uv目录里,工程文件的名字为“shiyan1”),如图6-9所示,然后单击“保存”按钮。v这时会弹出一个对话框,要求选择单片机的型号。这里可以根据所使用的单片机来选择,Keil几乎支持所有51核的单片机,这里以Atmel的89C51来说明,如图6-10所示。图6-9 Project保存设置界面图6-10 选择器件首先选择Atmel公司,然后单击左边的“+”号选择AT89C51 之后,右边栏 是对这个单片机的基本说明,然后单击“确定”,在随后弹出的对话框单击“否”。完成以上步骤后,屏幕如图6-11所示v首先进行选项设置,将鼠标指针指向“Target 1”并单击右键,再从弹出的

4、右键菜单中单击“Options for Target”选项,如图6-12所示。图6-11 初始化编辑界面v从弹出的“Options”对话框中选择“Output”标签栏,并按如图6-13所示设置其中各项。图6-12 选择“Options for Target”选项图6-13 “Output”标签栏2. 建立一个新的ASM汇编语言程序并编译 下面开始编写源程序。v(1) 在菜单栏中,单击“File”菜单,再在下拉菜单中单击“New”选项,或直接单击工具栏的快捷图标来建立了一个新的编辑窗口。此时光标在编辑窗口里闪烁,这时可以输入用户的应用程序了。建议首先保存该空白文件,单击菜单上的“File”,在下

5、拉菜单中选中“Save As”选项,在弹出对话框的“文件名”栏右侧编辑框中,输入欲使用的文件名,同时,必须输入正确的扩展名,如“Text1.asm”,然后,单击“保存”按钮,如图6-14所示 v注意:如果用语言编写程序,则扩展名为“.c”;如果用汇编语言编写程序,则扩展名为“.asm”,且必须添加扩展文件名。v(2) 回到编辑界面后,单击“Target 1”前面的“”号,然后在“Source Group 1”上单击右键,弹出如图6-15所示的快捷菜单。图6-14 保存源程序v然后单击“Add File to GroupSource Group 1”,打开如图6-16所示对话框,在“文件类型”处

6、默认为“C Source file(*.c)”,因为前面我们保存的是汇编语言的文件,故需要选择“Asm Source file(*.s*;*.src;*.a*)”,这样在上面就可以看到刚才保存的汇编语言文件“Text1.asm”,双击该文件则自动添加至项目,单击“Close”关闭对话框。v对比图6-17和图6-15,可以看出二者的不同点:在添加了汇编语言文件后,在“Source Group 1”文件夹前面出现了一个“+”号,单击“+”号展开就看到了刚才添加的“Text1.asm”文件。图6-15 弹出右键菜单v(3) 然后就可以在右侧的编辑区输入源程序了。在输入指令时,读者可以看到事先保存待编

7、辑文件的好处:Keil会自动识别关键字,并以不同的颜色提示用户加以注意,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后别忘了再次保存,如图6-18所示。图6-16 添加文件对话框图6-17 添加文件后工程栏的变化v(4) 程序文件编辑完毕后,单击“Project”菜单,选中“Built target”选项(或者使用快捷键 F7),或者单击工具栏的快捷图标来进行编译,如图6-19所示 图6-18 程序输入完毕后状态图6-19 编译菜单v(5) 如果有错误,则在最后的输出窗口中会出现所有错误所在的位置和错误的原因,并有“Target not created”的提示。双击该处的错误提示,在

8、编辑区对应错误指令处左面出现蓝色箭头提示,然后对当前的错误指令进行修改,如图6-20所示 图6-20 错误提示v(6) 将所有提示过的错误进行修改,然后再次重复(4)的操作进行编译,直至出现“shiyan1 - 0 Error(s), 0 Warning(s)”,说明编译完全通过,如图6-21所示。图6-21 编译通过提示3. 调试并仿真v编译成功后,就可以进行调试并仿真了。单击“debug”菜单,在下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键 Ctrl+F5),或者单击工具栏的快捷图标就可以进入调试界面,如图6-22所示 图6-22 调试界面v在联机调试

9、状态下可以启动程序全速运行、单步运行、设置断点等,单击菜单“Debug /Go”选项,启动用户程序全速运行。v下面介绍几种常用的调试命令及方法。v(1) 复位CPUv用“Debug”菜单或工具栏的“Reset CPU”命令可以复位CPU。在不改变程序的情况下,若想使程序重新开始运行,执行此命令即可。执行此命令后程序指针返回到000H地址单元。另外,一些内部特殊功能寄存器在复位期间也将重新赋值。例如,A将变为00H,DPTR变为0000H,SP变为07H,I/O口变为0FFH。v(2) 全速运行(F5)v用“Debug”工具栏的“Go”或快捷命令“Run”命令按钮,即可实现全速运行程序。Visi

10、on2处于全速运行期间,Vision2不允许对任何资源的查看,也不接受其他命令。当然若程序中已经设置断点,程序将执行到断点处,并等待调试指令。v(3) 单步跟踪(F11)v用“Debug”工具栏的“Step”或快捷命令“StepInto”命令按钮,可以单步跟踪程序。每执行一次此命令,程序将运行一条指令(以指令为基本执行单元)。当前的指令用黄色箭头标出,每执行一步箭头都会移动,已执行过的语言呈绿色。在汇编语言调试下,可以跟踪到每一个汇编指令的执行。v(4) 单步运行(F10)v用“Debug”工具栏的“Step Over”或快捷命令“Step Over”按钮,即可实现单步运行程序,此时单步运行命

11、令将把函数和函数调用当作一个实体来看待,因此单步运行是以语句(该语句不管是单一命令行还是函数调用)为基本执行单元。v如果程序使用了系统资源口,为了更好地观察这些资源的变化,用户可以打开它们的观察窗口。选择“PeripheralsI/O-PortsPort”命令,即可打开并行I/O口的观察窗口。6.2 Proteus与单片机电路的交互式仿真与调试 在Proteus ISIS界面中编辑电路原理图实例,如图6-24所示 图6-24 实例电路原理图XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/

12、AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51R110kR2470D3LED-REDv双击单片机AT89C51,打开其属性编辑框,在“Program File”栏中,

13、单击打开按钮,选取目标代码文件*.HEX。6.2.1 加载目标代码加载目标代码v在“Clock Frequency”栏中设置时钟频率为12MHz,如图6-25所示。因为仿真运行时的时钟频率是以单片机属性中设置的频率值为准,所以在Proteus ISIS界面中设计电路原理图时,可以略去单片机的时钟电路。另外,复位电路也可略去。对于MCS-51系列单片机而言,在不进行电路电气检测时,EA引脚也可悬空。图6-25 加载目标代码文件和时钟设置6.2.2 单片机系统的单片机系统的Proteus交互仿真交互仿真v在Proteus仿真界面中单击按钮,全速启动仿真。6.2.3 调试菜单与调试窗口调试菜单与调试

14、窗口v系统在全速仿真运行时不显示调试窗口,可单击暂停按钮,然后单击Proteus ISIS界面的“Debug”菜单,弹出如图6-27所示的下拉菜单。从图中可以看出,调试菜单包含有3个存储器窗口,调试过程中可分别打开这3个存储器窗口进行观察。v1. 单片机寄存器窗口v通过菜单【Debug】【8051 CPU Registers-U1】打开单片机寄存器窗口,如图6-28所示。里面有常用的SFR,如SP、PC、PSW、R0R7、ACC及将要执行的指令等。在本窗口内右击,可以设置窗口的字体和颜色。 图6-27 “Debug”下拉菜单图6-28 单片机寄存器窗口 v3. 单片机IDATA窗口v通过菜单【

15、Debug】【8051 CPU Internal(IDATA)Memory-U1】打开单片机的IDATA窗口,如图6-30所示。v对于单片机的SFR寄存器,既可以从单片机的寄存器窗口中查看,也可以在SFR寄存器窗口中查看。v在SFR、IDATA窗口中右击,可弹出该窗口的设置菜单,如图6-31所示。可使用“Goto”命令快速运动到指定的显示单元,还可复制数据或改变显示方式等。v2. 单片机SFR 窗口v通过菜单【Debug】【8051 CPU SFR Memory-U1】打开单片机的SFR窗口,如图6-29所示。图6-29 单片机SFR窗口 图6-30 单片机IDATA窗口 图6-31 单片机I

16、DATA窗口的快捷菜单6.2.4 观察窗口观察窗口v虽然通过以上方法可以观察单片机各个存储器的内容,但因显示内容比较分散,观察起来不方便。对此,Proteus又同时提供了一个观察窗口“Watch Window”,它可以将所关心的各项寄存器的内容集中于一个窗口中,观察起来十分方便,克服了上述缺点。v1. 观察项添加v通过菜单【Debug】【Watch Window】打开空白的观察窗口,在观察窗口内右击,弹出快捷菜单,如图6-32所示。由该菜单可添加、删除观察项,设置观察项的数据类型,显示格式以及设置窗口的字体、颜色等。v若单击“Add Items(By Name)”项,便会弹出如图6-33所示的

17、对话框,双击相应的SFR寄存器名称,即可以观察项名称方式将观察项添加到观察窗口中。也可选择以观察项的地址来添加观察项的方式。添加了观察项的观察窗口如图6-34所示。图6-32 观察窗口及快捷菜单v2. 观察项删除v要删除已添加的观察项,有两种方法:v在观察窗口单击选中相应的观察项,按键盘上的“Del”键即可。v在观察窗口右击相应的观察项,在弹出的快捷菜单中单击“Delete Item”选项。图6-33 “Add Memory Item”对话框 图6-34 添加了观察项的观察窗口v3. 观察点条件设置v在仿真运行的过程中,还可以通过设置“观察点条件”的手段来触发中断,以满足某些特殊条件断点的要求

18、。具体方法:在观察窗口内右击,在弹出的快捷菜单中单击“Watchpoint Condition”项,弹出观察点条件设置框,如图6-35所示。图6-35 观察点条件设置框习题1 在proteus上画出如下电路图.2 在keil中写出如下程序,编译.3 运行程序,观察电路中LED的变化.#include #define uchar unsigned char sbit P1_0=P10;void delay05() uchar i,j,k; for(i=5;i0;i-) for(j=200;j0;j-) for(k=250;k0;k-) ; void main() while (1) P1_0=0;del

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论