单片机课程设计------基于89C51单片机的直流电机控制系统设计

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

目录
摘要 (3)
关键词: (3)
1直流电动机 (3)
1.1直流电动机的工作原理 (3)
1.1.1直流电动机的运动特性与优点 (4)
1.2直流串励电动机 (5)
1.2.1串励电动机的特点 (5)
1.3直流他励电动机 (5)
1.3.1他励电动机的特点 (6)
2设计概要 (6)
2.1硬件设计概要 (7)
2.2程序设计流程图 (7)
3硬件设计 (8)
3.1.1电机驱动电路 (8)
3.1.2单片机及控制电路 (10)
3.1.3单片机介绍 (12)
3.1.3.3管脚说明 (14)
4程序设计 (16)
4.1主程序设计 (19)
4.1.1定义说明程序 (19)
4.1.2执行主程序 (20)
4.2子程序设计 (22)
4.2.1定义延时程序函数 (22)
4.2.2定时器1中断服务程序 (22)
4.2.3定时器2中断服务程序 (23)
4.3调速原理 (23)
4.3.1PWM(脉冲宽度调制)原理 (23)
4.3.2PWM(脉冲宽度调制)特点 (24)
5调试与仿真 (25)
参考文献 (25)
附录 (26)
摘要
通过单片机改变输出脉冲波的宽度井陉调节,以便实现直流电的起动、正反转、加速、减速功能,在这种调速方法下,可以有效的减少其损耗功率。

关键词:单片机;直流电机;调速
1直流电动机
直流电动机主要由静止的定子和旋转的转子组成。

定子由主磁极、换向极、电刷装置和机座组成。

主磁极铁芯上套有线圈,通入直流励磁电流便会产生磁场,即主磁场。

换向极也由铁芯及套在上面的线圈组成,其作用是产生附加磁场。

以减弱换向片与电刷之间的火花,避免烧蚀。

机座除作电动机的机械支架外,还作为各磁极间磁的通路。

转子由转子铁芯、转子绕组、换向器、轴和风扇组成。

转子铁芯用来安装转子绕组,并作为电动机磁路的一部分。

转子绕组的主要作用是产生感应电动势并通过电流,以产生电磁转矩。

换向器由换向片组成,换向片按一定规律与转子绕组的绕组元件连接。

1.1直流电动机的工作原理
直流电动机包括俩个在空间固定的永久磁铁,一个为N极,另一个为S极。

在磁极的中间,装有一个可以转动的线圈,它的首末两端分别接到两片圆弧形的换向片(铜片)上,两个换向片之间、换向片与转轴(与线圈一起旋转)之间均相互绝缘,为了把电枢绕组和外电路接通,在换向器上安置了两个固定不动的电刷。

由于电刷和电源固定连接,因此无论线圈怎样转动,总是上半边的电流向里,下半边的电流向外。

由左手定则可知,通电线圈在磁场中受到逆时针方向的力矩作用。

虽然电流方向是交替变化的,但所受的电磁力的方向不改变,因此线圈可以连续地按逆时针方向旋转。

这就是直流电动机的工作原理。

1.1.1直流电动机的运动特性与优点
(1)运动特性
直流电动机的运动特性包括工作特性和机械特性。

工作特性是指电动机在额定电压、额定励磁电流不变的情况下,其转速、转距和输出功率之间的关系。

机械特性是指在额定电压和电磁绕组不变的情况下,转距与转速的关系。

两类电动机的特性曲线见图1和图2。

图1直流串励电动机特性曲线
图2直流他励电动机特性曲线
(2)优点
直流电机五大优点包括:
1.减速电机结合国际技术要求制造,具有很高的科技含量。

2.节省空间,可靠耐用,承受过载能力高,功率可达95KW以上。

3.能耗低,性能优越,减速机效率高达95%以上。

4.振动小,噪音低,节能高,选用优质段钢材料,钢性铸铁箱体,齿轮表面经过高频热处理。

5.经过精密加工,确保定位精度,这一切构成了齿轮传动总成的齿轮减速电机配置了各类电机,形成了机电一体化,完全保证了产品使用质量特征。

