Keil 51仿真
Keil软件仿真调试

51TRACER 仿真调试高级技巧进入调试状态后,Debug 菜单项中的命令可以使用了,有关编译的工具栏按钮消失了,出现了一个用于运行和调试的工具栏,Debug 菜单上的大部份命令都有相应的快捷按钮。
从左到右依次是复位、运行、暂停、单步跟踪、单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮命令;然后按一下图示第二个“运行”按钮。
连接上相关的实验资源,本实验用一条8PIN的数据排线把实验仪的CPU部份的P1口(JP44)连接到八路指示灯部份的JP32。
这时你会看到实验仪的八个红色LED,轮流点亮,表示运行成功,也可以查看相关的变量和参数,非常方便。
⒈单步跟踪运行使用菜单Debug->Step 或上图第四个单步运行按钮或使用快捷键 F11 可以单步跟踪执行程序,在这里我们按下 F11 键,即可执行该箭头所指程序行,每按一次 F11,可以看到源程序窗口的左边黄色调试箭头指向下一行,如果程序中有Delay延时子程序,则会进入延时程序中运行.⒉单步运行如果Delay 程序有错误,可以通过单步跟踪执行来查找错误,但是如果 Delay 程序已正确,每次进行程序调试都要反复执行这些程序行,会使得调试效率很低,为此,可以在调试时使用 F10 来替代 F11(也可使用菜单 Step Over 或相应的命令按钮),在 main 函数中执行到 Delay时将该行作为一条语句快速执行完毕.为了更好的进行对比,我们重新进入仿真环境,将反汇编窗口关闭,不断按 F10 键,可以看到在源程序窗口中的左边黄色调试箭头不会进入到延时子程序。
⒊全速运行点击工具栏上的“运行”按钮或按F5 键启动全速运行,全速执行程序,此时用户板上的 P1 口所接 LED 以流水灯状态显示。
⒋暂停点击工具栏上的按钮,此时用户板上的P1 口所接 LED 停止以流水灯状态显示,只有一个 LED 灯点亮(取决于暂停前的 P1 的值).⒌观察/修改寄存器的值Project 窗口在进入调试状态后显示 Regs 页的内容,包括工作寄存器 R0~R7 的内容和累加器 A、寄存器B、堆栈指针 SP 的内容。
Keil仿真说明

使用Keil进行调试仿真1.1 进入和退出仿真状态只有在用户程序编绎和连接成功后才能进行调试工作。
点击菜单Debug->Start/StopDebug Session IDE 将进入/退出硬件仿真状态。
1.2 如何运行程序在Keil 的IDE 中有以下几种运行方式:A) Run 全速运行遇到断点停下或用户按动Stop按钮或RST CPU按钮停止。
B) Step info 单步跟踪运行一条指令,如果该语句为C 中的调用子程序语句或汇编中的CALL指令,Step info 指令将跟踪进入子程序内部。
C) Step over 单步运行完一条指令,如果该语句为C 中的调用子程序语句或汇编中的CALL指令,Step over 指令将全速完成该子程序的运行,停在下一指令处。
D) Run till Cursor Line 从当前位置运行到光标处。
另外,用户还必须注意,在C 源程序窗口内、汇编源程序窗口内和在反汇编窗口内,以上命令表现会有所不同,请用户在使用时自行体会。
1.3 如何设置和删除断点设置断点/删除断点最简单的方法是用鼠标双击待设置断点的源程序行或反汇编程序行,或用断点设置命令 “bs ……”。
1.4 如何查看和修改寄存器的内容仿真时主寄存器的内容显示在主寄存器窗口,用户除了可以观察以外还可自行修改,用鼠标点击选中一个单元,例如单元DPTR, 然后再单击DPTR 的数值位置,出现文字框后输入相应数值按回车键即可;另外的输入方法是使用命令行窗口,例如输入A=0X34将把A 的数值设置为0X34。
1.5 如何观察和修改变量点击“View->Watch & Call stack Window”出现相应窗口选择Watch 1-3 中的任一个窗口,按动F2, 在Name 栏填入用户变量名如Temp1 Counter 等,但必须是存在的变量。
如果想修改数值可单击Value 栏出现文本框后输入相应数值。
keil-C51各仿真窗口详细介绍

