您的当前位置:首页正文

PROTEUS--电路设计与虚拟仿真实验指导书

2022-08-20 来源:客趣旅游网


《PROTEUS—电路设计与虚拟仿真》实验指

导书

李兴春 王宏

五邑大学信息学院电子电工实验中心

二00七年 月印刷

1

目录

1 Proteus Design Suit 7 使用指南 ------------------1

2 实验内容 ---------------------------------------------------------21 实验一 晶体管负反馈放大电路虚拟实验 ---------------21 实验二 555定时器功能及应用虚拟实验 ----------------24 实验三 数字钟设计 ------------------------------------------27 实验四 信号发生器设计--------------------------------------35 实验五 直流电机控制模块-----------------------------------41

《PROTEUS—电路设计与虚拟仿真》实验指导书

1 Proteus Design Suit 7 使用指南

1.1 系统要求

Proteus Design Suit 7 可以在以下操作系统中使用:  Windows 2000  Windows Xp  Windows Vista

对于 Proteus VSM(虚拟系统模块)处理器仿真,电脑CPU越快,仿真效果越更好。最低配置为1G处理器,256MB内存,150MB硬盘。 1.2 系统安装

将系统安装盘放入电脑光驱,光盘会自动运行。否则,打开“我的电脑”,找到DVD驱动器,手动运行光盘。按提示一步一步安装就可以了。Proteus 默认安装文件夹如下:

2

C:\\Program Files\\Labcenter Electronics\\Proteus 7 Professional\\ 1.3 进入Proteus ISIS

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

图1-1 启动时的屏幕

1.4 工作界面

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

图1-2 Proteus ISIS 的工作界面

1.5 基本操作 1.5.1 图形编辑窗口

在图形编辑窗口内完成电路原理图的编辑和绘制。为了方便作图坐标系统(CO-ORDINATE SYSTEM)。ISIS 中坐标系统的基本单位是10nm,主要是为了和Proteus ARES 保持一致。但坐标系统的识别(read-out)单位被限制在1th。坐标原点默认在图形编辑区的中间,图形的坐标值能够显示在屏幕的右下角的状态栏中。 5.2 点状栅格(The Dot Grid)与捕捉到栅格(Snapping to a Grid)

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

3

如图1.3 所示。若键入F3 或者通过View 菜单的选中Snap 100th,你会注意到鼠标在图形编辑窗口内移动时,坐标值是以固定的步长100th 变化,这称为捕捉,如果你想要确切地看到捕捉位置,可以使用View 菜单的X-Cursor 命令,选中后将会在捕捉点显示一个小的或大的交叉十字。

图1.3 view菜单示意图

1.5.3 实时捕捉(Real Time Snap)

当鼠标指针指向管脚末端或者导线时,鼠标指针将会捕捉到这些物体,这种功能被称为实时捕捉,该功能可以使你方便的实现导线和管脚的连接。可以通过Tools 菜单的Real Time Snap 命令或者是CTRL+S 切换该功能。可以通过View 菜单的Redraw 命令来刷新显示内容,同时预览窗口中的内容也将被刷新。当执行其它命令导致显示错乱时可以使用该特性恢复显示。 1.5.4 视图的缩放与移动

可以通过如下几种方式:

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

在编辑窗口内移动鼠标,按下SHIFT 键,用鼠标“撞击”边框,这会使显示平移。我们把这称为Shift-Pan。 用鼠标指向编辑窗口并按缩放键或者操作鼠标的滚动键,会以鼠标指针位置为中心重新显示。 1.5.5 预览窗口(The Overview Window)

该窗口通常显示整个电路图的缩略图。在预览窗口上点击鼠标左键,将会有一个矩形蓝绿框标

示出在编辑窗口的中显示的区域。 其他情况下,预览窗口显示将要放置的对象的预览。这种Place Preview 特性在下列情况下被激活:

当一个对象在选择器中被选中; 当使用旋转或镜像按钮时;

当为一个可以设定朝向的对象选择类型图标时(例如:Component icon, Device Pin icon 等等); 当放置对象或者执行其他非以上操作时,place preview 会自动消除。 1.5.6 对象选择器(Object Selector)根据由图标决定的当前状态显示不同的内容

显示对象的类型包括:设备,终端,管脚,图形符号,标注和图形。在某些状态下,对象选择器有一个Pick 切换按钮,点击该按钮可以弹出库元件选取窗口。通过该窗口可以选择元件并置入对象选择器,在今后绘图时使用。 1.5.7 图形编辑的基本操作

4

