基于8051+PROTEUS仿真100实例

基于8051+PROTEUS仿真100实例
基于8051+PROTEUS仿真100实例

《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例

第01 篇基础程序设计

01 闪烁的LED

/* 名称:闪烁的LED

说明:LED按设定的时间间隔闪烁

*/

#include

#define uchar unsigned char

#define uint unsigned int

sbit LED=P1^0;

//延时

void DelayMS(uint x)

{

uchar i;

while(x--)

{

for(i=0;i<120;i++);

}

}

//主程序

void main()

{

while(1)

{

LED=~LED;

DelayMS(150);

}

}

02 从左到右的流水灯

/* 名称:从左到右的流水灯

说明:接在P0口的8个LED

从左到右循环依次点亮,产生走

马灯效果

*/

#include

#include

#define uchar unsigned char

#define uint unsigned int

//延时

void DelayMS(uint x)

{

uchar i;

while(x--)

{

for(i=0;i<120;i++);

}

}

//主程序

void main()

{

P0=0xfe;

while(1)

{

P0=_crol_(P0,1); //P0的值向左循环移动

DelayMS(150);

}

}

03 8只LED左右来回点亮

/* 名称:8只LED左右来回点亮

说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/

#include

#include

#define uchar unsigned char

#define uint unsigned int

//延时

void DelayMS(uint x)

{

uchar i;

while(x--)

{

for(i=0;i<120;i++);

}

}

//主程序

void main()

{

uchar i;

P2=0x01;

while(1)

{

for(i=0;i<7;i++)

{

P2=_crol_(P2,1); //P2的值向左循环移动

DelayMS(150);

}

for(i=0;i<7;i++)

{

P2=_cror_(P2,1); //P2的值向右循环移动

DelayMS(150);

}

}

}

04 花样流水灯

/* 名称:花样流水灯

说明:16只LED分两组

按预设的多种花样变换显示

*/

#include

#define uchar unsigned char

#define uint unsigned int

uchar code Pattern_P0[]=

{

0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,

0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,

0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,

0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe, 0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff

};

uchar code Pattern_P2[]=

{

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf9,0xf3,0xe7,0xcf,0x9f,0x3f,0xff,

0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xff,0xe7,0xc3,0x81,0x00,0x81,0xc3,0xe7,0xff, 0xaa,0x55,0x18,0xff,0xf0,0x0f,0x00,0xff,0xf8,0xf1,0xe3,0xc7,0x8f,0x1f,0x3f,0x7f,

0x7f,0x3f,0x1f,0x8f,0xc7,0xe3,0xf1,0xf8,0xff,0x00,0x00,0xff,0xff,0x0f,0xf0,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,

0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,

0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff

};

//延时

void DelayMS(uint x)

{

uchar i;

while(x--)

{

for(i=0;i<120;i++);

}

}

//主程序

void main()

{

uchar i;

while(1)

{ //从数组中读取数据送至P0和P2口显示

for(i=0;i<136;i++)

{

P0=Pattern_P0[i];

P2=Pattern_P2[i];

DelayMS(100);

}

}

}

05 LED模拟交通灯

/* 名称:LED模拟交通灯

说明:东西向绿灯亮若干秒,黄

灯闪烁5次后红灯亮,红灯亮后,南

北向由红灯变为绿灯,若干秒后南北

向黄灯闪烁5此后变红灯,东西向变

绿灯,如此重复。

*/

#include

#define uchar unsigned char

#define uint unsigned int

sbit RED_A=P0^0; //东西向灯

sbit YELLOW_A=P0^1;

sbit GREEN_A=P0^2;

sbit RED_B=P0^3; //南北向灯

sbit YELLOW_B=P0^4;

sbit GREEN_B=P0^5;

uchar Flash_Count=0,Operation_Type=1; //闪烁次数,操作类型变量

//延时

void DelayMS(uint x)

{

uchar i;

while(x--) for(i=0;i<120;i++);

}

//交通灯切换

void Traffic_Light()

{

switch(Operation_Type)

{

case 1: //东西向绿灯与南北向红灯亮

RED_A=1;YELLOW_A=1;GREEN_A=0;

RED_B=0;YELLOW_B=1;GREEN_B=1;

DelayMS(2000);

Operation_Type=2;

break;

case 2: //东西向黄灯闪烁,绿灯关闭

DelayMS(300);

YELLOW_A=~YELLOW_A;GREEN_A=1;

if(++Flash_Count!=10) return; //闪烁5次

Flash_Count=0;

Operation_Type=3;

break;

case 3: //东西向红灯,南北向绿灯亮

RED_A=0;YELLOW_A=1;GREEN_A=1;

RED_B=1;YELLOW_B=1;GREEN_B=0;

DelayMS(2000);

Operation_Type=4;

break;

case 4: //南北向黄灯闪烁5次

DelayMS(300);

YELLOW_B=~YELLOW_B;GREEN_B=1;

if(++Flash_Count!=10) return;

Flash_Count=0;

Operation_Type=1;

}

}

//主程序

void main()

{

while(1) Traffic_Light();

}

06 单只数码管循环显示0~9

现代信号处理Matlab仿真——例611