资料来源于互联网,仅供学习使用!!!首先:打开一个已经编译通过的单片机项目(如何新建与编译单片机程序项目这里省略)选择Debug下面的Start/Stop Debug Session,这个选项可以打开调试也可以关闭调试下面具体说说相关子窗口的功能:1:左侧的ProjectWorkspaceRegs是片内内存的相关情况值,Sys是系统一些累加器、计数器等。
Regs很简单就不多说。
具体介绍一下Sysa 累加器ACC,往往在运算前暂存一个操作数(如被加数),而运算后又保存其结果(如代数和)。
b 寄存器B ,主要用于乘法和除法操作spsp_maxdptr 数据指针DPTRPC $states 执行指令的数量sec 执行指令的时间累计(单位秒)psw 程序状态标志寄存器PSW,八位寄存器,用来存放运算结果的一些特征,如有无进位、借位等。
p 奇偶标志P。
反映累加器ACC内容的奇偶性,如果ACC中的运算结果有偶数个1(如11001100B,其中有4个1),则P为0,否则,P=1。
f1ov 溢出标志位OV。
MCS-51反映带符号数的运算结果是否有溢出,有溢出时,此位为1,否则为0。
rsf0ac 辅助进位标志AC。
又称半进位标志,它反映了两个八位数运算低四位是否有半进位,即低四位相加(或减)有否进位(或借位),如有则AC为1状态,否则为0。
cy 进位标志CY(PSW7)。
它表示了运算是否有进位(或借位)。
如果操作结果在最高位有进位(加法)或者借位(减法),则该位为1,否则为0由于PSW存放程序执行中的状态,故又叫程序状态字?运算器中还有一个按位(bit)进行逻辑运算的逻辑处理机(又称布尔处理机)根据指令执行的不同上述值会有相应的变化,也正是为了监测这些在单片机中看不到的值而达到调试的目的。
虽然软件调试无法实现硬件调试那样的信号输出,但是可以通过软件窗口的模拟监测输出信号的高低电平以及单片机相关端口的变化。
上图所示,Port0,Port1,Port2,Port3就对应于单片机的四个P0,P1,P2,P3 口,共32个针脚。
实验一 Keil C51集成开发环境的使用练习、仿真与调试

实验一Keil C51集成开发环境的使用练习、仿真与调试一、实验目的1、熟悉Keil C51集成开发环境的使用方法2、熟悉Keil C51集成开发环境调试功能的使用和DP-51PROC单片机综合仿真实验仪的使用。
二、实验设备及器件IBM PC机一台DP-51PROC单片机综合仿真实验仪一台三、实验内容1、进行Keil C51集成开发环境的安装和使用练习。
然后按照以下内容建立文件并编译产生HEX文件。
ORG 0000HLJMP MainORG 00F0HMain:MOV R7, #0Loop:MOV R6, #0DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R7, LoopCPL P1.0 ; P 1 .0 取反CPL P1.1 ; P 1 .1 取反CPL P1.2 ; P 1 .2 取反CPL P1.3 ; P 1 .3 取反CPL P1.4 ; P 1 .4 取反CPL P1.5 ; P 1 .5 取反CPL P1.6 ; P 1 .6 取反CPL P1.7 ; P 1 .7 取反SJMP Main;END2、进行Keil C51集成开发环境的仿真调试练习。
然后按照以下内容建立文件并编译仿真调试。
ORG 8000HLJMP MainORG 80F0HMain:MOV R7, #0Loop:MOV R6, #0DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R6, $DJNZ R7, LoopCPL P1.0 ; P 1 .0 取反CPL P1.1 ; P 1 .1 取反CPL P1.2 ; P 1 .2 取反CPL P1.3 ; P 1 .3 取反CPL P1.4 ; P 1 .4 取反CPL P1.5 ; P 1 .5 取反CPL P1.6 ; P 1 .6 取反CPL P1.7 ; P 1 .7 取反SJMP MainEND四、实验要求1、熟练掌握Keil C51集成开发环境的工程建立、编辑与编译功能。
KEILC51和PROTEUS的使用