1)对象放置(Object Placement):

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

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

 如果对象类型是元件、端点、管脚、图形、符号或标记,从选择器里(selector)选择你想要的对象的名字。对于元件、端点、管脚和符号,可能首先需要从库中调出;

 如果对象是有方向的,将会在预览窗口显示出来,你可以通过预览对象方位按钮对对象进行调整;  最后,指向编辑窗口并点击鼠标左键放置对象。 2)选中对象(Tagging an Object)

用鼠标指向对象并点击右键可以选中该对象。该操作选中对象并使其高亮显示,然后可以进行编辑。 选中对象时该对象上的所有连线同时被选中。

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

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

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

如果Wire Auto Router 功能被使能的话,被拖动对象上所有的连线将会重新排布或者'fixed up'。这将花费一定的时间(10 秒左右),尤其在对象有很多连线的情况下,这时鼠标指针将显示为一个沙漏。 如果你误拖动一个对象,所有的连线都变成了一团糟,你可以使用Undo 命令撤消操作恢复原来的状态。 5)拖动对象标签(Dragging an Object Label)

许多类型的对象有一个或多个属性标签附着。例如,每个元件有一个“reference”标签和一个“value”标签。可以很容易地移动这些标签使你的电路图看起来更美观。 移动标签的步骤如下(To move a label):  选中对象;

 用鼠标指向标签,按下鼠标左键;

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

6)调整对象大小(Resizing an Object)

子电路(Sub-circuits)、图表、线、框和圆可以调整大小。当你选中这些对象时,对象周围会出现黑色小方块叫做“手柄”,可以通过拖动这些“手柄”来调整对象的大小。 调整对象大小的步骤如下(To resize an object):

5

 选中对象

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

 用鼠标左键拖动这些“手柄”到新的位置,可以改变对象的大小。在拖动的过程中手柄会消失以便不和对象的显示混叠。

7)调整对象的朝向(Reorienting an Object)

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

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

 用鼠标左键点击Mirror 图标可以使对象按x 轴镜象,用鼠标右键点击Mirror 图标可以使对象按y 轴镜象。 毫无疑问当Rotation and Mirror 图标是红色时,操作他们将会改变某个对象,即便你当前没有看到它,实际上,这中颜色的指示在你想对将要放置的新对象操作时是格外有用的。当图标是红色时,首先取消对象的选择,此时图标会变成兰色,说明现在可以“安全“调整新对象了。 8)编辑对象(Editing an Object)

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

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

 用鼠标左键点击对象;

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

以特定的编辑模式编辑对象的步骤是(To edit an object and access special edit modes:)  指向对象;  使用键盘CTRL+'E';

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

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

 在弹出的对话框中输入元件的名称(part ID)。

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

6

10)编辑单个对象标签的步骤是(To edit a single object label using the mouse:)  选中对象标签;  用鼠标左键点击对象。

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

12)拷贝所有选中的对象(Copying all Tagged Objects) 拷贝一整块电路的方式(To copy a section of circuitry:)  选中需要的对象;

 用鼠标左键点击Copy 图标;

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

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

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

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

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

 用鼠标左键点击Delete 图标。

如果错误删除了对象,可以使用Undo 命令来恢复原状。 15)画线(Wiring Up)

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

16)在两个对象间连线(To connect a wire between two objects)  左击第一个对象连接点;

 如果你想让ISIS 自动定出走线路径,只需左击另一个连接点。另一方面,如果你想自己决定走线路径,只需在想要拐点处点击鼠标左键。一个连接点可以精确的连到一根线。在元件和终端的管脚末端都有连接点。一个圆点从中心出发有四个连接点,可以连四根线。由于一般都希望能连接到现有的线上,ISIS 也将线视作连续的连接点。此外,一个连接点意味着3根线汇于一点,ISIS 提供了一个圆点,避免由于错漏点而引起的混乱。在此过程的任何一个阶段,你都可以按ESC 来放弃画线。

7

17)线路自动路径器(Wire Auto-Router)

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

如果你只是在两个连接点左击,WAR 将选择一个合适的线径。但如果你点了一个连接点,然后点一个或几个非连接点的位置,ISIS 将认为你在手工定线的路径,将会让你点击线的路径的每个角。路径是通过左击另一个连接点来完成的。WAR 可通过使用工具菜单里的WAR 命令来关闭。这功能在你想在两个连接点间直接定出对角线时是很有用的。 18)重复布线(Wire Repeat)

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

图1.4 重布线示意图

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

重复布线完全复制了上一根线的路径。如果上一根线已经是自动重复布线将仍旧自动复制该路径。 另一方面,如果上一根线为手工布线,那么将精确复制用于新的线 19)拖线(Dragging Wires)

