下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机开发与仿真软件Keil C51的使用、Keil C51 操作入门Keil C51 简介Keil C51是德国知名软件公司Keil (现已并入ARM公司)开发的基于8051内核 的微控制器软件开发平台,是目前开发 8051内核单片机的主流工具。Keil 51支持汇 编语言、C语言等各种开发语言。其中,uVision2集成开发环境包含项目管理、源代码 编辑和强大的程序调试环境。uVision2调试器是一个强大的全特性调试器,允许用户 在P(机上完全模拟目标程序、指令集和片内外围功能。实验所用的是Keil C51评估版。Keil C51 的启动双击桌面上的“ Keil uVision2 ”图标
2、,启动Keil C51程序,启动界面如图1所示。图1 Keil C51 的启动界面建立第1个Keil C51 程序Keil C51是一个功能很强大的软件,但是使用起来并不复杂。现在就通过建立一 个简单的LED(发光二极管)闪烁发光的实例来初步掌握 Keil C51的基本用法。硬件电 路参见图2,单片机I/O输出低电平可点亮LED图2 LED闪烁发光电路 新建工程。执行Keil C51 软件的菜单“ Project | N _ew Project”,弹出一个名 为“ Create NewProject ”的对话框。先选择一个合适的文件夹准备来存放工程文 件,比如“ E:LedFlash”,其中“
3、 LedFlash”是新建的文件夹。建议:今后每新建一个工程都要在适当的磁盘位置新建一个文件夹用来保存工程文件,以方便管理,并养成良好的习惯。最后,为工程取名为“LedFlash ”,并保存。参见图3。图3 新建Keil C51 工程选择CPU紧接着,Keil C51提示选择CPU器件。8051内核单片机最早是由鼎鼎 大名的In tel 公司发明的,后来其他厂商如 Philips 、Atmel、Winbond等先后 推出其兼容产品,并在 8051的基础上扩展了许多增强功能。在这里可以选择Philips 的第1个器件“ 80/87C51”,该器件与In tel的8051完全兼容。参见图 4。图4
4、选择CPU 接下来弹出一个如图5所示的对话框。该对话框提示是否要把标准 8051的启动代码添加到工程中去。Keil C51既支持C语言编程也支持汇编语言编程。如果打算 用汇编语言写程序,则应当选择“否(N) ”。如果打算用C语言写程序,一般也选 择“否(N) ”,但是,如果用到了某些增强功能需要初始化配置时,则可以选择“是(Y) ”。在这里,我们选择“否(N) ”,即不添加启动代码。图5选择是否要添加启动代码至此,一个空的Keil C51工程建立完毕。 执行菜单“ File | New” ,出现一个名为“ Text n”(其中n表示序号)的文档。 接着执行菜单“ File | S _ave”
5、,弹出一个名为“ Save As”的对话框。将文件名改 为“”,然后保存,参见图6。注意:扩展名“ .c ”不可省略。图6保存新建的源程序文件 添加源程序文件到工程中。现在,一个空的源程序文件“”已经建立,但是这个 文件与刚才新建的工程之间并没有什么内在联系。我们需要把它添加到工程中去。 单击Keil C51软件左边项目工作窗口“ Target 1 ”上的“ + ”,将其展开。然后 右击“Source Group 1”文件夹,会弹出如图7所示的选择菜单。单击其中的“ AddFiles to Group 'Source Group 1' ”项,将弹出如图8所示的对话框。 先选择文
6、件类型为“ C Source file (*.c)”,这时,对话框内将出现刚才保存过的“”。单击文件:再按一次“ Add'按钮(请不要多次点击“ Add'按钮), 最后按“ Close”按钮。这时,源程序文件“”已经出现在项目工作窗口的“ Source Group 1 ”文件夹内,可以单击左边的“ + ”展开后查看。图7准备添加源程序文件到工程中图8向工程中添加源程序文件现在开始输入源程序。先最大化“”源程序窗口,然后请按以下程序清单输入程序 代码。程序清单:LED 闪烁发光程序/*程序名称:LED闪烁发光硬件接法:控制LED,低电平点亮运行效果:LED亮200ms,灭800m
7、s,反复循环*/#in elude <>就表示程序没有问题了(至少是在语法上不存在问题了)。如果存在错误或警告, 则仔细检查程序是否与程序清单一致。修改后,再编译,直到通过为止。 编译后的结果会生成In tel HEX 格式的程序文件“”。该文件可以被专门的 芯片烧写工具载入并最终烧录到具体的芯片中。芯片安装到自己的电路板上, 通电,就可以运行里面的程序了。还有一类叫做“ISP”( In SystemProgrammi ng )的下载方法,也能够把程序文件烧录到芯片内,但是采用的是 串行在线方式,芯片不必从电路板上取下。ISP方式编程速度较慢但操作要方 便些。Philips 的多款
8、8051内核单片机都能很好的支持ISP下载功能,比如 P89V51RB2、P89V51RD2等等。新建A51汇编工程Keil C51软件也支持A51汇编编程。建立 A51工程的操作步骤与建立 C51工程基本相同,但有两个要点请注意:新建的源程序文件名要以” .A51 ”或“.ASM作为后缀。 A51源程序添加到工程中时,文件类型要选择“ Asm Source file(*s*; *.src;*.a*) ”。其它操作步骤都跟建立C51工程相同。二、在Keil C51 下调试程序Keil C51的调试功能非常强大,现在仍然以LED闪烁发光程序为例,来具体了解 如何进行仿真操作。进入仿真状态如果程序
9、编译通过,就可以仿真了。在仿真之前,有一项参数最好配置一下, 仍然按“ ”图标进入编译环境设置,找到“ Xtal (MHz) ”项,填入。最后点 击“确定”。进入仿真状态很简单,直接点击工具栏红色的“”图标。认识各个仿真窗口图10 Keil C51 源程序窗口1. 源程序窗口Keil C51调试界面的中间是源程序窗口,参见图10。黄色箭头“ ”所指为当前 即将执行但还没有执行的代码。以深灰色标记的程序行是可以执行的代码(当然,在 调试过程中未必一定要去执行)。以浅灰色标记的程序行不可作为代码来执行,它们 是注释、空行、标号或ROM数据表。以绿色标记的程序行表示曾经执行过的代码。2. 寄存器窗口
10、图11 Keil C51 寄存器窗口Keil C51调试界面的左边是寄存器窗口,参见图11 o 8051的工作寄存器(R旷 R7)和系统寄存器(a、b、sp、dptr、PC psw)都列出来了。Value栏显示的是寄 存器的当前数值。如果在调试过程中某个寄存器的值有变化, 则会用蓝色的背景标记。 单击psw寄存器左边的“ + ”,展开后还可以看到其每一位的情况。3. 汇编窗口单击工具栏的“ ”图标,源程序窗口会自动切换成汇编窗口,参见图 12。在汇编 窗口里,我们可以看到每条指令的存储地址和编码等信息。再次单击“ ”,回到源 程序窗口。4. 存储器窗口单击工具栏的“ ”图标,将显示出存储器窗口
11、,参见图 13。8051 单片机的存储 器分为多个不同的逻辑空间。如果要观察代码存储器的内容,就在地址栏 “Address: ”内输入“ C: 地址”,例如: C:0080H 。同理,观察内部数据存储器输 入“I:地址”,观察外部数据存储器输入“ X:地址”。拖动存储器窗口右边的滚动条 可观察其它存储单元。存储器窗口有“ Memory #1Memory #4 ”共4个观察子窗, 可以用来分别观察代码存储器、内部数据存储器和外部数据存储器。存储器的内容是 可以修改的。用鼠标右击打算要修改的存储单元,选择“ Modify Memoryat”项, 弹出修改对话框,可以随意修改存储单元的内容。图12
12、Keil C51 汇编窗口图13 Keil C51 存储器窗口图14 Keil C51 变量观察和堆栈窗口5、变量观察和堆栈窗口单击工具栏的“”图标,将显示变量观察和堆栈窗口(Watch & Call StackWindow),参见图 14。在 Locals 标签页,会自动显示局部变量的名称和数值。在 C 语言程序的函数中, 每一对花括号“ ”内定义变量都是局部变量,能够自动显示。在“ Watch ”标签页内,先用鼠标点击一次“ type F2 to edit ”,再按功能键“ F2”,输入所要观察的局部或全局变量的名称,回车后就能显示出当前数值。 在“ Call Stack ”标签页
13、内,可以实时地观察到堆栈的使用情况。程序的运行控制Keil C51能够实现程序单步和全速运行,具体由工具栏上的按钮来实现:复位按钮:单击此图标,能够使程序复位,程序将从地址 C:OOOOH处执行。全速运行:单击此图标,能够使程序全速运行。停止运行:该图标原来是灰色(不可操作),在进入全速运行状态后会变成 红色。如果要停下来,则可以按此图标。单步进入:按此图标可以实现程序的单步执行。 在遇到函数调用时,会跟踪进 入函数体。单步跳过:单步执行,遇到函数时视作1条指令来执行,不会跟踪进入。单步跳出:在调试C语言程序时,如果希望从某个函数中提前返回,则可以按 此图标。执行到光标:用鼠标单击某条可执行的
14、代码(深灰色标记的程序行)。然后 按此图标,贝U程序开始全速执行,当遇到光标所在的行时,会自动停下来。女口 果单击不可执行的程序行(有浅灰色标记),试图让程序执行到该行,是不允 许的,“”图标也会立即变成灰色,不让操作。设置/清除断点:Keil C51支持断点设置功能。单击需要设置断点的行,再 单击此图标,我们会看到该行被一个红色的小方块标记。当程序全速运行时遇 到断点,便会自动停下来。Keil C51允许在同一个程序里设置多个断点。清除 某个断点的方法是,将光标停在该行上,再按一次“”图标。另外一种设置/清除断点的快捷方法是,用鼠标在目标程序行的空白处双击,不妨试一试。清除所有断点:如果设置了多个断点,想一并清除,则可以按此图标。图15 外围设备中的P1和TO对话框外围设备访问Keil C51的一大特色是在仿真调试时支持对外围设备的访问。单击菜单“ Periphera
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陕西邮政2026年度校园招聘200人备考题库带答案详解
- 2026山东省科创集团有限公司权属企业招聘13人笔试历年参考题库附带答案详解
- 2025长江产业集团创新投资事业部一线基金管理团队社会招聘7人笔试历年参考题库附带答案详解
- 2026年阿拉善职业技术学院单招综合素质考试题库附答案详解(研优卷)
- 2026年陕西省西安市单招职业倾向性测试题库及答案详解(各地真题)
- 2025山西大地环境投资控股有限公司招聘116人笔试历年参考题库附带答案详解
- 2026年陕西省商洛地区单招职业倾向性考试题库参考答案详解
- 2026年陕西青年职业学院单招职业适应性测试题库带答案详解(新)
- 2025年昆明元朔建设发展有限公司收费员招聘9人备考题库及参考答案详解1套
- 2026年鹰潭职业技术学院单招职业技能测试题库及参考答案详解
- GB/T 42756.1-2023卡及身份识别安全设备无触点接近式对象第1部分:物理特性
- 中国精神障碍分类与诊断标准第3版
- 融资服务协议合同
- Listen-to-This-2英语中级听力答案+原文整理版
- 如何做好医院科主任
- 茶叶加工项目可行性研究报告
- 水平定向钻穿越高速公路施工方案
- 应用写作写作四要素
- 设计思维与图形创意课件
- 湖北中医药大学-医学-护理105400专业考研复习题库大全-下(500题)
- 民航英语900句大全
评论
0/150
提交评论