基于Proteus的51系列单片机设计与仿真(第4版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.2 Proteus VSM虚拟系统模型

P roteus提供了一系列可视化虚拟仪器及激励源,以便进行虚拟仿真及图形分析。

2.2.1 激励源

激励源为虚拟仿真提供激励,并允许用户对其进行参数设置。在工具箱中单击图标(信号源),在打开的 “GENERATORS” 窗口中将出现多种激励源供用户选择。

☺DC:直流信号发生器,即直流激励源。

☺SINE:幅值、频率和相位可控的正弦波发生器,即正弦波激励源。

☺PULSE:幅值、周期和上升沿/下降沿时间可控的模拟脉冲信号发生器,即模拟脉冲信号激励源。

☺EXP:指数信号发生器,可产生与RC充电/放电电路相同的脉冲波,即指数信号激励源等。

☺SFFM:单频率调频波信号发生器,即单频率调频波信号激励源。

☺PWLIN:PWLIN信号发生器,可产生任意分段线性信号,即分段线性信号激励源。

☺FILE:FILE信号发生器,它的数据来源于ASCII文件,即FILE信号激励源。

☺AUDIO:音频信号发生器,使用Windows WAV文件作为输入文件,结合音频分析图表,可以听到电路对音频信号处理后的声音,即音频信号激励源。

☺DSTATE:数字单稳态逻辑电平发生器,即数字单稳态逻辑电平激励源。

☺DEDGE:单边沿信号发生器,即单边沿信号激励源。

☺DPULSE:单周期数字脉冲信号发生器,即数字单脉冲信号激励源。

☺DCLOCK:数字时钟信号发生器,即数字时钟信号激励源。

☺DPATTERN:数字序列信号发生器,即序列信号激励源。

在仿真时,若需要用到激励源,可将其放置到原理图中并与相应电路连接,双击该激励源,可对其进行相关参数的设置。

2.2.2 Proteus VSM虚拟仪器的使用

在P roteus中提供了许多的虚拟仪器供用户使用。在工具箱中单击虚拟仪器图标,在打开的 “INSTRUMENTS” 窗口中将出现虚拟仪器供用户选择,包括示波器 (OSCILLOSCOPE)、逻辑分析仪 (LOGIC ANALYSER)、计数器/定时器 (COUNTER TIMER)、虚拟终端 (VIRTUAL TERMINAL)、SPI总线调试器 (SPI DEBUGGER)、I2 C 总线调试器 (I2C DEBUGGER)、信号发生器 (SIGNAL GENERATOR)、序列发生器 (PATTERIN GENERATOR)、直流电压表 (DC VOLTMETER)、直流电流表 (DC AMMETER)、交流电压表 (AC VOLTMETER)、交流电流表(AC AMMETER)。

1.示波器的使用

在P roteus中提供了4通道虚拟示波器供用户使用。

1) 示波器的功能 在工具箱中单击图标,在打开的 “INSTRUMENTS” 窗口中单击“OSCILLOSCOPE”,再在原理图编辑窗口中单击,即可添加示波器。将示波器与被测点连接好,单击运行按钮,将弹出虚拟示波器界面,如图2-36所示。其功能如下所述。

☺四通道A、B、C、D,波形分别用黄色、蓝色、红色、绿色表示。

☺20~2mV/div的可调增益。

☺扫描速度为200~0.5μs/div。

☺可选择4个通道中的任一通道作为同步源。

☺交流或直流输入。

2) 示波器的使用 虚拟示波器与真实示波器的使用方法类似。

☺按照电路的属性设置扫描速度,用户可看到所测量的信号波形。

☺如果被测信号有直流分量,则在相应的信号输入通道选择交流耦合方式。

☺调整增益,以便在示波器中显示适当大小的波形。

☺调节垂直位移滑轮,以便在示波器中显示适当位置的波形。

☺拨动相应的通道定位选择按钮,再调节水平定位和垂直定位,以便观测波形。

☺如果在大的直流电压波形中含有小的交流信号,需要在连接的测试点和示波器之间加一个电容器。

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四个通道中选择任一通道作为触发器。