尽管线一般使用连接和拖的方法,但也有一些特殊方法可以使用。如果你拖动线的一个角,那该角就随着鼠标指针移动。如果你鼠标指向一个线段的中间或两端,就会出现一个角,然后可以拖动。注意:为了使后者能够工作,线所连的对象不能有标示,否则ISIS 会认为你想拖该对象。也可使用块移动命令来移动线段或线段组。 20)移动线段或线段组(To move a wire segment or a group of segments)

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

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

图1.5 线段组移动图示

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

21)从线中移走节点(To remove a kink from a wire)  选中(Tag)要处理的线;  用鼠标指向节点一角,按下左健;  拖动该角和自身重合(如下图);

8

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

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

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

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

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

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

1.6.1 对象的添加和放置

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

图1-6 添加对象示意图

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

9

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

图1-7 对象放置示意图

放置电源及接地符号

我们会发现许多器件没有Vcc 和GND 引脚,其实他们隐藏了,在使用的时候可以不用加电源。如果需要加电源可以点击工具箱的接线端按钮,这时对象选择器将出现一些接线端,如图1-8所示。在器件选择器里点击GROUND,鼠标移到原理图编辑区,左键点击一下即可放置接地符号;同理也可以把电源符号POWER 放到原理图编辑区。

图1-8 电源与地符号放置示意图

1.6.2 原理图仿真调试 原理图的绘制 1)画导线

Proteus 的智能化可以在你想要画线的时候进行自动检测。当鼠标的指针靠近一个对象的连接点时,跟着鼠标的指针就会出现一个“×”号,鼠标左键点击元器件的连接点,移动鼠标(不用一直按着左键)就会出现粉红色的连接

10

线变成了深绿色。如果你想让软件自动定出线路径,只需左击另一个连接点即可。这就是Proteus 的线路自动路径功能(简称WAR),如果你只是在两个连接点用鼠标左击,WAR 将选择一个合适的线径。WAR 可通过使用工具栏里的“WAR”命令按钮来关闭或打开,也可以在菜单栏的“Tools”下找到这个图标。如果你想自己决定走线路径,只需在想要拐点处点击鼠标左键即可。在此过程的任何时刻,你都可以按ESC 或者点击鼠标的右键来放弃画线。 2)画总线

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

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

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

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

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

11

一般电路的模拟调试

用一个简单的电路来演示如何进行模拟调试。电路如图1-9所示。

图1-9 简单演示电路

设计这个电路的时候需要在“Category(器件种类)”里找到“BATTERY (电池)”、“FUSE(保险丝)”、“LAMP(灯泡)”、“POT— LIN (滑动变阻器)”、“SWITCH(开关)”这几个元器件并添加到对象选择器里。另外我们还需要一个虚拟仪器—— 电流表。点击虚拟仪表按钮,在对象选择器找到“D C-AMMETER(电流表)”,添加到原理图编辑区按照图1.9布置元器件,并连接好。我们在进行模拟之前还需要设置各个对象的属性。选中电源B1,再点击左键,出现了属性对话框。在“Component Reference”后面填上电源的名称;在“Voltage”后面填上电源的电动势的值,这里我们设置为12V。在“Internal Resistance”后面填上内电阻的值0.1Ω。其他元器件的属性设置如下:滑动变阻器的阻值为50Ω;灯泡的电阻是10Ω,额定电压是12V;保险丝的额定电流是1A,内电阻是0.1Ω。点击菜单栏“Debug(调试)”下的按钮或者点击模拟调试按钮的运行按钮,也可以按下快捷键“Ctrl+F12”进入模拟调试状态。把鼠标指针移到开关的●这时出现了一个“+”号,点击一下,就合上了开关,

如果想打开开关,鼠标指针移到●将出现一个“一”号,点击一下就会打开开关。开关合上后我们就发现灯泡已经点亮了,电流表也有了示数。如图1-10所示。

图1-10 在Proteus中编辑的电路原理图

把鼠标指针移到滑动变阻器附近的●●分别点击,使电阻变大或者变小,我们会发现灯泡的亮暗程度发生了变化,电流表的示数也发生了变化。如果电流超过了保险丝的额定电流,保险丝就会熔断。可惜在调试状态下没有修复的命令。我们可以这样修复:按圃按钮停止调试,然后再进入调试状态,保险丝就修复好了。

实验一

实验项目名称:晶体管负反馈放大电路虚拟实验 实验项目性质:综合性

所属课程名称:PROTEUS—电路设计与虚拟仿真 实验计划学时:3

12

一、实验目的

1.加深理解放大电路的工作原理;