例6.11 利用卡尔曼滤波估计一个未知常数 题目: 设已知一个未知常数x 的噪声观测集合,已知噪声v(n)的均值为零, 方差为 ,v(n)与x 不相关,试用卡尔曼滤波估计该常数 题目分析: 回忆Kalman 递推估计公式 由于已知x 为一常数,即不随时间n 变化,因此可以得到: 状态方程: x(n)=x(n-1) 观测方程: y(n)=x(n)+v(n) 得到A(n)=1,C(n)=1, , 将A(n)=1,代入迭代公式 得到:P(n|n-1)=P(n-1|n-1) 用P(n-1)来表示P(n|n-1)和P(n-1|n-1),这是卡尔曼增益表达式变为 从而 2v σ1??(|1)(1)(1|1)(|1)(1)(1|1)(1)()()(|1)()[()(|1)()()]???(|)(|1)()[()()(|1)](|)[()()](|1)H w H H v x n n A n x n n P n n A n P n n A n Q n K n P n n C n C n P n n C n Q n x n n x n n K n y n C n x n n P n n I K n C n P n n --=----=----+=--+=-+--=--2()v v Q n σ=()0w Q n =(|1)(1)(1|1)(1)()H w P n n A n P n n A n Q n -=----+21 ()(|1)[(|1)]v K n P n n P n n σ-=--+22(1)()[1()](1)(1)v v P n P n K n P n P n σσ-=--=-+

控制系统仿真试题参考2解析

