单片机仿真器和仿真环境
- 格式:doc
- 大小:867.00 KB
- 文档页数:19
单片机的编程语言及开发环境介绍在单片机的开发中,编程语言及开发环境是至关重要的一部分。
单片机是一种集成电路,它能够实现特定功能的微处理器系统,通常用于控制嵌入式系统中的各种设备。
而对单片机进行编程就是为单片机写入程序,使其按照预先设定的规则来完成各种功能。
接下来将介绍常用的单片机编程语言及开发环境。
一、C语言C语言是目前单片机最常用的编程语言之一,它是一种高级编程语言,具有良好的可移植性和通用性。
使用C语言编程可以使得单片机的程序结构清晰,编写起来比较简单。
在单片机中,C语言通常通过嵌入式C编译器来进行编译,生成单片机可以执行的机器代码。
常见的嵌入式C编译器有Keil、IAR等。
二、汇编语言汇编语言是一种低级编程语言,直接面向硬件,可以更加精确地控制单片机的各个部件。
在单片机编程中,使用汇编语言可以实现更高效的程序,但编写起来相对困难,适合有一定经验的开发人员。
汇编语言也需要借助特定的汇编器来将源代码转换为机器码。
三、基于图形化编程环境对于初学者来说,图形化编程环境可能是更好的选择。
这类编程环境通常采用类似拖拽式的界面,使得编程更加直观和简单。
通过这种方式可以避免一些繁琐的语法和逻辑,更侧重于功能的实现。
常见的图形化编程环境有LabVIEW、Blockly等。
开发环境:在单片机开发中,除了选择合适的编程语言外,还需要选择适用的开发环境。
开发环境包括编译器、调试器、仿真器等工具,可以帮助开发人员更高效地进行单片机程序的开发。
1. 编译器编译器是将源代码编译成可执行程序的工具。
在单片机开发中,常用的编译器有Keil、IAR、CCS等。
这些编译器通常提供了丰富的库函数和调试工具,可以大大简化开发过程。
2. 调试器调试器是用来调试程序的工具,可以监控程序的执行过程,查看内存和寄存器的值,帮助开发人员分析和解决程序中的bug。
常见的调试器有ST-Link、J-Link等。
3. 仿真器仿真器可以模拟单片机的运行环境,帮助开发人员在没有硬件的情况下进行程序的调试和测试。
单片机的开发工具单片机是一种嵌入式系统中常用的微处理器,广泛应用于各个领域,例如家电、汽车、通信设备等。
为了方便单片机的开发和编程,开发者需要使用一些专门的开发工具。
本文将介绍几种常见的单片机开发工具,并分析它们的特点和适用范围。
一、集成开发环境(IDE)集成开发环境是单片机开发中最基本也是最常用的工具。
它将编译、调试、下载等功能整合在一个软件中,方便开发者进行开发工作。
常见的单片机集成开发环境有Keil uVision、IAR Embedded Workbench等。
1. Keil uVisionKeil uVision是一款由Keil Software公司开发的集成开发环境软件。
它支持多种单片机架构,包括51系列、ARM Cortex-M系列等。
Keil uVision提供了强大的代码编辑、编译、调试等功能,同时还有丰富的示例代码和软件库供开发者使用。
它的界面简洁直观,易于上手,适合初学者和中级开发者使用。
2. IAR Embedded WorkbenchIAR Embedded Workbench是一款由IAR Systems公司推出的集成开发环境软件。
它支持多种单片机架构,包括ARM、Renesas、MSP430等。
IAR Embedded Workbench拥有强大的代码优化能力和调试功能,并提供了丰富的开发工具和软件库。
它的界面简洁明了,操作简单高效,适合中高级开发者使用。
二、仿真器/调试器仿真器/调试器是单片机开发中必不可少的工具之一。
它可以连接单片机,进行程序的下载、调试和性能分析。
常见的仿真器/调试器有ST-Link、J-Link等。
1. ST-LinkST-Link是STMicroelectronics公司推出的一款仿真器/调试器。
它支持STMicroelectronics的系列单片机产品,如STM32系列。
ST-Link具有快速高效的下载速度和稳定可靠的调试功能,可实现单步调试、断点调试等操作。
51 单片机仿真器简介
一、主要功能和特性
1,可以仿真63K 程序空间,接近64K 的16 位地址空间;
2,可以仿真64Kxdata 空间,全部64K 的16 位地址空间;
3,可以真实仿真全部32 条IO 脚;
4,完全兼容keilC51 UV2 调试环境,可以通过UV2 环境进行单步,断点, 全速等操作;
5,可以使用C51 语言或者ASM 汇编语言进行调试;
6,可以非常方便地进行所有变量观察,包括鼠标取值观察,即鼠标放在某变量上就会立即显示出它此的值;
7,可选使用用户晶振,支持0-40MHZ 晶振频率;
8,片上带有768 字节的xdata,您可以在仿真时选使用他们,进行xdata 的仿真;
9,可以仿真双DPTR 指针;。
单片机仿真器的原理随着科技的不断发展,单片机在各个领域中的应用越来越广泛。
单片机仿真器作为一种重要的工具,可以帮助开发者在开发和调试单片机程序时提供便利。
那么,单片机仿真器的原理是什么呢?单片机仿真器是一种能够模拟单片机的工作环境和行为的设备。
它可以通过与单片机的调试接口相连接,并通过软件来模拟单片机的运行状态。
通过单片机仿真器,开发者可以在计算机上进行单片机程序的编写、调试和测试,而不需要实际连接硬件设备。
单片机仿真器的原理主要包括两个方面:硬件部分和软件部分。
首先,硬件部分是单片机仿真器的基础,它包括与单片机的调试接口相连接的电路和芯片。
这些电路和芯片能够模拟单片机的输入和输出信号,并将其传递给计算机。
同时,它们还能够接收计算机发送的命令,并将其转化为单片机可以理解的信号。
通过这样的硬件设计,单片机仿真器可以与单片机进行通信,实现模拟单片机的功能。
单片机仿真器的软件部分起着至关重要的作用。
软件部分主要包括仿真器的控制程序和仿真器与单片机之间的通信协议。
控制程序负责接收开发者在计算机上输入的指令,并将其转发给单片机。
同时,它还能够监控单片机的运行状态,包括程序的执行情况、寄存器的值等,并将这些信息显示在计算机的界面上,方便开发者进行调试和测试。
通信协议则规定了仿真器与单片机之间的数据传输格式和通信方式,确保双方能够正常地进行数据交换。
通过硬件部分和软件部分的协同工作,单片机仿真器能够实现对单片机程序的仿真和调试。
当开发者在计算机上输入程序后,仿真器会按照程序的逻辑执行,并将执行的结果返回给开发者。
开发者可以通过仿真器提供的调试工具,如单步调试、断点设置等,逐步地查看程序的执行过程,分析程序的运行情况,找出潜在的错误和问题。
通过这样的调试过程,开发者可以提前发现和解决程序中的bug,提高开发效率和程序的稳定性。
总结起来,单片机仿真器的原理是通过硬件和软件的协同工作,模拟单片机的工作环境和行为。
它可以帮助开发者在计算机上进行单片机程序的开发、调试和测试,提高开发效率和程序的质量。
单片机的软件开发工具与环境介绍单片机是指集成在单个芯片上的微型计算机系统。
它具备较小的体积、低功耗、低成本以及较强的功能等特点,被广泛应用于各个领域。
在单片机的开发过程中,选择合适的软件开发工具和环境非常关键。
本文将介绍几种常用的单片机软件开发工具与环境。
一、Keil μVisionKeil μVision是一款由Keil Software公司推出的嵌入式系统开发工具。
它是一套集成开发环境(IDE),包含了编译器、调试器、仿真器等功能模块,可以实现单片机程序的编写、编译以及调试。
KeilμVision支持多种芯片系列,如STMicroelectronics的STM32系列、NXP的LPC系列等。
其可视化界面友好,功能强大,被广泛应用于单片机软件开发领域。
二、IAR Embedded WorkbenchIAR Embedded Workbench是由IAR Systems推出的单片机开发工具。
它提供了完整的软件开发流程,包括编写、编译、调试和优化等环节。
IAR Embedded Workbench支持多种单片机系列,如Texas Instruments的MSP430系列、Renesas的RL78系列等。
该工具具有较高的代码生成效率和卓越的调试功能,可以帮助开发者提高开发效率和代码质量。
三、MPLAB X IDEMPLAB X IDE是由Microchip公司开发的一款集成开发环境。
它主要用于开发与Microchip单片机相关的应用程序。
MPLAB X IDE支持多种编程语言,如C、C++以及汇编语言。
该工具提供了丰富的调试功能和模拟器功能,并能够与硬件调试器(如PICkit)结合使用,使得开发者可以更加方便地进行单片机程序的开发和调试。
四、Arduino IDEArduino IDE是一款面向Arduino单片机的开发工具。
Arduino是一种开源的电子原型平台,广泛应用于各个领域的快速原型开发。
单片机仿真器有什么用?单片机仿真器作用介绍单片机仿真器是指以调试单片机软件为目的而专门设计制作的一套专用的硬件装置。
目前已经得到了广泛的运用,那么单片机仿真器有什么作用?单片机仿真器发展最早的单片机仿真器是一套独立装置,具有专用的键盘和显示器,用于输入程序并显示运行结果;随着PC机的普及,新一代的仿真器大多数都是利用PC机作为标准的输入输出装置,而仿真器本身成为微机和目标系统之间的接口而已,仿真方式也从最初的机器码发展到汇编语言、C语言仿真,仿真环境也与PC机上的高级语言编程与调试环境非常类似了。
仿真机一般具有一个仿真头,用于取代目标系统中的单片机,也就是用这个插头模仿单片机,这也是单片机仿真器名称的由来。
目前,随着单片机的小型化,贴片化和具有ISP,IAP等功能的单片机的广泛应用,传统单片机仿真器的应用范围也有所缩小。
而软件单片机仿真器(即单片机仿真程序)的应用逐渐广泛,单片机仿真程序即在个人计算机上运行的特殊程序,可在一定程度上模拟单片机运行的硬件环境,并在该环境下运行单片机目标程序,并可对目标程序进行调试、断点、观察变量等操作,可大大提升单片机系统的调试效率。
纯软件单片机仿真器往往与硬件设计程序集成在一起发布,使得开发者可以对单片机硬件与软件进行同步开发。
仿真器使用方法1.将仿真器插入需仿真的用户板的CPU插座中,仿真器由用户板供电;2.将仿真器的串行电缆和PC机接好,打开用户板电源;3.通过Keil C 的IDE开发仿真环境UV2 下载用户程序进行仿真、调试。
4.仿真器硬件说明:a.使用用户板的晶振仿真器晶振旁有两组跳线用来切换内部晶振和用户板晶振,当两个短路块位于仿真器晶振一侧时,默认使用仿真板上的晶振(11.0592MHz),当两个短路块位于电容一侧时,使用用户板的晶振。
51单片机简易仿真器的制作实验目的:由于市场上现有的单片机仿真器非常昂贵,为了减少在开发单片机时的成本,故提出利用SST公司的SST89E564RD系列单片机制作简单的51单片机仿真器。
实验环境:1.硬件环境:计算机一台SST89E564RD单片机MAX232芯片串口线一根2.软件环境:Protel99SE软件和KeilC51软件。
其中Protel99SE可以完成硬件原理图的设计,以及PCB板的制作;KeilC51可以完成工程的建立,代码的编写,程序的编译以及最终的软硬件仿真。
实验内容:1.实验原理:只需将SST单片机的RXD P3.0和TXD P3.1管脚通过一个RS232的电平转换电路连接到PC的COM串口即可,可使用这个RS232的转换电路做一个通用的8051的下载线。
下载时只需将下载线连接到用户目标板上单片机的P3.0P3.1 VCC,GND4个管脚即可进行下载或仿真。
设计的原理图如图1所示,在实际的设计过程中,添加了一个发光二极管,其目的很简单,就是为了验证仿真器供电正常。
图1SST89E564单片机仿真器原理图设计的SST89E564单片机仿真器的测试板如图2所示,在设计并印制PCB 板之后,硬件电路的设计就完成了。
图2仿真器测试板2.实验步骤:1)通过SST串口下载软件BootLoader下载SOFTICE监控代码由于SST的MCU在出厂时已经将BOOT LOADER的下载监控程序写入到芯片中,因此无需编程器就可通过SST BOOT-STRAP LOADER软件工具将用户程序下载到SST的MCU中,从而运行用户程序。
SST BOOT-STRAP LOADER软件工具还可将原来的MCU内部的下载监控程序转换为SoftICE的监控程序,从而实现SOFTICE的仿真功能。
执行SSTEasyIAP11F.exe软件运行SST Boot-Strap Loader,在内部模式下检测到对应器件的型号后,SoftICE固件通过按SoftICE菜单下“Download SoftICE”选项下载,便将SoftICE固件下载到MCU。
单片机的故障排除方法单片机(Microcontroller Unit,简称MCU)是一种集成电路芯片,常用于嵌入式系统中。
由于单片机复杂的内部结构,故障排除成为使用和开发单片机的关键步骤。
本文将介绍几种常见的单片机故障排除方法。
一、检查电源供应单片机工作的基础是供给稳定的电源。
在故障排查之前,首先要确认电源供应正常。
可以通过以下方式进行检查:1. 检查电源连接:将电源线逐一检查,确保电源线连接牢固,并且没有松动或断开的现象。
2. 使用电压表测量供电电压:将电压表的正负极分别接在电源正负极上,并测量输出电压。
应确保电压值与设备的额定电压相符,且波动范围在允许范围内。
二、检查程序和代码单片机的程序和代码也可能导致故障。
在检查程序和代码之前,可以采取以下步骤:1. 检查程序的正确性:确保程序没有语法错误、编译错误或逻辑错误。
可以使用编译器或调试工具进行检查。
2. 检查引脚和端口的设置:检查程序是否正确设置了引脚和端口的输入输出状态。
确保与硬件电路相匹配。
3. 修改和优化代码:如果程序有错误或不完善的地方,可以根据错误信息进行相应的修改和优化。
三、硬件故障排查如果以上方法无法解决故障,可能是硬件问题导致的。
以下是几种常见的硬件故障排查方法:1. 检查连线和连接器:检查连接器和插座是否连接良好,并排除松动或无效连接的可能性。
2. 检查单片机是否烧毁:使用万用表或示波器测量单片机电压引脚的电压,检查是否有短路或断路的情况。
3. 检查外设电路:检查与单片机连接的外围设备电路是否损坏,确保电路板上的电子元件没有短路或断路。
四、使用调试工具和设备如果以上方法都无法找出故障原因,可以考虑使用专业的调试工具和设备。
以下是几种常见的调试工具和设备:1. 仿真器(Simulator):仿真器可以模拟单片机的工作环境,可以对单片机进行仿真调试和监视单片机的运行状态。
2. 逻辑分析仪(Logic Analyzer):逻辑分析仪可以分析和捕捉单片机的信号和波形,帮助排查信号传输和处理出现的问题。
单片机仿真器的原理引言单片机(Microcontroller Unit,简称MCU)是一种高度集成的微型计算机系统,具有处理器、存储器、输入输出接口以及各种外设等功能。
在单片机的开发过程中,仿真器是必不可少的工具之一。
本文将介绍单片机仿真器的原理,包括其基本功能和工作原理。
一、单片机仿真器的基本功能单片机仿真器是一种用于开发和调试单片机程序的设备,其基本功能包括以下几个方面:1. 程序下载:仿真器可以将程序从计算机下载到目标单片机中,实现代码的烧录。
2. 调试功能:仿真器可以实时监测单片机执行的状态,包括程序运行过程中的寄存器状态、内存状态等。
开发者可以通过仿真器提供的调试界面,逐行调试程序,检查程序的正确性和性能。
3. 仿真运行:仿真器可以模拟目标单片机的运行环境,使开发者可以在计算机上进行程序的仿真运行。
这样可以大大加快程序开发的速度,减少调试时间。
二、单片机仿真器的工作原理单片机仿真器的工作原理大致可以分为以下几个步骤:1. 程序下载:首先,开发者需要将编写好的程序通过计算机与仿真器连接,并选择下载的目标单片机型号。
然后,仿真器将程序下载到目标单片机的存储器中,准备进行后续的调试工作。
2. 调试功能:在程序下载完成后,开发者可以通过仿真器提供的调试界面对程序进行逐行调试。
仿真器会实时监测目标单片机的状态,并显示相关的信息,如寄存器状态、内存状态等。
开发者可以通过调试界面设置断点,在程序执行到断点处时停止,以便检查程序的执行情况。
3. 仿真运行:除了调试功能外,仿真器还可以在计算机上模拟目标单片机的运行环境,实现程序的仿真运行。
开发者可以通过仿真器提供的功能模拟外部输入信号的变化,观察程序对不同输入的响应情况,以及程序的执行效果。
三、单片机仿真器的应用领域单片机仿真器在嵌入式系统开发中起着重要的作用,广泛应用于以下几个领域:1. 学习教育:单片机仿真器可以帮助学生更好地理解单片机的工作原理和程序开发过程,提高学习效率。
单片机基本原理,如何使用DX516 仿真器,如何编程点亮和灭掉一个LED 灯,如何进入KEILC51uV调试环境,如何使用单步,断点,全速,停止的调试方法单片机现在是越来越普及了,学习单片机的热潮也一阵阵赶来,许多人因为工作需要或者个人兴趣需要学习单片机。
可以说,掌握了单片机开发,就多了一个饭碗。
51 单片机已经有30 多年的历史了,在中国,高校的单片机课程大多数都是51,而51 经过这么多年的发展,也增长了许多的系列,功能上有了许多改进,也扩展出了不少分支。
而国内书店的单片机专架上,也大多数都是51 系列。
可以预见,51 单片机在市场上只会越来越多,功能只会越来越丰富,在可以预见的数十年内是不可能会消失的。
作为一个初学者,如何单片机入门?需要那些知识和设备呢?知识上,其实不需要多少东西,会简单的C 语言,知道51 单片机的基本结构就可以了。
一般的大学毕业生都可以快速入门,自学过这2 门课程的高中生也够条件。
就算你没有学过单片机课程,只掌握了C 语言的皮毛,通过本系列的教程,您也会逐渐的进入单片机的大门。
当然在学习的过程中,您还是必须多去研读单片机书籍,了解他们的基本结构及工作方式。
下面以51 为例来了解一下单片机是什么东西,控制原理又是什么?在数字电路中,电压信号只有两种情况,高电平和低电平,用数字来记录就是1 和0。
单片机内部的CPU,寄存器,总线等等结构都是通过1 和0 两种信号来运作的,数据也是以1 或者0 来保存的。
单片机的输入输出管脚,也就是IO 口,也是只输出或识别1 和0 两种信号,也就是高电平和低电平。
当单片机输出一个或一组电平信号到IO 口后,外部的设备就可以读到这些信号,并进行相应操作,这就是单片机对外部的控制。
当外部一个或一组电平信号送到单片机的IO 口时,单片机也可以读到这些信号,并进行分析操作,这就是单片机对外部设备信号的读取。
当然实际的操作中,这些信号可能十分复杂,必须严格地按照规定的时间顺序(时序)输入输出。
每种设备也都规定了自己的时序,只要都严格遵守,就可以控制任何设备,做出只要你想象得出的任何事情。
您可能会再问,我如何让单片机去控制和分析外部设备呢?答案是程序,您可以编写相关的程序,并且把他们烧写到单片机内部的程序空间,单片机在上电时,就会一步一步按照您写的程序去执行指令,做您想做的事情。
在51 标准芯片中,有32 个输入输出IO,分为4 组,每组8 个,分别为P0 口,P1 口,P2 口,P3 口。
P1 口的8 条脚就用P1.0 至P1.7 表示,其余类似。
51 就是用这32 个口来完成所有外部操作的。
对于51 的内部结构,如果您已经了解,那是最好;如果不懂,也可以先放下,在完成了本教程开始的几个章节之后,您就会大有兴趣,自己去寻找资料阅读了。
当然,如果您希望成为一个优秀的单片机开发程序员,还是必须熟悉单片机的内部结构及工作原理,切不可偷懒!在这一章,您将用程序去控制一个LED 发光管的亮和灭。
你应该知道,LED 发光管在通过一定电流时亮,不通电就灭。
为了不让LED 通过太大的电流把它烧坏,我们还要串上限流电阻。
51 的IO 是弱上拉的方式,在输出高电平时,只能输出几十微安的电流到地,而在输出低电平时,VCC 电源可以输入几十毫安的电流到IO。
一般LED 需要10 毫安左右电流点亮,我们就将LED 接在电源VCC 和IO 口之间,中间串上电阻,当IO 输出低电平时,灯就亮了,反之,灯就灭了。
我们在这个程序里要控制的是P1.0。
请参考一下我们将要使用的试验板的电路图,。
图1,试验电路图图2:试验板外观图下面介绍一下仿真器和仿真环境。
在实际的单片机学习和开发中,你可以用仿真器模拟一个CPU 芯片,让它按照您编写的程序工作,并且进行调试,一步步排除程序的bug,使程序正常工作。
程序工作正常后,您就可以用烧写器将您编写的程序烧入购买来的单片机芯片中,让它自己去运行了。
要使用仿真器,还得有一个编译调试的环境,这个环境是在计算机上运行的,我们就在计算机上编写和调试程序,计算机和仿真器有连接,仿真器中的各种数据和程序,都可以从计算机上观察到,并可以观察变量,写入变量的值,单步调试程序,在程序中设置断点调试,全速运行,停止程序运行,等等操作。
您应该也可以在上面的网页中找到下载破解版本的keilc51 的办法。
中国法律规定,在学习和研究工作中使用有版权的软件是可以的,但是,如果您开发产品时,建议您还是去购买一个正版的软件。
下面是DX516 仿真器的使用介绍:1。
安装将仿真器和试验板按图3 组装好,串口线按照正确方向插入仿真器,另一端和电脑串口连接,请尽量使用计算机的硬串口。
仿真器底座左边的跳线,请放在EMB 这边,以进入仿真状态。
如果放在RUN 这边,将会进入脱机运行状态。
晶振选择跳线请放在IN 这边,以使用仿真器内部晶振,内部晶振更加可靠。
如果放在OUT 这边,则会使用外部的用户板晶振。
图3 仿真器插在试验板上2。
电源因为用户板使用电流不大,可以使用usb 取电,usb 最大电流可以提供500mA,将usb 取电板插入电脑的usb 口中。
(实际应用中,如果用户板使用电流超过100mA,我们就建议使用外部电源)3。
启动在仿真器上电,或者按一下仿真器上面的按钮时,仿真器会发出“嘀-”,表示仿真器正常启动。
同时仿真器上面的灯闪烁一次,表示进入正常仿真状态。
4。
仿真设置第一个设置:C51 用户请在您的代码的main()函数前面,加上一句:char code dx516[3] _at_ 0x003b;如果以上设置你没有做,在装载过程中,仿真器会发出“嘀嘀嘀”的三声短声报警,这时的仿真结果将可能不正确。
在我们的例程中,这句话已经加入了。
这句话并不会影响程序的工作,可以一直保留。
第二个设置:请在硬件仿真设置选项中,选择serial interrupt,在前面打勾。
如果以上设置你没有做,在装载过程中,仿真器会发出“嘀-”的一声长声报警,这时的仿真结果将可能不正确。
其余设置:请选择use keil Monitor-51 Driver ,这样才会使用硬件仿真请选择load Application at start ,在启动时直接装载程序请选择Go till main ,装载后直接运行到main 函数请在硬件仿真设置选项中,选择115200bps 波特率,所有cache 都可以不选,或者只选cache code。
同时请选择正确的串口号。
图4 仿真设置好了,现在可以开始做试验了,我们打开已经建立好的工程和编写好的程序试验。
顺便还会学习一下程序调试的技巧。
至于如何建立一个新工程,请参考C51 的帮助文件,或者自己摸索一下。
请双击lessoncode01 目录下的lesson1.uv2,打开后界面如下:图6:程序界面这个界面是uV3 的,和uV2 是一样用的。
点一下上图第三排第2 或者第3 个按钮(您的编译器按钮位置不一定在那个位置,自己找找),就可以看到编译结果了。
上面显示是0errrs,0warnings,这是最佳的编译结果,如果有error,则无法进行下一步仿真,如果有warning,一定要尽量消除,确实无法消除的,也要确认不会对程序造成影响,才进行下一步的仿真。
在编译结果中,我们还可以看到有data,xdata,code 等用了多少字节的报告,要注意您的单片机中是否有这么多的资源,如果不够,将来烧片运行时就可能出现问题。
比如AT89C51 的程序空间是4K,xdata 如果没有外扩就是0 个,data 是128 个。
超出这些范围,程序就不能在AT89c51 中运行。
不同的芯片有不同的容量,如SST89E516RD 就有64K 程序,内部768 字节XDATA,还有256 个字节的data。
我们的例程中肯定都考虑了这些了,肯定不会超出,因为DX516 仿真器是和SST89E516RD 有同样的容量的,将来自己开发时就要注意了。
下面我们故意把第9 行的P10 写成P11,点编译,因为没有预先定义P11,所以就报告错误了,如下图:双击一下错误报告的那一行,窗口就也会跳到这一行,方便您进行修改。
好了,现在请把错误改回去,再编译一次,出现报告正确了以后,下面开始仿真了。
点一下第二行第5 个一个放大镜里面一个d 字母的按钮,就可以进入仿真了,仿真器要事先连接好哟。
进入仿真后要退出仿真环境也是点这个按钮。
注意,等会如果程序在正在全速运行时,仿真环境是不能直接退出的,得先点停止运行后,再点仿真按钮才可以退出。
点进入仿真按钮,程序开始装载,PC 自动运行到了main()停下,并指向了main ()函数的第一行。
下面是进入了仿真环境的截图:再顺便把调试界面上的按钮介绍一下:图5:按钮说明进入仿真窗口后,如果出现的不是前面的源代码窗口,而是夹有反汇编代码的窗口,直接关掉这个窗口就会恢复到代码窗口。
下次进入也会直接进入到源代码窗口。
现在先试验单步,点单步(两个单步都可以,一般点单步跨过)。
可以看到灯亮了。
PC 指针也指向了下一个程序行。
图:照片,灯亮再点一下单步,PC 又走下一步,灯灭了。
再点一次,PC 走到挂起的程序行了,继续点仍然在这一行。
这句指令其实就是使程序不断地跳到自己这一行,别的什么也不做。
一般称作程序挂起。
一般的实际应用中的程序是不会挂起的,一般是在main 函数里做一个大循环,程序如下:void main(void) // 主程序{while(1){P11=0;//亮灯P10=1;//灭灯}}请将main 函数程序改为上面的代码,我们下一步将试验断点的操作。
编译后结果如下:图:进入仿真后图:可以看到下面的提示窗口中显示:“connected to Monitor-51 V.DX”,后面的V.DX 就是已经连接到仿真器的提示了。
V.DX 是大虾仿真器特有的标识。
在第15 行双击一下,可以看到程序行左边出现了一个红方块,这就是设置断点,再双击一次,断点就取消了。
如果程序在全速运行的过程中遇到断点,就会自动停下来给你分析。
注意在进入仿真后,并且程序是停止状态时,才可以设置或者取消断点。
图:设置了断点现在点全速运行,可以看到程序在断点处停了下来,并且由于前一句指令刚刚执行了点灯,所以这时灯是亮着的。
现在在第14 行设置断点,并且取消上一个断点。
图:设置了另一个断点现在点全速运行,可以看到程序在断点处停了下来,并且由于刚刚执行了灭灯,灯是灭着的。
好,现在试验全速运行和停止。
把断点取消,再点全速运行,可以看到灯是亮着的,但是不是很亮,这是由于程序是循环的,亮灭交替进行,亮的时间并不是全部的时间。
现在点停止,可以看到程序停止了,重复几次进行全速和停止,可以发现每次停止的地方不一定是同一位置。