2.学习两级阻容耦合放大电路静态工作点的调整方法。 3.学习两级阻容耦合放大电路电压放大倍数的测量。

4.熟悉负反馈放大电路性能指标的测试方法,通过实验加深理解负反馈对放大电路性能的影响。 二、实验内容和要求

运用Proteus软件搭建实验电路;调整静态工作点;观察负反馈对放大倍数的影响;观察负反馈对放大倍数稳定性的影响。熟练掌握Proteus软件的使用;复习相关的理论知识;理解放大电路的工作原理及负反馈电路的作用。 三、实验主要仪器设备和材料 安装Proteus仿真软件的PC机 四、实验方法、步骤及结果测试

1.在Proteus中搭建实验电路,如图1-1所示:

图1-1 实验电路图

2.调整静态工作点

闭合SW1,使放大器处于反馈工作状态。经检查无误后接通电源。调整RV1(记录当前有效值), 使VC1=( 6~7V )、VC2=(6~7V),测量各级静态工作点,填入表1-1中。断开电路测量并记录偏置电阻。

表1-1

待测参数 VC1(V) 测量值

VB1(V) VE1(V) VC2(V) VB2(V) VE2(V) RV1(K) 13

计算值 3.观察负反馈对放大倍数的影响。

从信号源输出Vi频率为1KHz、幅度5mV左右的正弦波(以保证二级放大器的输出波形不失真为准)。输出端不接负载,分别测量电路在无反馈(SW1断开)与有反馈工作时(SW1闭合 )空载下的输出电压Vo,同时用示波器观察输出波形,注意波形是否失真。若失真,减少Vi并计算电路在无反馈与有反馈工作时的电压放大倍数AV,记入表1-2中。

表 1-2

待测参数 工作方式 无反馈 有反馈 Vi(mV) V0(V) Av RL=∞ RL=∞ 4.观察负反馈对放大倍数稳定性的影响。

RL=5.1K,改变电源电压将Ec从12V变到10V。分别测量电路在无反馈与有反馈工作状态时的输出电压,注意波形是否失真,并计算电压放大倍数,稳定度。记入表1-3中。

表 1-3

待测参数 工作方式 EC=12V Vi(mV) V0(V) AV Vi(mV) EC=10V V0(V) AV dAv/Av 无反馈 有反馈 五、实验报告要求

1.整理实验数据,填入表中并按要求进行计算; 2.总结负反馈对放大器性能的影响; 3.提交Proteus设计文件。 六、思考题

1.说明发射极电阻R4、R5、R9及电容C4、C5在电路中的作用? 2.分析该反馈放大电路的反馈类型?

14

实验二

实验项目名称:555多谐振荡器实验 实验项目性质:综合性

所属课程名称:PROTEUS—电路设计与虚拟仿真 实验计划学时:3

一、实验目的

1.了解555型集成时基电路的电路结构、工作原理及其特点; 2. 掌握555型集成时基电路的基本应用; 3.熟悉Proteus软件,电路在此软件环境下的仿真。 二、实验内容和要求

在Proteus下搭建电路,用双踪示波器观测波形,测定频率;用示波器分析电路,观测电路的电压波形,测定波形参数;改变电路参数,测量占空比的变化,值自设,保证从小到大即可。理解掌握有关555定时器的工件原理及其应用; 拟定实验中所需的数据、工具和步骤;如何通过Proteus中示波器观测多谐振荡的输出波形,并进行分析。 三、实验主要仪器设备和材料 安装Proteus仿真软件的PC机; 四、实验方法、步骤及结果测试 1.在Proteus下,按典型电路图接线,用双踪示波器观测波形,测定频率。原理图如1-1所示。 R15.1kRVCC48U1QDC375CV2GNDR25.1kTRTH6ABCC10.01uF1NE555C20.01uFD图 1-1 Proteus下多谐振荡器 2.用示波器分析电路观测Vc,Vo波形,测定波形参数。结果如图1-2所示。 15

图 1-2 多谐振荡器仿真结果

3、改变电路参数,测量占空比的变化,值自设、保证从小到大即可。结果填写在下表中。

电容值 电阻值 时间参数 占空比 五、实验报告要求

1.提交Proteus设计文档; 2.提交利用示波器分析出来的截图; 3.提交测量占空比变化的表格。 六、思考题

1.A1与A2的输出端控制RS触发器状态和放电管开关状态。当输入信号自6脚,即高电平触发输入并超过参考电平2/3VCC时,触发器复位,555的输出端3脚输出低电平?,同时放电开关管的状态? 2.如何用555定时器构成单稳态触发器、施密特触发器等脉冲产生或波形变换电路?