KEILC51和PROTEUS的使用KEILC51是一款针对51系列单片机的集成开发环境,可以方便地进行编译、调试和仿真。
PROTEUS是一款集成电路设计软件,可以用于电路图的设计、仿真和调试。
本文将介绍KEILC51和PROTEUS的使用方法。
一、KEILC51的安装和使用2. 安装完成后,打开KEIL C51,创建一个新项目。
选择新建一个“Project”。
在对话框中输入项目名称,并选择项目的存放路径。
3.在项目内部,可以添加源文件、库文件和头文件。
可以通过右键单击项目名称,选择“添加”,然后选择相应的文件类型进行添加。
4. 在源文件中编写C语言程序。
可以使用标准的C语法进行编写,也可以使用Keil C51提供的51系列特定的语法进行编写。
5. 进行编译和生成可执行程序。
在菜单栏中选择“Project”->“Build Target”,或者使用快捷键“Ctrl+F7”进行编译。
编译完成后,会在项目目录下生成相应的可执行程序。
6. 进行调试和仿真。
在菜单栏中选择“Debug”->“Start/Stop Debug Session”,或者使用快捷键“F5”进行调试。
可以设置断点、单步执行、查看变量值等进行调试。
二、PROTEUS的安装和使用2. 安装完成后,打开PROTEUS,创建一个新电路。
选择“Schematic Capture”->“Design”创建一个新的电路图。
在电路图中添加所需的元件,例如电阻、电容、晶体管等。
3.连接元件之间的引脚,可以使用连线工具进行连线。
在连线时,可以使用自动连接功能快速连接元件之间的引脚。
4.设置仿真属性。
在电路图中选择“P”工具,然后在对话框中选择相应的仿真模型和仿真参数,例如选择51系列单片机的仿真模型。
5. 进行仿真和调试。
在菜单栏中选择“Debug”->“Start Debugging”,或者使用快捷键“F5”进行仿真。
可以查看元件的工作状态,观察电路的波形等进行调试。
普中51仿真器驱动安装说明手册

普中51仿真器下载操作说明首先安装普中51仿真器的驱动:(安装时,用管理员身份运行,最好要把360 等杀毒软件先关掉成功后再打开)
对应什么电脑系统就装什么驱动,有64位和32位的区分,
具体安装步骤如下:
第一步:双击set up图标
出现如下界面:
第二步:选择路径中,选择与你keil安装的路径一样就行了(这里我电脑上的keil 软件安装在I盘中,所以就选择I盘中的keil安装文件夹)
点击确定后出现如下界面:
一旦“安装”按键由灰色变成黑色,点击它就行了(注意:安装的时候一定要将仿真器用USB线连接到电脑)
这个是51仿真器驱动安装完成的界面:
然后单击退出按键即可。
安装完成之后,我们可以检查下驱动是否安装成功(仿真器要和电脑连接上的),打开电脑里面的设备管理器看看有没有PZ-51Tracker这个USB设备,如下图所示:
还有一种方法确认就是在keil软件里面能不能找到51Tracker这个设备,如下图所示:
以上确认无误,就说明仿真器驱动安装成功,接下来就可以慢慢体验仿真器所带来的乐趣。
仿真步骤:
第一步:打开一个能够编译通过的项目工程
第二步:进入KEIL硬件仿真设置
根据上图从1到9步骤设置完成之后就可以进行在线仿真调试了
第三步:在keil里面调试程序,点工具栏的start debug 开始调试,如果退出也是点这个按钮
当然,硬件仿真和软件仿真的操作是一样的,但是硬件仿真可以实时的显示程序运行的状态,可以更好更快的调试程序。
SST89E516RD和Keil软件配合仿真51单片机