☺触发旋钮的刻度表循环可调,这样方便操作。

☺每个输入通道可以选择DC (直流)、AC (交流)、GND (接地) 3种方式之一,也可选择OFF将其关闭。

☺触发方式分为上升沿触发和下降沿触发两种。如果超过一个时基的时间内没有触发发生,将会自动扫描。

图2-36 虚拟示波器界面

2.逻辑分析仪的使用

逻辑分析仪可以将连续记录的输入数字信号保存到容量非常大的数据缓冲区中。这是一个采样的过程,因此有一个可调的用于设定能够记录最小脉冲的调节值,即采样周期。

1) 逻辑分析仪的功能 在工具箱中单击图标,在打开的 “INSTRUMENTS” 窗口中单击 “LOGIC ANALYSER”,再在原理图编辑窗口中单击,添加虚拟逻辑分析仪。将虚拟逻辑分析仪与被测点连接好,单击运行按钮,将弹出虚拟逻辑分析仪界面,如图2-37所示。

☺具有16个1位的通道和4个8位的总线通道。

☺每次采样间隔0.5ns~200μs,相应的数据采集时间为5ms~2s。

☺显示的缩放范围为1~1000次采样。

2) 逻辑分析仪的使用

☺设置一个合适的采样间隔值,用于设定能够被记录的脉冲最小宽度。采样间隔越小,数据采集时间越短。

☺设置触发条件,拨动开关选择下降沿触发或上升沿触发。

图2-37 虚拟逻辑分析仪界面

☺由于采集缓冲区允许10000次采样,而显示仅有250像素的宽度,因此在采集缓冲区中需进行缩放观看,通过旋转显示比例按钮可以设置缩放观看。

3.计数器/定时器的使用

虚拟计数器/定时器可用于测量时间间隔、信号频率的脉冲数。

1) 计数器/定时器的功能 在工具箱中单击图标,在打开的 “INSTRUMENTS” 窗口中单击 “COUNTER TIMER”,再在原理图编辑窗口中单击,添加计数器/定时器。将计数器/定时器与被测点连接好,单击运行按钮,将弹出虚拟计数器/定时器界面,如图2-38所示。其主要功能如下所述。

☺定时器模式 (显示秒),分辨率为1μs。

☺定时器模式 (显示时、分、秒),分辨率为1ms。

☺频率计模式,频率分辨率为1Hz。

☺计数器模式,计数范围为0~99999999。

2) 计数器/定时器的使用

(1) 定时器模式:计数器/定时器有3个引脚,即CE、RST和CLK。其中,CE为时钟使能引脚,这个信号将会在时间显示前得到控制,若不需要它,可将该引脚悬空;RST为复位引脚,它可将定时器复位清零,若不需要它,也可将该引脚悬空;RST为边沿触发引脚。如果需要保持定时器为零状态,可以将CE和RST引脚连接起来。

图2-38 虚拟计数器/定时器界面

若定时器连接好后,将光标指向定时器,并按 “Ctrl”+“E” 键,或者单击鼠标右键,在弹出的菜单中选择 “Edit Properties”,打开 “Edit Component” 对话框,如图2-39所示。在此对话框中,根据需要设置工作模式 (秒或时、分、秒模式)、计数使能极性 (LOW或HIGH) 和复位信号边沿极性 (上升沿或下降沿)。设置完成后,单击按钮进行仿真。

图2-39 “Edit Component” 对话框

(2) 频率计模式:根据需要将计数器/定时器的时钟引脚CLK与被测量的信号连接起来(在频率计模式下CE和RST引脚无效),并在 “Edit Component” 对话框中将工作模式设置为频率计模式,然后单击按钮进行仿真。

虚拟频率计实际上是在仿真过程中测量1s内上升沿的个数,因此要求输入信号稳定并且在完整的1s内有效。如果仿真不是在实时速率下进行 (如计算机CPU 运行程序较多)的,频率计可能会延长读数产生的时间。