实验三

实验项目名称:数字钟设计 实验项目性质:综合性

所属课程名称:PROTEUS—电路设计与虚拟仿真 实验计划学时:3

一、实验目的

1.学习AT89S52内部定时/计数器的原理及应用 2.了解使用单片机处理复杂逻辑的方法 3.掌握多位数码动态显示的方法

16

二、实验内容和要求

用AT89S52单片机的定时/计数器T0产生一秒的定时时间,作为秒计数时间,当一秒产生时,秒计数加1。

开机时显示00-00-00的时间,开始计时;P1.0控制“秒”的调整,每按一次加1秒;P1.1控制“分”的调整,每按一次加1分;P1.2控制“时”的调整,每按一次加1个小时。计时满23-59-59时,返回00-00-00重新计时。P1.3用作复位键,在计时过程中如果按下复位键,则返回 00-00-00重新计时。 三、实验主要仪器设备和材料 安装Proteus仿真软件的PC机 四、实验方法、步骤及结果测试

1.在Proteus中搭建实验电路,如下图所示:

图1-1 实验电路图

图1-2 控制模块

2.AT89S52内部定时/计数器0的使用方法

AT89S52单片机的内部16位定时/计数器是一个可编程定时/计数器,它既可以工作在13位定时方式,也可以工作在16位定时方式和8位定时方式。只要通过设置特殊功能寄存器TMOD,即可完成。定时/计数器何时工作也是通过TCON特殊功能寄存器来设置的。

在此设计中,选择16位定时工作方式。对于T0来说,系统时钟为12MHz,最大定时也只有65536us,即65.536ms,无法达到我们所需要的1秒的定时,因此,必须通过软件来处理这个问题,假设取T0的最大定时为50ms,即要定时1秒需要经过20次的50ms的定时。对于这20次计数,就可以采用软件的方法来统计了。 设定TMOD=00000001B,即TMOD=01H,设置定时/计数器0工作在方式1

17

下面我们要给T0定时/计数器的TH0,TL0装入预置初值,通过下面的公式可以计算出 TH0=(216-50000)/256 TL0=(216-50000) MOD 256

这样,当定时/计数器0计满50ms时,产生一个中断,我们可以在中断服务程序中,对中断次数加以统计,以实现数字钟的逻辑功能。 3.数字钟工作流程

开始 是 R键按下? 否 显示初始化,设置定时器,定时5毫秒 根据计数值显示时间 否 H键按下? 是 否 M键按是 否 S键按下? 是 秒计数加1 否 到60秒? 是 分计数加1 到60分? 是 小时计数加1 否 到24小时? 是 所有计数值清0 否 4.源程序

S_SET BIT P1.0 ;数字钟秒控制位 M_SET BIT P1.1 ;分钟控制位 H_SET BIT P1.2 ;小时控制位 RESET BIT P1.3 ;复位键 SECOND EQU 30H MINUTE EQU 31H HOUR EQU 32H TCNT EQU 34H ORG 00H SJMP START ORG 0BH LJMP INT_T0

START: MOV DPTR,#TABLE MOV HOUR,#0 ;初始化 MOV MINUTE,#0 MOV SECOND,#0 MOV TCNT,#0 MOV TMOD,#01H MOV TH0,#(65536-50000)/256 ;定时50毫秒 MOV TL0,#(65536-50000)MOD 256 MOV IE,#82H SETB TR0

;**************************************************** ;判断是否有控制键按下,是哪一个键按下

18

A1: LCALL DISPLAY MOV P1,#0FFH JNB S_SET,S1 JNB M_SET,S2 JNB H_SET,S3 JNB RESET,START LJMP A1 S1: LCALL DELAY ;去抖动 JB S_SET,A1 INC SECOND ;秒值加1 LCALL DISPLAY MOV A,SECOND CJNE A,#60,J0 ;判断是否加到60秒 MOV SECOND,#0 LJMP K1 S2: LCALL DELAY JB M_SET,A1 K1: INC MINUTE ;分钟值加1 MOV A,MINUTE CJNE A,#60,J1 ;判断是否加到60分 MOV MINUTE,#0 LJMP K2 S3: LCALL DELAY JB H_SET,A1 K2: INC HOUR ;小时值加1 MOV A,HOUR CJNE A,#24,J2 ;判断是否加到24小时 MOV HOUR,#0 MOV MINUTE,#0 MOV SECOND,#0 LJMP A1

;**************************************************** ;等待按键抬起 J0: JB S_SET,A1 LCALL DISPLAY SJMP J0 J1: JB M_SET,A1 LCALL DISPLAY SJMP J1 J2: JB H_SET,A1 LCALL DISPLAY SJMP J2

