proteus指导书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验1:Protues电路分析仿真软件

一.实验目的:

学习Proteus的使用方法

二.实验属性及设备:

验证性实验,使用电脑及相关专业软件。

三.实验原理:

1.概述

Proteus的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,是不可多得的专业的单片机软件仿真系统。

该软件的特点:

①全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。

②具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

③目前支持的单片机类型有:68000系列、8051系列、A VR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

④支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大,可仿真51、A VR、PIC。

2.常用元件汉语解释

四.实验内容:

1.起动Proteus

从开始菜单中,运行程序,如图:

图1:

2.添加所需元件

顺序选择按钮和,在keywords中填写元件名称,在右侧列表中双击该元件,该元件被选中,并出现在左侧选中元件列表中。

图2:

单击选中元件,放置在Proteus作图区,并按要求连线。

3.电源与地

选择图示按钮,列表中出现power为电源,ground为地。选择元件后可放置在绘图区。

图3:

4.示波器应用

如图示操作可获得示波器。示波器地线默认为自动连接。

图4:

5.使用与非门、按键和LED搭建一个电路,并调试运行。

图5

6.单片机控制LED电路

单片机可不用连接晶振和电源(地)复位电路。按图放置元件并连接。

图6:

单击电阻元件,在特性对话框中把电阻值修改为300(默认单位欧)。

图7:

6.使用keil C或wave软件编写汇编或C单片机程序(对灯进行控制练习,使灯按一定规律进行明灭),并生成hex文件。单击单片机,在对话框program file中装入hex程序。

图8:

点击运行、暂停及停止等按钮,运行程序。

7.自己再编写一个练习程序进行上机仿真。

五.实验要求

提前进行预习,掌握一种单片机程序编制方法(wave或keil C)。如果想对proteus有更多了解,应查找相关资料。

8.附录:

常用头文件:#include

常用数据类型:char,int,long int,double等。

IO口定义:sbit P10=P1^0;

IO口输出:P1=jmn;P10=1;

读IO口:kh=P1;thm=P10;

9 keilc使用

新建工程

新建c文件,编写程序

实验2:直流电动机PWM控制Protues仿真1

一.实验目的:

1.学习PWM波生成方法。

2.学习直流电动机PWM控制方法。

二.实验属性及设备:

验证性实验,使用电脑及相关专业软件。

三.实验原理:

1.本实验采用无制动的不可逆PWM控制方法。控制对象为小型直流电动机,采用功率晶体管作为开关器件,如图1所示。

图1:直流电动机控制原理

2.PWM波的产生

图2:PWM波形图

利用单片机一个I/O口产生高低电平。高电平时间T1,低电平时间T2,则PWM波周期为T,如图2所示。

T=T1+T2

PWM波频率为f=1/T。这里使用单片机T0定时器模式1进行定时操作,单片机振荡频率为12MHz。

假定PWM频率为f,则T=1,000,000/f(机器周期)。T1按占空比进行计算:

T1=αT,T2=(1-α)T

则高电平装入时间TT1=65536-T1,低电平装入时间TT2=65536-T2。

3.如果进行加减速操作,则改变PWM波占空比即可。

四、实验内容

1.按图3搭接电路。电动机电源设置为+12V。

图3:直流电动机控制原理

2.编制程序

单片机使用T0定时器,工作方式1。加减速按键使用中断0和中断1进行控制。以下为C语言控制程序。

#include

sbit PWM=P1^0;

unsigned int TT;

unsigned int TT1;

unsigned int TT2;

unsigned char T1H[10];

unsigned char T1L[10];

unsigned char T2H[10];

unsigned char T2L[10];

#define Pinlv 500; //PWM频率

unsigned char sudu=5; //速度变量

——————————————————————————

void main()

{

unsigned char i;

TT=1000000/Pinlv;

for (i=1;i<=9;i++)

{

TT1=((i+0.5)/10)*TT; //占空比分别为1.5;2.5;3.5;4.5;5.5;6.5;7.5;8.5;9.5共9档

TT2=TT-TT1;

TT1=65536-TT1;

TT2=65536-TT2;

T1H[i]=TT1/256; //高电平时定时器装入时间

T1L[i]=TT1%256;

T2H[i]=TT2/256; //低电平时定时器装入时间

T2L[i]=TT2%256;

}

相关文档
最新文档