您好,欢迎来到独旅网。
搜索
您的当前位置:首页Protues使用教程

Protues使用教程

来源:独旅网
Protues

1

使用教程

目 录

第1章 概述 ................................................................................................................................... 3

1。1 进入Proteus ISIS ............................................................................................................ 3 1。2 工作界面 ......................................................................................................................... 3 1.3 基本操作 ............................................................................................................................ 4

图形编辑窗口 ........................................................................................................... 4 预览窗口(The Overview Window) ........................................................................ 5 对象选择器窗口 ....................................................................................................... 6 图形编辑的基本操作 ............................................................................................... 6 参考1 ...................................................................................................................... 10 参考2作原理图仿真调试 ..................................................................................... 11

1.4 实例一 .............................................................................................................................. 15

电路图的绘制 ................................................................................................................. 15 KeilC与Proteus连接调试 ............................................................................................ 20 1.5 实例二 .............................................................................................................................. 24

电路图的绘制 ................................................................................................................. 24

使用元件工具箱 ..................................................................................................... 29 使用状态信息条 ..................................................................................................... 29 使用对话框 ............................................................................................................. 29 使用仿真信息窗口 ................................................................................................. 30 关闭Proteus ISIS .................................................................................................... 30

第2章 菜单命令简述 ................................................................................................................... 31

主窗口菜单 ............................................................................................................. 31 表格输出窗口(Table)菜单 ................................................................................... 33 方格输出窗口(Grid)菜单 ....................................................................................... 33 Smith圆图输出窗口(Smith)菜单 ....................................................................... 33 直方图输出窗口(Histogram)菜单 ......................................................................... 33

第3章 参考例子: ......................................................................................................................... 39

2

第1章 概述

Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件.它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。②支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。③提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。④具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大.本章介绍Proteus ISIS软件的工作环境和一些基本操作。

1.1 进入Proteus ISIS

双击桌面上的ISIS 6 Professional图标或者单击屏幕左下方的“开始”→“程序\"→“Proteus 6 Professional\" →“ISIS 6 Professional”,出现如图1-1所示屏幕,表明进入Proteus ISIS集成环境。

图1-1 启动时的屏幕

1。2 工作界面

Proteus ISIS的工作界面是一种标准的Windows界面,如图1-2所示。包括:标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮、预览窗口、对象选择器窗口、图形编辑窗口。

3

图1—2 Proteus ISIS的工作界面

1。3 基本操作

图形编辑窗口

在图形编辑窗口内完成电路原理图的编辑和绘制。为了方便作图 坐标系统(CO—ORDINATE SYSTEM)

ISIS中坐标系统的基本单位是10nm,主要是为了和Proteus ARES保持一致。但坐标系统的识别(read—out)单位被在1th。坐标原点默认在图形编辑区的中间,图形的坐标值能够显示在屏幕的右下角的状态栏中。

点状栅格(The Dot Grid)与捕捉到栅格(Snapping to a Grid)

编辑窗口内有点状的栅格,可以通过View菜单的Grid命令在打开和关闭间切换。点与点之间的间距由当前捕捉的设置决定。捕捉的尺度可以由View菜单的Snap命令设置,或者直接使用快捷键F4、F3、F2和CTRL+F1。如图1—3所示。若键入F3或者通过View菜单的选中Snap 100th,

4

你会注意到鼠标在图形编辑窗口内移动时,坐标值是以固定的步长100th变化,这称为捕捉,

如果你想要确切地看到捕捉位置,可以使用View菜单的X—Cursor命令,选中后将会在捕捉点显示一个小的或大的交叉十字。 实时捕捉(Real Time Snap)

当鼠标指针指向管脚末端或者导线时,鼠标指针将会被捕捉到这些物体,这种功能被称为实时捕捉,该功能可以使你方便的实现导线和管脚的连接。可以通过Tools菜单的Real Time Snap 命令或者是CTRL+S切换该功能.

可以通过View菜单的Redraw命令来刷新显示内容,同时预览窗口中的内容也将被刷新。当执行其它命令导致显示错乱时可以使用该特性恢复显示。 视图的缩放与移动

可以通过如下几种方式:

 用鼠标左键点击预览窗口中想要显示的位置,这将使编辑窗口显示以鼠标点击处为中心

的内容。

 在编辑窗口内移动鼠标,按下SHIFT键,用鼠标“撞击”边框,这会使显示平移。我们把这

称为Shift—Pan。

 用鼠标指向编辑窗口并按缩放键或者操作鼠标的滚动键,会以鼠标指针位置为中心重

新显示。

预览窗口(The Overview Window)

该窗口通常显示整个电路图的缩略图。在预览窗口上点击鼠标左键,将会有一个矩形蓝绿框标示出在编辑窗口的中显示的区域。 其他情况下,预览窗口显示将要放置的对象的预览。这种Place Preview特性在下列情况下被激活:  当一个对象在选择器中被选中  当使用旋转或镜像按钮时

 当为一个可以设定朝向的对象选择类型图标时(例如:Component icon, Device Pin icon

等等)

5

 当放置对象或者执行其他非以上操作时,place preview会自动消除

 对象选择器(Object Selector)根据由图标决定的当前状态显示不同的内容。显示对象

的类型包括:设备,终端,管脚,图形符号,标注和图形。

 在某些状态下,对象选择器有一个Pick切换按钮,点击该按钮可以弹出库元件选取窗

体.通过该窗体可以选择元件并置入对象选择器,在今后绘图时使用。

对象选择器窗口

通过对象选择按钮,从元件库中选择对象,并置入对象选择器窗口,供今后绘图时使用。显示对象的类型包括:设备,终端,管脚,图形符号,标注和图形.

图形编辑的基本操作

对象放置(Object Placement)

放置对象的步骤如下(To place an object:)

1.根据对象的类别在工具箱选择相应模式的图标(mode icon)。 2、根据对象的具体类型选择子模式图标(sub-mode icon).

3、如果对象类型是元件、端点、管脚、图形、符号或标记,从选择器里(selector)选择你想要的对象的名字。对于元件、端点、管脚和符号,可能首先需要从库中调出. 4、如果对象是有方向的,将会在预览窗口显示出来,你可以通过预览对象方位按钮对对象进行调整.

5、最后,指向编辑窗口并点击鼠标左键放置对象。 选中对象(Tagging an Object)

用鼠标指向对象并点击右键可以选中该对象。该操作选中对象并使其高亮显示,然后可以进行编辑。

选中对象时该对象上的所有连线同时被选中。 要选中一组对象,可以通过依次在每个对象右击选中每个对象的方式。也可以通过右键拖出一个选择框的方式,但只有完全位于选择框内的对象才可以被选中. 在空白处点击鼠标右键可以取消所有对象的选择。 删除对象(Deleting an Object)

用鼠标指向选中的对象并点击右键可以删除该对象,同时删除该对象的所有连线。 拖动对象(Dragging an Object)

用鼠标指向选中的对象并用左键拖曳可以拖动该对象。该方式不仅对整个对象有效,而且对对象中单独的labels也有效.

如果Wire Auto Router功能被使能的话,被拖动对象上所有的连线将会重新排布或者’fixed up'。这将花费一定的时间(10秒左右),尤其在对象有很多连线的情况下,这时鼠标指针将显示为一个沙漏。

如果你误拖动一个对象,所有的连线都变成了一团糟,你可以使用Undo命令撤消操作恢复原来的状态。

拖动对象标签(Dragging an Object Label)

许多类型的对象有一个或多个属性标签附着.例如,每个元件有一个“reference”标签和一个“value”标签.可以很容易地移动这些标签使你的电路图看起来更美观。

移动标签的步骤如下(To move a label) 1、选中对象

2、用鼠标指向标签,按下鼠标左键.

3、拖动标签到你需要的位置。如果想要定位的更精确的话,可以在拖动是改变捕捉的精度(使用F4、F3、F2、CTRL+F1键)。

6

4、释放鼠标

调整对象大小(Resizing an Object)

子电路(Sub—circuits)、图表、线、框和圆可以调整大小.当你选中这些对象时,对象周围会出现黑色小方块叫做“手柄\",可以通过拖动这些“手柄”来调整对象的大小。

调整对象大小的步骤如下(To resize an object) 1、选中对象

2、如果对象可以调整大小,对象周围会出现黑色小方块,叫做“手柄”。

3、用鼠标左键拖动这些“手柄”到新的位置,可以改变对象的大小.在拖动的过程中手柄会消失以便不和对象的显示混叠. 调整对象的朝向(Reorienting an Object)

许多类型的对象可以调整朝向为0, 90, 270,360或通过x轴y轴镜象。当该类型对象被选中后,“Rotation and Mirror”图标会从兰色变为红色,然后就可以来改变对象的朝向。

调整对象朝向的步骤如下(To reorient an object) 1、选中对象

2、用鼠标左键点击Rotation图标可以使对象逆时针旋转,用鼠标右键点击Rotation图标可以使对象顺时针旋转。

3、用鼠标左键点击Mirror图标可以使对象按x轴镜象,用鼠标右键点击Mirror图标可以使对象按y轴镜象。

毫无疑问当Rotation and Mirror图标是红色时,操作他们将回改变某个对象,即便你当前没有看到它,实际上,这中颜色的指示在你想对将要放置的新对象操作时是格外有用的。当图标是红色时,首先取消对象的选择,此时图标会变成兰色,说明现在可以“安全“调整新对象了。

编辑对象(Editing an Object)

许多对象具有图形或文本属性,这些属性可以通过一个对话框进行编辑,这是一中很常见的操作,有多种实现方式.

编辑单个对象的步骤是(To edit a single object using the mouse): 1、选中对象

2、用鼠标左键点击对象。

连续编辑多个对象的步骤是(To edit a succession of objects using the mouse) 1、选择Main Mode图标,再选择Instant Edit图标。 2、依次用鼠标左键点击各个对象

以特定的编辑模式编辑对象的步骤是(To edit an object and access special edit modes:) 1、指向对象

2、使用键盘CTRL+’E'

对于文本脚本来说,这将启动外部的文本编辑器.如果鼠标没有指向任何对象的话,该命令将对当前的图进行编辑。

通过元件的名称编辑元件的步骤如下(To edit a component by name:) 1、键入'E'