频率特性类题目 1 一个系统的开环传递函数为 ,试绘制其当K=5、30时系统的开环频率特性Nyquist 图,并判断系统的稳定性。 2系统开环传递函数为 ,建立其零极点增益模型, 然后分别绘制当K=5、K=30时系统的开环频率特性Bode 图,并判断系统的稳定性。 3 系统开环传递函数为 ,计算K=5和K=30时系统的幅值裕度与相位裕度。 4 已知某系统的闭环传递函数()s Φ如下,试用roots ()命令来判断系统的稳定性。 25432 325 ()24576 s s s s s s s s ++Φ=+++++ 5 某单位负反馈系统的开环控制系统的传递函数为 2k (0.80.64) ()(0.05)(5)(40) K s s G s s s s s ++=+++ (1)绘制系统的根轨迹; (2)当10K =时,绘制系统的Bode 图,判断系统的稳定性,并且求出幅值裕度和相角裕度。 6 已知系统的状态空间模型如下: ???=11x ???-31x + ?? ????01u [1=y ]1x (1)绘制系统的Bode 图和nyquist 图; (2)求系统的幅值裕度和相位裕度; 7 已知单位负反馈系统的开环传递函数为 ) 1(1 2 ++s s s ,试绘制系统的单位阶跃响 应、开环Bode 图和Nyquist 曲线,并求系统的幅值裕度和相位裕度。 ) 5.01)(1.01()(s s s k s G ++=) 5.01)(1.01()(s s s k s G ++=) 5.01)(1.01()(s s s k s G ++=

8 用筛选法求某自然数范围内的全部素数。素数是大于1,且除了1和它本身以外,不能被其他任何整数所整除的整数。用筛选法求素数的基本思想是:要找出2~m 之间的全部素数,首先在2~m 中划去2的倍数(不包括2),然后划去3的倍数(不包括3),由于4已被划去,再找5的倍数 (不包括5),…,直到再划去不超过的数的倍数,剩下的数都是素数。 9 已知 ∑ =-=n k k y 11 21 ,当n=100时,求y 的值。 10 利用for 循环计算1!+2!+3!+….. +20!的值。 11 用while 循环来实现求1+2+……+100的值。 12 编一函数计算以下分段函数值。 2 32(0)21 (01)321(1)x x x x x x x

控制系统仿真课程设计报告.

控制系统仿真课程设计 (2011级) 题目控制系统仿真课程设计学院自动化 专业自动化 班级 学号 学生姓名 指导教师王永忠/刘伟峰 完成日期2014年6月

控制系统仿真课程设计一 ———交流异步电机动态仿真 一 设计目的 1.了解交流异步电机的原理,组成及各主要单元部件的原理。 2. 设计交流异步电机动态结构系统; 3.掌握交流异步电机调速系统的调试步骤,方法及参数的整定。 二 设计及Matlab 仿真过程 异步电机工作在额定电压和额定频率下,仿真异步电机在空载启动和加载过程中的转速和电流变化过程。仿真电动机参数如下: 1.85, 2.658,0.2941,0.2898,0.2838s r s r m R R L H L H L H =Ω=Ω===, 20.1284Nm s ,2,380,50Hz p N N J n U V f =?===,此外,中间需要计算的参数如下: 21m s r L L L σ=-,r r r L T R =,22 2 s r r m t r R L R L R L +=,10N m TL =?。αβ坐标系状态方程: 其中,状态变量: 输入变量: 电磁转矩: 2p m p s r s L r d ()d n L n i i T t JL J βααωψψβ=--r m r r s r r d 1d L i t T T ααβαψψωψ=--+r m r r s r r d 1d L i t T T ββαβψψωψ=-++22s s r r m m m s r r s s 2r r r r d d i R L R L L L L i u t L T L L ααβαα σψωψ+=+-+22 s s r r m m m s r r s s 2 r r r r d d i R L R L L L L i u t L T L L ββαββ σψωψ+=--+[ ] T r r s s X i i αβαβωψψ=[ ] T s s L U u u T αβ=()p m e s s s s r n L T i i L βααβ ψψ=-

Proteus仿真单片机实例

引言 单片机体积小,重量轻,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。以单片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。在嵌入式系统的中,开发板成本高,特别是对于大量的初学者而言,还可能由于设计的错误导致开发板损坏。利用Proteus我们可以很好地解决这个问题,由此我们可以快速地建立一个仿真系统。 2.Proteus介绍 Proteus是英国Labcenter Electro-nics公司开发的一款电路仿真软件,软件由两部分组成:一部分是智能原理图输入系统ISIS(Intelligent Schematic Input System)和虚拟系统模型VSM(Virtual Model System);另一部分是高级布线及编辑软件ARES(Adv-Ancd Routing And Editing Software)也就是PCB. 2.1 Proteus VSM的仿真 Proteus可以仿真模拟电路及数字电路,也可以仿真模拟数字混合电路。 Proteus可提供30多种元件库,超过8000种模拟、数字元器件。可以按照设计的要求选择不同生产厂家的元器件。此外,对于元器件库中没有的元件,设计者也可以通过软件自己创建。 除拥有丰富的元器件外,Proteus还提供了各种虚拟仪器,如常用的电流表,电压表,示波器,计数/定时/频率计,SPI调试器等虚拟终端。支持图形化的分析功能等。 Proteus特别适合对嵌入式系统进行软硬件协同设计与仿真,其最大的特点是可以仿真8051,PIA,A VR,ARM等多种系列的处理器。Protues包含强大的调试工具,具有对寄存器和存储器、断点和单步模式IAR C-SPY,Keil、MPLAB等开发工具的源程序进行调试的功能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化进行仿真。 2.2 Proteus PCB Proteus 的PCB设计除了有自动布线仿真功能外,还集成了PCB设计,支持多达16个布线层,可以任意角度放置元件和焊接连线;集成了高智能的布线算法,可以方便地进行PCB设计。 3. 基于Protesus的简单数据采集系统。 3.1 软件的编写 本例题采用可调电阻调节电压值作为模拟信号的输入量,通过A/D转换芯片AD0808把模拟信号转换为数字量传送到单片机的P1口,并在P0口把转换的结果显示出来。 软件的编写可以在Keil C51 环境下进行,芯片的型号选择AT89C51,编写data.c文件,利用Keil C51进行编译,编译成功后生成data.hex文件。 3.2 绘制电路图 运行Proteus的ISIS,进入仿真软件的主界面,如图1所示。主界面分为菜单栏,工具栏,模型显示窗口,模型选择区,元件列表区等。

Matlab仿真实例-卫星轨迹

卫星轨迹 一.问题提出 设卫星在空中运行的运动方程为: 其中是k 重力系数(k=401408km3/s)。卫星轨道采用极坐标表示,通过仿真,研究发射速度对卫星轨道的影响。实验将作出卫星在地球表面(r=6400KM ,θ=0)分别以v=8KM/s,v=10KM/s,v=12KM/s 发射时,卫星绕地球运行的轨迹。 二.问题分析 1.卫星运动方程一个二阶微分方程组,应用Matlab 的常微分方程求解命令ode45求解时,首先需要将二阶微分方程组转换成一阶微分方程组。若设,则有: 2.建立极坐标如上图所示,初值分别为:卫星径向初始位置,即地球半径:y(1,1)=6400;卫星初始角度位置:y(2,1)=0;卫星初始径向线速度:y(3,1)=0;卫星初始周向角速度:y(4,1)=v/6400。 3.将上述一阶微分方程及其初值带入常微分方程求解命令ode45求解,可得到一定时间间隔的卫星的径向坐标值y(1)向量;周向角度坐标值y(2)向量;径向线速度y(3)向量;周向角速度y(4)向量。 4.通过以上步骤所求得的是极坐标下的解,若需要在直角坐标系下绘制卫星的运动轨迹,还需要进行坐标变换,将径向坐标值y(1)向量;周向角度坐标值y(2)向量通过以下方程转换为直角坐标下的横纵坐标值X,Y 。 5.卫星发射速度速度的不同将导致卫星的运动轨迹不同,实验将绘制卫星分别以v=8KM/s ,v=10KM/s ,v=12KM/s 的初速度发射的运动轨迹。 三.Matlab 程序及注释 1.主程序 v=input('请输入卫星发射速度单位Km/s :\nv=');%卫星发射速度输入。 axis([-264007000-1000042400]);%定制图形输出坐标范围。 %为了直观表达卫星轨迹,以下语句将绘制三维地球。 [x1,y1,z1]=sphere(15);%绘制单位球。 x1=x1*6400;y1=y1*6400;???????-=+-=dt d dt dr r dt d dt d r r k dt r d θ θθ2)(2 22222θ==)2(,)1(y r y ?????????????**-=**+*-===)1(/)4()3(2)4()4()4()1()1()1()3()4()2() 3()1(y y y dt dy y y y y y k dt dy y dt dy y dt dy ???*=*=)] 2(sin[)1(Y )]2(cos[)1(X y y y y

控制系统仿真期末考试题及答案

《自动控制系统计算机仿真》习题参考答案 1-1什么是仿真?它的主要优点是什么?它所遵循的基本康JM是什么? 答:所谓仿耳,畝是使用其它相似的系统来樓仿曳实的需要研究的系统.计算机仿真是指以数字计算机为主要工具,编写并且运行反映真实系统运行状况的程序.对计算机■出的信息进行分析和研究,从而对实际系统运行状杏和演化规律进行編合评估与预测.它是非的设计自动控制系统或甘评价系统性能和功能的一种技术手段. 仿真的主要优点是,方便快捷、成本低巌、工作效車和计算II度都很高.它所遵循的基本原则是相似性原理. 1-2你认为计算机仿真的发展方向是什么? 各;向模型更加准确的方向发展,向虐拟现实技术,以及高技术智能化、一体化方向发尺.向更加广■的时空发展. 1-3计算机敷字仿真包括■些要素?它们的关系如何? 答,计算机仿真的三要素是:系一丸的对象、模一系统的抽象、计算机一真的工具和手段.它<1的关系是相互依存. 2-1控制算法的步长应该如何选择? ?:控制算法步长的选择应该怡当.如果步长太小,就会增加迭代次数,增加计算量;如果步长太大,计算碳養将显著堆加,甚至造成计算结杲失真. 2-2通常控制系统的建模有■几种方法? 4t. i\ *?、1、绘厶 2-2通常控制系统的建模有■几种方法? I)机理建模法,2)实鲨麓模法;3)综合建模法. 2-3用欧拉法求以下系统的■出响应)?(/)在0W/W1上"0.1时的效值解? y + y = 0, y(0) = 0.8 解,输入以下语句 dt=0. 1; X set step y=0.8; % set initial value for 1=1:10; 尸y-y拿dt; yl (i+l)=y; end t=0:0. 1:1; yl (1)=0. 8; plot (t,yl)

