1•要求掌握使用KEIL进行程序创建,运行keil使用教程C51集成开集成开发软件件Keil C主要内容主要内容1 Keil C集成开集成开发工具工具简介介2 Keil C操作界面操作界面3 Keil C的使用的使用4 项目的运行目的运行调试keil使用教程C51集成开集成开发软件件Keil CKeil C:是德国:是德国KEIL公司开公司开发的的单片机片机C语言言编译器其前身是器其前身是FRANKLIN C51,功,功能相当能相当强大µVision2:是一个:是一个for Windows 的、集的、集成化的成化的C51开开发环境集成了文件境集成了文件编辑处理、理、项目管理、目管理、编译链接、接、软件仿真件仿真调试等多种等多种功能,是功能,是强大的大的C51开开发工具在后面的在后面的讨论中,中,对Keil C和和µVision2两个两个术语不做不做严格的区分,一般多称呼格的区分,一般多称呼为Keil C,包含有,包含有µVision2集成开集成开发环境之意 keil使用教程1 Keil C集成工具集成工具简介介一、一、编译器和器和链接器接器Keil C的的编译器和器和链接器包括接器包括C51、、A51、、L51和和BL51。
C51是是C语言言编译器,其功能是将器,其功能是将C源代源代码编译生成可重新定位的目生成可重新定位的目标模模块A51是是汇编语言言编译器,其功能是将器,其功能是将汇编源代源代码编译生成可重新定位的目生成可重新定位的目标模模块L51是是链接接/定位器,其功能是将定位器,其功能是将汇编源源代代码和和C源代源代码生成的可重定位的目生成的可重定位的目标模模块文件(文件(.OBJ),与),与库文件文件链接、定位生成接、定位生成绝对目目标文件 keil使用教程1 KeilC集成工具集成工具简介介BL51也是也是链接接/定位器,除了具有定位器,除了具有L51所所有的功能之外,有的功能之外, (1)可以可以链接定位大于接定位大于64KB的程序;的程序;(2) 具有代具有代码域及域切域及域切换功能;功能;(3)可用于可用于RTX51实时多任多任务操作系操作系统二、二、LIB51库管理器管理器LIB51库管理器可以把由管理器可以把由汇编器、器、编译器器创建的目建的目标文件构建成目文件构建成目标库((.LIB)这些些库是按是按规定格式排列的目定格式排列的目标模模块,,可在以后被可在以后被链接器所使用接器所使用。
keil使用教程1 KeilC集成工具集成工具简介介三、模三、模拟调试器器Keil C有三个模有三个模拟调试器1、、软件模件模拟调试器器dScope51((1)模)模拟程序运行与程序运行与调试,包括,包括C、、汇编、、宏宏汇编程序;程序;((2)模)模拟CPU及其外及其外围器器件,如串行口、定件,如串行口、定时器器/计数器、数器、I/O口等2、硬件、硬件调试器器tScope51tScope51用于用于对硬件目硬件目标板板进行行调试3、、监视程序程序Monitor51通通过串行口,串行口,PC机与目机与目标板板进行通信,利行通信,利用用 Monitor51,在,在PC机上机上显示程序的运行情示程序的运行情况况keil使用教程 Keil C操作界面操作界面编辑状状态的操作界面主要由的操作界面主要由5部分部分组成:成:最上面的菜最上面的菜单栏、菜、菜单栏下面的工具下面的工具栏、左、左边的工程管理窗口、中的工程管理窗口、中间的的编辑窗口、下面窗口、下面的的输出信息窗口出信息窗口菜菜单项主要有主要有::文件文件、、编辑、、视图(View)、、工程、工程、调试、片内外、片内外设(Peripherals)、工具、、工具、软件版本控制系件版本控制系统(SVCS)、窗口、帮助。
窗口、帮助 工具都是相工具都是相应菜菜单项的快捷操作按的快捷操作按钮,,所以,下面以介所以,下面以介绍菜菜单项为主主线,并指明,并指明对应的工具按的工具按钮keil使用教程2 Keil C操作界面操作界面图4-6 Keil C51在在编辑状状态下的操作界面下的操作界面输出信息窗口出信息窗口工程管理器窗口工程管理器窗口工具工具栏菜菜单栏编辑窗口窗口keil使用教程2 Keil C操作界面操作界面一、文件(一、文件(File)菜)菜单文件菜文件菜单下都是常下都是常见的的项,不再,不再给出出对应的工具按的工具按钮1))New2))Open3))Close4))Save5))Save as…6))Device Database::维护器件数据器件数据库7))Print Setup…::设置打印机置打印机8))Print9))Exitkeil使用教程2 Keil C操作界面操作界面二、二、编辑((Edit)菜)菜单1))Undo2))Redo:恢复上次的撤:恢复上次的撤销3))Cut4))Copy5))Paste6))Indent Select Text::缩进一个制表符位一个制表符位7))Unindent Select Text左移一个制表符位左移一个制表符位8))Toggle Bookmark:在当前行置:在当前行置书签9))Goto Next Bookmark移光移光标到下一到下一书签10))Goto Previous Bookmark::移光移光标到上一个到上一个书签keil使用教程2 Keil C操作界面操作界面11))Clear All Bookmark::清除当前文件中所有的清除当前文件中所有的书签12))Find…13))Replace…::查找与替找与替换14))Find in Files…::在多个文件中在多个文件中查找字符串找字符串15))Goto Matching Brace::寻找匹配的各种括号找匹配的各种括号 keil使用教程2 Keil C操作界面操作界面三、三、查看(看(View)菜)菜单1))Status Bar::显示或示或隐藏状藏状态栏2):):显示或示或隐藏文件工具藏文件工具栏3))Build Toolbar::显示或示或隐藏藏编译工具工具栏4))Debug Toolbar::显示或示或隐藏藏调试工具工具栏5))Project Windows::显示或示或隐藏工程窗口藏工程窗口6))Output Windows::显示或示或隐藏藏输出窗口出窗口7))Source Browser:打开源文件:打开源文件浏览器窗器窗口口8))Disassembly Windows::显示或示或隐藏反藏反汇编窗口窗口keil使用教程2 Keil C操作界面操作界面9))Watch & Call Stack Windows::显示或示或隐藏藏观察和堆察和堆栈窗窗口口10))Memory Windows::显示或示或隐藏存藏存储器窗口器窗口11))Code Coverage Windows::显示或示或隐藏代藏代码覆盖窗口覆盖窗口12))Performance Analyzer Windows::显示或示或隐藏性能分析窗口藏性能分析窗口13))Symbol Windows::显示或示或隐藏符号藏符号变量窗口量窗口keil使用教程2 Keil C操作界面操作界面14))Serial Windows #1::显示或示或隐藏串行口窗口藏串行口窗口115))Serial Windows #2::显示或示或隐藏串行口窗口藏串行口窗口216))Toolbox::显示或示或隐藏工具箱藏工具箱17))Periodic Windows Update::在在调试运行程序运行程序时,周期刷新,周期刷新调试窗口窗口18))Workbook Mode::显示或示或隐藏工作簿窗口的藏工作簿窗口的标签19))Option…::设置置颜色、字体、快捷色、字体、快捷键和和编辑器器选项 keil使用教程2 Keil C操作界面操作界面四、工程(四、工程(Project)菜)菜单1))New Project…::创建一个新工程建一个新工程2))Import µVision2 Project…::导入工程文件入工程文件3))Open Project:打开一个已有工程:打开一个已有工程4))Close Project:关:关闭当前工程当前工程5))Components Environment and Books::设置工具置工具书、包含文件和、包含文件和库文件的文件的路径路径6))Select Device for Target::从器件从器件库中中选择一种一种CPUkeil使用教程2 Keil C操作界面操作界面7))Remove Groups…::从工程中从工程中删去去组或文件或文件8))Option for Target…::设置置对象、象、组或文件的或文件的工具工具选项,,设置当前目置当前目标选项,,选择当前当前目目标9))Build Target::编译修改修改过的文件并生成的文件并生成应用用10))Rebuild Target::重新重新编译所有的文件并生成所有的文件并生成应用用11))Translate…::编译当前文件当前文件12))Stop Build:停止当前的:停止当前的编译过程程keil使用教程2 Keil C操作界面操作界面五、五、调试((Debug)菜)菜单1))Start/Stop Debugging::启启动/停止停止调试模式模式2))Go:全速运行:全速运行3))Step:跟踪运行:跟踪运行4))Step Over::单步运行步运行5))Step out of current function::一步一步执行完当前函数并返回行完当前函数并返回6))Run to Cursor line::一步运行到当前光一步运行到当前光标处7))Stop Running:停止运行:停止运行keil使用教程2 Keil C操作界面操作界面8))Breakpointing…:打开断点:打开断点对话框框9))Insert/Remove Breakpoint::在当前行在当前行设置置/清除断点清除断点10))Enable/Disable Breakpoint::使能使能/禁止当前行的断点禁止当前行的断点11))Disable All Breakpoints::禁止所有断点禁止所有断点12))Kill All Breakpoints:清除所有断点:清除所有断点13))Show Next Statement::显示下一条指令示下一条指令keil使用教程2 Keil C操作界面操作界面14))Enable/Disable Trace Recording::使能使能/禁止跟踪禁止跟踪记录15))View Trace Records::显示示执行行过的指令的指令16))Memory Map…::打开存打开存储空空间配置配置对话框框17))Performance Analyzer…::打开性能分析打开性能分析设置窗口置窗口18))Inline Assembly…::对某一行重新某一行重新汇编,,且可以修改且可以修改汇编代代码19))Function Editor…::编辑调试函数和函数和调试配配置文件置文件 keil使用教程2 Keil C操作界面操作界面六、片内外六、片内外设((Peripheral)菜)菜单1))Reset CPU::复位复位CPU2))Interrupt::设置置/观察中断(触察中断(触发方式、方式、优先先级、使能等)、使能等)3))I/O Ports::设置置/观察各个察各个I/O口口4))Serial::设置置/观察串行口察串行口5))Timer::设置置/观察各个定察各个定时器器/计数器数器6))A/D Converter::设置置/观察察A/D转换器器7))D/A Converter::设置置/观察察D/A转换器器这一部分的内容,与一部分的内容,与选择的的CPU有关。
有关 keil使用教程2 Keil C操作界面操作界面七、工具(七、工具(Tools)菜)菜单1))Setup PC-Lint…:配置:配置PC-Lint2))Lint:用:用PC-Lint处理当前理当前编辑的文件的文件3))Lint all C Source Files:用:用PC-Lint处理当前理当前项目中所有的目中所有的C文件文件4))Setup Easy-Case…::配置配置Siemens 的的Easy-Case5))Star/Stop Easy-Case::启启动或停止或停止Easy-Casekeil使用教程2 Keil C操作界面操作界面6))Show File((Line):):用用Easy-Case处理当前理当前编辑的文件的文件7))Customize Tools Menu…::将用将用户程序加入工具菜程序加入工具菜单 八、八、软件版本控制系件版本控制系统((SVCS)菜)菜单软件版本控制系件版本控制系统菜菜单只有一只有一项::Configure Version Control…::配置配置软件版本控制系件版本控制系统命令命令 keil使用教程2 Keil C操作界面操作界面九、九、视窗(窗(Windows)菜)菜单1))Cascade::以相互重叠方式排列文件窗口以相互重叠方式排列文件窗口2))Tile Horizontally::以不重叠方式水平排列文件窗口以不重叠方式水平排列文件窗口3))Tile Vertically::以不重叠方式垂直排列文件窗口以不重叠方式垂直排列文件窗口4))Arrange Icons:在窗口的下方排列:在窗口的下方排列图标5))Split:将当前窗口分成几个窗格:将当前窗口分成几个窗格6))Close All:关:关闭所有窗口所有窗口keil使用教程2 Keil C操作界面操作界面十、帮助(十、帮助(Help)菜)菜单1))µVision Help:打开:打开µVision在帮助帮助2))Open Books Window:打开:打开电子子图书窗窗口口3))Simulated Peripherals for…::显示片内外示片内外设信息信息4))Internet Support Knowledegebase::打开互打开互联网支持的知网支持的知识库5))Contact Support::联系方式支持系方式支持6))Check for Update::检查更新更新7))About µVision::显示示µVision的版本号和的版本号和许可可证信息信息keil使用教程3 Keil C应用用在在Keil C中,文件的管理采用的是中,文件的管理采用的是项目目(也叫工程)方式,而不是以前的(也叫工程)方式,而不是以前的单一文件一文件方式。
方式工程管理器的功能:工程管理器的功能:对C51源程序、源程序、汇编源程序、源程序、头文件等文件文件等文件统一管理;可以一管理;可以对文文件件进行分行分组如图4-7所示工程管理窗口内容及分布,与工程管理窗口内容及分布,与Windows的的资源管理器相似源管理器相似keil使用教程3 Keil C应用用图4-7 Keil C51的的工程管理器工程管理器keil使用教程3 Keil C应用用一、一、项目的建立目的建立1、建立、建立项目目选择Project菜菜单下的下的New Project命令,命令,创建新工程,在建新工程,在对话框中框中设定新工程的位定新工程的位置,置,输入新工程名字保存即可入新工程名字保存即可2、、选择CPU在出在出现的的为新工程新工程选择CPU的界面,在的界面,在“data base”栏下下选择所使用的所使用的CPU确定后,会定后,会弹出一出一“Copy Standard 8051 Startup Code to Project Folder and Add Project”信息,信息, 一般一般选择“是是”即可keil使用教程3 Keil C应用用二、二、给项目加入程序文件目加入程序文件加入的文件可以是加入的文件可以是C文件,也可以是文件,也可以是汇编文件。
加入程序文件的文件加入程序文件的过程如下1)在)在项目管理器窗口中展开目管理器窗口中展开Target1文文件件夹,可以看到,可以看到Source Group12)向)向Source Group1添加文件在添加文件在Source Group1点点击鼠鼠标右右键,会,会弹出一出一菜菜单,其中有一,其中有一“Add Files to Group‘Source Group1’”命令,点命令,点击后会后会弹出一出一对话框,框,选择需要加入的程序文件,需要加入的程序文件,并且一次可以加入多个文件如并且一次可以加入多个文件如图4-9所示keil使用教程3 Keil C应用用3)移走)移走项目:在欲移走的文件上点目:在欲移走的文件上点击鼠鼠标右右键,会,会弹出一菜出一菜单,,执行其中的行其中的“Remove File ‘***’”命令即可命令即可 4))对文件分文件分组:可以按功能:可以按功能对项目管理目管理器中的文件分成器中的文件分成组,如,如图4-7所示先使用所示先使用图4-9中的中的“Manage Components”命令建命令建立立组,然后用鼠,然后用鼠标直接在直接在组之之间移移动文件文件即可。
即可 keil使用教程3 Keil C应用用图4-9 项目添加文件和目添加文件和组件命令件命令keil使用教程3 Keil C应用用三、三、项目的目的编译链接接设置置输出出.hex文件:在文件:在Target1上点上点击鼠鼠标右右键,出,出现类似似图4-9所示的菜所示的菜单,点,点击执行行“Options for Target ‘Target1’”命令,在命令,在弹出的会出的会话界面界面选择“Output”标签,,选中中“Create HEX File”项即可 编译链接方法:使用接方法:使用Project菜菜单下的下的Build target命令或命令或Rebuild all target Files命令,或者直接点命令,或者直接点击工具工具栏中中对应的按的按钮编译链接接结果:若有果:若有错误则不能通不能通过,并,并且会在信息窗口且会在信息窗口给出相出相应的的错误信息编译链接通接通过后,会后,会产生一生一.hex目目标文件 keil使用教程上机2•要求掌握使用KEIL进行程序调试及结果观察keil使用教程4 项目的运行目的运行调试这一部分介一部分介绍怎怎样对项目运行目运行调试,怎,怎样观察修改各部分的数据,怎察修改各部分的数据,怎样观察修改各察修改各片内外片内外设的运行状的运行状态。
一、使用不同运行方式一、使用不同运行方式进行行调试1、、进入入调试状状态点点击Debug菜菜单下的下的Start/Stop Debug Session命令或相命令或相应的按的按钮,即可,即可进入入调试状状态调试状状态下的操作界面如下的操作界面如图4-10所示 keil使用教程4.10.4 项目的运行目的运行调试图4-10 Keil C51在在调试状状态下的界面下的界面程序窗口程序窗口存存储器窗口器窗口变量窗口量窗口调试命令窗口命令窗口寄存器窗口寄存器窗口keil使用教程4 项目的运行目的运行调试2、各种运行方式、各种运行方式 5种运行方式:全速运行、跟踪运行、种运行方式:全速运行、跟踪运行、单步运行、跳出函数、运行到光步运行、跳出函数、运行到光标处命令分别对应为::Go、、Step、、Step Over、、Step out of current function、、Run to Cursor line如果用全速运行命令如果用全速运行命令Go,可以使用,可以使用Stop Running命令停止运行命令停止运行退出退出调试状状态:再次点:再次点击Debug菜菜单下下的的Start/Stop Debug Session命令或相命令或相应的的按按钮。
keil使用教程4 项目的运行目的运行调试二、断点的二、断点的设置与置与删除除方法方法1:用鼠:用鼠标双双击在需要设置的行的置的行的最前面,双最前面,双击鼠鼠标左左键,即可,即可设置或清除断置或清除断点方法方法2:用命令或命令按:用命令或命令按钮先将光标移移到需要到需要设置的行,然后点置的行,然后点击Debug菜菜单下的下的Insert/Remove Breakpoint命令或工具命令或工具栏中的相中的相应按按钮,即可,即可设置或清除断点置或清除断点另外另外还有断点禁用和全部清除命令及按有断点禁用和全部清除命令及按钮,也容易使用也容易使用 keil使用教程4 项目的运行目的运行调试三、寄存器的三、寄存器的观察与修改察与修改1、、显示寄存器窗口示寄存器窗口寄存器窗口、在寄存器窗口、帮助窗口和工程管理帮助窗口和工程管理器是同一个窗口,在工程管理器窗口下包含器是同一个窗口,在工程管理器窗口下包含3个个标签,即包含,即包含3个区域显示出寄存器窗口:在示出寄存器窗口:在调试状状态下,点下,点击View菜菜单下的下的Project Window命令或命令或对应的按的按钮,就会,就会显示或示或隐藏工程管理器窗口,藏工程管理器窗口,然后点然后点击窗口下窗口下边的寄存器的寄存器标签,即,即显示出示出寄存器窗口。
寄存器窗口 keil使用教程4 项目的运行目的运行调试2、寄存器的、寄存器的观察与修改察与修改窗口中的寄存器分窗口中的寄存器分为2组:通用寄存器和:通用寄存器和系系统寄存器通用寄存器寄存器通用寄存器为8个工作寄存器个工作寄存器R0~~R7;系;系统寄存器包括寄存器寄存器包括寄存器A、、B、、SP、、PC、、DPTR、、PSW、、states、、secstates为运行的机器周期数,运行的机器周期数,sec为运行的运行的时间两种修改寄存器两种修改寄存器(除了除了sec和和states之外之外)值的方式:一是用鼠的方式:一是用鼠标直接点直接点击左左键进行修行修改;二是在改;二是在图4-10所示的所示的调试命令窗口直接命令窗口直接输入寄存器的入寄存器的值,如,如输入入“A=0x32”,,则寄寄存器存器A的的值立即立即显示示32 keil使用教程.4 项目的运行目的运行调试四、四、变量的量的观察与修改察与修改1、、显示示变量窗口量窗口在在调试状状态下,点下,点击View菜菜单下的下的Watch & Call Stack Window命令或命令或对应的的按按钮,就会,就会显示或示或隐藏藏变量窗口。
量窗口变量窗口包含有量窗口包含有4个个显示区(示区(标签),可),可以分以分别显示局部示局部变量(量(Locals标签)、指定)、指定变量(量(Watch #1和和Watch #2两个两个标签)、)、及堆及堆栈调用(用(Call Stack标签) keil使用教程4 项目的运行目的运行调试2、、变量的量的观察与修改察与修改局部局部变量:量:显示的是当前函数中的示的是当前函数中的变量,量,这些些变量不用量不用设置,自置,自动出出现在窗口中在窗口中其它其它变量:可以在量:可以在Watch#1或或Watch#2标签按按F2输入入变量名在程序运行中,可以量名在程序运行中,可以观察察这些些变量的量的变化,也可以用鼠化,也可以用鼠标点点击修修改它改它们的的值观察察变量更量更简单的方法:在程序停止运行的方法:在程序停止运行时,,将光将光标放到要放到要观察的察的变量上停大量上停大约1秒,秒,就会出就会出现对应变量的当前量的当前值,如,如operate=0x32 keil使用教程4 项目的运行目的运行调试五、存五、存储器的器的观察与修改察与修改1、、显示存示存储器窗口器窗口在在调试状状态下,点下,点击View菜菜单下的下的Memory Window命令或命令或对应的按的按钮,就会,就会显示或示或隐藏存藏存储器窗口。
器窗口存存储器窗口包含器窗口包含4个个标签,即有,即有4个个显示示区,分区,分别是是Memory#1、、…、、Memory#42、存、存储器的器的观察与修改察与修改在在4个个显示区上示区上边的的“Address”栏输入入不同不同类型的地址,可以型的地址,可以观察不同的存察不同的存储区域 keil使用教程4 项目的运行目的运行调试1))观察片内察片内RAM直接直接寻址的址的data区:在区:在Address栏输入入D:xx((xx为十六十六进制数),制数),便便显示从示从xx地址开始的数据高地址开始的数据高128字字节显示的是特殊功能寄存器的内容示的是特殊功能寄存器的内容2))观察片内察片内RAM间接接寻址的址的idata区:区:在在Address栏输入入I:xx,便,便显示从示从xx地址开地址开始始的数据高的数据高128字字节显示的也是数据区的内示的也是数据区的内容3))观察片外察片外RAM的的xdata区:在区:在Address栏输入入X:xxxx,便,便显示从示从xxxx地址开地址开始的数据始的数据4))观察程序存察程序存储器器ROM code区:在区:在Address栏输入入C:xxxx,便,便显示从示从xxxx地地址开始的程序代址开始的程序代码。
keil使用教程4 项目的运行目的运行调试修改存修改存储器中的数据器中的数据1)程序存)程序存储器中的数据不能修改器中的数据不能修改2)其它)其它3个区域数据的修改方法:用鼠个区域数据的修改方法:用鼠标对准欲修改的准欲修改的单元,点元,点击鼠鼠标右右键,在,在弹出的菜出的菜单中有一中有一“Modify Memory at 0x…”命令,命令,执行行该命令,命令,对又又弹出的数据出的数据输入入栏输入数据,然后用鼠入数据,然后用鼠标左左键点点击“OK”即可 keil使用教程4 项目的运行目的运行调试六、串行口的六、串行口的观察察在在调试状状态下,点下,点击View菜菜单下的下的Serial Window #1或或Serial Window #2命命令或令或对应的按的按钮,就会,就会显示或示或隐藏串行口窗藏串行口窗口串行口窗口提供了一个串行口窗口提供了一个调试串行口的界串行口的界面,从串行口面,从串行口发送或接收的数据,都可以在送或接收的数据,都可以在该窗口窗口显示或示或输入 keil使用教程4 项目的运行目的运行调试七、片内外七、片内外设的的观察与修改察与修改1、片内外、片内外设的的观察察在在调试状状态下,点下,点击Peripherals菜菜单下的不下的不同外同外设选项命令,就会命令,就会显示或示或隐藏藏对应外外设的的观察窗口。
察窗口 如如显示定示定时器器0窗口,点窗口,点击Peripherals菜菜单下的下的Timer下面的下面的Timer0选项即可2、刷新、刷新观察察在程序运行在程序运行时,各个片内外,各个片内外设的状的状态会不断会不断地地变化,化,为了随了随时观察它察它们的的变化,可以启用化,可以启用View菜菜单下的下的Periodic Windows Update命令,命令,让Keil C自自动周期刷新各个周期刷新各个调试窗口 keil使用教程。