1.2直流串励电动机
直流串励电动机具有较好的软机械特性在电动车上得到了广泛的应用,其调速方式是通过改变励磁绕组电流的大小来控制电动机的转速。

换向则是通过换向接触器改变励磁绕组电流的方向从而达到电动机翻转的目的。

加速器给控制器一个调速信号,然后由控制器来控制励磁电流的大小。

1.2.1串励电动机的特点
●电枢线圈与励磁线圈串联
●电枢电流与励磁电流相同
●在换向结构中需安装换向接触器,依靠控制器外围接线,改变励磁电流方向完成换向。

●无再生制动,释放加速器,一般只能滑行,无平滑制动;只能反接制动,能量通过电
机发热消耗,对电机损伤较大
●转矩和速度曲线固定,无调节空间,控制器必须与电机相匹配,无法根据需要选择速
度和转矩。

1.3直流他励电动机
直流他励电动机的调速方式一般采用改变电动机电枢的供电电压来控制电动机的转速。

换向则可以由控制器直接控制电动机的正反转。

1.3.1他励电动机的特点
●励磁线圈与电枢线圈各自独立,便于换向,励磁电流小于电枢电流,优越的制动性能。

●无需换向接触器,降低系统成本;减少活动部件;依靠控制器内部“MOSFET s”改
变励磁电流方向完成换向;
●再生制动:释放加速器,自发平滑制动;降低电机发热,延长使用寿命;无需再生制
动接触器,降低成本,减少活动部件。

●在选择转矩和速度曲线之间有更大的空间,控制器必须与电机相匹,满足爬坡所需的
速度和转矩。

2设计概要
本次课程设计主要研究通过单片机来控制电机的启动、停止、加速和减速。

单片机直流电机调速简介:单片机直流调速系统可实现对直流电动机的平滑调速。

本设计以89C51单片机为核心,通过单片机控制,C语言编程实现对直流电机的平滑调速。

系统控制方案的分析:本直流电机调速系统以单片机系统为依托,根据PWM调速的基本原理,以直流电机电枢上电压的占空比来改变平均电压的大小,从而控制电动机的转速为依据,实现对直流电动机的平滑调速,并通过单片机控制速度的变化。

本文所研究的直流电机调速系统主要是由硬件和软件两大部分组成。

硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。

而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动对电机速度的有效控制。

2.1硬件设计概要
本设计的硬件设计由两部分组成,分别是驱动电路部分和控制电路部分。

驱动电路采用H 桥驱动电路改进而成,控制电路以89C51为核心。

电路图见图3。

元件清单见附录。

图3硬件设计电路仿真图
2.2程序设计流程图
程序设计流程图见图4
图4程序流程图
3硬件设计
3.1.1电机驱动电路
电机驱动电路由H桥驱动电路改进而成。

见图5。

图5电机驱动电路
3.1.1.1H桥驱动电路原理
电路得名于“H桥驱动电路”是因为它的形状酷似字母H。

4个三极管组成H的4条垂直腿,而电机就是H中的横杠,见图6。

H桥式电机驱动电路包括4个三极管和一个电机。

要使电机运转,必须导通对角线上的一对三极管。

根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。

图6H桥驱动电路
要使电机运转,必须使对角线上的一对三极管导通。

例如,4.5所示,当Q1管和Q4管导通时,电流就从电源正极经Q1从左至右穿过电机,然后再经Q4回到电源负极。

按图中电流箭头所示,该流向的电流将驱动电机顺时针转动。

当三极管Q1和Q4导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动。

见图7。

图7桥电路驱动电机顺时针转动
图4.6所示为另一对三极管Q2和Q3导通的情况,电流将从右至左流过电机。

当三极管Q2和Q3导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动(电机周围的箭头表示为逆时针方向)。

见图8。

图8桥电路驱动电机逆时针转动
3.1.1.2H桥驱动电路电路改进
增加两组三极管可以稳定电路,并减少电路的复杂性。

使用两个与门控制电机的正反转输入。

每个与门输入端接PWM端和正/反转的高电平输入。

可以达到稳定控制的目的。