实验七-对汽车控制系统的设计与仿真

实验七 对汽车控制系统的设计与仿真 一、实验目的: 通过实验对一个汽车运动控制系统进行实际设计与仿真,掌握控制系统性能的分析和仿真处理过程,熟悉用Matlab 和Simulink 进行系统仿真的基本方法。 二、实验学时:4 个人计算机,Matlab 软件。 三、实验原理: 本实验是对一个汽车运动控制系统进行实际设计与仿真,其方法是先对汽车运动控制系统进行建摸,然后对其进行PID 控制器的设计,建立了汽车运动控制系统的模型后,可采用Matlab 和Simulink 对控制系统进行仿真设计。 注意:设计系统的控制器之前要观察该系统的开环阶跃响应,采用阶跃响应函数step( )来实现,如果系统不能满足所要求达到的设计性能指标,需要加上合适的控制器。然后再按照仿真结果进行PID 控制器参数的调整,使控制器能够满足系统设计所要求达到的性能指标。 1. 问题的描述 如下图所示的汽车运动控制系统,设该系统中汽车车轮的转动惯量可以忽略不计,并且假定汽车受到的摩擦阻力大小与汽车的运动速度成正比,摩擦阻力的方向与汽车运动的方向相反,这样,该汽车运动控制系统可简化为一个简单的质量阻尼系统。 根据牛顿运动定律,质量阻尼系统的动态数学模型可表示为: ? ??==+v y u bv v m & 系统的参数设定为:汽车质量m =1000kg , 比例系数b =50 N ·s/m , 汽车的驱动力u =500 N 。 根据控制系统的设计要求,当汽车的驱动力为500N 时,汽车将在5秒内达到10m/s 的最大速度。由于该系统为简单的运动控制系统,因此将系统设计成10%的最大超调量和2%的稳态误差。这样,该汽车运动控制系统的性能指标可以设定为: 上升时间:t r <5s ; 最大超调量:σ%<10%; 稳态误差:e ssp <2%。 2、系统的模型表示

控制系统仿真课程设计

控制系统仿真课程设计 (2010级) 题目控制系统仿真课程设计学院自动化 专业自动化 班级 学号 学生姓名 指导教师王永忠/刘伟峰 完成日期2013年7月

控制系统仿真课程设计(一) ——锅炉汽包水位三冲量控制系统仿真1.1 设计目的 本课程设计的目的是通过对锅炉水位控制系统的Matlab仿真,掌握过程控制系统设计及仿真的一般方法,深入了解反馈控制、前馈-反馈控制、前馈-串级控制系统的性能及优缺点,实验分析控制系统参数与系统调节性能之间的关系,掌握过程控制系统参数整定的方法。 1.2 设计原理 锅炉汽包水位控制的操作变量是给水流量,目的是使汽包水位维持在给定的范围内。汽包液位过高会影响汽水分离效果,使蒸汽带水过多,若用此蒸汽推动汽轮机,会使汽轮机的喷嘴、叶片结垢,严重时可能使汽轮机发生水冲击而损坏叶片。汽包液位过低,水循环就会被破坏,引起水冷壁管的破裂,严重时会造成干锅,甚至爆炸。 常见的锅炉汽水系统如图1-1所示,锅炉汽包水位受汽包中储水量及水位下汽包容积的影响,而水位下汽包容积与蒸汽负荷、蒸汽压力、炉膛热负荷等有关。影响水位变化的因素主要是锅炉蒸发量(蒸汽流量)和给水流量,锅炉汽包水位控制就是通过调节给水量,使得汽包水位在蒸汽负荷及给水流量变化的情况下能够达到稳定状态。 图1-1 锅炉汽水系统图