;*********************************************** ;定时器中断服务程序,对秒,分钟和小时的计数 INT_T0: MOV TH0,#(65536-50000)/256 MOV TL0,#(65536-50000)MOD 256 INC TCNT MOV A,TCNT CJNE A,#20,RETUNE ;计时1秒 INC SECOND MOV TCNT,#0 MOV A,SECOND CJNE A,#60,RETUNE INC MINUTE MOV SECOND,#0 MOV A,MINUTE CJNE A,#60,RETUNE INC HOUR MOV MINUTE,#0 MOV A,HOUR CJNE A,#24,RETUNE MOV HOUR,#0 MOV MINUTE,#0 MOV SECOND,#0 MOV TCNT,#0

19

RETUNE: RETI

;****************************************** ;显示控制子程序 DISPLAY: MOV A,SECOND ;显示秒 MOV B,#10 DIV AB CLR P3.6 MOVC A,@A+DPTR MOV P0,A LCALL DELAY SETB P3.6 MOV A,B CLR P3.7 MOVC A,@A+DPTR MOV P0,A LCALL DELAY SETB P3.7 CLR P3.5 MOV P0,#40H ;显示分隔符 LCALL DELAY SETB P3.5 MOV A,MINUTE ;显示分钟 MOV B,#10 DIV AB CLR P3.3 MOVC A,@A+DPTR MOV P0,A LCALL DELAY SETB P3.3 MOV A,B CLR P3.4 MOVC A,@A+DPTR MOV P0,A LCALL DELAY SETB P3.4 CLR P3.2 MOV P0,#40H ;显示分隔符 LCALL DELAY SETB P3.2

MOV A,HOUR ;显示小时 MOV B,#10 DIV AB CLR P3.0 MOVC A,@A+DPTR MOV P0,A LCALL DELAY SETB P3.0 MOV A,B CLR P3.1 MOVC A,@A+DPTR MOV P0,A LCALL DELAY SETB P 3.1 RET

TABLE: DB 3FH,06H,5BH,4FH,66H

DB 6DH,7DH,07H,7FH,6FH DELAY: MOV R6,#5 D1: MOV R7,#250 DJNZ R7,$ DJNZ R6,D1

RET END

五、实验报告要求

20

1.提交Proteus设计文档; 六、思考题

1.多位数码是如何动态显示的?

2. AT89S52单片机的内部16位定时/计数器是一个可编程定时/计数器,它既可以工作在13位定时方式,也可以工作在16位定时方式和8位定时方式,如何设置他的工作方式及其工作起始点?

实验四

实验项目名称:信号发生器设计 实验项目性质:综合性

所属课程名称:PROTEUS—电路设计与虚拟仿真 实验计划学时:3

一、实验目的

1.掌握并行D/A转换器DAC0808的原理及其外围电路的设计方法; 2.掌握利用单片机产生常用波形的方法; 3.进一步熟悉单片机人机接口的设计方法。 二、实验内容和要求

利用AT89S52单片机产生方波、锯齿波、三角波及正弦波,要求频率可调,幅度可调,并可以在不同的波形之间任意切换;利用AT89S52单片机、DAC0808设计信号发生器,要求能够产生固定频率、固定幅度的方波、锯齿波和三角波。

三、实验主要仪器设备和材料 安装Proteus仿真软件的PC机 四、实验方法、步骤及结果测试

21

1.在Proteus中搭建实验电路,如图1-1、1-2所示:

图1-1 D/A转换电路

图1-2 单片机控制及指示电路

2.信号的产生

利用8位D/A转换器DAC0808,可以将8位数字量转换成模拟量输出。数字量输入的范围为0—255之间,对应的

模拟量输出的范围在VREF-到VREF+之

间。根据这一特性,我们可以利用单机的并行口输出的数字

量,产生常用的波形。例如,要产生幅度为0—5V的锯齿波,只要将DAC0808的VREF-接地,VREF+接+5V,单片机的并行口首先输出00H,再输出01H、02H,直到输出FFH,再输出00H,依此循环,这样在图1-1所示的Vout端就可以看到在0到5V之间变化的锯齿波。 3.信号幅度控制

如上所述,DAC0808的模拟量输出范围为VREF-到VREF+之间,也就是说,当数字量输入为00H时,DAC0808的输出为VREF-,当输入为FFH时,DAC0808的输出为VREF+。所以,为了调节输出波形的幅度,只要调节VREF即可。如图1-1所示,在VREF+端串接一电位器,调节VREF的电压,即可达到调节波形幅度的目的。 4.信号频率控制