3.1.2单片机及控制电路
单片机控制电路见图9。

图9单片机控制电路图
在整个控制电路中,有下面三部分组成。

3.1.2.1时钟电路
时钟电路用来提供单片机的时钟频率。

见图10。

图10时钟电路图
3.1.2.2复位电路
复位电路用来给单片机复位,见图11。

图11复位电路图3.1.2.3控制信号输入电路
用来输入控制电机的控制信号,见图12。

图12控制电路图由上至下依次为加速键、减速键、正反转控制键。

3.1.3单片机介绍
单片机(M icrocontroller U nit)是把微型计算机主要部分都集成在一块芯片上的单芯片微型计算机。

图4.1中表示单片机的典型结构图。

由于单片机的高度集成化,缩短了系统内的信号传送距离,优化了结构配置,大大地提高了系统的可靠性及运行速度,同时它的指令系统又很适合于工业控制的要求,所以单片机在工业过程及设备控制中得到了广泛的应用。

见图13。

图13单片机结构图
3.1.3.1单片机的应用系统
单片机在进行实时控制和实时数据处理时,需要与外界交换信息。

人们需要通过人机对话,了解系统的工作情况和进行控制。

单片机芯片与其它CPU比较,功能虽然要强得多,但由于芯片结构、引脚数目的限制,片内ROM、RAM、I/O口等不能很多,在构成实际的应用系统时需要加以扩展,以适应不同的工作情况。

单片机应用系统的构成基本见图14所示。

图14单片机的应用系统
单片机应用系统根据系统扩展和系统配置的状况,可以分为最小应用系统、最小功耗系统、典型应用系统。

对于片内有ROM/EPROM的芯片来说,最小应用系统即为配有晶体振荡器、
复位电路和电源的单个芯片;对与片内没有ROM/EPROM芯片来说,其最小应用系统除了应配置上述的晶振、复位电路和电源外,还应配备EPROM或EEPROM作为程序存储器使用。

3.1.3.2AT89C51简介
型号存储器
定时器I/0
串行
口中断
速度
(MH)
其它特点
EPROM ROM RAM
89C514K1282321624低电压
表1AT89C51的主要参数
AT89C51含EPROM电可编闪速存储器。

有两级或三级程序存储器保密系统,防止EPROM 中的程序被非法复制。

不用紫外线擦除,提高了编程效率。

程序存储器EPROM容量可达20K 字节。

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—F alsh P rogrammableand E rasable R ead O nly M emory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL 的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

其引脚见图15所示。

图15单片机的引脚排列
3.1.3.3管脚说明
VCC:供电电压
GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL 门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下所示:
P3口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出。

I/O口引脚:
a:P0口,双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用;
b:P1口,8位准双向I/O口;
c:P2口,8位准双向I/O口,与地址总线(高8位)复用;
d:P3口,8位准双向I/O口,双功能复用口。

3.1.3.4振荡器特性
XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡
器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入
至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须
保证脉冲的高低电平要求的宽度。

芯片擦除:
整个EPROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

4程序设计
本次课程设计直流电机的控制程序利用C语言编程。

C语言语句少但是灵活度高,相对于针对过程的言语相比于非结构化言语条理性很好接近人类的逻辑思维,相比于模块化言语和面向对象的言语他又比较接近底层的一些东西,其效率较高(只比汇编低%10~20),其移植性较好。