在给水流量及蒸汽负荷发生变化时,锅炉汽包水位会发生相应的变化,其分别对应的传递函数如下所示: (1)汽包水位在给水流量作用下的动态特性 汽包和给水可以看做单容无自衡对象,当给水增加时,一方面会使得汽包水位升高,另一方面由于给水温度比汽包内饱和水的温度低,又会使得汽包中气泡减少,导致水位降低,两方面的因素结合,在加上给水系统中省煤器等设备带来延迟,使得汽包水位的变化具有一定的滞后。因此,汽包水位在给水流量作用下,近似于一个积分环节和惯性环节相串联的无自衡系统,系统特性可以表示为 ()111()()(1)K H S G S W S s T s ==+ (1.1) (2)汽包水位在蒸汽流量扰动下的动态特性 在给水流量及炉膛热负荷不变的情况下,当蒸汽流量突然增加时,瞬间会导致汽包压力的降低,使得汽包内水的沸腾突然加剧,水中气泡迅速增加,将整个水位抬高;而当蒸汽流量突然减小时,汽包内压力会瞬间增加,使得水面下汽包的容积变小,出现水位先下降后上升的现象,上述现象称为“虚假水位”。虚假水位在大中型中高压锅炉中比较显著,会严重影响锅炉的安全运行。“虚假水位”现象属于反向特性,变化速度很快,变化幅值与蒸汽量扰动大小成正比,也与压力变化速度成正比,系统特性可以表示为 222()()()1f K K H s G s D s T s s ==-+ (1.2) 常用的锅炉水位控制方法有:单冲量控制、双冲量控制及三冲量控制。单冲量方法仅是根据汽包水位来控制进水量,显然无法克服“虚假水位”的影响。而双冲量是将蒸汽流量作为前馈量用于汽包水位的调节,构成前馈-反馈符合控制系统,可以克服“虚假水位”影响。但双冲量控制系统要求调节阀具有好的线性特性,并且不能迅速消除给水压力等扰动的影响。为此,可将给水流量信号引入,构成三冲量调节系统,如图1-2所示。图中LC 表示水位控制器(主回路),FC 表示给水流量控制器(副回路),二者构成一个串级调节系统,在实现锅炉水位控制的同时,可以快速消除给水系统扰动影响;而蒸汽流量作为前馈量用于消除“虚假水位”的影响。

流水灯(电路和汇编)-Proteus和Keil仿真演示实例知识讲解

流水灯(电路和汇编)-P r o t e u s和K e i l仿真演示实例

示例要求: 在80C51单片机的P2口连接8个发光二极管指示灯,编程实现流水灯的控制,轮流点亮指示灯。 在KEIL 51中编程序,形成HEX文件;在PROTEUS中设计硬件,下载HEX文件,运行看结果。 第1篇:PROTEUS电路设计 1、打开PROTEUS的ISIS软件,如图1所示。新建电路图文件,将文件保存到E:\projectio (新建文件夹projectio)下面,文件基本名为io,扩展名默认。 选择元 图1 ISIS窗口图 2、在component mode模式下单击选择元件按钮P,打开元件选择对话框,如图2所示。

图2 元件选择窗口 在元件选择对话框的keywords窗口中输入元件关键字可换搜索元件,找到元件后,双击元件则可选中元件,添加元件到图3的device列表栏。在这里依次添加元件单片机80C51、电阻RES、电容CAP、按键BUTTON、晶振CRYSTAL、发光二极管LED-RED,如图3所示。 图3 添加元件的device列表栏 3、选择devices元件列表中的元件放到工作窗口,注意放置在工作窗口合适的位置,在元件放置时可对元件进行移动、旋转等操作;如图4所示。电源(POWER)与地(GROUND):(右键-放置-终端里选)。

图4 放置元件图4、连接导线,如图5所示。连接后存盘。 图5 连接元件图

5、在Keil软件中设计软件程序,形成HEX文件(具体过程见第2篇Keil软件编程)。保存软件项目到电路文件相同的文件夹E:\projectio下。 6、在PROTEUS电路图中,单击单片机80C51芯片,选中,再次单击打开单片机80C51的属性对话框,在属性对话框中的program file框中选择下载到80C51芯片中的程序。这里是同一个文件夹下面的shili.hex文件。如图6所示。 图6 下载程序到单片机 7、单击仿真运行按钮play,运行程序。可通过LED二极管看到相应的结果。如图7所示。 图7 仿真结果图

MATLAB实现通信系统仿真实例

补充内容:模拟调制系统的MATLAB 仿真 1.抽样定理 为了用实验的手段对连续信号分析,需要先对信号进行抽样(时间上的离散化),把连续数据转变为离散数据分析。抽样(时间离散化)是模拟信号数字化的第一步。 Nyquist 抽样定律:要无失真地恢复出抽样前的信号,要求抽样频率要大于等于两倍基带信号带宽。 抽样定理建立了模拟信号和离散信号之间的关系,在Matlab 中对模拟信号的实验仿真都是通过先抽样,转变成离散信号,然后用该离散信号近似替代原来的模拟信号进行分析的。 【例1】用图形表示DSB 调制波形)4cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%%一般选取的抽样频率要远大于基带信号频率,即抽样时间间隔要尽可能短。 ts=1/fs; %%根据抽样时间间隔进行抽样,并计算出信号和包络 t=(0:ts:pi/2)';%抽样时间间隔要足够小,要满足抽样定理。 envelop=cos(2*pi*t);%%DSB 信号包络 y=cos(2*pi*t).*cos(4*pi*t);%已调信号 %画出已调信号包络线 plot(t,envelop,'r:','LineWidth',3); hold on plot(t,-envelop,'r:','LineWidth',3); %画出已调信号波形 plot(t,y,'b','LineWidth',3); axis([0,pi/2,-1,1])% hold off% xlabel('t'); %写出图例 【例2】用图形表示DSB 调制波形)6cos()2cos(t t y ππ= 及其包络线。 clf %%计算抽样时间间隔 fh=1;%%调制信号带宽(Hz) fs=100*fh;%抽样时间间隔要足够小,要满足抽样定理。 ts=1/fs; %%根据抽样时间间隔进行抽样

控制系统设计与仿真实验报告

阅读使人充实,会谈使人敏捷,写作使人精确。——培根 控制系统设计与仿真上机实验报告 学院:自动化学院 班级:自动化 姓名: 学号: 法拉兹·日·阿卜——学问是异常珍贵的东西,从任何源泉吸收都不可耻。. 阅读使人充实,会谈使人敏捷,写作使人精确。——培根 一、第一次上机任务 1、熟悉matlab软件的运行环境,包括命令窗体,workspace等,熟悉绘图命令。 2、采用四阶龙格库塔法求如下二阶系统的在幅值为1脉宽为1刺激