由于计数器/定时器为纯数字元器件,因此测量低电平模拟信号频率时,需要在计数器/定时器的CLK引脚前放置一个ADC (A/D转换器) 及其他逻辑开关,用于确立一个合适的阈值。因为在P roteus中,模拟信号的仿真速度比数字信号的仿真速度慢1000倍,计数器/定时器不适合测量高于10kHz的模拟振荡电路频率,在这种情况下,用户可以使用虚拟振荡器测量信号。

(3) 计数器模式:根据需要将计数器/定时器的CE和RST引脚与被测量信号连接起来或悬空,并在 “Edit Component” 对话框中设置计数器模式、计数使能极性 (LOW 或HIGH) 和复位信号边沿极性 (上升沿或下降沿)。设置完成后,单击按钮进行仿真。

4.虚拟终端的使用

虚拟终端允许用户通过计算机的键盘并经由RS-232串口异步发送数据到仿真微处理系统。

虚拟终端在嵌入系统中有特殊的用途,可以用它显示正在开发的软件所产生的信息。

1) 虚拟终端的功能 在工具箱中单击图标,在打开的 “INSTRUMENTS” 窗口中单击 “VIRTUAL TERMINAL”,再在原理图编辑窗口中单击,添加虚拟终端。将虚拟终端与相应引脚连接好,单击运行按钮,将弹出虚拟终端界面,如图2-40所示。其主要功能如下所述。

图2-40 虚拟终端界面

☺全双工,可同时接收和发送ASCII码数据。

☺简单两线串行数据接口,RXD用于接收数据,TXD用于发送数据。

☺简单的双线硬件握手方式,RTS用于准备发送,CTS用于清除发送。

☺波特率范围为300~57600bit/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为奇校验)、极性和溢出控制等。设置好后,单击按钮进行仿真。

图2-41 “Edit Component” 对话框

仿真时,虚拟终端接收到数据后,会立即显示输入数据;当数据传送到系统时,将光标置于虚拟终端窗口,通过计算机的键盘可以输入所需要的文字。

5.SPI总线调试器的使用

SPI (Serial Peripheral Interface) 总线是Motorola公司最先推出的一种串行总线技术,它是在芯片之间通过串行数据线 (MISO、MOSI) 和串行时钟线 (SCLK) 实现同步串行数据传输的技术。SP I提供访问一个4线、全双工串行总线的能力,支持在同一总线上连接一个主设备和多个从设备。

SP I总线调试器用于监测SP I接口,它允许用户监控SP I接口的双向信息,观察数据在SP I总线上传输的情况。

1) SPI总线调试器 在工具箱中单击图标,在打开的 “INSTRUMENTS” 窗口中单击“SPI DEBUGGER”,再在原理图编辑窗口中单击,添加SPI总线调试器。将SPI总线调试器与相应引脚连接好,单击运行按钮,弹出SP I总线调试器界面,如图2-42所示。

SPI总线调试器有4个引脚,即DIN、DOUT、SCK、和TRIG。其中,DIN为数据输入引脚,用于接收数据;DOUT为数据输出引脚,用于发送数据;SCK为时钟引脚,用于连接SP I总线的时钟线;为从设备选择引脚,用于激活期望的调试元器件;TRIG为触发信号引脚,用于发送设定的数据。单击SPI总线调试器,按 “Ctrl”+“E” 键,弹出图2-43所示的对话框。

图2-42 SPI总线调试器界面

图2-43 “Edit Component” 对话框

☺主/从选择:指定为主设备(Monitor)还是从设备(Slave)。

☺SCK空闲状态:指定SCK为高电平或低电平时空闲。

☺采样边沿:指定DIN引脚采样的边沿,或者当SCK从空闲到激活,或者从活跃到空闲时进行采样。

☺字长:指定每一个传输数据的位数,可以选择的位数为1~16。

2) SPI总线调试器的使用 SPI总线调试器传输数据的操作步骤如下所述。

(1) 将SPI总线调试器放在原理图编辑窗口中,将SCK和DIN的引脚与相关设备引脚连接。

(2) 单击SPI总线调试器,按 “Ctrl”+“E” 键,在弹出的 “Edit Component” 对话框中进行相关设置,如字长、位顺序、采样边沿的设置等。

(3) 设置好后,单击按钮,弹出图2-42所示界面,在队列容器中输入需要传输的数据。