本设计程序如下:
#include < reg51.h >
#include < intrins.h >
sbit K1 =P1^5 ;
sbit K2 =P1^6 ;
sbit K3 =P1^7 ;
sbit CLK=P2^0 ;
sbit ZZ =P2^1 ;
sbit ZF =P2^2 ;
unsigned char PWMH=0x00; unsigned char PWML=0x0F; void delay(unsigned char m)
{
unsigned char i;
while(m--)
{
for(i=0;i<5;i++);
}
}
void timer0() interrupt 1 {
TR1=0 ;
TH0=0x00 ;
TL0=0x00 ;
TH1=PWMH ;
TL1=PWML;
TR1=1 ;
CLK=0 ;
}
void timer1() interrupt 3
{
TR1=0 ;
CLK=1 ;
}
void main()
{
P0=0x00;
P1=0x00;
P2=0x00;
P3=0x00;
CLK=0;
TMOD=0x11 ;
TH0=0x00 ;
TL0=0x00;
TH1=PWMH ;
TL1=PWML ;
EA=1;
ET0=1;
ET1=1;
TR0=1 ;
while(1)
{ if (K3==0)
{ZZ=1;
ZF=0;}
else
{ZZ=0;
ZF=1;}
if(K1==1)
{ delay(1);
PWML++;
if(PWML==0x00)
{PWMH++;}
if (PWMH==0x FF)
{PWMH=0x FE;}
}
if(K2==1)
{ delay(1);
PWML-- ;
if (PWML==0x00)
{PWMH--;}
if (PWMH==0x00)
{PWMH=0x01;}
}
}
}
4.1主程序设计
主程序分为两部分,一为定义说明程序,二为执行主程序4.1.1定义说明程序
#include < reg51.h >
#include < intrins.h >
sbit K1 =P1^5 ;
sbit K2 =P1^6 ;
sbit K3 =P1^7 ;
sbit CLK=P2^0 ;
sbit ZZ =P2^1 ;
sbit ZF =P2^2 ;
本程序用来说明程序所调用的函数库和定义单片机的输出接口名称。

4.1.2执行主程序
unsigned char PWMH=0x00;
unsigned char PWML=0x0F;
void main()
{
P0=0x00;
P1=0x00;
P2=0x00;
P3=0x00;
CLK=0;
TMOD=0x11 ;
TH0=0x00 ;
TL0=0x00;
TH1=PWMH ;
TL1=PWML ;
EA=1;
ET0=1;
ET1=1;
TR0=1 ;
while(1)
{ if (K3==0)
{ZZ=1;
ZF=0;}
else
{ZZ=0;
ZF=1;}
if(K1==1)
{ delay(1);
PWML++;
if(PWML==0x00)
{PWMH++;}
if (PWMH==0x FF)
{PWMH=0x FE;}
}
if(K2==1)
{ delay(1);
PWML-- ;
if (PWML==0x00)
{PWMH--;}
if (PWMH==0x00)
{PWMH=0x01;}
}
}
}
本程序有两个功能,第一个功能用来检测正/反转开关的状态然后输出电机的控制信号,第二个功能是用来检测加/减速开关的转台后设置延时器的定时基时,方便定时程序调用。

4.2子程序设计
包括三个部分,分别为定义延时程序函数、定时器1中断服务程序、定时器2中断服务程序。

4.2.1定义延时程序函数
void delay(unsigned char m)
{
unsigned char i;
while(m--)
{
for(i=0;i<5;i++);
}
}
本条子程序定义了函数delay的用法,在proteus中并没有delay函数,为了下面的定时程序中可以方便的应用delay函数,本处需先做定义。

4.2.2定时器1中断服务程序
void timer0() interrupt 1
{
TR1=0 ;
TH0=0x00 ;
TL0=0x00 ;
TH1=PWMH ;
TL1=PWML;
TR1=1 ;
CLK=0 ;
}
本条程序控制单片机的中断行为。

4.2.3定时器2中断服务程序
void timer1() interrupt 3
{
TR1=0 ;
CLK=1 ;
}
本条程序控制单片机的中断行为。

4.3调速原理
单片机直流电机调速简介:单片机直流调速系统可实现对直流电动机的平滑调速。

本系统以89C51单片机为核心,通过单片机控制,C语言编程实现对直流电机的平滑调速。

系统控制方案的分析:本直流电机调速系统以单片机系统为依托,根据PWM的原理,以直流电机电枢上电压的占空比来改变平均电压的大小,从而控制电动机的转速为依据,实现对直流电动机的平滑调速,并通过单片机控制速度的变化。

本文所研究的直流电机调速系统主要是由硬件和软件两大部分组成。

硬件部分是前提,是整个系统执行的基础,它主要为软件提供程序运行的平台。

而软件部分,是对硬件端口所体现的信号,加以采集、分析、处理,最终实现控制器所要实现的各项功能,达到控制器自动对电机速度的有效控制。