下响应的数值解。 2?,??n10?0.5,??(s)G n22?????2ss nn3、采用四阶龙格库塔法求高阶系统阶单位跃响应曲线的数值解。 2?,,??5T?n100.5,???Gs)( n22???1)?s(?2s)(Ts?nn4、自学OED45指令用法,并求解题2中二阶系统的单位阶跃响应。 程序代码如下: 法拉兹·日·阿卜——学问是异常珍贵的东西,从任何源泉吸收都不可耻。. 阅读使人充实,会谈使人敏捷,写作使人精确。——培根

;曲线如下: 法拉兹·日·阿卜——学问是异常珍贵的东西,从任何源泉吸收都不可耻。.阅读使人充实,会谈使人敏捷,写作使人精确。——培根

法拉兹·日·阿卜——学问是异常珍贵的东西,从任何源泉吸收都不可耻。.阅读使人充实,会谈使人敏捷,写作使人精确。——培根

法拉兹·日·阿卜——学问是异常珍贵的东西,从任何源泉吸收都不可耻。. 阅读使人充实,会谈使人敏捷,写作使人精确。——培根 二、第二次上机任务 试用simulink方法解微分方程,并封装模块,输出为。得到各、1x i 状态变量的时间序列,以及相平面上的吸引子。 ?x?x??xx?3121? ??xx?x???322 ??xx?xx??x??32321参数入口为的值以及的初值。(其中,以及??????x28?10,?8/,,3,?i1模块输入是输出量的微分。)初值分别为提示:0.001xxx?0,?0,?312s:Simulink

[整理版]proteus仿真单片机实例

[整理版]proteus仿真单片机实例 用器和存储器、断点和单步模式Proteus一部分是智能原理图输入系统引言Keil C51 运行可提供单片机体积小Proteus进行编译,编译成功后生成30的多种元件库,超过 ISIS,重量轻,进入仿真软件的主界面,如图等多种系列的处理器。IAR C-SPY,Keil,具有很强的灵活性而且价格便宜,具有逻辑判断,定时计数等多ISIS(Intelligent Schematic Input System)8000data.hex,也可以仿真模拟数字混合电路。种模拟、数字元器件。可以按照设计的要求选择、MPLAB文件。Protues 等开发工具的源程序进行调试的功包含强大的调试工具,具有对寄存1 所示。主界面分为菜单栏,工具3.2 绘制电路图,编写和虚拟系统模型 data.c文件,能;能够观察代码在仿真硬件上的实时运行效果;对显示,按钮,键盘等外设的交互可视化不同生产厂家的元器件。此外,对于元器件库中没有的元件,设计者也可以通过软件自己创VSM(Virtual Model System)利栏,模型显示窗口,模型选择区,元件列表区等。种功能,广泛应用于仪器仪表,家用电器,医用设备的智能化管理和过程控制等领域。以单;另一部分是高级布线及编辑软件 ARES(Adv-Ancd Routing 进行仿真。建。,nd Editing Software) 片机为核心的嵌入式系统已经成为目前电子设计最活跃的领域之一。在嵌入式系统的中,开除拥有丰富的元器件外, 2.2 Proteus PCB 也就是PCB. ProteusProteus 2.1 Proteus VSM还提供了

控制系统数字仿真题库

控制系统数字仿真题库 填空题 1.定义一个系统时,首先要确定系统的;边界确定了系统的范围,边界以外对系统的作用称为系统的,系统对边界以外环境的作用称为系统的。 1.定义一个系统时,首先要确定系统的边界;边界确定了系统的范围,边界以外对系统的作用称为系统的输入,系统对边界以外环境的作用称为系统的输出。 2.系统的三大要素为:、和。 2.系统的三大要素为:实体、属性和活动。 3.人们描述系统的常见术语为:、、和 3.人们描述系统的常见术语为:实体、属性、事件和活动。 4.人们经常把系统分成四类,分别为:、、和 4.人们经常把系统分成四类,它们分别为:连续系统、离散系统、采样数据系统和离散-连续系统。 5、根据系统的属性可以将系统分成两大类:和。 5、根据系统的属性可以将系统分成两大类:工程系统和非工程系统。 6.根据描述方法不同,离散系统可以分为: 和。 6.根据描述方法不同,离散系统可以分为:离散时间系统和离散事件系统。 7. 系统是指相互联系又相互作用的的有机组合。 7. 系统是指相互联系又相互作用的实体的有机组合。 8.根据模型的表达形式,模型可以分为和数学模型二大类,期中数学模型根据数学表达形式的不同可分为二种,分别为:和。8.根据模型的表达形式,模型可以分为物理模型和数学模型二大类,期中数学模型根据数学表达形式的不同可分为二种,分别为:静态模型和动态模型。 9.连续时间集中参数模型的常见形式为有三种,分别为:、和。 9.连续时间集中参数模型的常见形式为有三种,分别为:微分方程、状态方程和传递函数。 10、采用一定比例按照真实系统的样子制作的模型称为,用数学表达式来描述系 统内在规律的模型称为。 10、采用一定比例按照真实系统的样子制作的模型称为物理模型,用数学表达式来描述系统 内在规律的模型称为数学模型。 11.静态模型的数学表达形式一般是方程和逻辑关系表达式等,而动态模型的数学表达形式一般是方程和方程。 11.静态模型的数学表达形式一般是代数方程和逻辑关系表达式等,而动态模型的数

单片机PROTEUS仿真100实例

《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例 第01 篇基础程序设计 01 闪烁的LED /* 名称:闪烁的LED 说明:LED按设定的时间间隔闪烁 */ #include #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { while(1) { LED=~LED; DelayMS(150); } } 02 从左到右的流水灯 /* 名称:从左到右的流水灯 说明:接在P0口的8个LED 从左到右循环依次点亮,产生走 马灯效果 */ #include #include #define uchar unsigned char #define uint unsigned int

//延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { P0=0xfe; while(1) { P0=_crol_(P0,1); //P0的值向左循环移动 DelayMS(150); } } 03 8只LED左右来回点亮 /* 名称:8只LED左右来回点亮 说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/ #include #include #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { uchar i; P2=0x01; while(1) {

MATLAB控制系统仿真试题B卷.doc

广东技术师范学院 2010—2011学年度第 一学期期未考查试卷 科 目:控制系统仿真 (B )卷 考试形式:上机考试 考试时间: 120 分钟 所属学院:自动化学院 班级: 姓名: 学号: 答题注意事项:以下题目请大家在计算机上完成,并将结果写成电子文档上交。电子文档中应包含以下几项内容:仿真程序代码、仿真结果截图、仿真实验结论。 1.设单位负反馈系统的开环传递函数为) 5)(2()(2++= s s s K s G k ,试确定分别使 闭环系统稳定的开环增益的取值范围。(20分) 程序如下: num=1; den=conv([1 2 0 0],[1 5]); G=tf(num,den); k=0:0.05:100; rlocus(G) [K,P]=rlocfind(G) 题 目 一 二 三 四 五 总分 标准分数 20 20 20 20 20 100 实得分数 评卷人 装 订 线 考 生 答 题 不 得 超 过 此 线

Select a point in the graphics window selected_point = 0.0024 + 0.3230i K = 1.0607 P = -4.9857 -2.0838 0.0347 + 0.3176i 0.0347 - 0.3176i 运行结果:

K=1.0607; t=0:0.05:100; G0=feedback(tf(K*num,den),1); step(G0,t)

由上图分析可得,系统的临界稳定增益是1.0607,因此该闭环系统稳定的开环增益的取值范围是0~1.0607,随着增益的增加系统趋于发散统系统 2、试求以下单位负反馈系4 1 )(2++=s s s G k 的单位阶跃响应曲线,并求其动态性能 指标r p s t t t %σ。 num=1; den=[1 1 4]; G=tf(num,den); Gk=feedback(G ,1) figure(1);

MATLAB控制系统与仿真设计

MATLAB控制系统与仿真 课 程 设 计 报 告 院(系):电气与控制工程学院 专业班级:测控技术与仪器1301班 姓名:吴凯 学号:1306070127

指导教师:杨洁昝宏洋 基于MATLAB的PID恒温控制器 本论文以温度控制系统为研究对象设计一个PID控制器。PID控制是迄今为止最通用的控制方法,大多数反馈回路用该方法或其较小的变形来控制。PID控制器(亦称调节器)及其改进型因此成为工业过程控制中最常见的控制器(至今在全世界过程控制中用的84%仍是纯PID调节器,若改进型包含在内则超过90%)。在PID控制器的设计中,参数整定是最为重要的,随着计算机技术的迅速发展,对PID参数的整定大多借助于一些先进的软件,例如目前得到广泛应用的MATLAB仿真系统。本设计就是借助此软件主要运用Relay-feedback法,线上综合法和系统辨识法来研究PID控制器的设计方法,设计一个温控系统的PID控制器,并通过MATLAB中的虚拟示波器观察系统完善后在阶跃信号下的输出波形。 关键词:PID参数整定;PID控制器;MATLAB仿真。 Design of PID Controller based on MATLAB Abstract This paper regards temperature control system as the research object to design a pid controller. Pid control is the most common control method up until now; the great majority feedback loop is controlled by this method or its small deformation. Pid controller (claim regulator also) and its second generation so become the most common controllers in the industry process control (so far, about 84% of the controller being used is the pure pid controller, it’ll exceed 90% if the second generation included). Pid parameter setting is most important in pid controller designing, and with the rapid development of the computer technology, it mostly recurs to some advanced software, for example, mat lab simulation software widely used now. this design is to apply that soft mainly use Relay feedback law and synthetic method on the line to study pid

PROTEUS仿真100实例(完整资料).doc

【最新整理,下载后即可编辑】 《单片机C语言程序设计实训100例—基于8051+Proteus仿真》案例 第01 篇基础程序设计 01 闪烁的LED /* 名称:闪烁的LED 说明:LED按设定的时间 间隔闪烁 */ #include #define uchar unsigned char #define uint unsigned int sbit LED=P1^0; //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { while(1) { LED=~LED; DelayMS(150); }

02 从左到右的流水 灯 /* 名称:从左到右 的流水灯 说明:接在P0口的 8个LED从左到右循环依次点亮,产生走马灯效果*/ #include #include #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { P0=0xfe; while(1) { P0=_crol_(P0,1); //P0的值向左循环移动 DelayMS(150); } }

03 8只LED左右来回点亮 /* 名称:8只LED左右来回点亮 说明:程序利用循环移位函数_crol_和_cror_形成来回滚动的效果*/ #include #include #define uchar unsigned char #define uint unsigned int //延时 void DelayMS(uint x) { uchar i; while(x--) { for(i=0;i<120;i++); } } //主程序 void main() { uchar i; P2=0x01; while(1) { for(i=0;i<7;i++) { P2=_crol_(P2,1); //P2的值向左循环移动 DelayMS(150); }

控制系统仿真实训试题

一、某控制系统结构图如图所示, (1) 试用SIMULINK 建立系统仿真模型,且该系统中K=1保存路径为:E :\lsfz ; (2) 利用所建立的SIMULINK 仿真模型求该系统闭环传递函数及开环传递函数; (3) 求该系统当K=1和K=2时的单位阶跃响应的峰值时间p t 、超调量o o σ 、调节时间s t 和稳态 值)(∞h ,分析系统性能,指出增益K 对系统的影响; (4) 画出该系统的根轨迹,判断使系统稳定的K 的变化范围,求系统临界稳定时根轨迹增益。 (5) 画出系统的BODE 图,求出系统的频域性能指标幅值裕量和相角裕量。 二、已知某控制系统结构如下图, (1)试用MATLAB 命令(编写m 文件),求出系统的开环和闭环传函; (2)画出该系统的根轨迹,判断使系统稳定的K 的变化范围,求系统临界稳定时的增益及根值。 (3) 在K 值的稳定范围内绘制三组不同K 值的系统单位阶跃响应(同一坐标中),比较其峰值时间p t 、超调量o o σ 、调节时间s t 和稳态值)(∞h ,指出增益K 对系统的影响; (4)画出系统的BODE 图,求出系统的频域性能指标幅值裕量和相角裕量。 三、已知某控制系统结构如下图, (1)当K=1和K=2时,试用时域法分析系统的稳定性。 (2)用根轨迹法确定使系统稳定的K 的范围 (3) 当K=1.5时,画出系统的BODE 图,求出系统的频域性能指标幅值裕量和相角裕量。 (4) 当K=1.5时,试用用奈氏稳定判据判断系统的稳定性。

四、单位负反馈系统的开环传递函数为: 3 )1 ( 1 5.1 ) ( + + - = s s s G , (1)求出闭环系统的单位阶跃响应曲线; (2)使用Z-N第一法确定PID控制器的参数Kp、Ti、T d,求出PID控制后的系统单位阶跃响应曲线,与PID校正前进行对比。 五、单位负反馈系统的开环传递函数为: )5 )(1 ( 1 ) ( + + = s s s s G , (1)求出闭环系统的单位阶跃响应曲线; (2)使用Z-N第二法确定PID控制器的参数Kp、Ti、T d,并求出PID控制后的系统单位阶跃响应曲线,与PID校正前进行对比。

复杂过程控制系统设计与Simulink仿真

银河航空航天大学 课程设计 (论文) 题目复杂过程控制系统设计与Simulink仿 真 班级 学号 学生姓名 指导教师

目录 0. 前言 (1) 1. 总体方案设计 (2) 2. 三种系统结构和原理 (3) 2.1 串级控制系统 (3) 2.2 前馈控制系统 (3) 2.3 解耦控制系统 (4) 3. 建立Simulink模型 (5) 3.1 串级 (5) 3.2 前馈 (5) 3.3 解耦 (7) 4. 课设小结及进一步思想 (15) 参考文献 (15) 附录设备清单 (16)

复杂过程控制系统设计与Simulink仿真 姬晓龙银河航空航天大学自动化分校 摘要:本文主要针对串级、前馈、解耦三种复杂过程控制系统进行设计,以此来深化对复杂过程控制系统的理解,体会复杂过程控制系统在工业生产中对提高产品产量、质量和生产效率的重要作用。建立Simulink模型,学习在工业过程中进行系统分析和参数整定的方法,为毕业设计对模型进行仿真分析及过程参数整定做准备。 关键字:串级;前馈;解耦;建模;Simulink。 0.前言 单回路控制系统解决了工业过程自动化中的大量的参数定制控制问题,在大多数情况下这种简单系统能满足生产工艺的要求。但随着现代工业生产过程的发展,对产品的产量、质量,对提高生产效率、降耗节能以及环境保护提出了更高的要求,这便使工业生产过程对操作条件要求更加严格、对工艺参数要求更加苛刻,从而对控制系统的精度和功能要求更高。为此,需要在单回路的基础上,采取其它措施,组成比单回路系统“复杂”一些的控制系统,如串级控制(双闭环控制)、前馈控制大滞后系统控制(补偿控制)、比值控制(特殊的多变量控制)、分程与选择控制(非线性切换控制)、多变量解耦控制(多输入多输出解耦控制)等等。从结构上看,这些控制系统由两个以上的回路构成,相比单回路系统要多一个以上的测量变送器或调节器,以便完成复杂的或特殊的控制任务。这类控制系统就称为“复杂过程控制系统”,以区别于单回路系统这样简单的过程控制系统。 计算机仿真是在计算机上建立仿真模型,模拟实际系统随时间变化的过程。通过对过程仿真的分析,得到被仿真系统的动态特性。过程控制系统计算机仿真,为流程工业控制系统的分析、设计、控制、优化和决策提供了依据。同时作为对先进控制策略的一种检验,仿真研究也是必不可少的步骤。控制系统的计算机仿真是一门涉及到控制理论、计算机数学与计算机技术的综合性学科。控制系统仿真是以控制系统的模型为基础,主要用数学模型代替实际控制系统,以计算机为工具,对控制系统进行实验和研究的一种方法。在进行计算机仿真时,十分耗费时间与精力的是编制与修改仿真程序。随着系统规模的越来越大,先进过程控制的出现,就需要行的功能强大的仿真平台Math Works公司为MATLAB提供了控制系统模型图形输入与仿真工具Simulink,这为过程控制系统设计与参数整定的计算与仿真提供了一个强有力的工具,使过程控制系统的设计与整定发生了革命性的变化。

相关文档
最新文档