SST89E516RD和Keil软件配合仿真51单片机单片机实验和开发中最重要的一个环节就是程序的调试,在业余条件下大部分人都采用烧写芯片直接到目标板上试验的方法,但是这样做在程序出现问题时比较麻烦,有时候也很难找到程序的问题出在那里。
另外也可以采用软件仿真的方式调试程序,但是这种方式也有局限性,软件仿真有时候并不能完全代替实际使用环境。
因此单片机仿真器成了程序调试中一个重要的设备。
但是在业余条件下很少有人使用价格比较高的仿真器。
为解决这一问题,本文介绍一种用SST公司的单片机SST89E516RD做的基于MCS-51架构的简易51单片机仿真器,它支持与MCS-51架构兼容的芯片。
一、单片机SST89E516RD简介SST89E516RD是8位集成存储器的51系列兼容单片机,和51系列单片机软件兼容、开发工具兼容、管脚也兼容。
SST89E516RD片内有两块SuperFlash E EPROM,分为64K主块(Block0)和8K次块(Block1)。
Block0的地址范围是0000h~ffffh;Block1的地址范围是10000h~11fffh。
做仿真器时Block1存储区烧写SoftICE仿真监控程序。
SST89E516RD具有在应用可编程(IAP)和在系统可编程(ISP)的功能,其中IAP是通过串口实现的。
仿真器就是利用了SST89E516RD的IAP功能。
由于SST89E516RD具有两块独立的SuperFlash程序存储区,当监控程序在Block1存储区中运行时可以改写Block0程序存储区中的程序,这就是仿真器的基本特性。
SST89E516RD的引脚图见图1。
二、仿真器电路和工作原理单片机SST89E516RD和晶振电路、复位电路一起组成单片机最小系统。
SST89E516RD的引脚分别接在40脚的插针上,应用时40脚的插针插在目标板的单片机插座上。
仿真器可能通过跳线的方式选择仿真器上的晶振或目标板上的晶振。
[说明]如何使用KEIL进行软硬件仿真
![[说明]如何使用KEIL进行软硬件仿真](https://img.taocdn.com/s3/m/ac197475cbaedd3383c4bb4cf7ec4afe04a1b1e6.png)
如何在KEIL下使用仿真器
1.在KEIL下使用仿真器,首先设置软件右击Target1,选择Option for Target ‘Target 1’.如下:
2.在Option for Target ‘Target 1’选项中点选DEBUG,如下:
3.在DEBUG下选择USE KEIL Monitor—51 Driver ,其他选择项为默然设置后,点确定。
4.如果选择USE Simulator则为KEIL软件仿真!
5.编译连接如下图:
6. 点红色的D(DEBUG)后,左下脚出现一蓝色的进度条,增至100%后出现如下界面:
如果点选1(GO)则是全速执行,2 3 4 为单步调试!2。
为进入某个函数。
3。
为跳出某个函数。
4。
为运行要某个函数。
一般情况下,我们选择1。
---全速执行。
7.如4所述,软件仿真界面同硬件仿真。
8.下面介绍下,在调试过程中比较实用的技巧!比如遇到按键判断的语句,如:
If(Key == 0)
{
Delaynms();
If(Key == 0)
{
//Add your code here…
}
}
首先在6所述的状态下,用左键选中Key这个变量,右击选择Add ‘Key’to watch Windows #1,
添加到#1后,要调出W A TCH WINDOWS ,先关闭原来的OUTPUT WINDOWS,如下:
双击1或者按F2键即可修改KEY的值,如改为0 再配合单步调试的按扭工具就可以判断键被按下,就可以运行Add your code here 的代码了!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
调试时的一些常用方法
调试时的一些常用方法。 (1)使用全速执行、跟踪运行和单步运行 (2)使用断点斩停程序运行
寄存器观察窗口 显示工作寄存器 和特殊功能寄存 器的内容
Keil C51 uVision 2
(3)利用观察窗口分析程序
存储器窗口:存储器窗口能显示各种存储区的内容。
程序编译
通过工具栏中的图标直接进行编译、编译连接、全部重建、 停止编译和对工程进行设置
编译源程序
Keil C51 uVision 2
箭头指出错误所在行
编译出错、双击
Keil C51 uVision 2
修改后保存在重新编译 直至错误为0、警告为0
Keil C51 uVision 2
程序调试
Keil C51 uVision 2
设置编译环境
Keil C51 uVision 2
出现设备设置窗口,双击工具 也可出现设备窗口
Keil C51 uVision 2
选择时钟频率 (默认最高频率)
Keil C51 uVision 2
在Debug窗选择软件仿真或在目标系统运行
Keil C51 uVision 2
选择CPU型号并确定
Keil C51 uVision 2
新建源程序,
Keil C51 uVision 2
在编辑窗口中输入源程序
Keil C51 uVision 2
也可打开已经存在的源程序 选中源程序
Keil C51 uVision 2
右击项目窗口中Source Group 1,选择 将源程序添加到项目组
Keil C51 uVision 2
选中添加文件
确定文件类型
Keil C51 uVision 2
添加完毕后 关键字改变颜色
Keil C51 uVision 2
项目组中出现添加的文件 至此应用程序创建完成
Keil C51 uVision 2
程序编译连接和初步仿真调试
编译、连接环境设置 编译操作 出错、及其修改 单步运行、动态调试
A,REG A R1,A A A A,R1 REL,A
子程序MNL1,REG x 10 结果 保存在REL
Keil C51 uVision 2
单片机程序的脱机运行
对于完成软件仿真调试的程序,下一步可以进行联 机仿真和脱机运行,对于简单的程序段可以直接脱 机运行 以下是脱机运行的方法
Keil C51 uVision 2
X:sion 2
Keil C51 uVision 2
(30H)乘10 的程序
ORG REG REL START: MOV ACALL NOP 0000H EQU 30H EQU 40H REG,#0AH MUL1
MUL1: MOV RL MOV RL RL ADD MOV RET END
进入调试状态后,“Debug”菜单中原来不能使用 的命令现在已可以使用了,窗口中还多出一个用于 运行和调试的工具栏,如图
“Debug”菜单中的大部分命令可以在此找到对应 的快捷按钮,从左到右的图标依次是复位、运行、 暂停、单步、过程单步、执行完当前子程序、运行 到当前行、下一状态、打开跟踪、观察跟踪、反汇 编窗口、观察窗口、代码作用范围分析、1#串行 窗口、内存窗口、性能分析和工具按钮。
Keil C51 uVision 2
Keil C51 uVision 2
单击擦除按钮、设置起止地址
Keil C51 uVision 2
装载HEX文件
Keil C51 uVision 2
Keil C51 uVision 2
编程 将HEX文件写入Flash
Keil C51 uVision 2
将试验仪MOD_SW1开关置于LOAD,按RES按键 编程 将HEX文件写入Flash
Keil C51 uVision 2
单击 Project菜单 选择New Project
Keil C51 uVision 2
在新建工程项目对话框中选择项目路径 填写项目名称 **.ASM 并保存
Keil C51 uVision 2
出现器件选择对话框,选择CPU系列
Keil C51 uVision 2
Keil C51 uVision 2
Keil 功能
C51国际标准化C交叉编译器:从C源代码产生可重定位的
目标模块。 A51宏汇编器:从80C51汇编源代码产生可重定位的目标 模块。 BL51链接器/定位器:组合由 C51和 A51产生的可重定 位的目标模块,生成绝对目标模块。 LIBSI库管理器:从目标模块生成链接器可使用的库文件。 OH51目标文件至 HEX格式的转换器:从绝对目标模块生 成Intel HEX文件。 RTX- 51实时操作系统:简化了复杂的实时应用软件项 目的设计。
Keil C51 uVision 2
集成开发软件
KeiLC51简介
Keil C51 uVision2集成开发环境是德国知名软件 公司 Keil开发的基于 80C51内核的微处理器软件 开发平台,内嵌多种符合当前工业标准的开发工 具,可完成从工程建立到管理、编译、链接、目 标代码的生成、软件仿真及硬件仿真等完整的开 发流程。尤其是C编译工具在产生代码的准确性 和效率方面达到了较高的水平,而且可以附加灵 活的控制选项,在开发大型项目时非常理想。
Keil C51 uVision 2
Keil 51 不同套件功能比较
Keil C51 uVision 2
KeiL 官方网站 /demod/
Keil C51 uVision 2
C51 开发工具
Keil C51 uVision 2
Keil C51 的安装
Keil C51 uVision 2
Keil C51 uVision 2
脱机运行
将试验仪MOD_SW1开关置于RUN,按RES按键 程序运行,对于实例Led_Light 可以看到LED1、LED2、 LED3 在闪烁
Keil C51 uVision 2
Keil C51 uVision 2
单片机编程电路
Keil C51 uVision 2
启动Keil uVision 2
Keil C51 uVision 2
安装后初始启动的操作界面
Keil C51 uVision 2
建立工程后的操作界面
项目栏
工具栏
菜单栏
编辑窗口
项目窗口
信息窗口
Keil C51 uVision 2
Keil C51 的使用
创建Keil 51应用程序
①新建一个工程项目文件; ②为工程选择目标器件(例如选择 PHILIPS的 P87C52X2); ③为工程项目设置软硬件调试环境; ④创建源程序文件并输入程序代码; ⑤保存创建的源程序项目文件; ⑤把源程序文件添加到项目中。
单击项目设置
Keil C51 uVision 2
Keil C51 uVision 2
设置起始地址、 地址空间
Keil C51 uVision 2
生成HEX文件
Keil C51 uVision 2
重新保存、编译源程序 生成HEX文件
Keil C51 uVision 2
•连接试验仪到PC机串行接口, •连接跳线从P1口到LED发光二极管 J61——J52 双击 启动写入程序