(4) 当输入需要传输的数据后,既可直接传输数据,也可单击 “Add” 按钮,将数据存放到预定义队列中。

(5) 单击按钮,在图2-42所示的队列缓冲区中初始化传输项。

(6) 再次单击按钮时,若队列输入为空,也可选择预定义队列,单击 “Queue”按钮,将预定义队列中的内容复制到队列缓冲区中。

(7) 再次单击按钮时,队列被传输。

6.I2C总线调试器的使用

I2C (Inter-Integrated Circuit) 总线是由Philips公司推出的一种两线式串行总线,用于连接微控制器及其外围设备,以实现同步双向串行数据的传输。I2 C总线于20世纪80年代推出,是一种具有串行数据线和串行时钟线的标准总线,该串行总线的推出为单片机应用系统的设计带来了极大的方便,它有利于系统设计的标准化和模块化,大大减少了各种电路板之间的连线,从而提高了可靠性,降低了成本,使系统的扩展更加方便灵活。

I2 C总线调试器用于监控I2 C接口的信息,观察I2 C总线传送数据的情况。

1) I2C总线调试器 在工具箱中单击图标,在打开的 “INSTRUMENTS” 窗口中单击“I2C DEBUGGER”,再在原理图编辑窗口中单击,添加I2 C总线调试器。将I2 C总线调试器与相应引脚连接好后,单击运行按钮,弹出I2 C总线调试器界面,如图2-44所示。

图2-44 I2 C总线调试器界面

I2 C总线调试器有3个引脚,即SCL、SDA和TRIG。其中,SCL为输入引脚,用于连接I2 C总线的时钟线;SDA为双向数据传输引脚;TRIG为触发信号引脚。单击I2 C总线调试器,按 “Ctrl”+“E” 键,弹出图2-45所示的对话框。

☺字节地址1:使用该终端对从设备进行仿真时,该属性用于指定从设备的第1个地址字节。主机使用最低有效位作为系统进行读/写的标志位,而在寻址时,该位被忽略。如果该位没有被设置或设置为默认值时,该终端不能作为从设备。

图2-45 “Edit Component” 对话框

☺字节地址2:使用该终端对从设备进行仿真,并希望使用10位地址,则本属性用于指定从设备地址和第2个地址字节。如果该属性未被设置,就会采用7位寻址。

☺为空时停止:设置当输出缓冲器为空,或一个字节要求被发送时,是否暂停仿真。

☺Advanced P roperties:允许用户指定预先存放输出队列的文本文件的名称。如果该属性未被设置,队列作为元器件属性的一部分进行保存。

除了以上属性,I2 C总线接收数据时,还采用一项特殊的队列语句,该语句显示在输入数据显示窗口,即I2 C总线调试器窗口的左上角。显示的队列字符如下所述。

☺S:Start Sequence,启动队列。

☺Sr:Restart Sequence,重新启动队列。

☺P:Stop Sequence,停止队列。

☺N:Negative Acknowledge Received,接收但未确认。

☺A:Acknowledge Received,接收且确认。

2) I2C总线调试器的使用 I2 C总线调试器传输数据的操作步骤如下所述。

(1) I2C总线调试器放在原理图编辑窗口中,将SCL和SDA的引脚与相关设备引脚连接。单击I2 C总线调试器,按 “Ctrl”+“E” 键,在弹出的 “Edit Component” 对话框中进行相关设置,如字节地址设置等。设置好后,单击按钮,弹出图2-44所示界面,在队列容器中输入需要传输的数据。输入需要传输的数据后,既可直接传输数据,也可单击“Add” 按钮,将数据存放到预定义队列中。

(2) 单击按钮,在图2-44所示的队列缓冲区中初始化传输项。

(3) 再次单击按钮时,若队列输入为空,也可选择预定义队列,单击 “Queue”按钮,将预定义队列中的内容复制到队列缓冲区中。

(4) 再次单击按钮时,队列被传输。

7.信号发生器的使用

