1、第3章,Proteus的虚拟仿真工具,3.1 激励源 3.1.1 直流信号发生器 3.1.2 正弦波信号发生器 3.1.3 脉冲发生器 3.1.4 指数脉冲发生器 3.1.5 单频率调频波发生器 3.1.6 分段线性激励源 3.1.7 FILE信号发生器 3.1.8 音频信号发生器 3.1.9 数字单稳态逻辑电平发生器 3.1.10 数字单边沿信号发生器 3.1.11 单周期数字脉冲发生器 3.1.12 数字时钟信号发生器 3.1.13 数字模式信号发生器,3.2 虚拟仪器 3.2.1 示波器 3.2.2 逻辑分析仪 3.2.3 计数器/定时器 3.2.4 虚拟终端 3.2.5 SPI调试器
2、3.2.6 I2C调试器 3.2.7 信号发生器 3.2.8 模式发生器 3.2.9 电压表和电流表 3.3 图表仿真,在第2章我们学习了Proteus ISIS的电路原理图设计,熟悉了各种元件的拾取和各种绘图工具的使用。在这一章里,我们对已经设计好的电路图进行仿真,以检查设计结果的正确性。Proteus ISIS软件提供了许多种类的虚拟仿真工具,给电路设计和分析带来了极大的方便。Proteus ISIS的VSM(Virtual Simulation Mode,虚拟仿真模式),包括交互式动态仿真和基于图表的静态仿真。前者用于即时观看电路的仿真结果,仿真结果在仿真运行结束后即消失;后者的仿真结果
3、可随时刷新,以图表的形式保留在图中,可供以后分析或随图纸一起打印输出。下面我们结合电路分析实例,对Proteus VSM下的虚拟仿真仪器和工具逐一介绍。,3.1 激 励 源,激励源为电路提供输入信号。Proteus ISIS 为用户提供了如表3-1所示的各种类型的激励源,允许对其参数进行设置。,3.1.1 直流信号发生器,直流信号发生器用来产生模拟直流电压或电流。 1. 放置直流信号发生器 (1) 在Proteus ISIS环境中单击工具箱中的“Generator Mode”按钮图标,出现如图3-1所示的所有激励源的名称列表。 (2) 用鼠标左键单击“DC”,则在预览窗口出现直流信号发生器的符
4、号,如图3-1所示。 (3) 在编辑窗口双击,则直流信号发生器被放置到原理图编辑界面中。可使用镜像、翻转工具调整直流信号发生器在原理图中的位置。,2. 直流信号发生器属性设置 (1) 在原理图编辑区中,用鼠标左键双击直流信号发生器符号,出现如图3-2所示的属性设置对话框。,图3-1 激励源列表,图3-2 直流信号发生器属性对话框,(2) 默认为直流电压源,可以在右侧设置电压源的大小。 (3) 如果需要直流电流源,则在图3-2中选中左侧下面的“Current Source”,右侧自动出现电流值的标记,根据需要填写即可,如图3-3所示。 (4) 单击“OK”按钮,完成属性设置。,图3-3 直流信号
5、发生器的属性设置,3.1.2 正弦波信号发生器,1. 放置正弦波信号发生器 (1) 在Proteus ISIS环境中单击工具箱中的“Generator Mode”按钮图标,出现如图3-1所示的所有激励源名称列表。 (2) 用鼠标左键单击“SINE”,则在预览窗口出现正弦波信号发生器的符号。 (3) 在编辑窗口双击,则正弦波信号发生器被放置到原理图编辑界面中,可使用镜像、翻转工具对其位置和方向进行调整。 2. 编辑正弦波信号发生器 (1) 双击原理图中的正弦波信号发生器符号,出现其属性设置对话框,如图3-4所示。正弦波信号发生器,属性设置对话框中主要选项含义如下。 Offset(Volts):补
6、偿电压,即正弦波的振荡中心电平。 Amplitude(Volts):正弦波的三种幅值标记方法,其中Amplitude为振幅,即半波峰值电压,Peak为峰值电压,RMS为有效值电压,以上三个电压值选填一项即可。 Timing:正弦波频率的三种定义方法,其中Frequency(Hz)为频率,单位为赫兹;Period(Secs)为周期,单位为秒;这两项填一项即可。Cycles/Graph为占空比,要单独设置。,Delay:延时,指正弦波的相位,有两个选项,选填一个即可。其中Time Delay(Secs)是时间轴的延时,单位为秒;Phase(Degrees)为相位,单位为度。,图3-4 正弦波信号发
7、生器的属性设置,(2) 在“Generator Name”中输入正弦波信号发生器的名称,比如“SINE SOURCE 1”,在相应的项目中设置相应的值。本例中使用两个正弦波发生器,各参数设置如表3-2所示。 (3) 单击“OK”按钮,完成设置。 (4) 用示波器观察两个信号,连线如图3-5所示。,(5) 示波器显示的图形如图3-6所示。,图3-5 正弦波信号发生器与示波器的连接,图3-6 示波器显示的正弦波信号波形,3.1.3 脉冲发生器,脉冲发生器能产生各种周期的输入信号,如方波、锯齿波、三角波及单周期短脉冲。 1. 放置脉冲发生器 (1) 在Proteus ISIS环境中单击工具箱中的“G
8、enerator Mode”按钮图标,出现如图3-1所示的所有激励源名称列表。 (2) 用鼠标左键单击“PULSE”,则在预览窗口出现脉冲发生器的符号。 (3) 在编辑窗口双击,则脉冲发生器被放置到原理图编辑界面中,可使用镜像、翻转工具对其位置和方向进行调整。,2. 编辑脉冲发生器 (1) 双击原理图中的脉冲发生器符号,出现脉冲发生器的属性设置对话框,如图3-7所示。 其中,主要参数说明如下。 Initial(Low)Voltage:初始(低)电压值。 Initial(High)Voltage:初始(高)电压值。 Start(Secs):起始时刻。 Rise time (Secs):上升时间。
9、 Fall time(Secs):下降时间。 Pulse Width:脉冲宽度。有两种设置方法:Pulse Width(Secs)指定脉冲宽度,Pulse Width(%)指定占空比。 Frequency/Period:频率或周期。,Current Source:脉冲发生器的电流值设置。 (2) 在图3-7中的“Generator Name”中输入脉冲发生器的名称,并在相应的项目中输入合适的值。 (3) 设置完成后,单击“OK”按钮。 (4) 可用上述讲到的与正弦波类似的方法用示波器观看脉冲发生器的波形。,图3-7 脉冲发生器属性对话框,3.1.4 指数脉冲发生器,1. 放置指数脉冲发生器 (
10、1) 在Proteus ISIS环境中单击工具箱中的“Generator Mode”按钮图标,出现如图3-1所示的所有激励源名称列表。 (2) 用鼠标左键单击“EXP”,则在预览窗口出现指数脉冲发生器的符号。 (3) 在编辑窗口双击,则指数脉冲发生器被放置到原理图编辑界面中,可使用镜像、翻转工具对其位置和方向进行调整。,2. 编辑指数脉冲发生器 (1) 双击原理图中的指数脉冲发生器符号,出现指数脉冲发生器的属性设置对话框,如图3-8所示。,图3-8 指数脉冲发生器属性对话框,其中,主要参数说明如下。 Initial(Low)Voltage:初始(低)电压值。 Initial(High)Volt
11、age:初始(高)电压值。 Rise start time(Secs):上升沿起始时刻。 Rise time constant(Secs):上升沿持续时间。 Fall start time(Secs):下降沿起始时刻。 Fall time constant(Secs):下降沿持续时间。 (2) 在图3-8中的“Generator Name”中输入指数脉冲发生器的名称,并在相应的项目中输入合适的值。 (3) 设置完成后,单击“OK”按钮。 (4) 用仿真图表观测输出波形。单击工具箱中的仿真图表“Simulation Graph”,按钮,在对象选择器中将出现各种仿真分析所需的图表类型,如图3-9所
12、示。 (5) 用鼠标单击选择图3-9中的“ANALOGUE”项,即模拟波形,此时不出现对话框。在原理图编辑区单击鼠标左键拖动出一个矩形框,则出现仿真图表的基本框架,如图3-10所示。,图3-9 仿真图表的类型,图3-10 拖出的仿真图表框架,(6) 在图3-10中双击,出现如图3-11所示的图表设置对话框。把其中的“Stop time”改为6(秒)。 (7) 单击工具箱中的“Terminals Mode”按钮,在对象选择器中将出现各种终端,如图3-12所示。选择“DEFAULT”缺省项,然后放置到原理图编辑区中。,图3-11 仿真图表设置对话框,图3-12 终端工具,(8) 把终端与指数脉冲发
13、生器连接在一起,然后把原理图中指数脉冲发生器拖动到仿真图表中(拖动名称),图表中出现“EXP SOUCE”的名称,同时有白色的竖线分区出现,如图3-13所示。 (9) 按空格键进行图表仿真,在图表框中出现指数脉冲发生器的波形,如图3-14所示。 改变指数脉冲的参数后,再按空格键,可以重新生成新的波形。,图3-13 终端与指数脉冲发生器的连接,图3-14 指数脉冲发生器的图表仿真波形,3.1.5 单频率调频波发生器,1. 放置单频率调频波发生器 (1) 在Proteus ISIS环境中单击工具箱中的“Generator Mode”按钮图标,出现如图3-1所示的所有激励源名称列表。 (2) 用鼠标
14、左键单击“SFFM”,则在预览窗口出现单频率调频波发生器的符号。 (3) 在编辑窗口双击,则单频率调频波发生器被放置到原理图编辑界面中,可使用镜像、翻转工具对其位置和方向进行调整。 2. 编辑单频率调频波发生器 (1) 双击原理图中的单频率调频波发生器符号,出现,单频率调频波发生器的属性设置对话框,如图3-15所示。 其中,主要参数说明如下: Offset:电压偏置值。 Amplitude:电压幅值。 Carrier Freq:载波频率fC。 Modulation Index:调制指数MDI。 Signal Freq:信号频率fS。 经调制后,输出信号为,(2) 在图3-15中的“Genera
15、tor Name”中输入脉冲发生器的名称,并在相应的项目中输入合适的值。 (3) 设置完成后,单击“OK”按钮。 (4) 用仿真图表观测输出波形。参照3.1.4节中的方法,得到如图3-16所示的波形。,图3-15 单频率调频波发生器属性设置对话框,图3-16 单频率调频波发生器图表仿真波形,3.1.6 分段线性激励源,1. 放置分段线性激励源 (1) 在Proteus ISIS环境中单击工具箱中的“Generator Mode”按钮图标,出现如图3-1所示的所有激励源名称列表。 (2) 用鼠标左键单击“PWLIN”,则在预览窗口出现分段线性激励源的符号。 (3) 在编辑窗口双击,则分段线性激励
16、源被放置到原理图编辑界面中,可使用镜像、翻转工具对其位置和方向进行调整。,2. 编辑分段线性激励源 (1) 双击原理图中的分段线性激励源符号,出现分段线性激励源的属性设置对话框,如图3-17所示。,图3-17 分段线性激励源属性设置对话框,其中,主要参数说明如下。 Time/Voltages项 用于显示波形,X轴为时间轴,Y轴为电压轴。单击右上的三角按钮,可弹出放大了的曲线编辑界面。 Scaling项 X Mir:横坐标(时间)最小值显示。 X Ma:横坐标(时间)最大值显示。 Y Mir:纵坐标(时间)最小值显示。 Y Ma:纵坐标(时间)最大值显示。 Minimum:最小上升/下降时间。,
17、(2) 在打开的分段线性激励源的图形编辑区中,用鼠标左键在任意点单击,则完成从原点到该点的一段直线,再把鼠标向右移动,在任意位置单击,又出现一连接的直线段,可编辑为自己满意的分段激励源曲线,如图3-18所示。 (3) 用仿真图表可以观察到和编辑的图形一样的曲线,如图3-19所示。,图3-18 分段线性激励源的任意图形编辑,图3-19 分段线性激励源的图表仿真波形,3.1.7 FILE信号发生器,1. 放置FILE信号发生器 (1) 在Proteus ISIS环境中单击工具箱中的“Generator Mode”按钮图标,出现如图3-1所示的所有激励源名称列表。 (2) 用鼠标左键单击“FILE”
18、,则在预览窗口出现FILE信号发生器的符号。 (3) 在编辑窗口双击,则FILE信号发生器被放置到原理图编辑界面中,可使用镜像、翻转工具对其位置和方向进行调整。 2. 编辑FILE信号发生器 (1) 双击原理图中的FILE信号发生器符号,出现FILE信号发生器的属性设置对话框,如图3-20所示。,在“Data File”项输入数据文件的路径及文件名,或单击“Browse”按钮进行路径及文件名选择,即可使用电路中编制好的数据文件。 FILE信号发生器与PWLIN信号源相同,只是数据由ASCII文件产生。,图3-20 FILE信号发生器的属性设置对话框,(2) 在“Generator Name”文
19、本框中输入发生器的名称,如“FILE SOURCE”。 (3) 编辑完成后,单击“OK”按钮,完成信号源的设置。 (4) 用模拟图表可观测输出曲线。,3.1.8 音频信号发生器,1. 放置音频信号发生器 (1) 在Proteus ISIS环境中单击工具箱中的“Generator Mode”按钮图标,出现如图3-1所示的所有激励源名称列表。 (2) 用鼠标左键单击“AUDIO”,则在预览窗口出现音频信号发生器的符号。 (3) 在编辑窗口双击,则音频信号发生器被放置到原理图编辑界面中,可使用镜像、翻转工具对其位置和方向进行调整。,2. 编辑音频信号发生器 (1) 双击原理图中的音频信号发生器符号,
20、出现音频信号发生器的属性设置对话框,如图3-21所示 (2) 在“Generator Name”项中输入自定义的音频信号发生器的名称,如“AUDIO SOURCE”,在“WAV Audio File”选项中,通过“Browse”浏览按钮找到一个“*.wav”音频文件,比如“D:speech_dft.wav”,加载进去。 (3) 单击“OK”按钮完成设置。 (4) 用图3-22接线来完成图表的仿真,观看音频波形,同时在音频信号发生器上接一扬声声器,可以,听到此文件播放的声音。扬声器元件的拾取可以直接输入“SPEAKER”,在出现的元件列表中选取后面的“Library”为“ACTIVE”的元件。,
21、图3-21 音频信号发生器的属性设置对话框,图3-22 音频信号发生器的图表分析和与扬声器的连接,3.1.9 数字单稳态逻辑电平发生器,1. 放置数字单稳态逻辑电平发生器 (1) 在Proteus ISIS环境中单击工具箱中的“Generator Mode”按钮图标,出现如图3-1所示的所有激励源名称列表。 (2) 用鼠标左键单击“DSTATE”,则在预览窗口出现数字单稳态逻辑电平发生器的符号。 (3) 在编辑窗口双击,则数字单稳态逻辑电平发生器被放置到原理图编辑界面中,可使用镜像、翻转工具对其位置和方向进行调整。,2. 编辑数字单稳态逻辑电平发生器 (1) 双击原理图中的数字单稳态逻辑电平发
22、生器符号,出现数字单稳态逻辑电平发生器的属性设置对话框,如图3-23所示。 (2) 在“Generator Name”项中输入自定义的数字单稳态逻辑电平发生器的名称,如“DSTATE 1”,在“State”选项中,逻辑状态为“Weak Low”(弱低电平)。,图3-23 数字单稳态逻辑电平发生器属性设置对话框,(3) 单击“OK”按钮完成设置。 (4) 照图3-24接线来完成图表的仿真。其中,DSTATE 2 设为“Weak High”(弱高电平)状态。会发现图3-24中的信号源符号中,一个显示“0”,一个显示“1”。图表仿真的结果,DSTATE 1信号源为绿色的低电平,与最下边的水平轴重叠;
23、DSTATE 2信号源为红色的高电平,与最上顶水平线重叠。,图3-24 数字单稳态逻辑电平发生器图表分析,3.1.10 数字单边沿信号发生器,数字单边沿信号为从高电平变为低电平的信号,或从低电平变为高电平的信号。 1. 放置数字单边沿信号发生器 (1) 在Proteus ISIS环境中单击工具箱中的“Generator Mode”按钮图标,出现如图3-1所示的所有激励源名称列表。 (2) 用鼠标左键单击“DEDGE”,则在预览窗口出现数字单边沿信号发生器的符号。 (3) 在编辑窗口双击,则数字单边沿信号发生器被放置到原理图编辑界面中,可用镜像、翻转工具对其位置和方向进行调整。,2. 编辑数字单
24、边沿信号发生器 (1) 双击原理图中的数字单边沿信号发生器符号,出现数字单边沿信号发生器的属性设置对话框,如图3-25所示。 (2) 在“Generator Name”项中输入自定义的数字单边沿信号发生器的名称,如“DEDGE 1”,在“Edge Polarity”选项中,选中“Positive (Low-To-High)Edge”正边沿项。对于“Edge At(Secs)”项,输入“500m”,即选择边沿发生在500ms处。 (3) 单击“OK”按钮完成设置。,(4) 照图3-26接线来完成图表的仿真。其中,DEDGE 2 设为“Negative (High-To-Low)Edge”负边沿,
25、其他同DEDGE 1。观察图形仿真中的两个相反的单边沿信号。,图3-25 数字单边沿信号发生器属性设置对话框,图3-26 数字单边沿信号发生器图表分析,3.1.11 单周期数字脉冲发生器,1. 放置单周期数字脉冲发生器 (1) 在Proteus ISIS环境中单击工具箱中的“Generator Mode”按钮图标,出现如图3-1所示的所有激励源名称列表。 (2) 用鼠标左键单击“DPULSE”,则在预览窗口出现数字单周期数字脉冲发生器的符号。 (3) 在编辑窗口双击,则单周期数字脉冲发生器被放置到原理图编辑界面中,可用镜像、翻转工具对其位置和方向进行调整。,2. 编辑单周期数字脉冲发生器 (1
26、) 双击原理图中的单周期数字脉冲发生器符号,出现单周期数字脉冲发生器的属性设置对话框,如图3-27所示。 主要有以下参数设置。 Pulse Polarity(脉冲极性):正脉冲Positive Pulse 和负脉冲Negative Pulse。 Pulse Timing(脉冲定时):Start Time(Secs)为起始时刻;Pulse Width(Secs)为脉宽;Stop Time(Secs)为停止时间。 (2) 在“Generator Name”项中输入自定义的单周期数字脉冲发生器的名称,如“DPULSE SOURCE”,并在相应的项目中设置合适的值。,(3) 单击“OK”按钮完成设置。
27、 (4) 照图3-28接线来完成图表的仿真。,图3-27 单周期数字脉冲发生器属性设置对话框,图3-28 单周期正脉冲图表仿真,3.1.12 数字时钟信号发生器,1. 放置数字时钟信号发生器 (1) 在Proteus ISIS环境中单击工具箱中的“Generator Mode”按钮图标,出现如图3-1所示的所有激励源名称列表。 (2) 用鼠标左键单击“DCLOCK”,则在预览窗口出现数字时钟信号发生器的符号。 (3) 在编辑窗口双击,则数字时钟信号发生器被放置到原理图编辑界面中,可用镜像、翻转工具对其位置和方向进行调整。,2. 编辑数字时钟信号发生器 (1) 双击原理图中的数字时钟信号发生器符
28、号,出现数字时钟信号发生器的属性设置对话框,如图3-29所示。 (2) 在“Generator Name”项中输入自定义的数字时钟信号发生器的名称,如“DCLOCK”,并在“Timing”项中把“Frequency”频率设为1k(Hz)。 (3) 单击“OK”按钮完成设置。,(4) 照图3-30接线来完成图表的仿真。因为时钟的周期为1ms,所以图表的时间轴设为5m(s),即观察5个周期。,图3-29 数字时钟信号发生器属性对话框,图3-30 数字时钟信号发生器图表仿真结果,3.1.13 数字模式信号发生器,(1) 在Proteus ISIS环境中单击工具箱中的“Generator Mode”按
29、钮图标,出现如图3-1所示的所有激励源名称列表。 (2) 用鼠标左键单击“DPATTERN”,则在预览窗口出现数字模式信号发生器的符号。 (3) 在编辑窗口双击,则数字模式信号发生器被放置到原理图编辑界面中,可用镜像、翻转工具对其位置和方向进行调整。 2. 编辑数字模式信号发生器 (1) 双击原理图中的数字模式信号发生器符号,出现数字模式信号发生器的属性设置对话框,如图3-31所示。,(2) 在“Generator Name”项中输入自定义的数字模式信号发生器的名称,如“DPATTERN”, 其他各项的设置如图3-31所示。其中各项含义如下。 Initial State:初始状态。 First
30、 Edge At(Secs):第一个边沿位于几秒处。 Pulse width(Secs):脉冲宽度。 Specific Number of Edges:指定脉冲边沿数目。 Specific pulse train:指定脉冲轨迹。 (3) 在指定脉冲轨迹项的下边单击“Edit”按钮,出现如图3-32所示的数字模式发生器的轨迹编辑区。,(4) 在图3-32中,通过单击鼠标可以确定轨迹,有高电平、低电平和浮动电平三种电平可以改变。单击“OK”按钮完成轨迹编辑,返回图3-31所示的属性对话框。 (5) 单击“OK”按钮完成属性设置。,图3-31 数字模式信号发生器属性对话框,图3-32 数字模式信号发
31、生器轨迹编辑,3.2 虚 拟 仪 器,Proteus ISIS为用户提供了多种虚拟仪器,单击工具箱中的按钮,列出所有的虚拟仪器名称,如图3-33所示。其含义如表3-3所示。,图3-33 虚拟仪器列表,3.2.1 示波器,1. 放置虚拟示波器 (1) 在Proteus ISIS环境中单击虚拟仪器模式“Virtual Instrument Mode”按钮图标,出现如图3-33所示的所有虚拟仪器名称列表。 (2) 用鼠标左键单击列表区的“OSCILLOSCOPE”,则在预览窗口出现示波器的符号。 (3) 在编辑窗口单击鼠标左键,出现示波器的拖动图像,拖动鼠标指针到合适位置,再次单击左键,示波器被放置
32、到原理图编辑区中去。虚拟示波器的原理符号如图3-34所示。,2. 虚拟示波器的使用 (1) 示波器的四个接线端A、B、C、D应分别接四路输入信号,信号的另一端应接地。该虚拟示波器能同时观看四路信号的波形。 (2) 照图3-35接线。把1kHz、1V的正弦激励信号加到示波器的A通道。,图3-34 虚拟示波器,图3-35 正弦信号与示波器的接法,(3) 按仿真运行按钮开始仿真,出现如图3-36所示的示波器运行界面。可以看到,左面的图形显示区有四条不同颜色的水平扫描线,其中A通道由于接了正弦信号,已经显示出正弦波形。,图3-36 仿真运行后的示波器界面,(4) 示波器的操作区共分为以下六部分。 Ch
33、annel A:A通道。 Channel B:B通道。 Channel C:C通道。 Channel D:D通道。 Trigger:触发。 Horizontal:水平。 四个通道区:每个区的操作功能都一样。主要有两个旋钮,“Position”用来调整波形的垂直位移;下面的旋钮用来调整波形的Y轴增益,白色区域的刻度表示图形区每格对应的电压值。内旋钮是微调,外旋钮是粗调。在图形区读波形的电压时,会把内旋钮顺时针调到最右端。 触发区:其中“Level”用来调节水平坐标,水平坐标只在调节时才显示。“Auto”按钮一般为红色选中,状态。“Cursors”光标按钮选中后,可以在图标区标注横坐标和纵坐标,从
34、而读波形的电压和周期,如图3-37所示。单击右键可以出现快捷菜单,选择清除所有的标注坐标、打印及颜色设置。 水平区:“Position”用来调整波形的左右位移,下面的旋钮调整扫描频率。当读周期时,应把内环的微调旋钮顺时针旋转到底。,图3-37 触发区“Cursors”按钮的使用,3.2.2 逻辑分析仪,逻辑分析仪“LOGIC ANALYSER”是通过将连续记录的输入信号存入到大的捕捉缓冲器进行工作的。这是一个采样过程,具有可调的分辨率,用于定义可以记录的最短脉冲。在触发期间,驱动数据捕捉处理暂停,并监测输入数据。触发前后的数据都可显示。因其具有非常大的捕捉缓冲器(可存放10 000个采样数据)
35、,因此支持放大/缩小显示和全局显示。同时,用户还可移动测量标记,对脉冲宽度进行精确定时测量。 逻辑分析仪的原理符号如图3-38所示。其中A0A15为16路数字信号输入,B0B3为总线输,入,每条总线支持16位数据,主要用于接单片机的动态输出信号。运行后,可以显示A0A15、B0B3的数据输入波形。,图3-38 逻辑分析仪,逻辑分析仪的使用方法如下: (1) 把逻辑分析仪放置到原理图编辑区,在A0输入端上接10Hz的方波信号,A1接低电平,A2接高电平。 (2) 单击仿真运行按钮,出现其操作界面,如图3-39所示。 (3) 先调整一个分辨率,类似于示波器的扫描频率,在图3-39中调捕捉分辨率“C
36、apture Resolution”,单击光标按钮“Cursors”使其不显示。按捕捉按钮“Capture”,开始显示波形,该钮先变红,再变绿,稍后显示如图3-39所示的波形。 (4) 调整水平显示范围旋钮“Display Scale”,或在图形区滚动鼠标滚轮,可调节波形,使其左右移动。 (5) 如果希望的波形没有出现,可以再次调整分辨率,然后单击捕捉按钮,就能重新生成波形。,(5) 如果希望的波形没有出现,可以再次调整分辨率,然后单击捕捉按钮,就能重新生成波形。 (6) “Cursors”光标按下后,在图形区单击,可标记横坐标的数置,即可以测出波形的周期、脉宽等。 图3-39中可以观察到,A
37、0通道显示方波,A1通道显示低电平,A2通道显示高电平,这两线紧挨着。其他没有接的输入A3A15一律显示低电平,B0B3由于不是单线而是总线,所以有两条高低电平来显示,如有输入,波形应为我们平时分析存储器读写时序时见到的数据或地址的波形。,图3-39 逻辑分析仪的仿真界面,3.2.3 计数器/定时器,计数器/定时器“COUNTER TIMER”的原理符号及测试电路连线如图3-40所示。CLK为外加的1kHz方波时钟输入。 该仪器有如下三个输入端。 CLK:计数和测频状态时,数字波的输入端。 CE:计数使能端(Counter Enable),可通过计数器/定时器的属性设置对话框设为高电平或低电平
38、有效,当此信号无效时,计数暂停,保持目前的计数值不变,一旦CE有效,计数继续进行。 RST:复位端(RESET),可设为上升沿(Low-High)或下降沿(High-Low)有效。当有效沿到来时,计时或计数复位到0,然后立即从0开始计时或计数。,该仪器有四种工作方式,可通过属性设置对话框中的“Operating Mode”来选择,如图3-41所示。 Default:缺省方式,系统设置为计数方式。 Time(secs):定时方式,相当于一个秒表,最多计100秒,精确到1微秒。CLK端无需外加输入信号,内部自动计时。由CE和RST端来控制暂停或重新从零开始计时。,图3-40 计数器/定时器电路,图
39、3-41 计数器/定时器的工作方式设置,Default:缺省方式,系统设置为计数方式。 Time(secs):定时方式,相当于一个秒表,最多计100秒,精确到1微秒。CLK端无需外加输入信号,内部自动计时。由CE和RST端来控制暂停或重新从零开始计时。 Time(hms):定时方式,相当于一个具有小时、分、秒的时钟,最多计10小时,精确到1毫秒。CLK端无需外加输入信号,内部自动计时。由CE和RST端来控制暂停或重新从零开始计时。 Frequency:测频方式,在CE有效和RST没有复位的情况下,能稳定显示CLK端外加的数字波的频率。 Count:计数方式,能够计外加时钟信号CLK的周期数,如
40、图3-40中的计数显示,最多计满八位,即99999999。,下面来看一下计数器/定时器的两个应用示例。 (1) 照图3-42接线(外部时钟输入不接),双击计数器/定时器元件,打开其属性设置对话框,如图3-43所示。设操作模式为“Time(hms)”,即时钟方式;计时使能端设为“High”高电平有效,即开关合上为低电平时计时暂停;复位端设为“Low-High”,即上升沿有效。,图3-42 计时模式的电路仿真,运行仿真,可显示如图3-42所示的计时方式,合上图中与CE相接的开关,则计时停止,打开开关则继续计时;合上与RST相接的开关再打开,计时清零后从零重新计时。,图3-43 定时器的属性设置,(
41、2) 把计数器/定时器的属性照图3-44修改,设操作方式为“Frequency”测频,其他不变,照图3-45连接,设外接数字时钟的频率为1kHz,图中两个开关位于打开状态,运行仿真,出现如图3-45所示的测频结果。拨动两个开关可以看到使能和清零的效果。,图3-44 频率计的属性设置,图3-45 测频时的电路仿真,3.2.4 虚拟终端,Proteus VSM提供的虚拟终端相当于键盘和屏幕的双重功能,免去了上位机系统的仿真模型,使用户在用到单片机与上位机之间的串行通信时,直接由虚拟终端经RS232模型与单片机之间异步发送或接收数据。虚拟终端在运行仿真时会弹出一个仿真界面,当由PC机向单片机发送数据
42、时,可以和实际的键盘关联,用户可以从键盘经虚拟终端输入数据;当接收到单片机发送来的数据后,虚拟终端相当于一个显示屏,会显示相应信息。虚拟终端的原理图符号如图3-46所示。 虚拟终端共有四个接线端,其中RXD为数据接收端,TXD为数据发送端,RTS为请求发送信号,CTS为清除传送,是对RTS的响应信号。,在使用虚拟终端时,首先要对其属性参数进行设置。双击元件,出现如图3-47所示的虚拟终端属性设置对话框。,图3-46 虚拟终端的原理图符号,图3-47 虚拟终端属性设置对话框,主要参数有下面几个。 Baud Rate:波特率,范围为30057600b/s。 Data Bits:传输的数据位数,7位
43、或8位。 Parity:奇偶校验位,包括奇校验、偶校验和无校验。 Stop Bits:停止位,具有0、1或2位停止位。 Send XON/XOFF:第9位发送允许/禁止。 选择合适参数后,单击“OK”按钮,关闭对话框。运行仿真,弹出如图3-48所示的虚拟终端的仿真界面。 用户在图3-48所示的界面中可以看到从单片机发送来的数据,并能够通过键盘把数据输入该界面,然后发送给单片机。,虚拟终端的具体应用实例,读者可以参考本书第七章的7.11节。,图3-48 虚拟终端的仿真界面,3.2.5 SPI调试器,SPI(Serial Peripheral Interface,串行外设接口)总线系统是Motor
44、ola公司提出的一种同步串行外设接口,允许MCU与各种外围设备以同步串行通信方式交换信息。 SPI Protocol Debugger(SPI调试器接口)同时允许用户与SPI接口交互。这一调试器允许用户查看沿SPI总线发送的数据,同时也可向总线发送数据。 图3-49为SPI调试器的原理图符号。 此元件共有五个接线端。分别如下。 DIN:接收数据端。 DOUT:输出数据端。 SCK:连接总线时钟端。,:从模式选择端,从模式时必须为低电平才能使终端响应;主模式时当数据正传输时此端为低电平。 TRIG:输入端,能够把下一个存储序列放到SPI的输出序列中。 双击SPI的原理图符号,可以打开它的属性设置
45、对话框,如图3-50所示。,图3-49 SPI的原理图符号,图3-50 SPI属性设置对话框,对话框主要参数如下。 SPI Mode:有三种工作模式可选择,Monitor为监控模式,Master为主模式,Slave为从模式。 Master clock frequency in Hz:主模式的时钟频率(Hz)。 SCK Idle state is:SCK空闲状态为高或者低,选择一个。 Sampling edge:采样边,指定DIN引脚采样的边沿,选择SCK从空闲到激活状态,或从激活到空闲状态。 Bit order:位顺序,指定一个传输数据的位顺序,可先传送最高位MSB,也可先传送最低位LSB。,
46、1. 使用SPI调试器接收数据 (1) 将SCK和DIN引脚连接到电路的相应端。 (2) 将光标放置在SPI调试器之上,并使用组合键“Ctrl+E”打开属性设置对话框进行参数设置,设SPI为从模式,时钟频率与外时钟一致。 (3) 运行仿真,弹出SPI的仿真调试窗口,如图3-51所示。 (4) 接收的数据将显示在窗口。,图3-51 SPI调试器的仿真界面,2. 使用SPI调试器传输数据 (1) 将SCK和DIN引脚连接到电路的相应端。 (2) 将光标放置在SPI调试器之上,并使用组合键“Ctrl+E”打开属性设置对话框进行参数设置,把调试器设置为主模式。 (3) 单击仿真按钮,弹出SPI的仿真调
47、试窗口。 (4) 单击仿真按钮的暂停键“Pause”,在调试窗口的右下方输入需要传输的数据。单击“Queue”按钮输入的数据将被放入到数据传输队列“Buffered Sequences”中,如图3-52所示,再次单击仿真运行按钮,数据发送出去。也可以按“Add”按钮把数据暂放到预传输序列中备用,需要时加到传输队列中。 (5) 数据发送完后,“Buffered Sequences”清空,其上方的窗口显示发送信息,如图3-53所示。,图3-52 SPI调试器的数据传输,图3-53 SPI调试器的数据传输后的状态,3.2.6 I2C调试器,1. I2C总线介绍I2C总线是Philips公司推出的芯片
48、间的串行传输总线。它只需要两根线(串行时钟线SCL和串行数据线SDA)就能实现总线上各元器件的全双工同步数据传送,可以极为方便地构建系统和外围元器件扩展系统。I2C总线采用元器件地址的硬件设置方法,避免了通过软件寻址元器件片选线的方法,使硬件系统的扩展简单灵活。按照I2C总线规范,总线传输中的所有状态都生成相应的状态码,系统的主机能够依照状态码自动地进行总线管理,用户只要在程序中装入这些标准处理模块,根据数据操作要求完成I2C总线的初始化,启动I2C总线,就能自动完成规定的数据传送操作。由于I2C总线接口集成在片内,用户无须设计接口,使设计时间大为缩短,且从系统中直接移去芯片对总线上的其他芯片
49、没有影响,方便了产品的升级。,2. I2C调试器 虚拟仪器中的I2C DEBUGGER 就是I2C调试器,允许用户监测I2C接口并与之交互,用户可以查看I2C总线发送的数据,同时也可向总线发送数据。 3. I2C调试器的使用 I2C调试器的原理图符号如图3-54所示。 I2C调试器共有三个接线端,分别如下。 SDA:双向数据线。 SCL:双向输入端,连接时钟。 TRIG:触发输入,能引起存储序列被连续地放置到输出队列中。,双击该元件,打开属性设置对话框,如图3-55所示。主要参数如下。 Address byte 1:地址字节1,如果使用此终端仿真一个从元件,则这一属性指定从器件的第一个地址字节。 Address byte 2:地址字节2,如果使用此终端仿真一个从元件,并期望使用10位地址,则这一属性指定从器件的第二个地址字节。 I2C调试器的仿真运行界面与SPI类似,不再详细介绍。,图3-54 I2C调试器的原理图符号,图3-55 I2C调试器属性设置对话框,3.2.7 信号发生器,Proteus的虚拟信号发生器主要有以下功能: 产生方波、锯齿波、三角波和正弦波; 输出频率范围为012MHz,8个可调范围; 输出幅值为012V,4个可调范围; 幅值和频率的调制输入和输出。 信号发生器的原理图符号如图3-56所示,