《基于单片机的太阳能电池控制器的设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的太阳能电池控制器的设计毕业论文.doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 基于单片机的太阳能电池控制器的设计毕业论文目录1概述11.1题目要求11.2题目国外发展现状1 1.3题目设计目标级功能要求21.4 题目设计所需要的环境22总体设计32.1硬件总体设计42.2程序总体设计43硬件设计93.1电压采集电路93.1.1电压采样电路93.1.2ADC0809模数转换芯片93.1.3 74LS373锁存器113.2单片机与其外围电路123.2.1单片机功能引脚介绍123.2.2单片机外围电路133.3充放电电路143.3.1MOSFET143.3.2光耦合器件153.3.3PWM控制技术介绍163.4硬件设计软件184软件设计194.1中断系统194.1.1中断系
2、统结构194.1.2中断响应224.1.3中断响应过程224.1.4中断请求的撤销234.2各设计模块244.2.1程序初始化模块244.2.2定时器中断模块244.2.3A/D转换模块254.2.4PWM脉冲宽度控制模块254.2.5方案的选择控制模块264.2.6单片机停止工作的按键输入模块264.3软件总体设计265系统调试315.1硬件电路调试315.2程序调试326其它器件介绍336.1太阳能电池336.2蓄电池336.2.1蓄电池分类336.2.2蓄电池容量336.2.3蓄电池能量效率356.2.4蓄电池循环寿命35参考文献.36致谢.3834 / 371概述1.1题目要求在全球能
3、源形势紧,全球气候变暖严重威胁经济发展的今天,世界各国都在寻取新的能源替代战略,以求得可持续发展与在日后的发展中获得优势地位。太阳能以其清洁、可再生、安全等显著等显著优势成为当今关注的重点。尤其是太阳能光伏发电技术,在近些年来更是得到飞速的发展,时至今日光伏发电技术已经极其成熟,在光伏发电技术中主要分为两种:独立式发电系统和分布式发电系统。分布式发电系统则主要应用于大规模的并网发电系统。独立式发电系统主要面向小型用户或者小型负载,独立式发电系统以其应用灵活,适应性强贝越来越多的应用于各个领域。独立式光伏发电系统主要有4部分组:太阳能电池板、制器、电池和直流负载。太阳能电池板和蓄电池的技术发展相
4、对来说比较成熟,而对于控制器由于所适用的场合有所不同,其对性能的要求也就各不相同,就一般太阳能电池板蓄电池对于控制器的要求主要侧重于对蓄电池充放电的管理,以与对夜间和白昼的充放电选择,这样才能更加合理的利用太阳能,使光伏发电系统的效率最大化,另一方面通过单片机对蓄电池的过充电和过放电的管理,可以延长蓄电池的寿命,从而进一步提升系统的性价比,因此对于设计出这样一种智能控制器就显得很必要了。1.2题目国外发展现状太阳光没有地域的限制无论陆地或海洋,无论高山或岛屿,都处处皆有,可直接开发和利用,且勿须开采和运输。它同以往其他电源发电原理完全不同,具有以下特点:1.无枯竭危险;2.干净无公害;3.不受
5、资源分布地域的限制;4.可在用电处就近发电;5.能源质量高;6.获取能源花费的时间短。正是由于以上特点,美国在经历上世纪80年代能源危机后,就一直致力于开发太阳能发电技术,到现在为止该项技术在美国,德国,瑞士和日本等国的技术发展和推动下,已变得极为成熟。在我国国市场,已经有很多对此类控制器开发研制的技术厂商和科研院所,因此从某一方面来讲,我国已完完全全进入太阳能全面发展的时代。太阳能电池板直流负载控制装置蓄电池图1.1 太阳能电池板给直流系统供电的系统结构框图太阳能电池蓄电池充电控制光耦电路A/D转换分压电路采集电压分压电路采集电压A/D转换光耦电路放电控制51单片机图1.2 本次设计中所采用
6、的系统结构框图1.3题目设计目标与功能要求在本次设计中抓药要设计出一种智能型的太阳能电池控制器,对功能具体要求如下:1电池长时间发电,电压较低时要停止放电。2蓄电池电压高于其所能承受的电压时,要停止对其充电。3通过电压采样检测,对不同的蓄电池不同充电状态,采用不同的充电方案。4对于整套充放电系统要设置可手动关停的按钮,以达到对系统更为智能的设计。5通过设置时间,从而根据光照情况对蓄电池进行自动的关停。6可对线路进行过流,短路保护本次设计中将以ATMEL系列中的AT89S51单片机为控制中心,软硬件的结合,利用分压电路对蓄电池,太阳能电池的电压、电流进行采样。再经过A/D转换采样数据输入到单片机
7、中进行处理。单片机输出经光耦驱动MOSFET管来控制外接电路开启关闭。该系统可以实现控制蓄电池的最优充放电,当蓄电池电压在14.4V+0.5时,太阳能电池停止对蓄电池充电,当蓄电池电压在10.9V+0.5时,蓄电池停止对负载放电;负载电流检测电路可进行过流保护与负载功率检测.。1.4题目设计所需要的环境对于本次设计的关键核心在于,如何对硬件电路进行设计,和单片机程序如何设计。现行的硬件电路设计和单片机汇编语言设计的主要工具为proteus和keil uVision2,proteus对数字电路的设计有着优越的性能,它有着庞大的元件库,而且元件库中拥有大量的微处理器芯片,另一方面,keil对汇编语
8、言进行编译成功后可产生能与proteus进行联机调试的“HEX”文件。故在本次设计中采用proteus和keil这两款软件分别对软硬件进行设计和仿真。在接下来的各个章节中,我们就将对独立式光伏发电系统中的控制器部分,通过proteus和keil对其进行软硬件的设计,并对其进行仿真。2总体设计系统设计的流程图如下开 始初始化变量电压采集Vbat14.5V停止充电YVbat12VN浮充YVbat10.8VN快充Y停止放电N是否按键输入NY完毕图2.1 系统设计的流程图由流程图可知,对于 整个充放电过程主要分为以下4个阶段: Vbat10.8V时,电池停止放电,而且当有完毕按键输入时要完毕整个程序,
9、当无啊、完毕按键输入时,程序转而对蓄电池进行快充10.8V Vbat12V时,对电池进行快速充电 12VVbat14.5时,对电池进行浮充 Vbat=14.5V时,对电池停止充电执行以上各阶段程序后,程序要继续进入电压检测阶段,进而根据充电情况对充放电方案重新进行选择。由流程图可以看出没有对充放电进行专门的设置,而是通过单片机比较经过A/D转换过的采样电压的大小来对冲电或放电进行管理的,当电压值大于14.5V时单片机发出信号,使得充放电电路停止充电,当然此时可以放电回路,可以放电,也可以出断开状态; 当电压值小于10.8V时,首先要断开放电回路,然后再通过一个外置于单片机的手动开关,若此时用户
10、想要控制器停止工作,则按下按钮,此时单片机就会进入停止工作状态,若想让单片机继续进行充放电工作状态,则无需按下按钮,系统会自动进入快充状态,之后后继续进入下一个电压采集转换,以与方案选择的循环中,直至用户需要停止系统工作按下按钮。2.1硬件总体设计图2.1 硬件总体设计图2.2程序总体设计 ORG 0000HLJMP STARTORG 0003HLJMP EXTERN_INTORG 000BH LJMP TIMER0_INT START: MOV SP,#050H ;设置堆栈MOV R0,#030H ;设置A/D存储单元初始地址MOV IE,#0FFH ;打开所有中断MOV DPTR,#0FE
11、F8H ;采集通道首地址,只使用一路A/D就可以MOV R0,#40H MOV R0,#00H ;清除方案选择MOV R0,#40HMOV R0,#00H ;清楚方案选择触发位MOV R1,#042HMOV R0,#00H ;清除定时计数器LCALL TIMER1_INT LOOP: MOV R0,#30H ;30H是A/D转换的地址,将数据和几个值进行比较,确定方案 MOV A,R0 SUBB A,#99H ;当电压很小的时候,采用第1种方案,想引脚PWM发送占空比为10%的信号 JC PROCESS_01 MOV A,R0 SUBB A,#0AAH JC PROCESS_02 ;很小的时候
12、,采用第2种方案,想引脚PWM发送占空比为20%的信号 MOV A,R0 SUBB A,#0CDH JC PROCESS_03;电压很小的时候,采用第3种方案,想引脚PWM发送占空比为50%的信号 MOV A,#04H ;当电压超出的时候,采用第4种方案,向引脚PWM发送占空比为0%的信号 LJMP PROCESS_04 CLEAR_FLAG: MOV R0,#40H ;清除方案选择位 MOV R0,#00H MOV R0,#41H ;清除触发位 MOV R0,#00H LJMP LOOPPROCESS_01: MOV R1,#040H; MOV R1,#01H; ;选择方案1PROCESS_
13、01_NEXT: CLR P2.4 ; ;将和PWM连接的管脚置低,此时停止充电 MOV R1,#01H; MOV R0,#01HPROCESS_01_01: DJNZ R1,PROCESS_01_01 DJNZ R0,PROCESS_01_01 ;空跑16*256*2个周期 CLR P2.4 ;将和PWM连接的管脚置低 MOV R1,#01H MOV R0,#01H PROCESS_01_02: DJNZ R1,PROCESS_01_02 DJNZ R0,PROCESS_01_02 ;空跑16*256*2*9个周期 MOV R1,#041H ;当方案改变标志位到来的时候,清楚标志并且重新进行
14、判断 CJNE R1,#00H,CLEAR_FLAG SJMP PROCESS_01_NEXT PROCESS_02: MOV R1,#040H MOV R1,#02H ;选择方案2 PROCESS_02_NEXT: SETB P2.4 ;将和PWM连接的管脚置高,选择浮充 MOV R1,#01H MOV R0,#01H PROCESS_02_01: DJNZ R1,PROCESS_02_01 DJNZ R0,PROCESS_02_01 ;空跑16*256*2个周期 CLR P2.4 ; 将和PWM连接的管脚置低 MOV R1,#01H MOV R0,#01H PROCESS_02_02: D
15、JNZ R1,PROCESS_02_02 DJNZ R0,PROCESS_02_02 ;空跑16*256*2*8个周期 MOV R1,#041H ;当方案改变标志位到来的时候,清除标志并且重新进行判断 CJNE R1,#00H,CLEAR_FLAG SJMP PROCESS_02_NEXT PROCESS_03: MOV R1,#040H MOV R1,#03H ;选择方案3 PROCESS_03_NEXT: SETB P2.4 ;将和PWM连接的管脚置高,选择快充 MOV R1,#01H MOV R0,#01H PROCESS_03_01: DJNZ R1,PROCESS_03_01 DJN
16、Z R0,PROCESS_03_01 ;空跑16*256*2*2个周期 CLR P2.4 ;将和PWM连接的管脚置低 MOV R1,#01H MOV R0,#01H PROCESS_03_02: DJNZ R1,PROCESS_03_02 DJNZ R0,PROCESS_03_02 ;空跑16*256*2*7个周期 MOV R1,#041H ;当方案改变标志位到来的时候,清除标志并且重新进行判断 CJNE R1,#00H,CLEAR_FLAG SJMP PROCESS_03_NEXT PROCESS_04: CLR P2.4 ; 停止放电 CLR P2.1 MOV R1,#040H MOV R
17、1,#04H ;选择方案4 MOV R1,#041H CJNE R1,#00H,CLEAR_FLAG SJMP PROCESS_04 TIMER1_INT: ANL TMOD,#0FH ;设置定时器T1为方式2 ORL TMOD,#10H MOV TMOD,#21H ;定时器T0工作在方式1 MOV PCON,#080H CLR TR1 ;禁止定时器T1 SETB EA SETB ET1 SETB ET0 SETB PT0 ;定时器T0中断优于串口中断 CLR TF1 MOV TL0,#00H MOV TH0,#01FH ;定时器T0中断发生时间为62.5ms SETB TR0 ;使能定时器T
18、0 CLR TF0 RET; ;- ; 进入定时器中断,每500ms设置1次标志位 ;- TIMER0_INT: PUSH ACC ;累加器入栈 PUSH PSW ;程序状态字入栈 MOV PSW,#18H ;切换寄存器区域 CLR TF0 ;清除定时器TF0 CLR TR0 ;禁止定时器T0 MOV TL0,#00H MOV TH0,#01FH ;定时器T0中断发生时间为6 CLR TF0 ;清除溢出中断位 MOV R1,#042H INC R1 ;增加计数器的值,到8为止,这样达到500ms CJNE R1,#08H,TIMER0_READY MOV R1,#00H ;清除计数器的值 MO
19、V R1,#041H ;设置标志位,每500ms重新选择方案 MOV R1,#01H TIMER0_READY: SETB TR0 ;使能定时器T0 POP PSW ;程序状态字出栈 POP ACC ;累加器出栈 RETI;-; 进入外部中断,每进入一次读取ADC的值;- EXTERN_INT: PUSH ACC ;累加器压栈 PUSH PSW ;程序状态字压栈 MOV PSW,#010H ;切换寄存器区域 MOV DPTR,#0FEF8H ;A/D转换器首地址 MOVX A,DPTR ;读入A/D的值 MOV R1,#030H ;存储A/D转换器的数据的地址 MOV R1,A ;将A/D的值
20、读入该地址 POP PSW ;程序状态字出栈 POP ACC ;累加器出栈 RETI END3硬件设计3.1电压采集电路3.1.1电压采样电路如图2.5所示,电压采集电路使用两个串联的电阻,大小比例为4:1,然后并联在需要检测的电压两端,从两个电阻中间采集电压。由分压公式得出采集的电压为VR1R21/5电池充满电时电压大概为14.5V,计算出采集到的电压为2.9VA/D转换芯片的ADC0809的值为94H图3.1 电压采集电路假设蓄电池电压为U,则根据欧姆定律R=和串联电路的分压特性,可得= .U=U=U通过采样对蓄电池电压进行采样后,模数转换的芯片输入端所处理的电压 围缩小至03V,大大增强
21、了数模转换的可行性3.1.2ADC0809模数转换芯片AT89S51单片机没有置的A/D转换模块,因此采集的电压需要经A/D转换才可接入单片机。在本次设计中,我们采用ADC0809对采样电压进行数模转换,ADC0809为八位逐次比较式A/D转换芯片,具有8路模拟输入通道和8位数字输出通道,其工作频率为640kHz(理论上1kHz)。该芯片采用脉冲启动方式:只要给其控制端加一个符合要求的脉冲信号即可启动该芯片进行模数转换(通常用和地址译码的输出经过一定的逻辑电路进行控制,对于本次设计,只需把符合要求的电平加到启动控制端即可可是转换)。ADC0809芯片部逻辑与引脚图8路模拟开关三态锁存缓冲器A/
22、D转换 IN7 . . . . DB7 IN0 .地址锁存与译码. ADDA . ADDB. ADDCDB6 ALE (a) (b)图3.2 ADC0809芯片的部逻辑结构与引脚图(a)部逻辑图 (b)引脚图ADC0809输入通道地址选择表表3.1 ADC0809输入通道地址选通表ADDC ADDB ADDA选通的通道0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1IN0IN1IN2IN3IN4IN5IN6IN7ADC0809工作转换时序 START ALE A.B.C INOE EOCDate D0D7 图3.3 ADC0809工作时序图3.1.3 74LS3
23、73锁存器74LS373是一种带输出三态门的8D锁存器,其结构如以下图所示 8D锁存器 三态门IN1IN8OUT1OUT81D 1Q. . . .8D 8QG图3.4 74LS373结构示意图1D8D为8个输入端1Q8Q为8个输出端G为数据锁存控制端:当G为“1”时,锁存器输出端同输入端;当G由“1”变0时,数据输入锁存器中。为输出允许端:当为“0”时,三态门打开;当为“1”时,三态门关闭,输出呈高阻状态。在51单片机系统中,常采用74LS373做为地址锁存器使用,其连接方法如以下图所示。1D 1Q . . . .8D . 8Q74LS373G A7A0P0.7P0.0 ALE 图3.5 74
24、LS373用作地址锁存器3.2单片机与其外围电路3.2.1单片机功能引脚介绍本设计使用51些列单片机,51系列单片机是8051系列的简称,是指MCS-51系列单片机和其他公司的8051派生品。MCS-51系列单片机最早是由intel公司推出的通用型单片机,MCS-51系列单片机产品可分为两大系列:51子系列和52子系列。51子系列的基本产品是8031,,8051和87c51三种机型,分别与这三种机型兼容的低功耗CMOS器件产品是80C31,80C51和87C51。它们的指令系统和芯片引脚完全兼容,它们之间的差别仅在于片有无ROM或EPROM 图3.6 51单片机引脚图51单片机引脚功能: MC
25、S-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照-单片机引脚图: l P0.0P0.7 P0口8位双向口线(在引脚的3932号端子)。 l P1.0P1.7 P1口8位双向口线(在引脚的18号端子)。 l P2.0P2.7 P2口8位双向口线(在引脚的2128号端子)。 l P3.0P3.7 P2口8位双向口线(在引脚的1017号端子)。 P0口有三个功能: 1、外部扩展存储器时,当做数据总线(如图1中的D0D7为数据总线接口) 2、外部扩展存储器时,当作地址总线(如图1中的A0A7为地址总线接口) 3、不扩展时,可做一般的I/O使用,但部无上拉电阻,作为输入或输出时应在外部接上
26、拉电阻。P0口有三个功能: 1、外部扩展存储器时,当做数据总线(如图1中的D0D7为数据总线接口) 2、外部扩展存储器时,当作地址总线(如图1中的A0A7为地址总线接口) 3、不扩展时,可做一般的I/O使用,但部无上拉电阻,作为输入或输出时应在外部接上拉电阻。RST 复位信号:当输入的信号连续2个机器周期以上高电平时即为有效,用以完成单片机的复位初始化操作。 XTAL1和XTAL2 外接晶振引脚。当使用芯片部时钟时,此二引脚用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。VCC:电源+5V输入 VSS:GND接地。 3.2.2单片机外围电路8051单片机单片机与其外围电路
27、包括上电复位电路,晶振如图11所示, 图3.7 单片机外围电路图3.3充放电电路3.3.1MOSFETMOSFET为金属氧化层体-场效晶体管,简称金氧半场效晶体管(Metal-Oxide-Semiconductor Field-Effect Transistor, MOSFET)是一种可以广泛使用在模拟电路与数字电路的场效晶体管(field-effect transistor)。MOSFET依照其“通道”的极性不同,可分为n-type与p-type的MOSFET,通常又称为NMOSFET与PMOSFET,其他简称尚包括NMOS FET、PMOS FET、nMOSFET、pMOSFET等。对于这
28、一部分的设计由充二极管D1、滤波电容C1、续流二极管D2、MOSFET管Q1、滤波电容C2、MOSFET管Q1等构成。二极管D1是为了防反充,当阴天或晚上蓄电池的电压高于太阳能电池的电压时,D1就生效。通过控制开关闭合跟断开的时间(即PWM脉冲宽度调制),就可以控制输出电压。所使用的MOSFET是电压控制单极性金属氧化物半导体场效应晶体管,所需驱动功率较小。而且MOSFET只有多数载流子参与导电,不存在少数载流子的复合时间,因而开关频率可以很高,非常适合作控制充放电开关。设计中采用IRF9540N P沟道MOSFET管,P沟道MOSFET的导通电压Vth0,由以下图可以实现MOSFET的驱动。
29、当光耦U5导通时,由于Q1的G极电压很小,G极近似接地,Vgs0,当S极电压达到一定值时,Q1导通。Q2的原理类似。电路如图3图3.8 充放电电路3.3.2光耦合器件光耦合器件是由发光二极管(发光源)与受光源(如光敏二极管,光敏晶闸管或光敏集成电路等)封装在一起,构成的电光电转化器件。根据受光源结构的不同,可以将光耦合器件分为晶体管输出的光电耦合器件和晶闸管输出的光电耦合器件两大类1432图3.9 为本次设计中所使用的晶体管光耦合器件1脚:正极 2脚:负极 3脚:发射极 4脚:集电极TLP521是可控制的光电藕合器件,光电耦合器广泛作用在电脑终端机,可控硅系统设备,测量仪器,影印机,自动售票,
30、家用电器,如风扇,加热器等在1、2极之间加正向电压,部的发光二极管(LED)将会发出一定波长的光,被光探测器接收而产生光电流,3、4极之间导通。反之,光耦部的发光二极管的电流近似为零,输出端两管脚间的电阻很大,相当于开关断开。由于单片机输出只有5V不足于驱动MOSFET管,因此驱动MOSFET管的电压从U3出接出。电路之间的信号传输,使之前端与负载完全隔离,目的在于增加安全性,减小电路干扰,减化电路设计。在本次设计中由图2.7可知:入信号C1为低电平时,光耦部的发光二极管的电流近似为零,输出端两管脚间的电阻很大,相当于开关“断开”;当C1为高电平时,光耦部的发光二极管发光,输出端两管脚间的电阻
31、变小,相当于开关“接通”,此时从U5输入的电压经光耦流向接地端,K1处的电压接近为零,MOSEFT的Vgs0,当S极电压达到一定值时,Q1导通。图3.10 光耦开关电路3.3.3PWM控制技术介绍PWM(Pulse Width Modulation)控制脉冲宽度调制技术,通过对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。 PWM控制技术在逆变电路中应用最广,应用的逆变电路绝大部分是PWM型,PWM控制技术正是有赖于在逆变电路中的应用,才确定了它在电力电子技术中的重要地位。 理论基础: 冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。冲量指窄脉冲的面积。效
32、果基本相同,是指环节的输出响应波形基本相同。低频段非常接近,仅在高频段略有差异。(t) (t) (t) (t)(t) 0 t t t t(a) (b) (c) (d)图3.11形状不同而冲量相同的各种窄脉冲面积等效原理:分别将如图1所示的电压窄脉冲加在一阶惯性环节(R-L电路)上,如图2a所示。其输出电流i(t)对不同窄脉冲时的响应波形如图2b所示。从波形可以看出,在i(t)的上升段,i(t)的形状也略有不同,但其下降段则几乎完全相同。脉冲越窄,各i(t)响应波形的差异也越小。如果周期性地施加上述脉冲,则响应i(t)也是周期性的。用傅里叶级数分解后将可看出,各i(t)在低频段的特性将非常接近,
33、仅在高频段有所不同。 i(t) i(t)cabde(t)(a) (b)图3.12 冲量相同的各种窄脉冲的响应波形用一系列等幅不等宽的脉冲来代替一个正弦半波,正弦半波N等分,看成N个相连的脉冲序列,宽度相等,但幅值不等;用矩形脉冲代替,等幅,不等宽,中点重合,面积(冲量)相等,宽度按正弦规律变化。 SPWM波形脉冲宽度按正弦规律变化而和正弦波等效的PWM波形。 0 tt图3.13 用PWM原理图PWM波代替正弦半波要改变等效输出正弦波幅值,按同一比例改变各脉冲宽度即可。 PWM电流波: 电流型逆变电路进行PWM控制,得到的就是PWM电流波。 PWM波形可等效的各种波形: 直流斩波电路:等效直流波
34、形 SPWM波:等效正弦波形,还可以等效成其他所需波形,如等效所需非正弦交流波形等,其基本原理和SPWM控制相同,也基于等效面积原理。PWM相关概念占空比:就是输出的PWM中,高电平保持的时间 与 该PWM的时钟周期的时间 之比如,一个PWM的频率是1000Hz,那么它的时钟周期就是1ms,就是1000us,如果高电平出现的时间是200us,那么低电平的时间肯定是800us,那么占空比就是200:1000,也就是说PWM的占空比就是1:5。分辨率也就是占空比最小能达到多少,如8位的PWM,理论的分辨率就是1:255(单斜率), 16位的的PWM理论就是1:65535(单斜率)。频率就是这样的,
35、如16位的PWM,它的分辨率达到了1:65535,要达到这个分辨率,T/C就必须从0计数到65535才能达到,如果计数从0计到80之后又从0开始计到80.,那么它的分辨率最小就是1:80了,但是,它也快了,也就是说PWM的输出频率高了。双斜率 / 单斜率假设一个PWM从0计数到80,之后又从0计数到80. 这个就是单斜率。假设一个PWM从0计数到80,之后是从80计数到0. 这个就是双斜率。可见,双斜率的计数时间多了一倍,所以输出的PWM频率就慢了一半,但是分辨率却是1:(80+80) 1:160,就是提高了一倍。假设PWM是单斜率,设定最高计数是80,我们再设定一个比较值是10,那么T/C从
36、0计数到10时(这时计数器还是一直往上计数,直到计数到设定值80),单片机就会根据你的设定,控制某个IO口在这个时候是输出1还是输出0还是端口取反,这样,就是PWM的最基本的原理了。3.4硬件设计软件本次设计中我们用PROTEUS对设计中的硬件电路进行设计。Proteus软件是英国Labcenter electronics公司出版的EDA工具软件(该软件中国总代理为风标电子技术)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机与外围器件。它是目前最好的仿真单片机与外围器件的工具。虽然目前国推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。P
37、roteus是世界上著名的EDA工具仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器4软件设计4.1中断系统4.1.1中断系统结构在CPU 与外设交换信息时,存在着一个快速的 CPU 与慢速的外设之间的矛盾。为解决这个问题,发展了中断的概念。 单片机在某一时刻只能处理一个任务,当多个任务同时要求单片机处理时,这一要求应该怎么实现呢?通过中断可以实现多个任务的资源共享。 中断现象在现实生活