4.3.1PWM(脉冲宽度调制)原理
PWM(脉冲宽度调制)是通过控制固定电压的直流电源开关频率,改变负载两端的电压,从而达到控制要求的一种电压调整方法。

PWM可以应用在许多方面,比如:电机调速、温度控制、压力控制等等。

PWM(脉冲宽度调制)的原理:其控制方式就是依靠对逆变电路开关器件的通断进行控制,使输出端得到一系列幅值相等的脉冲,用这些脉冲来代替正弦波或所需要的波形。

也就是在输出波形的半个周期中产生多个脉冲,使各脉冲的等值电压为正弦波形,所获得的输出平滑且低次谐波少。

按一定的规则对各脉冲的宽度进行调制,即可改变逆变电路输出电压的大小,也可改变输出频率。

例如,把正弦半波波形分成N等份,就可把正弦半波看成由N个彼此相连的脉冲所组成
的波形。

这些脉冲宽度相等,都等于∏/n,但幅值不等,且脉冲顶部不是水平直线,而是曲线,各脉冲的幅值按正弦规律变化。

如果把上述脉冲序列用同样数量的等幅而不等宽的矩形脉冲序列代替,使矩形脉冲的中点和相应正弦等分的中点重合,且使矩形脉冲和相应正弦部分面积(即冲量)相等,就得到一组脉冲序列,这就是PWM波形。

可以看出,各脉冲宽度是按正弦规律变化的。

根据冲量相等效果相同的原理,PWM波形和正弦半波是等效的。

对于正弦的负半周,也可以用同样的方法得到PWM波形。

在PWM波形中,各脉冲的幅值是相等的,要改变等效输出正弦波的幅值时,只要按同一比例系数改变各脉冲的宽度即可,因此在交-直-交变频器中,PWM逆变电路输出的脉冲电压就是直流侧电压的幅值。

根据上述原理,在给出了正弦波频率,幅值和半个周期内的脉冲数后,PWM波形各脉冲的宽度和间隔就可以准确计算出来。

按照计算结果控制电路中各开关器件的通断,就可以得到所需要的PWM波形。

4.3.2PWM(脉冲宽度调制)特点
在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。

通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。

也正因为如此,PWM又被称为“开关驱动装置”。

4.9所示:
PWM方波
设电机始终接通电源时,电机转速最大为V max,设占空比为D=t1/T,则电机的平均速度为V a=V max*D,其中V a指的是电机的平均速度;V max是指电机在全通电时的最大速度;D=t1/T是指占空比。

由上面的公式可见,当我们改变占空比D=t1/T时,就可以得到不同的电机平均速度V d,从而达到调速的目的。

严格来说,平均速度V d与占空比D并非严格的线性关系,但是在一般的应用中,我们可以将其近似地看成是线性关系。

5调试与仿真
K eil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全W indows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到K eil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

KEIL C51编译器由u V ision2集成开发环境与编辑器和调试器以及C51编译器组成。

其中u V ision2集成开发环境中的工程(project)是由源文件、开发工具选项以及编程说明三部分组成的;编辑器和调试器包括源代码编辑器、断点设置、调试函数语言、变量和存储器。

P roteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。

P roteus软件提供多种现实存在的虚拟仪器仪表。

此外,P roteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。

这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,P roteus软件提供丰富的测试信号用于电路的测试。

这些测试信号包括模拟信号和数字信号。

提供S chematic D rawing、SPICE仿真与PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、A VR、PIC等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。

P roteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持K eil和MPLAB等编译器。

一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。

以虚代实、以软代硬,就建立一个完善的虚拟实验室。

在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等。

当电路设计完成之后,为了减少在电路板上调试时的难度,保证电路设计的正确性,将K eil c51编译生成的*.HEX文件载入P roteus软件,实现电路仿真。

参考文献
[1] 李静.快速学通51单片机C语言程序设计[M].北京:人民邮电出版社,2010.
[2] 周润景.单片机实用系统设计与仿真经典实例.北京:电子工业出版社,2014.。

相关文档
最新文档