2、在弹出的对话框中输入元件的名称(part ID)。 确定后将会弹出该项目中任何元件的编辑对话框,并非只限于当前sheet的元件。编辑完后,画面将会以该元件为中心重新显示。你可以通过该方式来定位一个元件,即便你并不想对其进行编辑。

在OBJECT SPECIFICS这一节中将详细说明对应于每种对象类型的具体编辑操作方式.

7

编辑对象标签(Editing An Object Label)

元件、端点、线和总线标签都可以象元件一样编辑。

编辑单个对象标签的步骤是(To edit a single object label using the mouse:) 1、选中对象标签。

2、用鼠标左键点击对象.

连续编辑多个对象标签的步骤是(To edit a succession of object labels using the mouse:) 1、选择Main Mode图标,再选择Instant Edit图标。 2、依次用鼠标左键点击各个标签。

任何一种方式,都将弹出一个带有Label and Style栏的对话框窗体。可以参照指南中Editing Local Styles这一节得到编辑local 文本类型的详细内容. 拷贝所有选中的对象(Copying all Tagged Objects) 拷贝一整块电路的方式(To copy a section of circuitry:)

1、选中需要的对象,具体的方式参照上文的Tagging an Object部分。 2、用鼠标左键点击Copy图标。

3、把拷贝的轮廓拖到需要的位置,点击鼠标左键放置拷贝. 4、重复步骤[3]放置多个拷贝。 5、点击鼠标右键结束

当一组元件被拷贝后,他们的标注自动重置为随机态,用来为下一步的自动标注做准备,防止出现重复的元件标注.

移动所有选中的对象(Moving all Tagged Objects) 移动一组对象的步骤是(To move a set of objects:)

1、选中需要的对象,具体的方式参照上文的Tagging an Object部分. 2、把轮廓拖到需要的位置,点击鼠标左键放置。

你可以使用块移动的方式来移动一组导线,而不移动任何对象。更进一步的讨论可以参照Dragging Wires这一节。

删除所有选中的对象(Deleting all Tagged Objects) 删除一组对象的步骤是(To delete a group of objects:)

1、选中需要的对象,具体的方式参照上文的Tagging an Object部分。 2、用鼠标左键点击Delete图标。

如果错误删除了对象,可以使用Undo命令来恢复原状。 画线(WIRING UP) 画线(Wire Placement)

你一定发现没有画线的图标按钮。这是因为ISIS的智能化足以在你想要画线的时候进行自动检测。这就省去了选择画线模式的麻烦。

在两个对象间连线(To connect a wire between two objects) 1、左击第一个对象连接点。

2、如果你想让ISIS自动定出走线路径,只需左击另一个连接点。另一方面,如果你想自己决定走线路径,只需在想要拐点处点击鼠标左键.

一个连接点可以精确的连到一根线。在元件和终端的管脚末端都有连接点。一个圆点从中心出发有四个连接点,可以连四根线。

8

由于一般都希望能连接到现有的线上,ISIS也将线视作连续的连接点。此外,一个连接点意味着3根线汇于一点,ISIS提供了一个圆点,避免由于错漏点而引起的混乱。

(注:原文是Since it is common to wish to connect to existing wires, ISIS also treats wires as continuousconnection points。 Furthermore, as such a junction invariably means that 3 wires are meeting at apoint it also places a dot for you。 This completely avoids ambiguities that could otherwise arise frommissing dots.)

在此过程的任何一个阶段,你都可以按ESC来放弃画线.

线路自动路径器(Wire Auto—Router)

线路自动路径器(WAR)为你省去了必须标明每根线具体路径的麻烦。该功能默认是打开的,但可通过两种途径方式略过该功能。

如果你只是在两个连接点左击,WAR将选择一个合适的线径.但如果你点了一个连接点,然后点一个或几个非连接点的位置,ISIS将认为你在手工定线的路径,将会让你点击线的路径的每个角。路径是是通过左击另一个连接点来完成的。

WAR可通过使用工具菜单里的WAR命令来关闭。这功能在你想在两个连接点间直接定出对角线时是很有用的.

重复布线(Wire Repeat)

假设你要连接一个8字节ROM数据总线到电路图主要数据总线,你已将ROM,总线和总线插入点如以下放置。

首先左击A,然后左击B,在AB间画一根水平线.双击C,重复布线功能会被激活,自动在CD间布线。双击E、F,以下类同。

重复布线完全复制了上一根线的路径。如果上一根线已经是自动重复布线将仍旧自动复制该路径.另一方面,如果上一根线为手工布线,那么将精确复制用于新的线(原文:then its exact route will be offset and used for the newwire)。 拖线(Dragging Wires)

尽管线一般使用连接和拖的方法,但也有一些特殊方法可以使用。 如果你拖动线的一个角,那该角就随着鼠标指针移动。

如果你鼠标指向一个线段的中间或两端,就会出现一个角,然后可以拖动。注意:为了使后者能够工作,线所连的对象不能有标示,否则ISIS会认为你想拖该对象。 也可使用块移动命令来移动线段或线段组。

移动线段或线段组(To move a wire segment or a group of segments)

1、在你想移动的线段周围拖出一个选择框。若该“框”为一个线段旁的一条线也是可以的。 2、左击“移动\"图标(在工具箱里)。

3、 如图标所示的相反方向垂直于线段移动“选择框”(tag—box). 4、左击结束。

如果操作错误,可使Undo命令返回。

9

由于对象被移动后节点可能仍留在对象原来位置周围,ISIS提供一项技术来快速删除线中不需要的节点。

从线中移走节点(To remove a kink from a wire) 1、选中(Tag)要处理的线。

2、用鼠标指向节点一角,按下左健。 3、 拖动该角和自身重合(如下图).

4、 松开鼠标左键。ISIS将从线中移走该节点。

主窗口是一个标准Windows窗口,除具有选择执行各种命令的顶部菜单和显示当前状态的底部状态条外,菜单下方有两个工具条,包含与菜单命令一一对应的快捷按钮,窗口左部还有一个工具箱,包含添加所有电路元件的快捷按钮。工具条、状态条和工具箱均可隐藏.这里的两个图分别是中文和英文主窗口。

参考1

编辑区域的缩放

Proteus的缩放操作多种多样,极大地方便了我们的设计。常见的几种方式有:完全显示(或者按“F8”)、放大按钮(或者按“F6”)和缩小按钮(或者按“F7”),拖放、取景、找中心 (或者按“F5”)。 点状栅格和刷新

编辑区域的点状栅格,是为了方便元器件定位用的。鼠标指针在编辑区域移动时,移动的步长就是栅格的尺度,称为“Snap(捕捉)”.这个功能可使元件依据栅格对齐。 1、显示和隐藏点状栅格

点状栅格的显示和隐藏可以通过工具栏的按钮或者按快捷键的“G”来实现。鼠标移动的过程中,在编辑区的下面将出现栅格的坐标值,即坐标指示器,它显示横向的坐标值.因为坐标的原点在编辑区的中间,有的地方的坐标值比较大,不利于我们进行比较。此时可通过点击菜单命令“View”下的“Origin”命令,也可以点击工具栏的按钮或者按快捷键“O”来自己定位新的坐标原点。 2、刷新

编辑窗口显示正在编辑的电路原理图,可以通过执行菜单命令“View\"下的“Redraw”命令来刷新显示内容,也可以点击工具栏的刷新命令按钮回或者快捷键“R”,与此同时预览窗口中的内容也将被刷新。它的用途是当执行一些命令导致显示错乱时,可以使用该命令恢复正常显示。 对象的放置和编辑 1、对象的添加和放置

点击工具箱的元器件按钮,使其选中,再点击IsIs对象选择器左边中间的置P按钮,出现“Pick Devices\" 对话框,如图1所示。

在这个对话框里我们可以选择元器件和一些虚拟仪器。笔者以添加单片机PIC16F877

10

为例来说明怎么把元器件添加到编辑窗口的。在“Gategory(器件种类)”下面,我们找到“MicoprocessorIC”选项,鼠标左键点击一下,在对话框的右侧,我们会发现这里有大量常见的各种型号的单片机.找到单片机PIC16F877,双击“PIC16F877”,情形如图1所示。

这样在左边的对象选择器就有了PIC16F877这个元件了。点击一下这个元件,然后把鼠标指针移到右边的原理图编辑区的适当位置,点击鼠标的左键,就把PIC16F877放到了原理图区。

2、放置电源及接地符号

我们会发现许多器件没有Vcc 和GND引脚,其实他们隐藏了,在使用的时候可以不用加电源.如果需要加电源可以点击工具箱的接线端按钮,这时对象选择器将出现一些接线端,如图2所示。

在器件选择器里点图2击GROUND,鼠标移到原理图编辑区,左键点击一下即可放置接地符号;同理也可以把电源符号POWER放到原理图编辑区. 3、对象的编辑

调整对象的位置和放置方向以及改变元器件的属性等,有选中、删除、拖动等基本操作,方法很简单,不再详细说明。其他操作还有:

(1)拖动标签:许多类型的对象有一个或多个属性标签附着。可以很容易地移动这些标签使电路图看起来更美观。移动标签的步骤如下:首先点击右键选中对象,然后用鼠标指向标签,按下鼠标左键.一直按着左键就可以拖动标签到你需要的位置,释放鼠标即可。

(2)对象的旋转:许多类型的对象可以调整旋转为0.、90。、270。、360。或通过x轴y轴镜象旋转。当该类型对象被选中后,“旋转工具按钮”图标会从蓝色变为红色,然后就可以改变对象的放置方向。旋转的具体方法是:首先点击右键选中对象,然后根据你的要求用鼠标左键点击旋转工具的4个按钮。

(3)编辑对象的属性:对象一般都具有文本属性,这些属性可以通过一个对话框进行编辑。编辑单个对象的具体方法是:先用鼠标右键点击选中对象,然后用鼠标左键点击对象,此时出现属性编辑对话框。也可以点击工具箱的按钮,再点击对象,也会出现编辑对话框.图3是电阻的编辑对话框,这里你可以改变电阻的标号、电阻值、PCB封装以及是否把这些东西隐藏等,修改完毕,点击“OK\"按钮即可。

参考2作原理图仿真调试

原理图的绘制 1、画导线