仍以锯齿波为例,若要调节信号的频率,只需在单片机输出的两个数据之间加入一定的延时即可。如图1-2所示,在单片机的P0口输出一个数字量后,读取8位DIP开关DSW2的状态,将开关状态转换为8位二进制数,作为延时常数。这样,在程序运行过程中,用DIP开关DSW2输入八位二进制数,即可调整输入信号的频率。 5.波形切换

如图1-2所示,利用4位DIP开关DSW1来选择波形,并通过四个LED进行指示。

22

源程序

ORG 00H

SQU_K BIT P3.4 SAW_K BIT P3.5 TRI_K BIT P3.6 SIN_K BIT P3.7

SQU_L BIT P1.0 SAW_L BIT P1.1 TRI_L BIT P1.2 SIN_L BIT P1.3

START: MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV DPTR,#SIN_TAB

MAIN: MOV P0,#00H JNB SQU_K,S1 SETB SQU_L JNB SAW_K,S2 SETB SAW_L JNB TRI_K,S3 SETB TRI_L JNB SIN_K,S4 SETB SIN_L SJMP MAIN

S1: CLR SQU_L LCALL SQUARE SJMP MAIN S2: CLR SAW_L LCALL SAWTOOTH SJMP MAIN S3: CLR TRI_L LCALL TRIANG SJMP MAIN S4: CLR SIN_L LCALL SINWAVE SJMP MAIN

SQUARE: MOV R0,#00H J11: MOV P0,#0FFH MOV P2,#0FFH MOV A,P2 CPL A MOV R3,A L11: DEC R3 CJNE R3,#255,L11 INC R0 INC R0 CJNE R0,#254,J11 MOV R0,#00H J12: MOV P0,#00H MOV P2,#0FFH MOV A,P2 CPL A MOV R3,A L12: DEC R3 CJNE R3,#255,L12 INC R0 INC R0 CJNE R0,#254,J12 MOV R0,#00H RET

23

6.

SAWTOOTH: CLR A MOV R7,A J21: MOV P0,R7 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,A L21: DEC R3 CJNE R3,#255,L21 INC R7 CJNE R7,#255,J21 RET

TRIANG: MOV R7,#00H J31: MOV P0,R7 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,A L31: DEC R3 CJNE R3,#255,L31 INC R7 INC R7 CJNE R7,#254,J31 J32: MOV P0,R7 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,A L32: DEC R3 CJNE R3,#255,L32 DEC R7 DEC R7 CJNE R7,#00,J32 RET

SINWAVE:

MOV R0,#00H

K41: MOV A,R0 MOVC A,@A+DPTR MOV P0,A INC R0 MOV P2,#0FFH MOV A,P2 CPL A MOV R3,A L41: DEC R3 CJNE R3,#255,L41 CJNE R0,#92,K41 K42: DEC R0 MOV A,R0 MOVC A,@A+DPTR MOV P0,A MOV P2,#0FFH MOV A,P2 CPL A MOV R3,A L42: DEC R3 CJNE R3,#255,L42 CJNE R0,#0,K42 RET

SIN_TAB: DB 0,0,0,0 DB 1,1,2,3,4,5,6,8 DB 9,11,13,15,17,19,22,24

24

DB 27,30,33,36,39,42,46,49 DB 53,56,60,64,68,72,76,80 DB 84,88,92,97,101,105,110,114 DB 119,123,128,132,136,141,145,150 DB 154,158,163,167,171,175,179,183 DB 187,191,195,199,202,206,209,213 DB 216,219,222,225,228,231,233,236 DB 238,240,242,244,246,247,249,250 DB 251,252,253,254,254,255,255,255 END

五、实验报告要求

1.提交Proteus设计文件。 2.根据源程序,画出程序流程图 六、思考题

1.若改用AT89C51单片机设计本实验,请给出实验原理图;

2.用AT89C51单片机定时/计数器0的定时功能,设计一简单的方波发生器,实现周期为

实验五

实验项目名称:直流电机控制模块 实验项目性质:综合性

所属课程名称:PROTEUS—电路设计与虚拟仿真 实验计划学时:3

一、实验目的

1.掌握ADC0831串行A/D转换器的使用方法

2.掌握利用AT89S52单片机产生占空比可调的PWM波形的方法 3.了解直流电机驱动电路的设计方法

25

400us的方波输出。 二、实验内容和要求

利用AT89S52单片机对直流电机进行转速、旋转方向控制。用一单刀双掷开关控制直流电机的旋转方向,用电位器通过ADC0831控制转速。用AT89C51单片机输出占空比固定的PWM波,通过驱动电路使直流电机按固定方向旋转. 三、实验主要仪器设备和材料 安装Proteus仿真软件的PC机 四、实验方法、步骤及结果测试

