1、Keil uVision在调试程序,软件仿真方面也有很强大的功能,既可以调试C语言程序,也可以调试汇编语言程序。Keil C51 V9.00 即09年发布的最新版本uVision 4,比以前的版本外观改变比较大,界面感觉舒服一些。安装的方法和普通软件差不多,这里就不做介绍了。 启动Vision_4 点击桌面上的Keil uVision4图标,出现启动画面,进入uVision 4。,uvision_4使用指南,1. 建立一个新的工程执行软件菜单“project |New uVision Project”,弹出一个名为“Create New Project”的对话框,先选择一个合适的文件夹“Myt
2、est” ,再取文件名“test” 。,uvision_4使用指南,要养成习惯:每建一个工程,先建文件夹,将工程文件放到里面。,工程创建与设置,uvision_4使用指南,工程创建与设置,1. 建立一个新的工程,uvision_4使用指南,工程创建与设置,1. 建立一个新的工程执行“保存”后,会弹出一个对话框,选择CPU类型,找到并选中“Atmel”下的AT89C51。,uvision_4使用指南,工程创建与设置,1. 建立一个新的工程选择CPU确定后,会弹出一个对话框,,“是否要把标准8051的启动代码添加到工程文件?”对于汇编语言,选“否”;对于C语言,一般选“否”;如果用某些增强功能需要
3、初始化配置时,选“是”。至此,一个名为“test”的空白Keil C51 工程建立。,uvision_4使用指南,工程创建与设置,2. 建立一个新源程序文件,并加入到工程中 (1)建立一个新源程序文件执行软件菜单“File |New ”,进入编辑窗口 。,uvision_4使用指南,工程创建与设置,(1)建立新源程序文件 执行软件菜单“File |New ”,进入编辑窗口,编辑窗口,输出窗口,uvision_4使用指南,工程创建与设置,在编辑窗口键入程序,或复制一个完整的C程序。并取名“test.C”存盘,则以文本文件形式存入“Mytest”文件夹。,注意扩展名,C语言程序:test.C;汇编
4、语言程序: test.ASM 。,uvision_4使用指南,工程创建与设置,(2)添加源程序到工程中现在,源程序文件“test.C”已经建立,但此文件与刚建立的工程并没有内在联系,需要把它添加到工程中去。单击Keil C51软件左边的项目工作窗口“Target 1”上的“+”,将其展开。然后右击“Source Group 1”文件夹,产生如图下拉菜单。单击 “Add Files to GroupSource ”,将会弹出选择文件对话框。,uvision_4使用指南,工程创建与设置,(2)添加源程序到工程中在选择文件对话框中先选择文件类型为 “C Source file (*.c)”,对话框将
5、出现刚保存的文件“test.C”,选择“test.C”,再按一下 “Add ”按钮,最后按一下 “Close ”按钮退出添加。这时,源文件“test.C”已经出现在项目窗口“Source Group 1”文件夹内,单击左边的 “+ ”展开后查看。,uvision_4使用指南,工程创建与设置,3. 相关设置 (1)设置晶振频率单击Keil C51工具栏的 图标,弹出为“Options for Target Target1”的对话框,单击“Target”标签页,选择晶振频率。,uvision_4使用指南,工程创建与设置,(1)设置晶振频率单击“Output”标签页,选中Create HEX Fil
6、e,使编译器输出单片机需要的HEX文件。,uvision_4使用指南,工程创建与设置,4. 编译与汇编单击Keil C51工具栏的 图标,编译或汇编当前源程序。其结果会显示在输出窗口内。如果是“0 Error(s),0Warning(s).”,就表示程序语法上没有问题;如果存在错误或警告,会指出出错在第几行,双击指出错误,则有 指向错误行。编译或汇编会生成 HEX 格式的程序文件“test.hex”,该文件可以被专门的芯片烧写工具载入并最终烧录到具体芯片中。烧录了程序的芯片安装在自己的电路板上,通电,就可以运行里面的程序。,uvision_4使用指南,工程创建与设置,无语法错误,输出HEX文件
7、,uvision_4使用指南,工程创建与设置,12行有语法错误,uvision_4使用指南,工程创建与设置,uvision_4使用指南,在Vision_4下调试程序,1. 进入仿真状态单击工具栏的 图标,进入仿真状态。仿真是为了检测程序运行是否符合预想的结果。进入仿真状态后,界面划分为多个窗口。除源程序窗口固定位置外,其它窗口可以任意放在不同位置。 认识各仿真窗口 (1). 源程序窗口,显示源程序, 指向当前即将执行的程序语句; (2). 汇编窗口,显示汇编指令与机器代码, 指向当前即将执行代码; (3). 寄存器窗口,显示各寄存器的值; (4). 其它窗口,其中有许多窗口,可以进行切换,显示
8、程序执行后的结果,例如各变量的值,存储单元的值等,以确定是否符合预想的结果。,uvision_4使用指南,在Vision_4下调试程序,源程序窗口,汇编窗口,寄存器窗口,命令窗口,其它窗口,uvision_4使用指南,在Vision_4下调试程序,(1).变量观察窗口单击工具栏的 图标右边 ,可开启3个变量观察窗口。 在Locals标签页,自动显示局部变量的名称和数值。,在Watch标签页,双击,输入要观察的变量名称,回车后显示该变量的值。,uvision_4使用指南,在Vision_4下调试程序,(2).存储器观察窗口单击工具栏 图标右边 ,可开启4个存储器观察窗口。分别观察不同存储器空间或
9、不同的地址单元,片内RAM (d),片外RAM (x),程序存储器 (c) 。,在Memory标签页地址栏“Address”内输入存储器类型和起始地址,则作相应显示。例如:d:0x20,显示内部RAM20H后的各单元数据。,双击存储单元的数据,使之变成蓝色后,可以随意修改。,uvision_4使用指南,在Vision_4下调试程序,2. 程序运行控制程序可以单步或全速运行,具体由工具栏上的按钮实现。,复位按钮,单击,单片机复位; 全速运行,单击,程序全速运行; F5 停止运行,进入全速运行时变红,单击,停止程序运行; 单步进入,单击,程序单步执行,遇函数调用进入函数;F11 单步跳过,单击,程
10、序单步执行,遇函数调用视作1条指令; F10 单步跳出,已进入函数,单击,从函数中跳出; Ctrl+F11 执行到光标,单击,程序由现行位置执行到光标处。 Ctrl+F10,uvision_4使用指南,在Vision_4下调试程序,断点设置功能设置断点可以方便调试,当程序全速运行时遇断点自动停下,以便检查结果是否正确。允许设置多个断点。,设置/清除断点,光标放在需要设置断点的行,单击图标,该行首出现一个红色方块,表示该行设置了断点;光标放在已设置断点的行,再单击图标清除该断点。双击红色方块,也清除该断点。,断点标志,uvision_4使用指南,在Vision_4下调试程序,断点不使能/使能,光
11、标放在已设置断点的行,单击图标,行首红色方块变白,表示此断点不使能;再单击图标,方块又变回红色,表示此断点使能。,不使能断点标志,所有断点不使能,单击,所有断点不使能; 清除所有断点,单击,清除所有断点。,uvision_4使用指南,在Vision_4下调试程序,3. 外围设备访问单击菜单“Peripherals”,会弹出外围设备菜单,其中列出了标准8051的外围设备(相对CPU而言):中断、I/O端口、串行口和定时器等。外围设备菜单中是可以进行操作的。,(1). 中断 执行“Peripherals|Interrupt”,会弹出中断界面。,uvision_4使用指南,在Vision_4下调试程序,(2). I/O端口执行“Peripherals|I/O-Ports|Port 0”,会弹出P0端口界面。,P0引脚,P0锁存器,为1,单击可改变。,值,uvision_4使用指南,在Vision_4下调试程序,(3). 串行口 执行“Peripherals|Seriar”,会弹出串行口界面。,(4). 定时器 执行“Peripherals|Timer|Timer0”,会弹出定时器0界面。,uvision_4使用指南,在Vision_4下调试程序,