Proteus提供了一系列可视化虚拟仪器及激励源,借助这些设备可进行虚拟仿真及图形分析。
激励源为虚拟仿真提供激励,并允许用户对其参数进行设置。在工具箱中单击图标 (信号源),在弹出的“Generator”窗口中将出现各种激励源供用户选择。
DC:直流信号发生器,即直流激励源。
SINE:幅值、频率和相位可控的正弦波发生器,即正弦波激励源。
PULSE:幅值、周期和上升/下降沿时间可控的模拟脉冲信号发生器,即模拟脉冲信号激励源。
EXP:指数信号发生器,可产生与RC充电/放电电路相同的脉冲波,即指数信号激励源等。
SFFM:单频率调频波信号发生器,即单频率调频波信号激励源。
PWLIN:PWLIN信号发生器,可产生任意分段线性信号,即分段线性信号激励源。
FILE:FILE信号发生器,它的数据来源于ASCII文件,即FILE信号激励源。
AUDIO:音频信号发生器,使用Windows WAV文件作为输入文件,结合音频分析图表,可以听到电路对音频信号处理后的声音,即音频信号激励源。
DSTATE:数字单稳态逻辑电平发生器,即数字单稳态逻辑电平激励源。
DEDGE:单边沿信号发生器,即单边沿信号激励源。
DPULSE:单周期数字脉冲信号发生器,即数字单边沿信号激励源。
DCLOCK:数字时钟信号发生器,即数字时钟信号激励源。
DPATTERN:数字序列信号发生器,即序列信号激励源。
在仿真时,若需要用到激励源,可将其放置到原理图中并与相应电路连接,双击该激励源,即可进行相关参数的设置。
在Proteus中提供了许多的虚拟仪器供用户使用。在工具箱中单击图标 (虚拟仪器),在弹出的“Instruments”窗口中将出现虚拟仪器供用户选择,包括示波器(OSCILLOSCOPE)、逻辑分析仪(LOGIC ANALYSER)、计数器/定时器(COUNTER TIMER)、虚拟终端(VIRTUAL TERMINAL)、SPI总线调试器(SPI DEBUGGER)、I 2 C总线调试器(I2C DEBUGGER)、信号发生器(SIGNAL GENERATOR)、序列发生器(PATTERIN GENERATOR)、直流电压表(DC VOLTMETER)、直流电流表(DC AMMETER)、交流电压表(AC VOLTMETER)、交流电流表(AC AMMETER)。
1.示波器的使用
在Proteus8.0中提供了4通道虚拟示波器,供用户使用。
1)示波器的功能 在工具箱中单击图标 ,在弹出的“Instruments”窗口中单击“OSCILLOSCOPE”,再在原理图编辑窗口中单击,即可添加示波器。将示波器与被测点连接好,单击运行按钮,将弹出虚拟示波器界面,如图2-36所示。
四通道A、B、C、D,波形分别用黄色、蓝色、红色、绿色表示。
20~2mV/div的可调增益。
扫描速度200~0.5 μ s/div。
可选择4个通道中的任一通道作为同步源。
交流或直流输入。
2)示波器的使用 虚拟示波器与真实示波器的使用方法类似。
(1)按照电路的属性设置扫描速度,用户可看到所测量的信号波形。
(2)如果被测信号有直流分量,则在相应的信号输入通道选择AC交流工作方式。
(3)调整增益,以便在示波器中显示适当大小的波形。
(4)调节垂直位移滑轮,以便在示波器中显示适当位置的波形。
(5)拨动相应的通道定位选择按钮,再调节水平定位和垂直定位,以便观测波形。
(6)如果在大的直流电压波形中含有小的交流信号,需要在连接的测试点和示波器之间加一个电容器。
3)示波器的工作方式 虚拟示波器有以下3种工作方式。
单踪工作方式:可以在A、B、C、D四个通道中选择任一通道作为显示。
双踪工作方式:可以在A、B、C、D四个通道中选择任一通道作为触发信号源。
叠加工作方式:A、B通道有效,选择A+B时,可将A、B两路输入相互叠加产生波形;C、D通道有效,选择C+D时,可将C、D两路输入相互叠加产生波形。
图2-36 虚拟示波器界面
4)示波器的触发 虚拟示波器具有自动触发功能,使得输入波形可以与时基同步。
可以在A、B、C、D四个通道中选择任一通道作为触发器。
触发旋钮的刻度表是360°循环可调,这样方便操作。
每个输入通道可以选择DC直流、AC交流、接地3种方式,并可选择OFF将其关闭。
设置触发方式为上升沿时,触发范围为上升的电压;设置触发方式为下降沿时,触发范围为下降的电压。如果超过一个时基的时间内没有触发发生,将会自动扫描。
2.逻辑分析仪的使用
逻辑分析仪是将连续记录的输入数字信号保存到容量非常大的数据缓冲区中。这是一个采样的过程,因此有一个可调的用于设定能够被记录最小脉冲的调节值,即采样周期。
1)逻辑分析仪的功能 在工具箱中单击图标 ,在弹出的“Instruments”窗口中单击“LOGIC ANALYSER”,再在原理图编辑窗口中单击,添加逻辑分析仪。将逻辑分析仪与被测点连接好,单击运行按钮,将弹出虚拟逻辑分析仪界面,如图2-37所示。
16个1位的通道和4个8位的总线通道。
采样速度从每次采样间隔200 μ s 到每次采样间隔0.5ns,相应的采集时间为5ms~2 s。
显示的缩放范围从每次分配1000次采样到每次分配1次采样。
2)逻辑分析仪的使用
设置采样间隔为一个合适值,用于设定能够被记录的脉冲最小宽度,采样间隔越小,数据采集时间越短。
图2-37 虚拟逻辑分析仪界面
设置触发条件,拨动开关选择下降沿或上升沿。
由于采集缓冲区允许10000次采样,而显示仅有250像素的宽度,因此在采集缓冲区中需进行缩放观看,缩放观看的操作是旋转显示比例按钮。
3.计数器/定时器的使用
虚拟计数器/定时器可用于测量时间间隔、信号频率的脉冲数。
1)计数器/定时器的功能 在工具箱中单击图标 ,在弹出的“Instruments”窗口中单击“COUNTER TIMER”,再在原理图编辑窗口中单击,添加计数器/定时器。将计数器/定时器与被测点连接好,单击运行按钮,将弹出计数/定时器界面,如图2-38所示。
图2-38 虚拟计数器/定时器界面
定时器模式(显示秒):分辨率为1 μ s。
定时器模式(显示时、分、秒):分辨率为1ms。
频率计模式:频率分辨率为1Hz。
计数器模式:计数范围为0~99999999。
2)计数器/定时器的使用
(1)定时器模式的使用:计数器/定时器放在原理图编辑窗口中时,它有3个引脚,即CE、RST和CLK。CE为时钟使能端,这个信号将会在时间显示前得到控制,若不需要它,可将该引脚悬空;RST为复位引脚,它可将定时器复位清零,若不需要它,也可将该引脚悬空;RST引脚是边沿触发,不同于电平触发。如果需要保持定时器为零状态,可以将CE和RST引脚连接起来。
将定时器连接好后,将光标指向定时器,并按“Ctrl”+“E”键或单击鼠标右键,在弹出的菜单中选择“Edit Properties”,打开“Edit Component”对话框,如图2-39所示。在此对话框中根据需要设置定时模式(秒或时、分、秒模式)、计数使能极性(LOW或HIGH)和复位信号边沿极性(上升沿或下降沿)。设置好后,单击按钮 进行仿真。
图2-39 虚拟定时器编辑对话框
(2)频率计模式的使用:计数器/定时器放在原理图编辑窗口中时,根据需要将时钟引脚CLK与被测量的信号连接起来(在频率计模式下,CE和RST引脚无效),再在图2-49中将工作模式选择频率计模式,然后单击按钮 进行仿真。
频率计实际上是在仿真时间中的每一秒来测出上升沿的次数,因此要求输入信号稳定并且在完整的1s内有效。同时,如果仿真不是在实时速率下进行的(如计算机CPU运行程序较多),则频率计会延长读数产生的时间。
由于计数器/定时器为纯数字元器件,因此要测量低电平模拟信号频率时,需要在计数器/定时器的CLK引脚前放置一个ADC(A/D转换器)及其他逻辑开关,用于确定一个合适的阈值。因为在Proteus中,模拟信号仿真速度比数字信号仿真慢1000倍,计数器/定时器不适合测量高于10kHz的模拟振荡电路频率,在这种情况下,用户可以使用虚拟振荡器来测量信号。
(3)计数器模式的使用:将计数器/定时器放在原理图编辑窗口中时,根据需要将CE使能端、RST复位端与被测量的信号连接起来或悬空。再在图2-49中设置定时模式(秒或时、分、秒模式)、计数使能极性(LOW或HIGH)和复位信号边沿极性(上升沿或下降沿)。设置好后,单击 按钮进行仿真。工作模式选择频率计模式,然后进行仿真。
4.虚拟终端的使用
虚拟终端允许用户通过计算机的键盘并经由RS-232接口异步发送数据到仿真微处理系统中。虚拟终端在嵌入式系统中有特殊的用途,可用它显示正在开发的软件所产生的信息。
1)虚拟终端的功能 在工具箱中单击图标 ,在弹出的“Instruments”窗口中单击“VIRTUAL TERMINAL”,再在原理图编辑窗口中单击,添加虚拟终端。将虚拟终端与相应引脚连接好,单击运行按钮,将弹出虚拟终端界面,如图2-40所示。其主要功能如下所述。
全双工:可同时接收和发送ASCII码数据。
图2-40 虚拟终端界面
简单两线串行数据接口:RXD用于接收数据,TXD用于发送数据。
简单的双线硬件握手方式:RTS用于准备发送,CTS用于清除发送。
波特率范围为300~57600 b/s。
7或8个数据位。
包含奇校验、偶校验和无校验。
具有0、1或2位停止位。
除硬件握手外,系统还提供了XON/XOFF软件握手方式。
可对RXD/TXD和RTS/CTS引脚输出极性不变或极性反向的信号。
2)虚拟终端的使用 虚拟终端放在原理图编辑窗口中时,它有4个引脚,即RXD、TXD、RTS和CTS。其中,RXD为数据接收引脚;TXD为数据发送引脚;RTS为请求发送信号引脚;CTS为清除传送引脚,是对RTS的响应信号。将RXD和TXD引脚连接到系统的发送线和接收线上,如果目标系统用硬件握手逻辑,把RTS和CTS引脚连接到合适的溢出控制线上。
将虚拟终端连接好后,将光标指向虚拟终端并按“Ctrl”+“E”键,或者单击鼠标右键,从弹出的菜单中选择“Edit Properties”,打开“Edit Component”对话框,如图2-41所示。在此对话框中,根据需要设置传输波特率、数据长度(7位或8位)、奇偶校验(EVEN为偶校验,ODD为奇校验)、极性和溢出控制等。设置好后,单击按钮 进行仿真。
仿真时,虚拟终端接收到数据后,会立即显示输入数据;当数据传送到系统时,将光标置于虚拟终端窗口,通过计算机的键盘可以输入所需要的信息。
5.SPI总线调试器的使用
SPI(Serial Peripheral Interface)总线是Motorola公司最先推出的一种串行总线技术,它是在芯片之间通过串行数据线(MISO、MOSI)和串行时钟线(SCLK)实现同步串行数据传输的技术。SPI提供访问一个4线、全双工串行总线的能力,支持在同一总线上将多个从器件连接到一个主器件上,可以工作在主方式或从方式下。
SPI总线调试器用于监测SPI接口,它允许用户监控SPI接口的双向信息,观察数据通过SPI总线发送数据的情况。
图2-41“Edit Component”对话框
1)添加SPI总线调试器 在工具箱中单击图标 ,在弹出的“Instruments”窗口中单击“SPI DEBUGGER”,再在原理图编辑窗口中单击,添加SPI总线调试器。将SPI总线调试器与相应引脚连接好,单击运行按钮,将弹出SPI总线调试器界面,如图2-42所示。
图2-42 SPI总线调试器界面
SPI总线调试器放在原理图编辑窗口中时,它有4个引脚,即SCK、DIN、DOUT和SS。其中,SCK为时钟引脚,用于连接SPI总线的时钟线;DIN为数据输入引脚,用于接收数据;DOUT为数据输出引脚,用于发送数据;SS为从设备选择引脚,用于激活期望的调试元器件。单击SPI总线调试器,按“Ctrl”+“E”键,弹出图2-43所示的对话框。
主/从选择:指定为主设备(Monitor)还是从设备(Slave)。
SCK空闲状态:指定SCK高电平或SCK为低电平时空闲。
采样边沿:指定DIN引脚采样的边沿,或者当SCK从空闲到激活,或者从活跃到空闲时进行采样。
字长:指定每一个传输数据的位数,可以选择的位数为1~16。
图2-43“Edit Component”对话框
2)SPI总线调试器的使用 SPI总线调试器传输数据的操作步骤如下所述。
(1)将SPI总线调试器放在原理图编辑窗口中,将SCK和DIN的引脚与相关设备引脚连接。单击SPI总线调试器,按“Ctrl”+“E”键,在弹出的“Edit Component”对话框中进行相关设置,如字长、位顺序、采样边沿的设置等。
(2)设置好后,单击按钮 ,弹出图2-42所示界面,在队列容器中输入需要传输的数据。当输入需要传输的数据后,既可直接传输数据,也可单击“Add”按钮,将数据存放到预义定队列中。
(3)单击按钮 ,在图2-42所示的对列缓冲区中初始化传输项。
(4)再次单击按钮 时,若序列输入为空,也可选择预定义序列,单击“Queue”按钮,将预定义队列中的内容复制到对列缓冲区中。
(5)再次单击按钮 时,序列被传输。
6.I 2 C总线调试器的使用
I 2 C(Inter-Integrated Circuit)总线是由Philips公司推出的一种两线式串行总线,用于连接微控制器及其外围设备,实现同步双向串行数据传输的技术。I 2 C总线于20世纪80年代推出,是一种具有两线(串行数据线和串行时钟线)的标准总线,该串行总线的推出为单片机应用系统的设计带来了极大的方便,它有利于系统设计的标准和模块化,减少了各电路板之间的大量连线,从而提高了可靠性,降低了成本,使系统的扩展更加方便灵活。
I 2 C总线调试器用于监测I 2 C接口,它允许用户监控I 2 C接口的双向信息,观察数据通过I 2 C总线发送数据的情况。
1)添加I 2 C总线调试器 在工具箱中单击图标 ,在弹出的“Instruments”窗口中单击“I2C DEBUGGER”,再在原理图编辑窗口中单击,添加I 2 C总线调试器。将I 2 C总线调试器与相应引脚连接好,单击运行按钮,将弹出I 2 C总线调试器界面,如图2-44所示。
I 2 C总线调试器放在原理图编辑窗口中时,它有3个引脚,即SCL、SDA和TRIG。其中,SCL为输入引脚,用于连接I 2 C总线的时钟线;SDA为双向数据传输线;TRIG为触发信号线。单击I 2 C总线调试器,按“Ctrl”+“E”键,弹出图2-45所示的对话框。
图2-44 I 2 C总线调试器界面
图2-45“Edit Component”对话框
字节地址1:使用该终端对从设备进行仿真时,该属性用于指定从设备的第1个地址字节。主机使用最低有效位作为系统进行读/写的标志位,而在寻址时,该位被忽略。如果该位没有被设备或设置为默认值时,该终端不能作为从设备。
字节地址2:使用该终端对从设备进行仿真,并希望使用10位地址,则本属性用于指定从设备地址和第2个地址字节。如果该属性未设置,就会采用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总线调试器传输数据的操作步骤如下所述。
(1)将I 2 C总线调试器放在原理图编辑窗口中,将SCK和SDA的引脚与相关设备引脚连接。单击I 2 C总线调试器,按“Ctrl”+“E”键,在弹出的“Edit Component”对话框中进行相关设置,如字节地址设置等。
(2)设置好后,单击按钮 ,弹出图2-44所示界面,在队列容器中输入需要传输的数据。当输入需要传输的数据后,既可直接传输数据,也可单击“Add”按钮,将数据存放到预义定队列中。
(3)单击按钮 ,在图2-44所示的对列缓冲区中初始化传输项。
(4)再次单击按钮 时,若序列输入为空,也可选择预定义序列,单击“Queue”按钮,将预定义队列中的内容复制到对列缓冲区中。
(5)再次单击按钮 时,序列被传输。
7.信号发生器的使用
虚拟信号发生器模拟一个简单的音频发生器,可以产生正弦波、三角波、方波、锯齿波的信号,具有调频和调幅输入功能,其中调频分为8个波段,频率范围为0~12MHz;调幅分为4 个波段,幅值范围为0~12 V。
在工具箱中单击图标 ,在弹出的“Instruments”窗口中单击“SIGNAL GENERATOR”,再在原理图编辑窗口中单击,添加信号发生器。将信号发生器与相应引脚连接好后,单击运行按钮,将弹出信号发生器界面,如图2-46所示。
图2-46 信号发生器界面
波形选择开关用于选择正弦波、三角波、方波或锯齿波;极性选择用于选择输出信号是单极性还是双极性;输出范围调节开关可选择1mV挡、10mV挡、0.1V挡和1V挡,在相应挡位的范围内,还可以通过幅度调节旋钮调节输出信号幅度;FM调制频率调节旋钮用于调节输出信号的调频调制方式的调制系数。调制输入的电压加上FM调制频率调节值,再乘以频率调节旋钮对应的值,即幅度的瞬时输出频率。例如,FM调制频率调节值为2,频率调节旋钮值为1kHz,则3V调频信号的输出频率为5kHz(即(2+3)×1)。
8.序列发生器的使用
虚拟序列发生器是一种8路可编程发生器,它可以按照事先设定的速度将预先储存的8路数据逐步循环输出。在数字系统中,可以利用虚拟序列发生器产生各种复杂测试信号。
图2-47 虚拟序列发生器
1)序列发生器引脚及设置 在工具箱中单击图标 ,在弹出的“Instruments”窗口中单击“PATTERIN GENERATOR”,再在原理图编辑窗口中单击,添加虚拟序列发生器到编辑窗口中,如图2-47所示。
CLKIN:时钟输入引脚,用于输入外部时钟信号。系统提供了两种外部时钟模式,即负沿脉冲(External Pos Edge)和正沿脉冲(External Neg Edge)。
CLKOUT:时钟输出引脚。当序列发生器使用的是内部时钟时,用户可以配置这一引脚,与外部时钟镜像。系统提供的内部时钟(Internal)是一个负沿脉冲,可在仿真前单击序列发生器,按“Ctrl”+“E”键,在弹出的图2-48所示的对话框中进行设置,也可在仿真时暂停,然后通过时钟模式键指定。
图2-48 序列发生器编辑对话框
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)序列发生器的使用 序列发生器的使用步骤如下所述。
(1)在工具箱中单击图标 ,在弹出的“Instruments”窗口中单击“PATTERN GENERATOR”,再在原理图编辑窗口中单击,添加虚拟序列发生器到编辑窗口中,根据需要将虚拟序列发生器相关引脚与电路连接。
(2)单击序列发生器,按“Ctrl”+“E”键,弹出图2-48所示的对话框。根据系统要求,配置触发选项和时钟选项。
(3)在模式发生器脚本文件中加载期望的序列文件。
(4)单击“OK”按钮,退出图2-48所示的对话框,单击按钮 ,弹出图2-49所示界面,进行仿真。
图2-49 序列发生器界面
9.电压表与电流表的使用
在Proteus ISIS中提供了直流电压表(DC VOLTMETER)、直流电流表(DC AMMETER)、交流电压表(AC VOLTMETER)、交流电流表(AC AMMETER)。这些虚拟的电压表或电流表可直接连接到电路中进行电压或电流的测量。
电压表或电流表的使用步骤如下所述。
(1)在工具箱中单击图标 ,在弹出的“Instruments”窗口中,单击“DC VOLTMETER”、“DC AMMETER”、“AC VOLTMETER”或“AC AMMETER”,再在原理图编辑窗口中单击,添加电压表或电流表到编辑窗口中,如图2-50所示。然后根据需要将电压表或电流表与被测电路连接。
图2-50 虚拟交/直流电压表与电流表
(2)单击电压表或电流表,按“Ctrl”+“E”键,弹出编辑对话框。图2-51所示的是直流电压表编辑对话框,根据测量要求,设置相应选项。
图2-51 直流电压表编辑对话框
选择不同的电压表或电流表,其编辑对话框也有所不同。直流电流表对话框中与直流电压表相比就没有设置内阻这一项;交流电压表比直流电压表多了时间常数(Time Constant)这一项;同样,交流电流表比直流电流表也多了时间常数(Time Constant)这一项。电压表的显示范围有伏特(Volts)、毫伏(Millivolts)和微伏(Microvolts);电流表的显示范围有安培(Amps)、毫安(Milliamps)和微安(Microamps)。
(3)单击“OK”按钮,退出编辑对话框,单击按钮 ,即可进行电压或电流的测量。
对于较复杂的程序,如果未达到预期效果,可以采用Keil C51与Proteus联机调试的方式。进行联机调试时,必须先安装联机调试驱动程序,并进行相应设置,然后才能进行Keil C51与Proteus的联机调试。
1.驱动程序的安装
Proteus 6.9及以前版本与 Keil C51 进行联机调试时,必须将 Proteus 安装目录下的VDM51.dll驱动文件复制到Keil C51安装目录的\C1\BIN目录中,同时还需下载PROSPICE.dll替换\Proteus 6 Professional\BIN目录下的相同文件,再使用记事本的方式打开Keil根目录下的TOOL.INI文件,在[C51]栏目下加入“TDRV8=BIN\VDM51.dll(“Proteus VSM Monitor-51 Driver”)”,其中“TDRV8”中的“8”要根据实际情况确定,不能和原有的重复。
Proteus 7.0及以后版本,在Proteus安装目录下没有VDM51.dll驱动文件,要实现Proteus与Keil C51进行联机调试时,只需安装“vdmagdi.exe”联调插件文件,即可完成驱动程序的安装。驱动程序安装好后,建议重新启动计算机。
2.Proteus联机设置
驱动程序安装好后,在Proteus ISIS软件中使“Debug”菜单中的“Use Remote Debug Monitor”选项处于选中状态,即可完成Proteus联机设置。
3.Keil C51联机设置
在Keil C51中打开程序项目,执行菜单命令“Project”→“Options for Target ′Target 1′”,或者在工具栏中单击图标 ,然后在弹出的“Options for Target ′Target 1′”对话框中选择“Debug”选项卡,选中右侧的“Use”及其中的“Proteus VSM Simulator”选项,如图2-52所示。
图2-52 项目选项对话框
在图2-52中单击右侧的“Settings”按钮,弹出“VDM51 Target Setup”对话框,如图2-53所示。如果Proteus与Keil C51是安装在同一台计算机中,则“Host”栏中的IP地址使用默认值127.0.0.1,“Port”栏中的端口也使用默认值8000;如果Proteus与Keil C51不是安装在同一台计算机,则“Host”栏中要填写另一台计算机的 IP地址。
图2-53“VDM51 Target Setup”对话框
4.Keil C51与Proteus的联机调试运行
完成上述操作后,就可以进行Keil C51与Proteus的联机调试运行。
〖注意〗 进行联机调试时,Keil C51中的项目工程及相应的Proteus ISIS原理图仿真文件都要打开,并将Keil C51的项目工程与Proteus ISIS的原理图仿真文件放到同一层目录下。
在Keil C51中全速运行时,Proteus ISIS中的单片机系统也会自动运行。Keil C51每调试一次,Proteus ISIS就会做出相应动作。若想观察运行过程中的某些变量值或设备状态,需要在Keil C51中恰当使用Step in/Step over/Step out/Run to cursor line及Breakpoint等方法进行跟踪。但是,并不是在任何时候都可以进行跟踪。例如,进行键盘矩阵扫描时就不能用单步跟踪,因为程序运行到某一步骤时,如果敲击按键后Keil C51中继续单步跟踪,这时按键早已释放了。所以,在联合调试过程中,需要恰当地配合单步、跳出、运行到当前行、设置断点等方法进行跟踪。