虚拟信号发生器模拟一个简单的音频发生器,它可以产生正弦波、三角波、方波、锯齿波等信号,具有调频和调幅输入功能。其中,调频分为8个波段,频率范围为0~12MHz;调幅分为4个波段,幅值范围为0~12V。

在工具箱中单击图标,在打开的 “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路数据逐个循环输出。在数字系统中,可以利用虚拟序列发生器产生各种复杂的测试信号。

1) 序列发生器引脚及设置 在工具箱中单击图标,在打开的 “INSTRUMENTS” 窗口中单击 “PATTERIN GENERATOR”,再在原理图编辑窗口中单击,添加虚拟序列发生器到编辑窗口中,如图2-47所示。

☺CLKIN:时钟输入引脚,用于输入外部时钟信号。系统提供了 External Pos Edge (外部正沿时钟) 和External Neg Edge (外部负沿时钟) 两种模式。

图2-47 虚拟序列发生器

☺CLKOUT:时钟输出引脚。当序列发生器使用的是内部时钟时,用户可以配置这一引脚,与外部时钟镜像。系统提供的内部时钟是一个负沿时钟,可在仿真前单击序列发生器,按 “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) 退出图2-48所示的对话框,单击按钮,弹出图2-49所示界面,进行仿真。

图2-49 虚拟序列发生器界面

9.电压表与电流表的使用

在Proteus虚拟仪器中,提供了直流电压表 (DC VOLTMETER)、直流电流表 (DC AM-METER)、交流电压表 (AC VOLTMETER)、交流电流表 (AC AMMETER)。这些虚拟的电压表或电流表可直接连接到电路中,以便进行电压或电流的测量。

电压表或电流表的使用步骤如下所述。

(1) 在工具箱中单击图标,在打开的 “INSTRUMENTS” 窗口中,单击 “DC VOLTMETER”、“DC AMMETER”、“AC VOLTMETER” 或 “AC AMMETER”,再在原理图编辑窗口中单击,添加电压表或电流表到编辑窗口中,如图2-50所示。根据需要将电压表或电流表与被测电路连接起来。

图2-50 虚拟交/直流电压表与电流表

(2) 单击电压表或电流表,按 “Ctrl”+“E” 键,弹出 “Edit Component” 对话框。图2-51 所示的是虚拟直流电压表编辑对话框,在此根据测量要求,设置相应选项。

图2-51 虚拟直流电压表编辑对话框

选择不同的电压表或电流表,其编辑对话框也会有所不同。例如,直流电流表对话框中没有设置内阻这一项;交流电压/电流表比直流电压/电流表多了时间常数 (Time Constant)这一项。电压表的显示范围有伏特 (Volts)、毫伏 (Millivolts) 和微伏 (Microvolts);电流表的显示范围有安培 (Amps)、毫安 (Milliamps) 和微安 (Microamps)。

(3) 退出编辑对话框,单击按钮,即可进行电压或电流的测量。

2.2.3 Keil C51与Proteus的联机

在P roteus电路图绘制软件中绘制好原理图后,可以与已创建的Keil项目进行联机。在此以2.1.2节中已绘制的原理图及1.1节已创建的Keil项目为例,讲述Keil C51与Proteus的联机方法。

在Proteus中打开已绘制的原理图,双击AT89C51单片机,弹出 “Edit Component” 对话框,如图2-52所示。

在 “Edit Component” 对话框的 “Program File” 栏中添加1.1 节中由Keil C51 生成的“Keil示例.hex” 文件,即可实现Proteus与Keil C51的联机操作。在 “Clock Frequency” 栏中,将单片机的工作频率设置为12MHz。设置好后,单击 “OK” 按钮,然后保存原理图文件。回到原理图编辑界面后,单击仿真按钮,即可进行程序仿真,如图2-53所示。

图2-52 “Edit Component” 对话框

图2-53 Keil示例程序仿真图

说明

在仿真过程中,元器件引脚上显示红色的小方块,表示该引脚为高电平状态;引脚上显示蓝色的小方块,表示该引脚处于低电平状态。

仿真过程中,如果在Keil C51中进行了程序修改,需要重新进行编译。编译成功后,在P roteus 中重新单击仿真按钮,即可观察修改程序后的仿真效果。