毕业设计基于单片机的PWM信号输出系统设计.doc
摘要随着电力电子技术的飞速发展,PWM技术应用越来越广泛。同时PWM技术本身也发展迅速,各种新理论层出不穷。PWM技术结合了电力电子技术、计算机技术、现代控制理论,具有抗干扰性强、效率高、可靠性好等显著优点,已经在交流逆变、开关电源等领域得到广泛应用。 本文在研究PWM技术当前发展状况基础上,设计了一种基于单片机的PWM信号输出系统。首先对系统结构和PWM软件算法进行了研究和分析,包括对各种PWM产生方法的对比分析和对称规则采样法的仔细研究以及系统的功能分区和总体结构。在总体设计完成后又设计了硬件电路各个单元模块。然后采用C语言编程实现了系统功能,完成设计目标。最后对设计的系统进行了计算机仿真。本设计是基于单片机控制的PWM信号输出系统,系统以AT89C52单片机为核心,采用SPWM软件生成法中对称规则采样法,用扩展按键中断方式输入有关控制信号及参数,可以实现频率、占空比、输出时间可调的直流斩波PWM信号和频率、调幅比、输出时间可调的SPWM信号,并在LCD1602上实时设置参数及输出状态监视。关键词:单片机;PWM; SPWM;信号;规则采样法ABSTARCTAs the developing of power electronic technology, PWM technology has applying to more and more field. At the same time, PWM technology itself has taken a great progress, lots of new theory has emerged. PWM technology takes advantages of power electronic, computer technology, and modern control theory, has strong ability of anti-interference, and is more efficiency, reliable. It has applied to vast field ,such as AC converter, DC chopper.This paper firstly, analysis the situation of PWM technology development, then, designed a PWM signal output system based on SCM. At the beginning, we study the soft algorithm of PWM, including comparison and analysis of several PWM algorithm and deep analysis of regular-sampling. We also designed the system structure. Following , hardware and software is designed. Every hardware module is designed with the computer, and the software is written in C language. At last, we take a simulation. The system is based on AT89C52. It use buttons to input parameters. It can output single polar PWM signals. The signals frequency, duty-cycle, output time can be changed. Whats more, all information is showed in a LCD1602, so that it is easier to communicated with the system. Index terms: SCM; PWM; SPWM; signal; regular-sampling 目 录1 绪论11.1 PWM的背景、应用及发展趋势11.2 PWM原理11.3 本文的主要工作22 系统方案设计32.1系统PWM算法32.1.1等面积法32.1.2硬件调制法32.1.3软件生成法32.2 系统结构52.3涉及元器件简介52.3.1 AT89C52介绍52.3.2 LCD1602简介82.4 仿真工具介绍92.4.1 Protues简介92.4.2 Keil uVision2简介113硬件电路设计133.1电源133.2单片机复位电路143.3单片机时钟电路143.4按键中断153.5显示电路163.6输出电路173.7 SPWM测试电路174 软件设计194.1软件总流程194.2 直流斩波PWM软件计算法194.3 SPWM软件计算法204.4输出时间控制224.5按键中断234.6 LCD1602编程264.7显示设计275 系统调试315.1系统的调试315.2系统仿真过程316 结论36参考文献37附录38翻译部分50外文原文:50中文译文:56致 谢691 绪论1.1 PWM的背景、应用及发展趋势模拟信号的值可以连续变化,其时间和幅度的分辨率都没有限制,可直接用来进行控制,但它并不总是非常经济或可行的。其中一点就是,模拟电路容易随时间漂移,因而难以调节。能够解决这个问题的精密模拟电路可能非常庞大、笨重(如老式的家庭立体声设备)和昂贵。模拟电路还有可能严重发热,其功耗相对于工作元件两端电压与电流的乘积成正比。模拟电路还可能对噪声很敏感,任何扰动或噪声都肯定会改变电流值的大小。 PWM的一个优点是从处理器到被控系统信号都是数字形式的,无需进行数模转换。让信号保持为数字形式可将噪声影响降到最小。噪声只有在强到足以将逻辑1改变为逻辑0或将逻辑0改变为逻辑1时,也才能对数字信号产生影响。随着全控式电力电子器件如可关断晶闸管GTO、大功率晶体管IGBT 、场效应功率晶体管PMOSFET等的出现和应用技术的进步,PWM控制技术在电力电子技术行业,如:风力发电、电机调速、直流供电等领域,得到广泛的应用。在通信领域,由于PWM控制有很强的噪声抵抗能力,从模拟信号转向PWM可以极大地延长通信距离。在接收端,通过适当的RC或LC网络可以滤除调制高频方波并将信号还原为模拟形式。在风力发电领域,PWM变换器的控制技术是其核心技术之一。由于 PWM 可以同时实现变频变压和抑制谐波的特点,由此在交流传动及至其它能量变换系统中得到广泛应用。PWM信号的产生通常有两种方法 一种是软件的方法 另一种是硬件的方法。硬件调制法模拟电路结构复杂,难以实现精确的控制。软件生成法其实就是用软件来实现调制的方法,其有两种基本算法,即自然采样法和规则采样法。随着电力电子技术,微电子技术和自动控制技术的发展以及各种新的理论方法,如现代控制理论,非线性系统控制思想的应用,PWM控制技术获得了空前的发展.到目前为止,已出现了多种PWM控制技术。从PWM确定确定变换器的导通时间方式来看有三类差别显著的PWM用于固定开关频率的调制系统:1) 在目标参考波形和高频载波的交点去开关动作的自然采样PWM;2) 在规则采样参考波形和高频载波交点处开关动作的规则采样PWM;3)开关动作使得目标参考波形在一个载波周期内的积分面积与开关变换器输出波形的积分面积相等的直接PWM。PWM技术朝着许多方向不断地发展,例如,人们越来越关注电源侧的波形质量问题,PWM技术最近已经应用于有特殊要求的输入侧变换器的控制。此外,半导体开关的开通延迟,损耗等实际影响近来也受到关注,产生了随机PWM、软开关PWM等。1.2 PWM原理脉冲宽度调制(PWM)是一种对模拟信号电平进行数字编码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电平进行编码。PWM信号仍然是数字的,因为在给定的任何时刻,满幅值的直流供电要么完全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即是供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码。图1 SPWMSPWM法是一种比较成熟的,目前使用较广泛的PWM法。前面提到的采样控制理论中的一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。SPWM法就是以该结论为理论基础,用脉冲宽度按正弦规律变化而和正弦波等效的PWM波形即SPWM波形控制逆变电路中开关器件的通断,使其输出的脉冲电压的面积与所希望输出的正弦波在相应区间内的面积相等,通过改变调制波的频率和幅值则可调节逆变电路输出电压的频率和幅值。1.3 本文的主要工作 本文的主要工作是设计一个PWM信号输出系统,实现的单极性PWM信号输出。在直流斩波PWM中,要求PWM的频率,占空比,和输出时间均可调,输出频率为1K-20KHz;在SPWM模式中,频率,调幅比及输出时间可调,输出频率为1-50Hz。2 系统方案设计2.1系统PWM算法 PWM的全称是Pulse Width Modulation(脉冲宽度调制),它是通过改变输出方波的占空比来改变等效的输出电压。SPWM,就是在PWM的基础上改变了调制脉冲方式,脉冲宽度时间占空比按正弦规律排列,这样输出波形经过适当的滤波可以做到正弦波输出。该方法的实现有以下几种方案。2.1.1等面积法该方案实际上就是SPWM法原理的直接阐释,用同样数量的等幅而不等宽的矩形脉冲序列代替正弦波,然后计算各脉冲的宽度和间隔,并把这些数据存于微机中,通过查表的方式生成PWM信号控制开关器件的通断,以达到预期的目的.由于此方法是以SPWM控制的基本原理为出发点,可以准确地计算出各开关器件的通断时刻,其所得的的波形很接近正弦波,但其存在计算繁琐,数据占用内存大,不能实时控制的缺点。2.1.2硬件调制法硬件调制法是为解决等面积法计算繁琐的缺点而提出的,其原理就是把所希望的波形作为调制信号,把接受调制的信号作为载波,通过对载波的调制得到所期望的PWM波形。通常采用等腰三角波作为载波,当调制信号波为正弦波时,所得到的就是SPWM波形。其实方法简单,可以用模拟电路构成三角波载波和正弦调制波发生电路,用比较器来确定它们的交点,在交点时刻对开关器件的通断进行控制,就可以生成SPWM波。但是,这种模拟电路结构复杂,难以实现精确的控制。2.1.3软件生成法由于微机技术的发展使得用软件生成SPWM波形变得比较容易,因此,软件生成法也就应运而生。软件生成法其实就是用软件来实现调制的方法,其有两种基本算法:即自然采样法和规则采样法。 自然采样法以正弦波为调制波,等腰三角波为载波进行比较,在两个波形的自然交点时刻控制开关器件的通断,这就是自然采样法.其优点是所得SPWM波形最接近正弦波,但由于三角波与正弦波交点有任意性,脉冲中心在一个周期内不等距,从而脉宽表达式是一个超越方程,计算繁琐,难以实时控制。 规则采样法规则采样法是一种应用较广的工程实用方法,一般采用三角波作为载波。其原理就是用三角波对正弦波进行采样得到阶梯波,再以阶梯波与三角波的交点时刻控制开关器件的通断,从而实现SPWM法.当三角波只在其顶点(或底点)位置对正弦波进行采样时,由阶梯波与三角波的交点所确定的脉宽,在一个载波周期(即采样周期)内的位置是对称的,这种方法称为对称规则采样。当三角波既在其顶点又在底点时刻对正弦波进行采样时,由阶梯波与三角波的交点所确定的脉宽,在一个载波周期(此时为采样周期的两倍)内的位置一般并不对称,这种方法称为非对称规则采样。规则采样法是对自然采样法的改进,其主要优点就是是计算简单,便于在线实时运算,其中非对称规则采样法因阶数多而更接近正弦.其缺点是直流电压利用率较低,线性控制范围较小。我们这里选择软件生产法中计算简便的对称规则采样法来计算PWM开关动作时间。具体实施时有两种方法:(1)单极性SPWM法,见下图:正弦调制波周期决定于需要的调频比kf,振幅值决定于ku,等腰三角波载波周期决定于载波频率,振幅不变,等于ku=1时正弦调制波的振幅值,每半周期内所有三角波的极性均相同(即单极性)。调制波和载波的交点,决定了SPWM脉冲系列的宽度和脉冲音的间隔宽度,每半周期内的脉冲系列也是单极性的。单极性调制的工作特点:每半个周期内,逆变桥同一桥臂的两个逆变器件中,只有一个器件按脉冲系列的规律时通时断地工作,另一个完全截止;而在另半个周期内,两个器件的工况正好相反,流经负载ZL的便是正、负交替的交变电流。图2 单极性SPWM(2)双极性SPWM法:调制波仍为正弦波,其周期决定于kf,振幅决定于ku,中曲线,载波为双极性的等腰三角波,其周期决定于载波频率,振幅不变,与ku=1时正弦波的振幅值相等。调制波与载波的交点决定了逆变桥输出相电压的脉冲系列,此脉冲系列也是双极性的,但是,由相电压合成为线电压(uab=ua-ub;ubc=ub-uc;uca=uc-ua)时,所得到的线电压脉冲系列却是单极性的。双极性调制的工作特点:逆变桥在工作时,同一桥臂的两个逆变器件总是按相电压脉冲系列的规律交替地导通和关断,毫不停息,而流过负载ZL的是按线电压规律变化的交变电流。图3 双极性PWM这里我们采用同步调制单极性SPWM法,载波比N=32,调幅比K取值(0,1)。工业上变频器的调幅比是跟随输出频率而改变的,如在恒V/F控制中,K需要考虑的因素很多,为简化问题,我们选择手动调节K。SPWM必须做的工作是:实时地计算调制波(正弦波)和载波(三角波)的所有交点的时间坐标,根据计算结果,有序地向逆变桥中各逆变器件发出“通”和“断”的动作指令;调制波的振幅要随调制比而变,而载波的振幅则不变,所以,每次调节后,交点的时间坐标都必须重新计算。2.2 系统结构 本系统的功能框图如下。控制器需要完成输入输出交互,数据处理和PWM信号的生成,我们选择AT89C52;为了节省单片机的I/O,我们选用4个按键输入;需要显示的内容较多,我们选择LCD1602;电源则取220V市电整理降压得到。AT89C52的P3口能驱动4路TTL门电路,能满足小信号输出。我们就直接采用P30和P31输出PWM信号。由于PWM信号对定时的精确度较高,而简单的RC电路稳定性不好,我们采用晶振和电容并联的谐振电路作为时钟发生电路。图4 系统结构图2.3涉及元器件简介2.3.1 AT89C52介绍下图给出了At89C52的芯片引脚结构。AT89C52单片机是美国ATMEL公司生产的低电压,高性能CMOS 8位单片机,片内含8K bytes的可反复擦写的Flash只读程序存储器和256bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,与标准MCS-51指令系统及8052产品引脚兼容。功能强大的AT89C52单片机适合于许多较为复杂的控制应用场合。(1)AT89C52 主要性能参数与Mcs-51产品指令和引脚完全兼容。8字节可重擦写FLASH闪速存储器1000 次擦写周期全静态操作:0HZ-24MHZ三级加密程序存储器256X8字节内部RAM32个可编程I/0口线3个16 位定时计数器6个中断源可编程串行UART通道、低功耗空闲和掉电模式 (2)At89C52功能特性 AT89C52 提供以下标准功能:8字节FLASH闪速存储器,256字节内部RAM , 32个I/O口线,3个16 位定时计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89c52可降至OHz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM,定时计数器串行通信口及中断系统继续工作。掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。图5 AT89C52引脚图(3)AT89C52部分引脚功能说明XTAL1:片内晶振电路反相放大器的输入端。XTAL2:片内晶振电路反相放大器的输出端。P0:P0口是一组8位漏极开路型双向I/O 口,即地址/数据总线复用口。作为输出口用时每位能以吸收电流的方式驱动8个TTL 逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。 在FLASH中编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1 是一个带内部上拉电阻的8位双向I/O口,Pl的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻某个引脚被外部信号拉低时会输出一个电流。与AT89C51不同之处是,Pl.0 和P1.1还可分别作为定时/计数器2 的外部计数输入(Pl.0/T2 )和外部触发输入(P1.1/T2EX) , FLASH编程和程序校验期间,Pl接收低8位地址。P2口:P2 是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。 在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOvxDPTR 指令)时,P2送出高8 位地址数据。在访问8位地址的外部数据存储器、如执行MOVXRI指令)时,P2口输出P2锁存器的内容。 FLASH编程或校验时,P2亦接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。 P3口除了作为I/0口线外,更重要的用途是它的第二功能,如表格1所示。 此外,P3口还接收一些用于FLASH闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。表格1 P3口第二功能端口引脚第二功能P3.0RXD(串行输入口P3.1TXD(串行输出口P3.2INTO(外中断0P3.3INTO(外中断l)P3.4TO (定时计数器0 )P3.5Tl (定时计数器l )P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。 对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许PSEN输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH ) , EA端必须保持低电平(接地)需注意的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端), CPU则执行内部程序存储器中的指令。 flash存储器编程时,该引脚加上+12V的编程允许电源VPP ,当然这必须是该器件是使用12V编程电压VPP 。(4)AT89C52特殊功能寄存器在AT89C52片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE ) 。并非所有的地址都被定义,从80H-FFH共128 个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数位将不确定,而写入的数据也将丢失。 不应将数据"1"写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能。在这种情况下,复位后这些单元数值总是“0”。(5)AT89C52 单片机扩展电路及分析AT89C52 提供以下标准功能:8字节FLASH闪速存储器,256字节内部RAM , 32个I/O口线,2个16 位定时计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。由于AT89C52具有256字节内部RAM。对本设计已经足够使用,因此不需要再扩展外部数据存储器。2.3.2 LCD1602简介工业字符型液晶,能够同时显示16x02即32个字符(16列2行)。1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。1602LCD的供电电压为+5V电压,对比度可调,内含复位电路,提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能,有80字节显示数据存储器DDRAM,内建有192个5X7点阵的字型的字符发生器CGROM,8个可由用户自定义的5X7的字符发生器CGRAM。1602LCD微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A。2.4 仿真工具介绍2.4.1 Protues简介Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译。Protues软件具有其它EDA工具软件(例:multisim)的功能。这些功能是:(1)原理布图(2)PCB自动或人工布线(3)SPICE电路仿真革命性的特点:(1)互动的电路仿真。用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。(2)仿真处理器及其外围电路。可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,Protues建立了完备的电子设计开发环境。Protues具有4大功能模块:1)智能原理图设计(ISIS)丰富的器件库:超过27000种元器件,可方便地创建新元件;智能的器件搜索:通过模糊搜索可以快速定位所需要的器件;智能化的连线功能:自动连线功能使连接导线简单快捷,大大缩短绘图时间;支持总线结构:使用总线器件和总线布线使电路设计简明清晰;可输出高质量图纸:通过个性化设置,可以生成印刷质量的BMP图纸,可以方便地供WORD、POWERPOINT等多种文档使用。完善的电路仿真功能(Prospice)ProSPICE混合仿真:基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真;超过27000个仿真器件:可以通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter也在不断地发布新的仿真器件,还可导入第三方发布的仿真器件; 多样的激励源:包括直流、正弦、脉冲、分段线性脉冲、音频(使用wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入; 丰富的虚拟仪器:13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等; 生动的仿真显示:用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真更加直观、生动; 高级图形仿真功能(ASF):基于图标的分析可以精确分析电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真、傅立叶频谱分析等,还可以进行一致性分析。2)独特的单片机协同仿真功能(VSM)支持主流的CPU类型:如ARM7、8051/52、AVR、PIC10/12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持CORTEX、DSP处理器;支持通用外设模型:如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC机串口和外部电路实现双向异步串行通信; 实时仿真:支持UART/USART/EUSARTs仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真。 编译及调试:支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试。3)实用的PCB设计平台原理图到PCB的快速通道: 原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计; 先进的自动布局/布线功能:支持器件的自动/人工布局;支持无网格自动布线或人工布线;支持引脚交换/门交换功能使PCB设计更为合理; 完整的PCB设计功能:最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D 可视化预览; 多种输出格式的支持:可以输出多种格式文件,包括Gerber文件的导入或导出,便利与其它PCB设计工具的互转(如protel)和PCB板的设计和加工。4)Protues提供了丰富的资源(1)Protues可提供的仿真元器件资源:仿真数字和模拟、交流和直流等数千种元器件,有30多个元件库。(2)Protues可提供的仿真仪表资源 :示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。(3)除了现实存在的仪器外,Protues还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗。这些都尽可能减少了仪器对测量结果的影响。(4)Protues可提供的调试手段 Protues提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。Protues的软件仿真功能:支持当前的主流单片机,如51系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列、68000系列等。1.提供软件调试功能。2.提供丰富的外围接口器件及其仿真。RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。这样很接近实际。在训练学生时,可以选择不同的方案,这样更利于培养学生。3.提供丰富的虚拟仪器,利用虚拟仪器在仿真过程中可以测量外围电路的特性,培养学生实际硬件的调试能力。4.具有强大的原理图绘制功Protues电路功能仿真:在PROTUES绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在PROTUES的原理图中看到模拟的实物运行状态和过程。PROTUES 是单片机课堂教学的先进助手。PROTUES不仅可将许多单片机实例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教学的功能,例:元器件选择、电路连接、电路检测、电路修改、软件调试、运行结果等。课程设计、毕业设计是学生走向就业的重要实践环节。由于PROTUES提供了实验室无法相比的大量的元器件库,提供了修改电路设计的灵活性、提供了实验室在数量、质量上难以相比的虚拟仪器、仪表,因而也提供了培养学生实践精神、创造精神的平台。随着科技的发展“计算机仿真技术”已成为许多设计部门重要的前期设计手段。它具有设计灵活,结果、过程的统一的特点。可使设计时间大为缩短、耗资大为减少,也可降低工程制造的风险。相信在单片机开发应用中PROTUES也能茯得愈来愈广泛的应用。2.4.2 Keil uVision2简介Keil uVision2是德国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。KEILC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强, 使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,能在很短的时间内就能学会使用keil c51来开发单片机应用程序 。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。3硬件电路设计3.1电源本电路所需5V直流电源采用工频220V电源,经由一个变压器降压后,通过H桥整流,再使用三端稳压芯片稳压得到。常见的三端稳压集成电路有正电压输出的78××系列和负电压输出的79××系列。三端IC的三条引脚分别是输入端、接地端和输出端。有TO- 220 ,TO-202的标准封装,也有9013样子的TO-92封装。用78/79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。因为本设计只需要正电压5V,故这里选用7805。7805的主要电气参数如下表:表格 2 7805电气参数参数符号测试条件最小值典型值最大值单位输出电压VoTj=254.85.05.2V5.0mA<1o<1.0A,Po<15W Vi=7.5v to 20v4.755.005.25V线性调整率VoTj=25,Vi=7.5V to 25V4.0100mVTj=25,Vi=8V to 12V1.650mV负载调整率VoTj=25,lo=5.0mA to 1.5A9100mVTj=25,lo=250mA to 750mA450mV静态电流IQTj=255.08mA静态电流变化率IQlo=5mA to 1.0A0.030.5mAVi=8V to 25V0.30.8mA输出电压温漂Vo/Tlo=5mA0.8mV/ 输出噪音电压VNf=10Hz to 100KHz,Ta=2542V纹波抑制比RRf=120Hz,Vi=8V to 18V6273dB输入输出电压差Volo=1.0A,Tj=252V输出阻抗Rof=1KHz15m短路电流1SCVi=35V,Ta=25