Proteus提供了一系列可视化虚拟仪器及激励源,借助这些可进行虚拟仿真及图形分析。
激励源为虚拟仿真提供激励,并允许用户对其进行参数设置。在工具箱中单击 信号源,在弹出的“Generator”窗口中将出现各种激励源供用户选择。
【DC】 :直流信号发生器,即直流激励源。
【SINE】 :幅值、频率和相位可控的正弦波发生器,即正弦激励源。
【PULSE】 :幅值、周期和上升/下降沿时间可控的模拟脉冲发生器,即模拟脉冲激励源。
【EXP】 :指数发生器,可产生与RC充电/放电电路相同的脉冲波,即指数激励源等。
【SFFM】 :单频率调频波信号发生器,即单频率调频波激励源。
【PWLIN】 :PWLIN信号发生器,可产生任意分段线性信号,即分段性激励源。
【FILE】 :FILE信号发生器,它的数据来源于ASCII文件,即FILE信号激励源。
【AUDIO】 :音频信号发生器,使用Windows WAV文件作为输入文件,结合音频分析图表,可以听到电路对音频信号处理后的声音,即音频信号激励源。
【DSTATE】 :数字单稳态逻辑电平发生器,即数字单稳态逻辑电平激励源。
【DEDGE】 :单边沿信号发生器,即单边沿信号激励源。
【DPULSE】 :单周期数字脉冲发生器,即数字单边沿信号激励源。
【DCLOCK】 :数字时钟信号发生器,即数字时钟信号激励源。
【DPATTERN】 :数字序列信号发生器,即序列信号激励源。
在仿真时,若需用到激励源,可将其放置到原理图中并与相应电路连接,双击该激励源,可进行相关参数的设置。
在Proteus中提供了许多虚拟仪器供用户使用。在工具箱中单击 虚拟仪器,在弹出的“Instruments”窗口中将出现虚拟仪器供用户选择。
1)示波器(OSCILLOSCOPE)的使用 在Proteus 7.8中提供了4通道虚拟示波器,供用户使用。
(1)示波器的功能:在工具箱中单击 虚拟仪器,在弹出的“Instruments”窗口中单击OSCILLOSCOPE,再在原理图编辑窗口中单击,添加示波器。将示波器与被测点连接好,并按下运行按钮,弹出虚拟示波器界面如图2-55所示,其功能如下。
★ 四通道A、B、C、D,波形分别用黄色、蓝色、红色、绿色表示。
★ 20~2mV/div的可调增益。
★ 扫描速度200~0.5μs/div。
★ 可选择4个通道中的任一通道作为同步源。
★ 交流或直流输入。
(2)示波器的使用:虚拟示波器与真实示波器的使用方法类似。
★ 按照电路的属性设置扫描速度,用户可看到所测量的信号波形。
★ 如果被测信号有直流分量,则在相应的信号输入通道选择AC交流工作方式。
★ 调整增益,以便在示波器中显示适当大小的波形。
★ 调节垂直位移滑轮,以便在示波器中显示适当位置的波形。
★ 拨动相应的通道定位选择按钮,再调节水平定位和垂直定位,以便观测波形。
★ 如果在大的直流电压波形中含有小的交流信号,需要在连接的测试点和示波器之间加一个电容器。
(3)示波器的工作方式:虚拟示波器有3种工作方式。
★ 单踪工作方式:可以在A、B、C、D四个通道中选择任一通道作为显示。
★ 双踪工作方式:可以在A、B、C、D四个通道中选择任一通道作为触发信号源。
★ 叠加工作方式:A、B通道有效,选择A+B时,可将A、B两路输入相互叠加产生波形;C、D通道有效,选择C+D时,可将C、D两路输入相互叠加产生波形。
(4)示波器的触发:虚拟示波器具有自动触发功能,使得输入波形可以与时基同步。
★ 可以在A、B、C、D 4个通道中选择任一通道作为触发器。
★ 触发旋钮的刻度表是360毅循环可调,这样便于操作。
★ 每个输入通道可以选择DC直流、AC交流、接地三种方式,并可选择OFF将其关闭。
★ 设置触发方式为上升时,触发范围为上升的电压;设置触发方式为下降时,触发范围为下降的电压。如果超过一个时基的时间内没有触发发生,将会自动扫描。
图2-55 虚拟示波器界面
2)逻辑分析仪(LOGIC ANALYSER)的使用 逻辑分析仪是将连续记录的输入数字信号保存到容量非常大的数据缓冲区中。这是一个采样的过程,因此有一个可调用来设定能够被记录最小脉冲的调节值,即采样周期。
(1)逻辑分析仪的功能:在工具箱中单击 虚拟仪器,在弹出的“Instruments”窗口中单击LOGIC ANALYSER,再在原理图编辑窗口中单击,添加逻辑分析仪。将逻辑分析仪与被测点连接好,并按下运行按钮,弹出虚拟逻辑分析仪界面如图2-56所示,其主要功能如下。
★ 16个1位的通道和4个8位的总线通道。
★ 采样速度从每次采样间隔200μs到每次采样0.5ns,相应的采集时间为5ms~2s。
★ 显示的缩放范围从每次分配1 000次采样到每次分配1次采样。
(2)逻辑分析仪的使用。
★ 采样间隔设置一个合适值,用于设定能够被记录的脉冲最小宽度,采样间隔越小,数据采集时间越短。
★ 设置触发条件,拨动开关选择下降沿或上升沿。
★ 由于采集缓冲区允许10000次采样,而显示仅有250像素的宽度,因此在采集缓冲区中需进行缩放观看,缩放观看的设置是旋转显示比例按钮。
3)计数/定时器(COUNTER TIMER)的使用 虚拟计数/定时器可用于测量时间间隔、信号频率的脉冲数。
图2-56 虚拟逻辑分析仪界面
(1)计数/定时器的功能:在工具箱中单击 虚拟仪器,在弹出的“Instruments”窗口中单击COUNTER TIMER,再在原理图编辑窗口中单击,添加计数/定时器。将计数/定时器与被测点连接好,并按下运行按钮,弹出计数/定时器界面如图2-57所示,其主要功能如下。
★ 定时器模式(显示秒),分辨率为1μs。
★ 定时器模式(显示时、分、秒),分辨率为1ms。
★ 频率计模式,频率分辨率为1Hz。
计数器模式,计数范围为0~99 999 999。
图2-57 虚拟计数/定时器界面
(2)计数/定时器的使用。
【定时器模式的使用】 计数/定时器放在原理图编辑窗口中时,它有3个引脚:CE、RST和CLK。CE为时钟使能端,这个信号将会在时间显示之前得到控制,若不需要它,可将该引脚悬空。RST为复位引脚,它可将定时器复位清零,若不需要它,也可将该引脚悬空。RST引脚为边沿触发,不同于电平触发。如果需要保持定时器为零状态,可以将CE和RST引脚连接起来。
若定时器连接好后,将光标指向定时器并按Ctrl+E键或右击鼠标、选择“Edit Proper-ties”打开“Edit Component”对话框,如图2-58所示。在此对话框中根据需要设置定时模式(秒或时、分、秒模式)、计数使能极性(LOW或HIGH)和复位信号边沿极性(上升沿或下降沿)。这些设置好后,按下 按钮进行仿真。
图2-58 虚拟定时器编辑对话框
【频率计模式的使用】 计数/定时器放在原理图编辑窗口中时,根据需要将时钟引脚CLK与被测量的信号连接起来(在频率计模式下CE和RST引脚无效),再在图2-57中将工作模式选择为频率计模式,然后按下 按钮进行仿真。
频率计实际上是在仿真时间中的每一秒测出上升沿的次数,因此要求输入信号稳定并且在完整的1s内有效。同时,如果仿真不是在实时速率下进行的(如计算机CPU运行程序较多),则频率计会延长读数产生的时间。
由于计数/定时器为纯数字元器件,因此要测量低电平模拟信号频率时,需要在计数/定时器的CLK引脚之前放置一个ADC(模数转换器)及其他逻辑开关,用来确定一个合适的阈位。因为在Proteus中模拟信号的仿真速度比数字信号仿真慢1 000倍,计数/定时器不适合测量高于10kHz的模拟振荡电路频率,在这种情况下,用户可以使用虚拟振荡器测量信号。
【计数器模式的使用】 计数/定时器放在原理图编辑窗口中时,根据需要将CE使能端、RST复位端与被测量的信号连接起来或悬空。再在图2-57中设置定时模式(秒或时、分、秒模式)、计数使能极性(LOW或HIGH)和复位信号边沿极性(上升沿或下降沿)。这些设置好后,按下 按钮进行仿真。
4)虚拟终端(VIRTUAL TERMINAL)的使用 虚拟终端允许用户通过计算机的键盘并经由RS-232V异步发送数据到仿真微处理系统。虚拟终端在嵌入系统中有特殊的用途,可以用它显示正在开发的软件所产生的信息。
(1)虚拟终端的功能:在工具箱中单击 虚拟仪器,在弹出的“Instruments”窗口中单击VIRTUAL TERMINAL,再在原理图编辑窗口中单击,添加虚拟终端。将虚拟终端与相应引脚连接好,并按下运行按钮,弹出虚拟终端界面如图2-59所示,其主要功能如下。
★ 全双工,可同时接收和发送ASCII码数据。
★ 简单两线串行数据接口,RXD用于接收数据,TXD用于发送数据。
★ 简单的双线硬件握手方式,RTS用于准备发送,CTS用于清除发送。
★ 波特率范围为300~57 600b/s。
★ 7或8个数据位。
★ 包含奇校验、偶校验和无校验。
★ 具有0、1或2位停止位。
★ 除硬件握手外,系统还提供了XON/XOFF软件握手方式。
★ 可对RX/TX和RTS/CTS引脚输出极性不变或极性反向的信号。
图2-59 虚拟终端界面
(2)虚拟终端的使用:虚拟终端放在原理图编辑窗口中时,它有4个引脚:RXD、TXD、RTS和CTS。其中RXD为数据接收引脚;TXD为数据发送引脚;RTS为请求发送信号;CTS为清除传送,是对RTS的响应信号。将RXD和TXD引脚连接到系统的接收和发送线上,如果目标系统用硬件握手逻辑,则把RTS和CTS引脚连接到合适的溢出控制线上。
虚拟终端连接好后,将光标指向虚拟终端并按Ctrl+E键或右击鼠标、选择“Edit Prop-erties”打开“Edit Component”对话框,如图2-60所示。在此对话框中根据需要设置传输波特率、数据长度(7位或8位)、奇偶校验(EVEN为偶校验,ODD为奇校验)、极性和溢出控制等。这些设置好后,按下 按钮进行仿真。
仿真时,虚拟终端接收到数据后即显示输入数据;发送特征给系统,确定终端窗口具有焦点并在计算机的键盘上打出需要的文字。
5)SPI总线调试器(SPI DEBUGGER)的使用 SPI(Serial Peripheral Interface)总线是Motorola公司最先推出的一种串行总线技术,它是在芯片之间通过串行数据线(MISO、MOSI)和串行时钟线(SCLK)实现同步串行数据传输的技术。SPI提供访问一个4线、全双工串行总线的能力,支持在同一总线上将多个从器件连接到一个主器件上,可以工作在主方式或从方式中。
SPI总线调试器用来监测SPI接口,它允许用户监控SPI接口的双项信息,观察通过SPI总线发送数据的情况。
(1)SPI总线调试器的功能:在工具箱中单击 虚拟仪器,在弹出的“Instruments”窗口中单击SPI DEBUGGER,再在原理图编辑窗口中单击,添加SPI总线调试器。将SPI总线调试器与相应引脚连接好,并按下运行按钮,弹出SPI总线调试器界面如图2-61所示。
图2-60 虚拟终端编辑对话框
图2-61 SPI总线调试器界面
SPI总线调试器放在原理图编辑窗口中时,它有4个引脚:SCK、DIN、DOUT和SS。其中SCK为时钟引脚,用于连接SPI总线的时钟线;DIN为数据输入引脚,用于接收数据;DOUT为数据输出引脚,用于发送数据;SS为从设备选择引脚,用于激活期望的调试元件。用鼠标左键单击SPI总线调试器,按Ctrl+E键,弹出如图2-62所示对话框。
★ 主/从选择:指定为主设备(Monitor)还是从设备(Slave)。
★ SCK空闲状态:指定SCK为高电平或SCK为低电平时空闲。
★ 采样边沿:指定DIN引脚采样的边沿,或当SCK从空闲到激活,或从活跃到空闲时进行采样。
★ 字长:指定每一个传输数据的位数,可以选择的位数为1~16。
(2)SPI总线调试器的使用:SPI总线调试器传输数据的操作步骤如下。
SPI总线调试器放在原理图编辑窗口中,将SCK和DIN的引脚与相关设备引脚连接。
图2-62 SPI总线调试器编辑对话框
单击SPI总线调试器,按Ctrl+E键进行相关设置,如字长、位顺序、取样边沿的设置等。
设置好后,按下 按钮,弹出如图2-61所示界面,在队列容器中输入需要传输的数据。
当输入需要传输的数据后,既可直接传输数据,也可按下“Add”按钮,将数据存放到预定义队列中。
按下 按钮,在图2-61所示的队列缓冲区中初始化传输项。
当仿真再次按下 按钮时,若序列输入为空,也可选择预定义队列,单击“Queue”按钮,将预定义队列中的内容复制到队列缓冲区中。
再一次按下 按钮时,序列被传输。
6)I 2 C总线调试器(I 2 C DEBUGGER)的使用 I 2 C(Inter-Integrated Circuit)总线是由Philips公司推出的一种两线式串行总线,用于连接微控制器及其外围设备,实现同步双向串行数据传输。I 2 C总线于20世纪80年代推出,是一种具有两线(串行数据线和串行时钟线)的标准总线;该串行总线的推出为单片机应用系统的设计带来了极大的方便,它有利于系统设计的标准化和模块化,减少了各电路板之间的大量连线,从而提高了可靠性,降低了成本,使系统的扩展更加方便灵活。
I 2 C总线调试器用来监测SPI接口,它允许用户监控I 2 C接口的双项信息,观察通过I 2 C总线发送数据的情况。
(1)I 2 C总线调试器的功能:在工具箱中单击 虚拟仪器,在弹出的“Instruments”窗口中单击I 2 C DEBUGGER,再在原理图编辑窗口中单击,添加I 2 C总线调试器。将I 2 C总线调试器与相应引脚连接好,并按下运行按钮,弹出I 2 C总线调试器界面如图2-63所示。
I 2 C总线调试器放在原理图编辑窗口中时,它有3个引脚:SCL、SDA和TRIG。其中SCL为输入引脚,用于连接I 2 C总线的时钟线;SDA为双向数据传输线;TRIG为触发信号线。用鼠标左键单击I 2 C总线调试器,按Ctrl+E键,弹出如图2-64所示对话框。
图2-63 I 2 C总线调试器界面
图2-64 I 2 C总线调试器编辑对话框
★ 字节地址1:使用此终端对从设备进行仿真时,该属性用于指定从设备的第一地址字节。主机使用最低有效位作为系统进行读/写的标志位,而在寻址时这一位被忽略。如果该位没有被设备或设置为默认值,则该终端不能作为从设备。
★ 字节地址2:使用该终端对从设备进行仿真,并希望使用10位地址,本属性用于指定从设备地址和第二个地址字节。如果该属性未设置,就会采用7位寻址。
★ 为空时停止:设置当输出缓冲器为空或一字节要求被发送时,是否暂停仿真。
★ Advanced Properties:允许用户指定预先存放输出序列的文本文件的名称。如果属性设置为空,序列作为元件属性的一部分进行保存。
除以上属性之外,I 2 C总线接收数据时采用一项特殊的序列语句,该语句显示在输入数据显示窗口,即I 2 C总线调试器窗口的左上角。显示的序列字符如下。
★ S:Start Sequence,启动序列。
★ Sr:Restart Sequence,重新启动序列。
★ P:Stop Sequence,停止序列。
★ N:Negative Acknowledge Received,接收未确认。
★ A:Acknowledge Received,接收确认。
(2)I 2 C总线调试器的使用:I 2 C总线调试器传输数据的操作步骤如下。
I 2 C总线调试器放在原理图编辑窗口中,将SCK和SDA的引脚与相关设备引脚连接。
单击I 2 C总线调试器,按Ctrl+E键进行相关设置,如字节地址设置等。
设置好后按下 按钮,弹出如图2-63所示界面,在队列容器中输入需要传输的数据。
当输入需要传输的数据后,既可直接传输数据,也可按下“Add”按钮,将数据存放到预定义队列中。
按下 按钮,在图2-63的队列缓冲区中初始化传输项。
当仿真再次按下 按钮时,若序列输入为空,也可选择预定义队列,单击“Queue”按钮,将预定义队列中的内容复制到队列缓冲区中。
再一次按下 按钮时,序列被传输。
7)信号发生器(SIGNAL GENERATOR)的使用 虚拟信号发生器模拟一个简单的音频发生器,可以产生正弦波、三角波、方波、锯齿波信号。它具有调频和调幅输入功能,其中调频分为8个波段,频率范围为0~12MHz;调幅分为4个波段,幅值范围为0~12V。
在工具箱中单击 虚拟仪器,在弹出的“Instruments”窗口中单击SIGNAL GENERA-TOR,再在原理图编辑窗口中单击,添加信号发生器。将信号发生器与相应引脚连接好,并按下运行按钮,弹出信号发生器界面如图2-65所示。
波形选择开关用来选择正弦波、三角波、方波或锯齿波;极性选择开关用来选择输出信号是单极性还是双极性;输出范围调节开关可选择1mV挡、10mV挡、0.1V挡和1V挡,在相应挡位的范围内还可以通过幅度调节旋钮调节输出信号幅度。FM调制频率调节旋钮用来调节输出信号调频调制方式的调制系数。调制输入的电压加上FM调制频率调节值,再乘以频率调节旋钮对应的值即为幅度的瞬时输出频率,例如,FM调制频率调节值为2,频率调节旋钮值为1kHz,则3V调频信号的输出频率为5kHz[(2+3)×1]。
图2-65 信号发生器界面
8)序列发生器(PATTERIN GENERATOR)的使用 虚拟序列发生器是一种8路可编程发生器,它可以按事先设定的速度将预先存储的数据一步一步循环输出,利用它可产生数字系统所需的各种复杂测试信号。
图2-66 虚拟序列发生器
(1)序列发生器引脚及设置:在工具箱中单击 虚拟仪器,在弹出的“Instruments”窗口中单击PATTERIN GENERATOR,再在原理图编辑窗口中单击,添加虚拟序列发生器到编辑窗口中,如图2-66所示。
★ CLKIN:时钟输入引脚,用于输入外部时钟信号。系统提供了两种外部时钟模式:正沿脉冲(Ex-ternal Pos Edge)和负沿脉冲(External Neg Edge)。
★ CLKOUT:时钟输出引脚。当序列发生器使用的是内部时钟时,用户可以配置该引脚,与外部时钟镜像。系统提供的内部时钟(Internal)是一个负沿脉冲,可在仿真之前单击序列发生器,按Ctrl+E键,在弹出的如图2-67所示对话框中进行设置,也可在仿真时暂停,然后通过时钟模式键指定。
图2-67 序列发生器编辑对话框
★ HOLD:保持引脚。给该引脚输入高电平时,序列发生器暂停,直至该引脚输入高电平被撤销。对于内部时钟或内部触发,时钟将从暂停点重新开始。
★ TRIG:触发引脚,用于将外部触发脉冲反馈到序列发生器中。系统提供了5种触发模式:内部触发(Internal)、外部异步正脉冲触发(Async External Pos Edge)、外部同步正脉冲触发(Sync External Pos Edge)、外部异步负脉冲触发(Async External Neg Edge)和外部同步负脉冲触发(Sync External Neg Edge)。内部触发模式是按照指定的间隔触发;外部异步正脉冲触发模式,触发器由触发引脚的正边沿跳变信号触发,当触发发生时触发器立即动作,在下一个时钟边沿发生由低到高的转换;外部同步正脉冲触发模式,触发器在触发引脚由正边沿转换指定,触发被锁定,与下一个时钟的下降沿同步动作;外部异步负脉冲触发模式,触发器在触发引脚由负边沿转换指定,当触发发生时触发器立即动作,且序列的第一位在输出引脚输出;外部同步负脉冲触发,触发器由触发引脚的负边沿转换信号触发一,触发发生后锁定被触发,并与下个时钟的下降沿同步动作。
★ OE:输出使能引脚,若该引脚为高电平则使能输出,如果该引脚未置为高电平,虽然序列发生器依然按特定序列运行,但不能驱动序列发生器在该引脚输出序列信号。
★ CASCADE:级联引脚,若序列的第一位被置为高电平,则级联引脚被置为高电平,而且在下一位信号(一个时钟周期后)到来前始终为高,即当开始仿真后,第一个时钟周期该引脚置为高电平。
★ B[0..7]:8位数据总线输出引脚。
★ Q0~Q7:8根单个输出引脚。
序列发生器的输出配置提供了4种模式:Default,默认;Output to Both Pins and Bus,引脚和总线均输出;Output to Pins Only,仅在引脚输出;Output to Bus Only,仅在总线输出。
模式发生器脚本为纯文本文件,每字节由逗点分隔。每一字节代表栅格上的一栏,字节可以用二进制、十进制或十六进制表示,默认情况下为十六进制。
(2)序列发生器的使用:序列发生器的使用步骤如下。
在工具箱中单击 虚拟仪器,在弹出的“Instruments”窗口中单击PATTERIN GEN-ERATOR,再在原理图编辑窗口中单击,添加虚拟序列发生器到编辑窗口中,根据需要将虚拟序列发生器相关引脚与电路连接。
单击序列发生器,按Ctrl+E键,在弹出的如图2-67所示对话框中,根据系统要求配置触发选项和时钟选项。
在模式发生器脚本文件中加载期望的序列文件。
退出图2-67所示对话框,按下 按钮,弹出如图2-68所示界面,进行仿真。
图2-68 序列发生器界面
9)电压表与电流表的使用 在Proteus ISIS中提供了DC VOLTMETER直流电压表、DC AMMETER直流电流表、AC VOLTMETER交流电压表、AC AMMETER交流电流表。这些虚拟的交、直流电压表和电流表可直接连接到电路中进行电压或电流的测量。
电压表与电流表的使用步骤如下。
(1)在工具箱中单击 虚拟仪器,在弹出的“Instruments”窗口中单击DC VOLTMETER、DC AMMETER、AC VOLTMETER或AC AMMETER,再在原理图编辑窗口中单击,添加电压表或电流表到编辑窗口中,如图2-69所示,根据需要将电压表或电流表与被测电路连接。
图2-69 虚拟交、直流电压表与电流表
(2)单击电压表或电流表,按Ctrl+E键,弹出编辑对话框,如图2-70所示为直流电压表对话框,根据测量要求设置相应选项。
图2-70 直流电压表编辑对话框
选择不同的电压表或电流表,其编辑对话框也有所不同。直流电流表对话框与直流电压表对话框相比就没有设置内阻这一项;交流电压表比直流电压表多了时间常数(Time Con-stant)这一项;同样,交流电流表比直流电流表也多了时间常数(Time Constant)这一项。电压表的显示范围有伏特(Volts)、毫伏(Millivolts)和微伏(Microvolts);电流表的显示范围有安培(Amps)、毫安(Milliamps)和微安(Microamps)。
(3)退出编辑对话框,按下 按钮,即可进行电压或电流的测量。
对于较复杂的程序,如果没有达到预期效果,可以采用MPLAB IDE与Proteus进行联机调试。进行联机调试时,必须先安装联机调试驱动程序,并进行相应设置,然后才能进行MPLAB IDE与Proteus的联机调试运行。
1)驱动程序的安装 Proteus 7.0及以后版本(如Proteus 7.8),要实现Proteus与MPLAB IDE进行联机调试,只需安装“vdmmplab.exe”联调插件文件,即可完成驱动程序的安装。驱动程序安装好后,最好重启计算机。
2)Proteus联机设置 驱动程序安装好后,在Proteus ISIS软件中执行菜单命令“De-bug”→“Use Romote Debug Monitor”,使MPLAB IDE能与Proteus进行通信。
3)MPLAB IDE联机设置 在MPLAB IDE中打开程序项目,执行菜单命令“Debug-ger”→“Select Tool”→“Proteus VSM”,选择Proteus VSM。在选择时可能会有两个Proteus VSM,通常选择下面的Proteus VSM,如图2-71所示。
再执行菜单命令“Debugger”→“Settings”,则弹出“VDM Configuration”对话框。如果Proteus与MPLAB IDE是安装在同一台计算机中的,则Host中的IP地址使用默认值127.0.0.1,Port中的端口也使用默认值8000;如果Proteus与MPLAB IDE不是安装在同一台计算机中,则Host中要填另一台计算机的IP地址。在Logging项中选择Protocol Data,如图2-72所示。
图2-71 选择Proteus VSM调试
图2-72 “VDM Configuration”对话框
4)MPLAB IDE与Proteus的联机调试运行 完成上述操作后,就可以进行MPLAB IDE与Proteus的联机调试运行了。
注意:
进行联机调试时,MPLAB IDE中的项目工程及相应的Proteus ISIS原理图仿真文件都要打开,并且MPLAB IDE的项目工程和Proteus ISIS的原理图仿真文件要放到同一层目录下。
在MPLAB IDE中单击 绿色按钮或执行菜单命令“Debugger”→“connect”,MPLAB和Proteus开始连接,等一会儿,如果连接成功,绿色按钮变成灰色,右边的按钮变成红色。如果再单击红色的按钮,就会断开和Proteus的连接。
在MPLAB IDE中全速运行时,Proteus ISIS中的单片机系统也会自动运行。MPLAB IDE每调试一次,Proteus ISIS就会做出相应动作。若想观察运行过程中的某些变量值或设备状态,需要在MPLAB IDE中恰当使用Step in/Step over/Step out及Beakpoint进行跟踪。但是并不是在任何时候都可以进行跟踪,例如,进行键盘矩阵扫描时就不能用单步跟踪,因为程序运行到某一步骤时若敲击按键在MPLAB IDE中继续单步跟踪,这时按键早已释放了。
所以,在联合调试过程中,需要恰当地配合单步、跳出、设置断点等方法进行跟踪。