Proteus的智能化可以在你想要画线的时候进行自动检测。当鼠标的指针靠近一个对象的连接点时,跟着鼠标的指针就会出现一个“×\"号,鼠标左键点击元器件的连接点,移动鼠标(不用一直按着左键)就。出现了粉红色的连接线变成了深绿色。如果你想让软件自动定出线路径,只需左击另一个连接点即可。这就是Proteus的线路自动路径功能(简称WAR),如果你只是在两个连接点用鼠标左击,WAR将选择一个合适的线径。WAR可通过使用工具栏里的“WAR”命令按钮来关闭或打开,也可以在菜单栏的“Tools”下找到这个图标.如果你想自己决定走线路径,只需在想要拐点处点击鼠标左键即可。在此过程的任何时刻,你都可以按ESC或者点击鼠标的右键来放弃画线. 2、画总线

为了简化原理图,我们可以用一条导线代表数条并行的导线,这就是所谓的总线。点击工具箱的总线按钮,即可在编辑窗口画总线。

11

3、画总线分支线

点击工具的按钮,画总线分支线,它是用来连接总线和元器件管脚的。画总线的时候为了和一般的导线区分,我们一般喜欢画斜线来表示分支线,但是这时如果WAR功能打开是不行的,需要把WAR功能关闭.画好分支线我们还需要给分支线起个名字。右键点击分支线选中它,接着左键点击选中的分支线就会出现分支线编辑对话框同端是连接在一起的,放置方法是用鼠标单击连线工具条中图标或者执行Place/Net Label菜单命令,这时光标变成十字形并且将有一虚线框在工作区内移动,再按一下键盘上的[Tab]键,系统弹出网络标号属性对话框,在Net项定义网络标号比如PB0,单击[OK】,将设置好的网络标号放在第(1)步放置的短导线上(注意一定是上面),单击鼠标左键即可将之定位.

(4)放置总线将各总线分支连接起来,方法是单击放置工具条中图标或执行Place/Bus菜单命令,这时工作平面上将出现十字形光标,将十字光标移至要连接的总线分支处单击鼠标左键,系统弹出十字形光标并拖着一条较粗的线,然后将十字光标移至另一个总线分支处,单击鼠标的左键,一条总线就画好了。

3、使用技巧.当电路中多根数据线、地址线、控制线并行时使用总线设计。 跳线

跳线在电路板设计中经常使用,但在一般的教科书中往往没有谈及这个问题,只有靠设计者在设计中自己去摸索.跳线,简单地说就是在电路板中用一根将两焊盘连接的导线,也有人把它称为跨接线.多使用于单面板、双面板设计中,特别是单面板设计中使用得更多.在单面板的设计中,当有些铜膜线无法连接,即使Prote199SE给连通了,进行电气检查也是错的,系统会显示错误标志。通常解决的办法是使用跳线,跳线的长度应该选择如下几种:6mm、8mm和10mm。放置跳线的方法是在布线层(底层布线)用人工布线的方式放置,当遇到相交线的时候就用过孔走到背面(顶层)进行布线,跳过相交线然后回到原来层面(底层)布线。值得说明的是为了便于识别,最好在顶层的印丝层(Top Overlay)做上标志,在图3中有两根跳线。在PCB板安装元件的时候,跳线就用短的导线或者就用剪下元件引脚上多余的部分安装。

(Edit Wire Labe1)如图1所示。我们在Label标签下的String右边填上所起的分支线的名称.

4、放置线路节点

如果在交叉点有电路节点,则认为两条导线在电气上是相连的,否则就认为它们在电气上是不相连的。笔者发现ISIS在画导线时能够智能地判断是否要放置节点。但在两条导线交叉时是不放置节点的,这时要想两个导线电气相连,只有手工放置节点了。点击工具箱的节点放置按钮+,当把鼠标指针移到编辑窗口,指向一条导线的时候,会出现一个“×”号,点击左键就能放置一个节点.

Proteus可以同时编辑多个对象,即整体操作.常见的有整体复制暑、整体删除暖、整体移动墨、整体旋转圈几种操作方式。

12

图2

模拟调试

1、一般电路的模拟调试

笔者用一个简单的电路来演示如何进行模拟调试。电路如图2所示。设计这个电路的时候需要在“Category(器件种类)”里找到“BATTERY (电池)”、“FUSE(保险丝)”、“LAMP(灯 泡)”、“POT- LIN (滑动变阻器)”、“SWITCH(开关)”这几个元器件并添加到对象选择器里。另外我们还需要一个虚拟仪器—— 电流表.点击虚拟仪表按钮罾,在对象选择器找到“D C AMMETER(电流表)\",添加到原理图编辑区按照图2布置元器件,并连接好。我们在进行模拟之前还需要设置各个对象的属性。选中电源B1,再点击左键,出现了属性对话框,如图3所示。在“Component Reference”后面填上电源的名称;在“Voltage”后面填上电源 的电动势的值,这里我们设置为12V。

在“Internal Resistance”后面填上内电阻的值0。1Ω。其他元器件的属性设置如下:滑动变阻器的阻值为50 Ω;灯泡的电阻是10Ω,额定电压是12V;保险丝的额定电流是1A,内电阻是0。1Ω.点击菜单栏“Debug(调试)”下的按钮或者点击模拟调试按钮的运行按钮,也可以按下快捷键“Ctrl+F12\"进入模拟调试状态.把鼠标指针移到开关的●这时出现了一个“+”号,点击一下,就合上了开关,如果想打开开关,鼠标指针移到●将出现一个“一\"号,点击一下就会打开开关.开关合上后我们就发现灯泡已经点亮了,电流表也有了示数。把鼠标指针移到滑动变阻器附近的●●分别点击,使电阻变大或者变小,我们会发现灯泡的亮暗程度发生了变化,电流表的示数也发生了变化。如果电流超过了保险丝的额定电流,保险丝就会熔断。可惜在调试状态下没有修复的命令。我们可以这样修复:按圃按钮停止调试,然后再进入调试状态,保险丝就修复好了.

13

2、单片机电路的模拟

电路设计

首先我们设计一个简单的单片机电路,如图4所示.电路的核心是单片机ATC52,C1、C2和晶振B1构成单片机时钟电路。单片机的P1口接8个发光二极管,二极管的正极通过限流电阻接到电源的正极,两个按键SB1与SB2一端接到单片机的P3。2、P3.3脚,另一端接地。

★ 电路功能

按下按键SB1时,8个发光二极管从LED1到LED8轮流发光。当按下按键SB2时发光二极管熄灭。 ★ 程序设计

程序主要有按键检测子程序、按键处理子程序、LED发光子程序等。 ★ 程序的编译

该软件有自带编译器,有ASM的、PIC的、AVR的汇编器等。在ISIS添加上编写好的程序,方法如下.点击菜单栏“Source”,在下拉菜单点击“Add/Remove Source Files(添加或删除源程序)”出现一个对话框,如图5所示.点击对话框的“NEW”按钮,在出现的对话框找到文件设计好的huayang.asm,点击打开;在“Code Generation Tool\"的下面找到“ASEM51”,然后点击“OK” 按钮,设置完毕我们就可以编译了.点击菜单栏的“Source”,在下拉菜单点击“Build All”,过一会,编译结果的对话框就会出现在我们面前,如图6所示.如果有错误,对话框会告诉我们是哪一行出现了问题,可惜的是,点击出错的提示,光标不能跳到出错地方,但是能告诉出错的行号。

★ 模拟调试

选中单片机AT9C52,左键点击ATC52,在出现的对话框里点击Program File按钮,找到刚才编译得到的HEX文件,然后点击“OK”按钮就可以模拟了。点击模拟调试按钮的运行按钮[] ,进人调试状态。点击按键SB1,看到发光二极管,是否依次点亮,也试试按键SB2.

我们还可以单步模拟调试,点击按钮,进人单步调试状态, 这时应该出现如图7所示对话框。在这个对话框里。我们可以设置断点。鼠标点击一下程序语句,此时这个语句变为黑色, 点击右键,出现一个菜单,点击按钮,就在相应的语句设置了断点,也可以点击右上角的按钮,设置断点。点击焉按钮可以取消断点。

在单步模拟调试状态下,点击菜单栏的“Debug”,在下拉菜单的最下面我们看到了如图8所示的情形。点击Simulation Log会出现和模拟调试有关的信息:点击8051 CPU SFR Memory会出现特殊功能寄存器(SFR)窗口;点击8051 CPU Internal (IDATA) Memory出现数据寄存器窗口。比较有用的还是Watch Window窗口,点击一下将出现图9的窗口,在这里可以添加常用的寄存器.在图9的窗口里点击右键,在出现的菜单点击Add Item (By name)就会出现图10的,在这里我们选择P1,双击P1, 这时,P1就在W a t ch Window窗口。我们可发现无论在单步调试状态还是在全速调试状态,Watch Window的内容都会随着寄存器的变化而变化,这点是很有用的。

14

1。4 实例一

下面以一个简单的实例来完整的展示一个KeilC与Proteus相结合的仿真过程。

单片机电路设计

如图所示。电路的核心是单片机ATC51.单片机的P1口八个引脚接LED显示器的段选码(a、b、c、d、e、f、g、dp)的引脚上,单片机的P2口六个引脚接LED显示器的位选码(1、2、3、4、5、6)的引脚上,电阻起限流作用,总线使电路图变得简洁. 程序设计

实现LED显示器的选通并显示字符。

电路图的绘制

1、将所需元器件加入到对象选择器窗口.Picking Components into the Schematic 单击对象选择器按钮,如图所示

弹出“Pick Devices\"页面,在“Keywords”输入ATC51,系统在对象库中进行搜索查找,并将搜索结果显示在“Results”中,如图所示。

15

在“Results”栏中的列表项中,双击“ATC51”,则可将“ATC51”添加至对象选择器窗口.

接着在“Keywords”栏中重新输入7SEG,如图所示.双击“7SEG—MPX6-CA-BLUE”,则可将“7SEG-MPX6-CA—BLUE\"(6位共阳7段LED显示器)添加至对象选择器窗口.

16

最后,在“Keywords”栏中重新输入RES,选中“Match Whole Words”,如图所示。在“Results”栏中获得与RES完全匹配的搜索结果.双击“RES”,则可将“RES”(电阻)添加至对象选择器窗口.单击“OK”按钮,结束对象选择。

经过以上操作,在对象选择器窗口中,已有了7SEG-MPX6-CA-BLUE、ATC51、RES三个元器件对象,若单击ATC51,在预览窗口中,见到ATC51的实物图,如图所示;若单击RES或7SEG-MPX6—CA—BLUE,在预览窗口中,见到RES和7SEG—MPX6-CA—BLUE的实物图,如图所示。此时,我们已注意到在绘图工具栏中的元器件按钮状态。

处于选中

2、放置元器件至图形编辑窗口Placing Components onto the Schematic

在对象选择器窗口中,选中7SEG—MPX6—CA-BLUE,将鼠标置于图形编辑窗口该对象

17

的欲放位置、单击鼠标左键,该对象被完成放置.同理,将ATC51和RES放置到图形编辑窗口中。如图所示。

若对象位置需要移动,将鼠标移到该对象上,单击鼠标右键,此时我们已经注意到,该对象的颜色已变至红色,表明该对象已被选中,按下鼠标左键,拖动鼠标,将对象移至新位置后,松开鼠标,完成移动操作。

由于电阻R1~R8的型号和电阻值均相同,因此可利用复制功能作图。将鼠标移到R1,单击鼠标右键,选中R1,在标准工具栏中,单击复制按钮的标识,系统自动加以区分。 3、放置总线至图形编辑窗口

单击绘图工具栏中的总线按钮

,使之处于选中状态。将鼠标置于图形编辑窗口,单击

鼠标左键,确定总线的起始位置;移动鼠标,屏幕出现粉红色细直线,找到总线的终了位置,单击鼠标左键,再单击鼠标右键,以表示确认并结束画总线操作。此后,粉红色细直线被蓝色的粗直线所替代,如图所示。

,拖动鼠标,按下鼠标左键,将对

象复制到新位置,如此反复,直到按下鼠标右键,结束复制。此时我们已经注意到,电阻名

4、元器件之间的连线Wiring Up Components on the Schematic

Proteus的智能化可以在你想要画线的时候进行自动检测。下面,我们来操作将电阻R1

18

的右端连接到LED显示器的A端。当鼠标的指针靠近R1右端的连接点时,跟着鼠标的指针就会出现一个“×”号,表明找到了R1的连接点,单击鼠标左键,移动鼠标(不用拖动鼠标),将鼠标的指针靠近LED显示器的A端的连接点时,跟着鼠标的指针就会出现一个“×\"号,表明找到了LED显示器的连接点,同时屏幕上出现了粉红色的连接,单击鼠标左键,粉红色的连接线变成了深绿色,同时,线形由直线自动变成了90º的折线,这是因为我们选中了线路自动路径功能。

Proteus具有线路自动路径功能(简称WAR),当选中两个连接点后,WAR将选择一个合适的路径连线。WAR可通过使用标准工具栏里的“WAR\"命令按钮以在菜单栏的“Tools”下找到这个图标.

同理,我们可以完成其它连线。在此过程的任何时刻,都可以按ESC键或者单击鼠标的右键来放弃画线。

来关闭或打开,也可

5、元器件与总线的连线

画总线的时候为了和一般的导线区分,我们一般喜欢画斜线来表示分支线。此时我们需要自己决定走线路径,只需在想要拐点处单击鼠标左键即可,如图所示。 6、给与总线连接的导线贴标签PART LABELS

单击绘图工具栏中的导线标签按钮

,使之处于选中状态。将鼠标置于图形编辑窗口的

欲标标签的导线上,跟着鼠标的指针就会出现一个“×\"号,如图所示。

19

表明找到了可以标注的导线,单击鼠标左键,弹出编辑导线标签窗口,如图所示. 在“string”栏中,输入标签名称(如a),单击“OK”按钮,结束对该导线的标签标定。同理,可以标注其它导线的标签,如图所示。注意,在标定导线标签的过程中,相互接通的导线必须标注相同的标签名.

至此,我们便完成了整个电路图的绘制。

KeilC与Proteus连接调试

1、假若KeilC与Proteus均已正确安装在C:\\Program Files的目录里,把C:\\Program Files\\Labcenter Electronics\\Proteus 6 Professional\\MODELS\\VDM51.dll复制到C:\\Program Files\\keilC\\C51\\BIN目录中。

2、用记事本打开C:\\Program Files\\keilC\\C51\\TOOLS.INI文件,在[C51]栏目下加入:

TDRV5=BIN\\VDM51.DLL (\"Proteus VSM Monitor—51 Driver\") 其中“TDRV5”中的“5”要根据实际情况写,不要和原来的重复。 (步骤1和2只需在初次使用设置。)

3、进入KeilC μVision2开发集成环境,创建一个新项目(Project),并为该项目选定合适的

20

单片机CPU器件(如:Atmel公司的ATC51)。并为该项目加入KeilC源程序。

源程序如下: #define LEDS 6 #include \"reg51.h” //led灯选通信号

unsigned char code Select[]={0x01,0x02,0x04,0x08,0x10,0x20}; unsigned char code LED_CODES[]=

{ 0xc0,0xF9,0xA4,0xB0,0x99,//0-4 0x92,0x82,0xF8,0x80,0x90,//5—9 0x88,0x83,0xC6,0xA1,0x86,//A,b,C,d,E 0x8E,0xFF,0x0C,0x,0x7F,0xBF//F,空格,P,H,。,- }; void main() {

char i=0; long int j; while(1) { P2=0;

P1=LED_CODES[i]; P2=Select[i];

for(j=3000;j〉0;j——); //该LED模型靠脉冲点亮,第i位靠脉冲点亮后,

会自动熄来头。

//修改循环次数,改变点亮下一位之前的延时,可得到不同的显示效果。

i++;

if(i>5) i=0; } }

4、单击“Project菜单/Options for Target\"选项或者点击工具栏的“option for ta rget”按钮弹出窗口,点击“Debug”按钮,出现如图所示页面.

21

在出现的对话框里在右栏上部的下拉菜单里选中“Proteus VSM Monitor一51 Driver”。并且还要点击一下“Use”前面表明选中的小圆点.

再点击“Setting”按钮,设置通信接口,在“Host”后面添上“127。0。0.1”,如果使用的不是同一台电脑,则需要在这里添上另一台电脑的IP地址(另一台电脑也应安装Proteus)。在“Port”后面添加“8000”。设置好的情形如图所示,点击“OK”按钮即可。最后将工程编译,进入调试状态,并运行。

5、Proteus的设置

进入Proteus的ISIS,鼠标左键点击菜单“Debug”, 选中“use romote debuger monitor\",如图所示.此后,便可实现KeilC与Proteus连接调试。

6、KeilC与Proteus连接仿真调试 单击仿真运行开始按钮,我们能清楚地观察到每一个引脚的电频变化,红色代表高电频,蓝色代表低电频.在LED显示器上,循环显示0、1、2、3、4、5。

22

23

1.5 实例二

电路图的绘制

1、将所需元器件加入到对象选择器窗口。Picking Components into the Schematic

单击对象选择器按钮,如图所示。在弹出“Pick Devices\"页面中,使用搜索引擎,在“Keywords”栏中分别输入“74LS373\"、“80C51。BUS\"和“MEMORY_13_8”,在搜索结果“Results”栏中找到该对象,并将其添加至对象选择器窗口,如图所示。

2、放置元器件至图形编辑窗口.

将“74LS373\"、“80C51.BUS”和“MEMORY_13_8”,放置到图形编辑窗口,如图所示。

3、放置总线至图形编辑窗口

单击绘图工具栏中的总线按钮,使之处于选中状态.将鼠标置于图形编辑窗口,绘制出

24

如图所示的总线。

在绘制总线的过程中,应注意:①当鼠标的指针靠近对象的连接点时,鼠标的指针会出现一个“×”号,表明总线可以接至该点;②在绘制多段连续总线时,只需要在拐点处单击鼠标左键,其它步骤与绘制一段总线相同。 4、添加时钟信号发生器和接地引脚

单击绘图工具栏中的信号发生器按钮,在对象选择器窗口,选中对象DCLOCK,如图所示。将其放置到图形编辑窗口。

单击绘图工具栏中的Inter—sheet Terminal按钮GROUND,如图所示.将其放置到图形编辑窗口。

,在对象选择器窗口,选中对象

5、元器件之间的连线Wiring Up Components on the Schematic 在图形编辑窗口,完成各对象的连线,如图所示。

此过程中注意两点:①当时钟信号发生器与单片机的XTAL2引脚完成连线后,系统自动将信号发生器名改为U1(XTAL2),取代以前使用的“?”;②当线路出现交叉点时,若出现

25

实心小黑园点,表明导线接通,否则表明导线无接通关系。当然,我们可以通过绘图工具栏中的连接点按钮

,完成两交叉线的接通。

,在图形编辑窗口,完成导线或总线的标注,如图所

6、给导线或总线加标签

单击绘图工具栏中的导线标签按钮示。

此过程中注意两点:①当时钟信号发生器与单片机的XTAL2引脚完成连线标注为CLOCK后,系统自动将信号发生器名改为CLOCK,取代以前使用的“U1(XTAL2)\";②总线的命名可以与单片机的总线名相同,也可不同.但方括号内的数字却赋予了特定的含义。例如总线命名为:AD[0.。7],意味着此总线可以分为彼此的,命名为AD0、AD1、AD2、AD3、AD4、AD5、AD6、AD7的导线,若该总线一旦标注完成,则系统自动在导线标签编辑页面的“String”栏的下拉菜单中加入以上8组导线名,今后在标注与之相联的导线名时,如AD0,要直接从导线标签编辑页面的“String”栏的下拉菜单中选取,如图所示;③若标注名为号来字母上面的横线。 7、添加电压探针

单击绘图工具栏中的电压探针按钮示。

,在图形编辑窗口,完成电压探针的添加,如图所

,直接

在导线标签编辑页面的“String”栏中输入“$WR$”即可,也就是说可以用两个“$”符

在此过程中,电压探针名默认为“?\",当电压探针的连接点与导线或者总线连结后,电压探针名自动更改为已标注的导线名,总线名或者与该导线连接的设备引脚名。 8、设置元器件的属性

在图形编辑窗口内,将鼠标置于时钟信号发生器上,单击鼠标右键,选中该对象,单击鼠

26

标左键,进入对象属性编辑页面,如图所示。在“Frequency[Hz]”栏中输入12M,单击“OK\"按钮,结束设置。此番操作意味着,时钟信号发生器给单片机提供频率为12 M Hz的时钟信号。

在图形编辑窗口内,将鼠标置于单片机上,单击鼠标右键,选中该对象,单击鼠标左键,进入对象属性编辑页面,如图所示.在“Program File”中,通过打开按钮,添加程序执行文件.

9、添加虚拟逻辑分析仪

在我们绘制图形的过程中,遇到复杂的图形,通常一幅图很难准确的表达设计者的意图,往往需要多幅图来共同表达一个设计。Proteus ISIS 能够支持一个设计有多幅图的情况.前面我们所绘图形是装在第一幅图中,这一点我们可通过状态栏中的“Root sheet 1”中得知,下面我们将虚拟逻辑分析仪添加到第二幅图(“Root sheet 2\")中。

单击“Design”菜单,选中其下拉菜单“New Sheet\",如图所示.或者单击标准工具栏中的新建一幅图按钮

,此时,我们注意到状态栏中显示为“Root sheet 2”,表明可以在第二幅

图中绘制设计图了。此时,我们也注意到在“Design”菜单中,有许多针对不同图幅的操作,比如:不同图幅之间的切换,可以使用快捷键“Page Down\"或“Page Up\"等,可供我们使用。

单击绘图工具栏中的虚拟仪器按钮10、给逻辑分析仪添加信号终端

,在对象选择器窗口,选中对象LOGIC

ANALYSER,如图所示。将其放置到图形编辑窗口.

27

单击绘图工具栏中的Inter-sheet Terminal按钮所示,将其放置到图形编辑窗口,如图所示.

,在对象选择器窗口,选中对象

DEFAULT,如图所示,将其放置到图形编辑窗口;在对象选择器窗口,选中对象BUS,如图

11、将信号终端与虚拟逻辑分析仪连线并加标签

在图形编辑窗口,完成信号终端与虚拟逻辑分析仪连线。 单击绘图工具栏中的导线标签按钮

,在图形编辑窗口,完成导线或总线的标注,将标注

名移动至合适位置,如图所示。通过标注,我们顺利地完成了第一幅图与第二幅图的衔接。至此,我们便完成了整个电路图的绘制。

12、调试运行

使用快捷键“Page Down”,将图幅切换到“Root sheet 1”.单击仿真运行开始按钮接入信号,或者为三态。②电压探针的值在周期性的变化.单击仿真运行结束按钮真结束.

,,仿

我们能清楚地观察到:①引脚的电频变化。红色代表高电频,蓝色代表低电频,灰色代表未

使用快捷键“Page Down\",将图幅切换到“Root sheet 2”.单击仿真运行开始按钮

,

28

我们能清楚地观察到,虚拟逻辑分析仪A1、A2、A3、A4端代表高低电频红色与蓝色交替闪烁,通常会同时弹出虚拟逻辑分析仪示波器,如图所示。如未弹出虚拟逻辑分析仪示波器,可单击仿真结束按钮钮

,结束仿真。单击“Debug”菜单,选中并执行下拉菜单“Reset

Popup Windows”,如图所示.在弹出的对话框中,选择“Yes\"执行。再单击仿真运行开始按

,便会弹出虚拟逻辑分析仪示波器。单击逻辑分析仪的启动键,在逻辑分析仪上

出现如图所示的波形图,这就是读写存储器的时序图

菜单命令简述

使用元件工具箱

Proteus ISIS主窗口左端的元件工具箱与工具条的作用相似,包含添加全部元器件的快捷图标按钮,与菜单中的元器件添加命令完全对应,用法与工具条一致.通过选取主窗口的菜单项View/Element Palette(查看/元件栏)可以隐藏/显示这个工具箱.

使用状态信息条

Proteus ISIS主窗口下端的状态条显示当前电路图编辑状态以及键盘中几个键的当前状态,这些状态显示用于方便用户的操作。几个输出窗口下端也有状态条,显示当前鼠标位置对应的坐标值,并随鼠标的移动及时地更新,便于用户读图.通过选取主窗口的菜单项View/Status Bar(查看/状态信息栏)可以隐藏/显示这个状态条。

使用对话框

Proteus ISIS中全部参数输入均采用对话框完成.各种对话框虽功能不同,但都具有共同的特点。所有对话框均包含有按钮、列表框、组合框、编辑框等几种控制,均含有OK(确定)和Cancel (取消)两个特殊按钮.点按OK (确定)可关闭对话框,并使参数输入生效;点按Cancel(取消)也可关闭对话框,但使参数输入全部失效。

29

使用计算器工具

计算器窗口可以计算微带线特性和常规算术运算,详见第7 章

使用仿真信息窗口

Proteus ISIS的仿真信息窗口显示正在进行的电路仿真的执行状态、出错信息以及执行结果,如电路的成品率等。用户可根据这些信息来查错、是否继续做优化、是否应强行终止仿真。通过选取主窗口的菜单项View/Simulation Message(查看/仿真信息)可以隐藏/显示这个窗口。

关闭Proteus ISIS

在主窗口中选取菜单项File/Exit(文件/退出),屏幕出现提问框,问用户是否想关闭Proteus ISIS关闭Proteus ISIS,点按OK (确定) 键即可关闭 Proteus ISIS。如果当前电路图修改后尚未存盘,在提问框出现前还会询问用户是否存盘.

30

第2章 菜单命令简述

以下分别列出主窗口和四个输出窗口的全部菜单项。对于主窗口,在菜单项旁边同时列出工具条中对应的快捷鼠标按钮。

主窗口菜单

1. File (文件)

(1) New (新建) (3) Save (保存)

(2) Open (打开)… 打开一个已有电路文件

将电路图和全部参数保存在打开的电路文件中

将电路图和全部参数另存在一个电路文件中

打印当前窗口显示的电路图 设置打印页面 退出Proteus ISIS

旋转一个欲添加或选中的元件 对一个欲添加或选中的元件镜像 将选中的元件、连线或块剪切入裁剪板

(4) Save As (另存为)… (5) Print (打印)… (7) Exit (退出) 2. Edit (编辑)

(1) Rotate (旋转) (2) Mirror (镜像) (3) Cut (剪切) (5) Paste (粘贴) (6) Delete (删除) (7) Undelete (恢复) (8) Select All (全选) 3. View (查看)

(1) Redraw (重画) 重画电路

(2) Zoom In (放大) 放大电路到原来的两倍 (3) Zoom Out (缩小) 缩小电路到原来的1/2 (4) Full Screen (全屏)

全屏显示电路

(5) Default View (缺省)

恢复最初状态大小的电路显示

显示/隐藏一般操作工具条

新建一个电路文件

(6) Page Setup (页面设置)…

(4) Copy (复制) 将选中的元件、连线或块复制入裁剪板

将裁切板中的内容粘贴到电路图中 删除元件,连线或块

恢复上一次删除的内容

选中电路图中全部的连线和元件

(6) Simulation Message (仿真信息) 显示/隐藏分析进度信息显示窗口 (7) Common Toolbar (常用工具栏) (9) Element Palette (元件栏) (10) Status Bar (状态信息条) 4. Place (放置)

(1) Wire (连线)

添加连线 添加元件

31

(8) Operating Toolbar (操作工具栏) 显示/隐藏电路操作工具条

显示/隐藏电路元件工具箱 显示/隐藏状态条

(2) Element (元件) ►

a。 Lumped (集总元件) 添加各个集总参数元件 b。 Microstrip (微带元件) 添加各个微带元件 c.

S Parameter (S参数元件) 添加各个S参数元件

结束添加连线、元件

d. Device (有源器件) 添加各个三极管、FET等元件 (3) Done (结束) 5. Parameters (参数)

(1) Unit (单位)

打开单位定义窗口 打开变量定义窗口

(2) Variable (变量)

(3) Substrate (基片) 打开基片参数定义窗口 (4) Frequency (频率) 打开频率分析范围定义窗口 (5) Output (输出) (6) Opt/Yield Goal (优化/口

(7) Misc (杂项) 打开其它参数定义窗口 6. Simulate (仿真)

(1) Analysis (分析)

执行电路分析

执行电路优化

执行成品率分析 执行成品率优化

更新优化变量值

(2) Optimization (优化)

打开输出变量定义窗口

成品率目标) 打开优化/成品率目标定义窗

(3) Yield Analysis (成品率分析) (4) Yield Optimization (成品率优化)(5) Update Variables (更(6) Stop (终止仿真) 7. Result (结果)

(1) Table (表格) (2) Grid (直角坐标) (3) Smith (圆图) (4) Histogram (直方图)

新参数)

强行终止仿真

打开一个表格输出窗口 打开一个直角坐标输出窗口

打开一个Smith圆图输出窗口 打开一个直方图输出窗口 调出并显示输出文件

(5) Close All Charts (关闭所有结果显示) 关闭全部输出窗口 (6) Load Result (调出已存结果)

(7) Save Result (保存仿真结果) 将仿真结果保存到输出文件

8. Tools (工具)

(1) Input File Viewer (查看输入文件) 件

启动文本显示程序显示仿真输入文

32

(2) Output File Viewer (查看输出文件) 启动文本显示程序显示仿真输出文

(3) Options (选项)

9. Help (帮助)

(1) Content (内容) (2) Elements (元件) (3) About (关于)

表格输出窗口(Table)菜单

1. File (文件)

(1) Print (打印)…

(2) Exit (退出)

2. Option (选项)

(1) Variable (变量)…

方格输出窗口(Grid)菜单

1. File (文件)

(1) Print (打印)… (2) Page setup (页面设置)…

(3) Exit (退出)

2. Option (选项)

(1) Variable (变量)… (2) Coord (坐标)…

Smith圆图输出窗口(Smith)菜单1. File (文件)

(1) Print (打印)… (2) Page setup (页面设置)…

(3) Exit (退出)

2. Option (选项)

(1) Variable (变量)…

直方图输出窗口(Histogram)菜单

1. File (文件)

(1) Print (打印)… (2) Page setup (页面设置)…

(3) Exit (退出)

2. Option (选项)

更改设置

查看帮助内容

查看元件帮助

查看软件版本信息

打印数据表

关闭窗口

选择输出变量

打印曲线 打印页面

关闭窗口

选择输出变量

设置坐标

打印曲线

打印页面

关闭窗口

选择输出变量

打印曲线

打印页面

关闭窗口

33

(1) Variable (变量)…

选择输出变量

附:

附:PROTEUS原理图元器件库详细说明

--—----—---------—————-—----—-———-———--—-——--————--—-———---—

Proteus 仿真库简介

元件名称 中文名 说明 7407 驱动门 1N914 二极管 74Ls00 与非门 74LS04 非门 74LS08 与门

74LS390 TTL 双十进制计数器

7SEG 4针BCD-LED 输出从0—9 对应于4根线的BCD码 7SEG 3—8译码器电路BCD-7SEG[size=+0]转换电路 ALTERNATOR 交流发电机 AMMETER-MILLI mA安培计 AND 与门

BATTERY 电池/电池组 BUS 总线 CAP 电容 CAPACITOR 电容器

CLOCK 时钟信号源 CRYSTAL 晶振 D-FLIPFLOP D触发器 FUSE 保险丝 GROUND 地 LAMP 灯

LED—RED 红色发光二极管

LM016L 2行16列液晶 可显示2行16列英文字符,有8位数据总线D0—D7,RS,R/W,EN三个控制端口(共14线),工作电压为5V。没背光,和常用的1602B功能和引脚一样(除了调背光的二个线脚)

LOGIC ANALYSER 逻辑分析器 LOGICPROBE 逻辑探针

LOGICPROBE[BIG] 逻辑探针 用来显示连接位置的逻辑状态

LOGICSTATE 逻辑状态 用鼠标点击,可改变该方框连接位置的逻辑状态 LOGICTOGGLE 逻辑触发

MASTERSWITCH 按钮 手动闭合,立即自动打开 MOTOR 马达

34

OR 或门

POT-LIN 三引线可变电阻器 POWER 电源 RES 电阻 RESISTOR 电阻器

SWITCH 按钮 手动按一下一个状态 SWITCH-SPDT 二选通一按钮 VOLTMETER 伏特计

VOLTMETER-MILLI mV伏特计 VTERM 串行口终端 Electromechanical 电机 Inductors 变压器

Laplace Primitives 拉普拉斯变换 Memory Ics

Microprocessor Ics

Miscellaneous 各种器件 AERIAL—天线;ATAHDD;ATMEGA;BATTERY;CELL;CRYSTAL—晶振;FUSE;METER-仪表;

Modelling Primitives 各种仿真器件 是典型的基本元器模拟,不表示具体型号,只用于仿真,没有PCB

Optoelectronics 各种发光器件 发光二极管,LED,液晶等等 PLDs & FPGAs Resistors 各种电阻

Simulator Primitives 常用的器件 Speakers & Sounders

Switches & Relays 开关,继电器,键盘 Switching Devices 晶阊管

Transistors 晶体管(三极管,场效应管) TTL 74 series TTL 74ALS series TTL 74AS series TTL 74F series TTL 74HC series TTL 74HCT series TTL 74LS series TTL 74S series Analog Ics 模拟电路集成芯片 Capacitors 电容集合

CMOS 4000 series Connectors 排座,排插

Data Converters ADC,DAC Debugging Tools 调试工具 ECL 10000 Series

——--——-----—---———-——-—————-——-—---—-—-—----—----—-—----———— PROTEUS元件库元件名称及中英对照

35

AND 与门

ANTENNA 天线 BATTERY 直流电源 BELL 铃,钟

BVC 同轴电缆接插件

BRIDEG 1 整流桥(二极管) BRIDEG 2 整流桥(集成块) BUFFER 缓冲器 BUZZER 蜂鸣器 CAP 电容

CAPACITOR 电容

CAPACITOR POL 有极性电容 CAPVAR 可调电容

CIRCUIT BREAKER 熔断丝 COAX 同轴电缆 CON 插口

CRYSTAL 晶体整荡器 DB 并行插口 DIODE 二极管

DIODE SCHOTTKY 稳压二极管 DIODE VARACTOR 变容二极管 DPY_3—SEG 3段LED DPY_7-SEG 7段LED

DPY_7-SEG_DP 7段LED(带小数点) ELECTRO 电解电容 FUSE 熔断器 INDUCTOR 电感

INDUCTOR IRON 带铁芯电感 INDUCTOR3 可调电感 JFET N N沟道场效应管 JFET P P沟道场效应管 LAMP 灯泡

LAMP NEDN 起辉器 LED 发光二极管 METER 仪表

MICROPHONE 麦克风 MOSFET MOS管

MOTOR AC 交流电机 MOTOR SERVO 伺服电机 NAND 与非门 NOR 或非门 NOT 非门

NPN NPN三极管

36

NPN—PHOTO 感光三极管 OPAMP 运放 OR 或门

PHOTO 感光二极管 PNP 三极管

NPN DAR NPN三极管 PNP DAR PNP三极管 POT 滑线变阻器

PELAY-DPDT 双刀双掷继电器 RES1.2 电阻 RES3.4 可变电阻

RESISTOR BRIDGE ? 桥式电阻 RESPACK ? 电阻 SCR 晶闸管 PLUG ? 插头

PLUG AC FEMALE 三相交流插头 SOCKET ? 插座

SOURCE CURRENT 电流源 SOURCE VOLTAGE 电压源 SPEAKER 扬声器 SW ? 开关

SW-DPDY ? 双刀双掷开关 SW—SPST ? 单刀单掷开关 SW-PB 按钮

THERMISTOR 电热调节器 TRANS1 变压器 TRANS2 可调变压器 TRIAC ? 三端双向可控硅 TRIODE ? 三极真空管 VARISTOR 变阻器 ZENER ? 齐纳二极管 DPY_7-SEG_DP 数码管 SW-PB 开关

——-—-—-———--——-—------—----—--—-———-———————-—--—-—--———--——---—-—--—--

PROTEUS原理图元器件库详细说明

Device.lib 包括电阻、电容、二极管、三极管和PCB的连接器符号 ACTIVE。LIB 包括虚拟仪器和有源器件 DIODE。LIB 包括二极管和整流桥 DISPLAY.LIB 包括LCD、LED BIPOLAR.LIB 包括三极管

FET.LIB 包括场效应管 ASIMMDLS.LIB 包括模拟元器件

37

VALVES .LIB 包括电子管

ANALOG。LIB 包括电源调节器、运放和数据采样IC CAPACITORS.LIB 包括电容

COMS。LIB 包括 4000系列 ECL.LIB 包括ECL10000系列 MICRO.LIB 包括 通用微处理器 OPAMP.LIB 包括 运算放大器 RESISTORS。LIB 包括 电阻

FAIRCHLD 。LIB 包括FAIRCHLD 半导体公司的分立器件 LINTEC.LIB NATDAC。LIB NATOA。LIB TECOOR。LIB TEXOAC.LIB ZETEX 。LIB

包括 LINTEC公司的运算放大器 包括 国家半导体公司的数字采样器件 包括 国家半导体公司 的运算放大器 包括TECOOR公司的 SCR 和TRIAC

包括 德州仪器公司的运算放大器和比较器 包括ZETEX 公司的分立器件

38

第3章 参考例子:

按钮控制LED——51单片机的Proteus实验

实验原理

51单片机的一个I/O口接按钮,再通过另一个I/O口控制LED的亮、灭. 主要器件以及电路图

单片机——ATC51,上拉电阻——pullup,按钮button,发光二极管——LED。

按钮控制LED汇编程序源码

ORG 0 START: MOV P1,#0 ;LED不亮 MOV P0,#0FFH ;P0口准备读数 39

ST1: JB P0。0,$ JNB P0。0,$ ;等待按钮抬起 ;等待按钮按下 ;以上两句使得只有按一下按钮才可能执行下面的语句 CPL P1。0 SJMP ST1 END ;LED状态改变 ;返回 流水灯—-51单片机的Proteus实验

实验原理

通过个51单片机的一个I/O口送不同的数字,实现8个LED的流水灯。本实验为移动一个不亮的LED。通过修改送给I/O口送的数字可以实现不同方式的流水灯。 主要器件以及电路图

单片机——ATC51,8排电阻——RX8,发光二极管——LED.

40

流水灯汇编程序源码

org 0 start: delay: sjmp start org 30h mov P1,#1 ;P1。0为1,不亮 mov P1,#2 ;P1。1为1,不亮 mov P1,#4 ;以下原理同上 mov P1,#8 mov P1,#10h mov P1,#20h mov P1,#40h mov P1,#80h sjmp start nop nop nop nop ret end 数码显示管—-51单片机的Proteus实验

实验原理

51单片机的一个I/O口接4个开关,再通过另一个I/O口控制7段数码显示管显示想要的数字。

主要器件以及电路图

单片机——ATC51,共地的7段数码显示管--7SEG-COM—AN-GRN,开关——SW-SPST。

41

汇编程序源码

汇编后139字节.

org 0 sjmp START org 30h START: mov P1,#0FFh ;LED不亮 st1: mov P2,#0FFh ;准备读数(开关状态) mov A,P2 ;读数 anl A,#0Fh ;取低四位 acall SEG7 ;调用显示码子程序 mov P1,A ;将得到的显示码送数显管显示 sjmp st1 ;循环 SEG7: inc A ;该子程序实现将数字转换为显示码 movc A,@A+pc ret DB 0c0h,0F9h,0a4h,0b0h DB 99h,92h,82h,0F8h DB 80h,90h,88h,83h DB 0c6h,0a1h,86h,8eh end C语言程序源码

用C语言写了一下实现同样功能的程序,编译后1.39K,代码如下:

42

#include〈reg51。h> int main(){ P1 = 0xff; while(1){ P2 = 0xff; ACC = P2; ACC &= 0xf; switch(ACC){ case 0: P1 = 0xc0; break; case 1: P1 = 0xf9; break; case 2: P1 = 0xa4; break; case 3: P1 = 0xb0; break; case 4: P1 = 0x99; break; case 5: P1 = 0x92; break; case 6: P1 = 0x82; break; case 7: P1 = 0xf8; break; case 8: P1 = 0x80; break; case 9: P1 = 0x90; break; case 10: P1 = 0x88; break; case 11: P1 = 0x83; break; case 12: P1 = 0xc6; break; case 13: P1 = 0xa1; break; case 14: P1 = 0x86; break; case 15: P1 = 0x8e; break; } } while(1); } 用数组实现,更大(1.51K),代码如下:

#include} P1 = ledNum[ACC]; } while(1); 蜂鸣器——51单片机的Proteus实验

实验原理

51单片机的一个I/O口接7个按钮,再通过另一个I/O口控制蜂鸣器发出声音。 主要器件以及电路图

单片机-—ATC51,蜂鸣器-—speaker,按钮button。

汇编程序源码

晶振12M,已在Proteus下测试,听起来声音差不多.

ORG 0 SJMP START DLY: MOV R2,#20 ;延时程序 44

D1: MOV R3,#248 DJNZ R3,$ DJNZ R2,D1 RET ORG 30H START: MOV TMOD,#1 ;定时器0方式1 MOV P3,#0FFH ;P3准备读数 JNB P3.0,DODO ACALL DLY JNB P3.1,RERE ACALL DLY JNB P3.2,MIMI ACALL DLY JNB P3。3,FAFA ACALL DLY JNB P3。4,SOSO ACALL DLY JNB P3。5,LALA ACALL DLY JNB P3.6,XIXI ACALL DLY JNB P3.7,DO2DO2 ACALL DLY SJMP START DODO: LJMP DO RERE: LJMP RE MIMI: LJMP MI FAFA: LJMP FA SOSO: LJMP SO LALA: LJMP LA XIXI: LJMP XI DO2DO2: LJMP DO2 DO: MOV TH0,#0FBH 45

RE: MI: FA: SO:

MOV TL0,#44H SETB TR0 JNB TF0,$ CLR TF0 CPL P2。7 JNB P3。0,DO CLR TF0 SJMP START MOV TH0,#0FBH MOV TL0,#88H SETB TR0 JNB TF0,$ CLR TF0 CPL P2。7 JNB P3.1,RE CLR TF0 SJMP START ;开启定时器 ;等待定时到 ;清除中断 ;喇叭 MOV TH0,#0FBH MOV TL0,#0CCH SETB TR0 JNB TF0,$ CLR TF0 CPL P2.7 JNB P3。2,MI CLR TF0 SJMP START MOV TH0,#0FCH MOV TL0,#00H SETB TR0 JNB TF0,$ CLR TF0 CPL P2。7 JNB P3.3,FA CLR TF0 LJMP START MOV TH0,#0FCH MOV TL0,#44H SETB TR0 JNB TF0,$ CLR TF0 46

LA: XI: DO2: CPL P2。7 JNB P3.4,SO CLR TF0 LJMP START MOV TH0,#0FCH MOV TL0,#88H SETB TR0 JNB TF0,$ CLR TF0 CPL P2。7 JNB P3.5,LA CLR TF0 LJMP START MOV TH0,#0FCH MOV TL0,#0CCH SETB TR0 JNB TF0,$ CLR TF0 CPL P2.7 JNB P3.6,XI CLR TF0 LJMP START MOV TH0,#0FDH MOV TL0,#00H SETB TR0 JNB TF0,$ CLR TF0 CPL P2。7 JNB P3.7,DO2 CLR TF0 LJMP START END 附上蜂鸣器发声的简单程序 1.汇编

ORG 0 START: CPL P2。7 ;蜂鸣器 LCALL DELAY 47

LJMP START DELAY: MOV R7,#0FFH DJNZ R7, $ RET END 2。C语言

#include〈reg51.h> void delay(unsigned int z);//声明延时函数 sbit beep=P2^7; void main()数 { while(1){ beep=0;//蜂鸣器响 delay(1);//调用1ms延时 beep=1;//蜂鸣器不响 delay(1);//调用1ms延时 } } void delay(unsigned int z)//1ms延时,通过z值改变延时 { unsigned int x; for(;z〉0;z——) for(x=110;x>0;x-—); } 蜂鸣器演奏祝你平安--51单片机的Proteus实验

实验原理

51单片机的一个I/O口控制speaker发声,演唱祝你平安歌曲。 主要器件以及电路图

单片机—-ATC51,蜂鸣器——speaker.

48

汇编程序源码

晶振12M,已在Proteus下测试,好像有点失真。程序是从网上照的,感觉不是很对劲,删除了一部分之后还是没有变化。部分注释是我后加上去的。

;—---—---—----————---—--—-—------—--— ; 蜂鸣器演奏—-祝你平安 ; 功能:蜂鸣器-蜂鸣器奏乐—祝你平安 ;——-——-------—-—-—-——-—-————--——-—--- SPK bit P2.7 ;以后SPK就是speaker了 ORG 0000H LJMP START ORG 000BH INC 20H ;T0中断服务,中断计数器加1 MOV TH0,#0D8H MOV TL0,#0EFH ;12M晶振,形成10毫秒中断 RETI START: MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H MOV IE,#82H ;10000010B—-开T0中断 MUSIC0: NOP MOV DPTR,#DAT ;表头地址送DPTR MOV 20H,#00H ;中断计数器清0 MUSIC1: NOP CLR A 49

MOVC A,@A+DPTR ;查表取代码 JZ END0 ;是00H,则结束 CJNE A,#0FFH,MUSIC5 ;只要A不等于FF,一直执行MUSIC5 LJMP MUSIC3 ;当A到FF的时候,执行MUSIC3 MUSIC5: NOP MOV R6,A ;代码送R6 INC DPTR MOVC A,@A+DPTR ;取节拍代码送R7 MOV R7,A SETB TR0 ;启动计数 MUSIC2: NOP CPL SPK MOV A,R6 ;按R6(代码)延时 MOV R3,A ; LCALL DEL ;利用代码(R6)来调用延时 CJNE A,20H,MUSIC2 ;中断计数器(20H)=R7否?不等,则继续循环 MOV 20H,#00H ;等于,则取下一代码 INC DPTR LJMP MUSIC1 MUSIC3: NOP CLR TR0 ;休止100毫秒 MOV R2,#0DH MUSIC4: NOP MOV R3,#0FFH LCALL DEL DJNZ R2,MUSIC4 INC DPTR LJMP MUSIC1 END0: NOP MOV R2,#H ;歌曲结束,延时1秒后继续 MUSIC6: MOV R3,#00H LCALL DEL DJNZ R2,MUSIC6 LJMP MUSIC0 DEL: ;DEL子程序利用R3来延时一定时间 NOP DEL3:

50

MOV R4,#02H DEL4: NOP DJNZ R4,DEL4 NOP DJNZ R3,DEL3 RET NOP DAT: ;祝你平安 db 26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h db 30h,20h,39h,10h,30h,10h,30h,80h,26h,20h,20h,20h,20h,20h,1ch,20h db 20h,80h,2bh,20h,26h,20h,20h,20h,2bh,10h,26h,10h,2bh,80h,26h,20h db 30h,20h,30h,20h,39h,10h,26h,10h,26h,60h,40h,10h,39h,10h,26h,20h db 30h,20h,30h,20h,39h,10h,26h,10h,26h,80h,26h,20h,2bh,10h,2bh,10h db 2bh,20h,30h,10h,39h,10h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,20h db 20h,10h,20h,10h,2bh,10h,26h,30h,30h,80h,18h,20h,18h,20h,26h,20h db 20h,20h,20h,40h,26h,20h,2bh,20h,30h,20h,30h,20h,1ch,20h,20h,20h db 20h,80h,1ch,20h,1ch,20h,1ch,20h,30h,20h,30h,60h,39h,10h,30h,10h db 20h,20h,2bh,10h,26h,10h,2bh,10h,26h,10h,26h,10h,2bh,10h,2bh,80h db 18h,20h,18h,20h,26h,20h,20h,20h,20h,60h,26h,10h,2bh,20h,30h,20h db 30h,20h,1ch,20h,20h,20h,20h,80h,26h,20h,30h,10h,30h,10h,30h,20h db 39h,20h,26h,10h,2bh,10h,2bh,20h,2bh,40h,40h,10h,40h,10h,20h,10h db 20h,10h,2bh,10h,26h,30h,30h,80h,00H END ;程序结束 蜂鸣器演奏兰花草--51单片机的Proteus实验

实验原理

51单片机的一个I/O口控制speaker发声,演奏兰花草。 主要器件以及电路图

单片机-—ATC51,蜂鸣器——speaker。

51

汇编程序源码

SPK EQU P2.7 ORG 0 LJMP START ORG 0030H START: MOV R3,#00H NEXT: MOV A,R3 MOV DPTR,#TABLE MOVC A,@A+DPTR JZ START MOV R7,A INC R3 MOV A,R3 MOVC A,@A+DPTR MOV R2,A ACALL SONG INC R3 SJMP NEXT ;歌曲播放子程序 SONG: MOV A,R2 RL A JNZ KEEP MOV A,#01H KEEP: ;位定义 ;伪指令,指定程序从0030H开始存放 ;R3清零(作为查表偏移) ;查表 ;如果A是0就重来 ;R7是查表的来的代码字节 ;读下一个代码字节 ;取出节拍 ;左移节拍 ;如果节拍为0就让它等于1 52

MOV R2,A REPEAT: ACALL EIGHTH DJNZ R2,REPEAT RET ;产生1/8拍延时子程序 EIGHTH: MOV A,R7 ;查表取出廷时参数,保存到R4 MOV DPTR,#DELAY_T MOVC A,@A+DPTR MOV R4,A MOV A,R7 ;查表取出1/8拍周期数,保存到R5 MOV DPTR,#S_PARA MOVC A,@A+DPTR MOV R5,A NEXTCYC: ACALL SOUND DJNZ R5,NEXTCYC RET ;=== 发声子程序 === SOUND: SETB SPK ACALL SDELAY CLR SPK ACALL SDELAY RET ;延时子程序 SDELAY: MOV A,R4 ; 廷时值在R4内 MOV R0,A XL2: MOV R1,#03H DL1: NOP DJNZ R1,DL1 DJNZ R0,XL2 RET ;1/8拍周期表 S_PARA: DS 1DH DB 15H,16H,00 DB 19H,00H,1CH,00H,1FH,21H,00H,25H DB 00H,29H,2CH,00H,31H,34H,37H,00H 53

DB 3EH,41H,00H,49H,00H,52H,57H,00H DB 62H ;延时参数表 DELAY_T: DS 1DH DB 7EH,77H,00H DB 6AH,00H,5EH,00H,H,4FH,00H,46H DB 00H,3FH,3BH,00H,35H,32H,2FH,00H DB 2AH,27H,00H,23H,00H,1FH,1DH,0C0H DB 1AH ;歌曲表 TABLE: DW 2202H,2902H,2902H,2902H,2906H,2702H ;我从山中来 DW 2502H,2702H,2502H,2402H,2208H ;带着兰花草 DW 2E02H,2E02H,2E02H,2E02H,2E06H,2C02H ;种在小园中 DW 2902H,2C02H,2D02H,2A02H,2908H ;祈祷花开早 DW 2902H,2E02H,2E02H,2C02H,2906H,2702H ;一日看三回 DW 2502H,2702H,2502H,2402H,2206H,1D02H ;看得花时过 DW 1D02H,2502H,2502H,2402H,2206H,2902H ;兰花却依然 DW 2702H,2502H,2402H,2002H,2208H ;苞也无一个 DW 0000H END 蜂鸣器演奏老鼠爱大米--51单片机的Proteus实验

实验原理

51单片机的一个I/O口控制speaker发声,演奏老鼠爱大米。 主要器件以及电路图

单片机——ATC51,蜂鸣器—-speaker。

C语言程序源码

C语言的程序代码更好读一些,相比较前面两个汇编的蜂鸣器程序,这个程序比较好理解。

/* 蜂鸣器——蜂鸣器奏乐-老鼠爱大米*/ #include #define uint unsigned int #define uchar unsigned char #define ulong unsigned long sbit beep=P2^7; //蜂鸣器输出引脚 uchar th0_f; //中断装载T0高8位 uchar tl0_f; //T0低8位 uchar code freq[36*2]={ //音阶码表 0xf7,0xd8, //440hz , 1 //0 0xf8,0x50, //466hz , 1# //1 0xf8,0xbc, //494hz , 2 //2 55

0xf9,0x26, //524hz , 2# //3 0xf9,0x85, //5hz , 3 //4 0xf9,0xe5, //588hz , 4 //5 0xfa,0x3d, //622hz , 4# //6 0xfa,0x92, //660hz , 5 //7 0xfa,0xdd, //698hz , 5# //8 0xfb,0x29, //740hz , 6 //9 0xfb,0x70, //784hz , 6# //10 0xfb,0xb0, //830hz , 7 //11 0xfb,0xef, //880hz , 1 //12 0xfc,0x29, //932hz , 1# //13 0xfc,0x62, //988hz , 2 //14 0xfc,0x95, //1046hz, 2# //15 0xfc,0xc7, //1108hz, 3 //16 0xfc,0xf5, //1174hz, 4 //17 0xfd,0x20, //1244hz, 4# //18 0xfd,0x4c, //1318hz, 5 //19 0xfd,0x72, //1396hz, 5# //20 0xfd,0x97, //1480hz, 6 //21 0xfd,0xbb, //1568hz, 6# //22 0xfd,0xdc, //1662hz, 7 //23 0xfd,0xfb, //1769hz, `1 //24 0xfe,0x18, //18hz, `1# //25 0xfe,0x34, //1976hz, `2 //26 0xfe,0x4e, //2092hz, `2# //27 56

0xfe,0x67, //2218hz, `3 //28 0xfe,0x7d, //2350hz, `4 //29 0xfe,0x94, //2488hz, `4# //30 0xfe,0xa8, //2639hz, `5 //31 0xfe,0xbc, //2794hz, `5# //32 0xfe,0xcf, //2960hz, `6 //33 0xfe,0xe0, //3136hz, `6# //34 0xfe,0xf1, //3322hz, `7 //35 }; uchar code diaodata[30]={ //音调代码 0x10,0x0e,0x0c,0x10,0x0e,0x0c, 0x10,0x0e,0x10,0x0c,0x10,0x15, 0x13,0x10,0x13,0x15,0x15,0x13, 0x15,0x13,0x10,0x0e,0x0c,0x0e, 0x0e,0x10,0x0e,0x0c,0x0e,0x00}; uchar code jiedata[30]={ //音长代码 0x04,0x04,0x08,0x06,0x02,0x08, 0x04,0x04,0x04,0x04,0x02,0x06, 0x08,0x02,0x02,0x04,0x04,0x04, 0x04,0x08,0x02,0x02,0x04,0x04, 0x02,0x02,0x04,0x04,0x0c,0x00}; void timer0() interrupt 1 //用于产生音符的T0中断服务程序 57

{ TH0=th0_f; TL0=tl0_f; beep=~beep; //取反beep引脚,发声 } void main(void) { uchar i,j,k=0; uint n; TMOD=0X01; //T0方式1 TR0=0; //关闭T0(不发声) ET0=1; //允许T0中断 EA=1; //允许总中断 while(1) { TR0=1; //开T0 for(i=0;diaodata[i]!=0;i++) { th0_f=freq[diaodata[i]*2]; tl0_f=freq[diaodata[i]*2+1]; for(j=0;j〈20000;n++); TR0=0; for(n=0;n<256;n++); //音符之间的短暂延时 TR0=1; //(jiedata*20000) 58

} TR0=0; } }

元件名称 中文名 说明 7407 驱动门 1N914 二极管 74Ls00 与非门 74LS04 非门 74LS08 与门

74LS390 TTL 双十进制计数器

7SEG 4针BCD-LED 输出从0-9 对应于4根线的BCD码 7SEG 3-8译码器电路BCD—7SEG转换电路 ALTERNATOR 交流发电机 AMMETER-MILLI mA安培计 AND 与门

BATTERY 电池/电池组 BUS 总线 CAP 电容

CAPACITOR 电容器 CLOCK 时钟信号源 CRYSTAL 晶振

D—FLIPFLOP D触发器 FUSE 保险丝 GROUND 地 LAMP 灯

LED—RED 红色发光二极管

LM016L 2行16列液晶 可显示2行16列英文字符,有8位数据总线D0—D7,RS,R/W,EN三个控制端口(共14线),工作电压为5V。没背光,和常用的1602B功能和引脚一样(除了调背光的二个线脚)

LOGIC ANALYSER 逻辑分析器 LOGICPROBE 逻辑探针

LOGICPROBE[BIG] 逻辑探针 用来显示连接位置的逻辑状态

LOGICSTATE 逻辑状态 用鼠标点击,可改变该方框连接位置的逻辑状态 LOGICTOGGLE 逻辑触发

MASTERSWITCH 按钮 手动闭合,立即自动打开 MOTOR 马达 OR 或门

59

POT—LIN 三引线可变电阻器 POWER 电源 RES 电阻

RESISTOR 电阻器

SWITCH 按钮 手动按一下一个状态 SWITCH—SPDT 二选通一按钮 VOLTMETER 伏特计

VOLTMETER-MILLI mV伏特计 VTERM 串行口终端 Electromechanical 电机 Inductors 变压器

Laplace Primitives 拉普拉斯变换 Memory Ics

Microprocessor Ics

Miscellaneous 各种器件 AERIAL—天线;ATAHDD;ATMEGA;BATTERY;CELL;CRYSTAL—晶振;FUSE;METER—仪表;

Modelling Primitives 各种仿真器件 是典型的基本元器模拟,不表示具体型号,只用于仿真,没有PCB

Optoelectronics 各种发光器件 发光二极管,LED,液晶等等 PLDs & FPGAs Resistors 各种电阻

Simulator Primitives 常用的器件 Speakers & Sounders

Switches & Relays 开关,继电器,键盘 Switching Devices 晶阊管

Transistors 晶体管(三极管,场效应管) TTL 74 series TTL 74ALS series TTL 74AS series TTL 74F series TTL 74HC series TTL 74HCT series TTL 74LS series TTL 74S series

Analog Ics 模拟电路集成芯片 Capacitors 电容集合 CMOS 4000 series

Connectors 排座,排插 Data Converters ADC,DAC Debugging Tools 调试工具

ECL 10000 Series 各种常用集成电路

60

分分立元件库元件名称及中英对照 AND 与门

ANTENNA 天线 BATTERY 直流电源 BELL 铃,钟

BVC 同轴电缆接插件

BRIDEG 1 整流桥(二极管) BRIDEG 2 整流桥(集成块) BUFFER 缓冲器 BUZZER 蜂鸣器 CAP 电容

CAPACITOR 电容

CAPACITOR POL 有极性电容 CAPVAR 可调电容

CIRCUIT BREAKER 熔断丝 COAX 同轴电缆 CON 插口

CRYSTAL 晶体整荡器 DB 并行插口 DIODE 二极管

DIODE SCHOTTKY 稳压二极管 DIODE VARACTOR 变容二极管 DPY_3-SEG 3段LED DPY_7—SEG 7段LED

DPY_7-SEG_DP 7段LED(带小数点) ELECTRO 电解电容 FUSE 熔断器 INDUCTOR 电感

INDUCTOR IRON 带铁芯电感 INDUCTOR3 可调电感 JFET N N沟道场效应管 JFET P P沟道场效应管 LAMP 灯泡

LAMP NEDN 起辉器 LED 发光二极管 METER 仪表

MICROPHONE 麦克风 MOSFET MOS管

MOTOR AC 交流电机 MOTOR SERVO 伺服电机 NAND 与非门 NOR 或非门 NOT 非门

NPN NPN三极管

61

NPN-PHOTO 感光三极管 OPAMP 运放 OR 或门

PHOTO 感光二极管 PNP 三极管

NPN DAR NPN三极管 PNP DAR PNP三极管 POT 滑线变阻器

PELAY—DPDT 双刀双掷继电器 RES1.2 电阻

RES3。4 可变电阻

RESISTOR BRIDGE ? 桥式电阻 RESPACK ? 电阻 SCR 晶闸管 PLUG ? 插头

PLUG AC FEMALE 三相交流插头SOCKET ? 插座

SOURCE CURRENT 电流源 SOURCE VOLTAGE 电压源 SPEAKER 扬声器 SW ? 开关

SW-DPDY ? 双刀双掷开关 SW-SPST ? 单刀单掷开关 SW—PB 按钮

THERMISTOR 电热调节器 TRANS1 变压器 TRANS2 可调变压器

TRIAC ? 三端双向可控硅 TRIODE ? 三极真空管 VARISTOR 变阻器 ZENER ? 齐纳二极管 DPY_7-SEG_DP 数码管 SW—PB 开关

62

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- dcrkj.com 版权所有 赣ICP备2024042791号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务