1.在Proteus中搭建实验电路,如图1-1所示:

图1-1 直流电机驱动电路

如图1-1所示,当DIR端输入为高电平时,Q4和Q2导通,Q1和Q3判断,此时图中电机左端为低电平,当PWM端输入低电平时,Q6和Q8关断,Q5和Q7导通,电流从Q5流向Q2,电机正转,而PWM端输入高电平时,Q6和Q8导通,Q5和Q7关断,没有电流通过电机;当DIR端输入低电平时,Q4和Q2关断,Q3和Q1导通,当PWM端为高电平时,Q8和Q6导通,Q5和Q7关断,电流从Q1流向Q6,电机反转,若PWM端为低电平,则Q8和Q5关断,没有电流通过电机。

单片机的P3.2口接一单刀双掷开关,当开关输入高电平时,单片机的DIR端(P3.6)输出高电平,控制电机正转;开关输入低电平时,单片机的DIR端输出低电平,控制电机反转。 2.电机转速控制

图1-2 电机转速控制电路

如图1-2所示,用一个电位器作为ADC0831的模拟量输入,最大输入电压及参考电压均为5V,数字量输出范围为026

平,延时常数为Dout,这样,通过改变模拟输入电压的大小,就可以改变单片机PWM输出的占空比,从而达到调节电机转速的目的。

单片机的P3.2口接一单刀双掷开关SW1,在程序运行时查询开关所选通的电平,从而决定电机的旋转方向(通过DIR端控制)。

3.ADC0831

本设计中所用到的ADC0831为8位串行逐次逼近式A/D转换器,其引脚结构如图1-3所示:

图1-3 ADC0831引脚结构图

图中,CS为片选信号输入端,VIN(+)和VIN(-)为差分输入端,VREF为参考电压输入端,DO为A/D转换数据输出端,CLK为时钟信号输入端。ADC0831的工作时序如图1-4所示:

ADC0831的工作过程如下:

首先,将ADC0831的时钟线拉低,再将片选端CS置低,启动AD转换。接下来在第一个时钟信号的下降沿到来时,ADC0831的数据输出端被拉低,准备输出转换数据。从时钟信号的第2个下降沿到来开始,ADC0831开始输出转换数据,直到第9个下降沿为止,共8位,输出的顺序为从最高位到最低位。 4.源程序

CS BIT P2.0

CLK BIT P2.4 DO BIT P2.5 AD_TMP EQU 30H PWM BIT P3.7 SW BIT P3.2 DIR BIT P3.6 ORG 00H

MAIN: LCALL AD_CONV SETB SW JB SW,POS AJMP NEG POS: SETB DIR SETB PWM MOV A,AD_TMP LCALL DELAY CLR PWM

;PWM输出位 ;开关状态位 ;方向控制位

;判断开关状态 ;开关位为1,则正转 ;开关位为0,则反转

;PWM输出,正转

27

MOV A,#255 SUBB A,AD_TMP LCALL DELAY SJMP MAIN NEG: CLR DIR CLR PWM ;PWM输出,反转 MOV A,AD_TMP LCALL DELAY SETB PWM MOV A,#255 SUBB A,AD_TMP LCALL DELAY SJMP MAIN

;******************************************************** ;AD转换子程序,转换值存放在AD_TMP中 ;转换值范围为0-255之间

;******************************************************** AD_CONV: SETB CS CLR CLK NOP NOP CLR CS NOP NOP SETB CLK NOP NOP CLR CLK ;片选信号有效,启动ADC0831 NOP NOP SETB CLK NOP NOP CLR CLK ;开始转换 NOP NOP SETB CLK NOP MOV R0,#08H AD_READ: CLR CLK ;下降沿,串行数据移出一位 MOV C,DO ;读取DO端数据 RLC A SETB CLK NOP NOP DJNZ R0,AD_READ SETB CS ;数据读完,片选置高,结束一次转换 MOV AD_TMP,A ;转换结果写入AD_TMP RET

;******************************************************* ;延时子程序

;根据AD转换的结果,确定延时常数

;******************************************************* DELAY: MOV R6,#5 D1: DJNZ R6,D1 DJNZ ACC,D1 RET

;******************************************************* END

五、实验报告要求

1.提交Proteus设计文件; 2.根据源程序,画出程序流程图。 六、思考题

28

1.分析ADC0831的工作时序;

2.根据直流电机控制模块,思考下:如何设计异步电机控制模块?并给出响应的程序流程图。

29

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