msp430单片机实现PWM
- 格式:docx
- 大小:11.07 KB
- 文档页数:2
基于MSP430单片机的直流电机PWM调速系统的研究一、本文概述随着微控制器技术的快速发展,其在各种控制系统中的应用也日益广泛。
MSP430单片机作为一种低功耗、高性能的微控制器,被广泛应用于各种嵌入式系统和智能设备中。
其中,直流电机PWM调速系统就是MSP430单片机的一个重要应用领域。
本文旨在研究基于MSP430单片机的直流电机PWM调速系统。
我们将介绍MSP430单片机的基本特性及其在直流电机控制中的优势。
然后,我们将详细分析PWM(脉冲宽度调制)调速系统的基本原理和优点,以及如何在MSP430单片机上实现PWM控制。
接下来,我们将通过硬件设计和软件编程,构建一个基于MSP430单片机的直流电机PWM调速系统,并对其性能进行实验验证。
我们还将讨论该系统在实际应用中的潜力和可能面临的挑战,如噪声干扰、电机保护、系统稳定性等问题,并提出相应的解决方案。
我们将总结本文的主要研究成果,并展望未来的研究方向和应用前景。
通过本文的研究,我们希望能够为MSP430单片机在直流电机PWM 调速系统中的应用提供理论和实践指导,推动相关技术的发展和应用。
二、MSP430单片机概述MSP430单片机是德州仪器(Texas Instruments,简称TI)推出的一款低功耗、高性能的微控制器。
其独特的设计理念和广泛的应用场景,使得MSP430单片机在众多嵌入式系统中占有一席之地。
MSP430单片机以其超低的功耗、丰富的外设资源、高效的指令集以及灵活的编程方式,被广泛应用于各种低功耗、实时性要求高的嵌入式系统中。
MSP430单片机具有多种型号,涵盖了不同的性能和功能需求。
其核心采用精简指令集(RISC)架构,使得指令执行速度更快,效率更高。
MSP430单片机还具有丰富的外设接口,如串行通信接口(UART)、SPI、I2C等,方便与外部设备进行通信。
在直流电机PWM调速系统中,MSP430单片机扮演着关键角色。
通过编程控制PWM波的占空比,MSP430单片机可以实现对直流电机的精确调速。
MSP430程序库之定时器TA的PWM输出定时器是单片机常用的其本设备,用来产生精确计时或是其他功能;msp430的定时器不仅可以完成精确定时,还能产生PWM波形输出,和捕获时刻值(上升沿或是下降沿到来的时候)。
这里完成一个比较通用的PWM波形产生程序。
1.硬件介绍:MSP430系列单片机的TimerA结构复杂,功能强大,适合应用于工业控制,如数字化电机控制,电表和手持式仪表的理想配置。
它给开发人员提供了较多灵活的选择余地。
当PWM 不需要修改占空比和时间时,TimerA 能自动输出PWM,而不需利用中断维持PWM输出。
MSP430F16x和MSP430F14x单片机内部均含有两个定时器,TA和TB;TA 有三个模块,CCR0-CCR2;TB含有CCR0-CCR67个模块;其中CCR0模块不能完整的输出PWM波形(只有三种输出模式可用);TA可以输出完整的2路PWM波形;TB可以输出6路完整的PWM波形。
定时器的PWM输出有有8种模式:输出模式0 输出模式:输出信号OUTx由每个捕获/比较模块的控制寄存器CCTLx中的OUTx位定义,并在写入该寄存器后立即更新。
最终位OUTx直通。
输出模式1 置位模式:输出信号在TAR等于CCRx时置位,并保持置位到定时器复位或选择另一种输出模式为止。
输出模式2 PWM翻转/复位模式:输出在TAR的值等于CCRx时翻转,当TAR 的值等于CCR0时复位。
输出模式3 PWM置位/复位模式:输出在TAR的值等于CCRx时置位,当TAR 的值等于CCR0时复位。
输出模式4 翻转模式:输出电平在TAR的值等于CCRx时翻转,输出周期是定时器周期的2倍。
输出模式5复位模式:输出在TAR的值等于CCRx时复位,并保持低电平直到选择另一种输出模式。
输出模式6PWM翻转/置位模式:输出电平在TAR的值等于CCRx时翻转,当TAR值等于CCR0时置位。
输出模式7PWM复位/置位模式:输出电平在TAR的值等于CCRx时复位,当TAR的值等于CCR0时置位。
对于那么多的TAx输出口,那么多的模式,真是不知所措,那么今天让我们来详细的讨论一下msp430单片机TAx哪些管脚可以输出,以及其输出模式又是怎样的,又该怎样写程序.不着急一步一步来首先让我们来了解下关于输出模式:(1)模式0(电平输出):在输出模式0下,TAx管脚与普通的输出IO口一样,可以由软件操作OUT控制位来控制TAx管脚的高低电平。
(2)模式1与模式5(单脉冲输出):利用比较模块的模式1和模式5,可以替代单稳态电路,产生单脉冲波形。
在输出模式1下,当主计数器计至TACCRx值时,TAx管脚置1。
如果通过OUT控制位事先将TAx的输出设为低,经过TACCRx个周期后,TAx将自动变高。
这样做可以输出一个低电平脉冲。
通过改变TACCRx 的值,可以改变低电平脉冲的周期,且脉冲过程无需CPU的干预。
在输出模式5下,当主计数器计至TACCRx值时,TAx管脚置0.如果通过OUT 控制位事先将TAx输出设置为高,经过TACCRx个周期后,TAx将自动变低。
这样做可以输出一个高电平脉冲。
通过改变TACCRx的值可以改变该点评脉冲的周期,且脉冲过程无需CPU的干预。
(3)模式3和模式7(PWM输出):脉宽调制是最常用的功率调整手段之一。
所谓脉宽调制,顾名思义,是指在脉冲方波周期一定的情况之下,通过调整脉冲的宽度,改变负载通断时间的比例,以达到功率调节的目的。
PWM波形中,负载接通时间与一个周期总时间之比叫做占空比。
占空比越大,负载功率就越大。
如果PWM频率足够高以至于不足以表现表现出负载断续,从宏观上看,负载实际功率将是连续的。
在PWM调整负载功率的过程中,负载断开时晶体管无电流通过,不发热。
负载接通时晶体管饱和,虽然通过有较大电流,但压降很小,发热功率也很低。
所以使用PWM控制负载时,开关器件的总发热量很小。
相比于串联耗散式的调整方法,效率会高很多,适合大功率,高效率的负载调整应用。
但PWM的缺点是负载功率高频波动很大,不适合要求输出平稳无纹波要求的场合。
摘要本设计介绍了一种基于MSP430单片机实现的单闭环直流电机的调速系统,随着我国工业的发展,越来越多的生产机械要求能实现自动调速。
由于MSP430系列的单片机具有处理能力强、运算速度快、集成度高、外部设备丰富、超低功耗等优点, 本设计介绍了一种基于MSP430单片机实现的单闭环直流电机的调速系统,该系统利用MSP430单片机的Timer-A模式产生PWM波,通过改变PWM波的占空比来控制电机的速度,并着重介绍了PWM的调速原理。
其中采用光耦隔离的方法实现单片机与外部电路之间的电气隔离,PWM波经过功率驱动芯片放大后控制直流电机的电枢电压进行平滑调速并由霍尔元件检测出直流电机转速构成的速度反馈,设置四个独立性键盘分别控制电机的正反转、加速和减速,最后通过LED动态显示出直流电机的转速。
采用MSP430单片机控制直流电机的转速取代了以往的模拟控制,使控制精度高,而且方便系统的升级和改进,灵活性和适应性更强。
关键词:MSP430 PWM调速直流电机AbstractThis design introduces a MSP430 Microcontroller based single-loop DC motor speed control system, as Chinese industrial development, more and more production machinery required to achieve automatic speed control. MSP430 family of microcontrollers have the processing capacity, fast speed, high integration, the external device rich, ultra-low power consumption, etc.The design introduces a MSP430 Microcontroller based single-loop DC motor speed control system.The system uses the MSP430 microcontroller Timer-A mode PWM wave generated by changing the duty cycle of PWM wave to control motor speed, and highlights the PWM speed control principle. One method of using opto isolation between SCM and electrical isolation between the external circuit, PWM wave amplification through the power driver chip controls the DC motor armature voltage for smooth speed detected by the Hall element constitutes the speed of DC motor speed feedback. Set of four independent keyboard control motor, respectively, reversing, acceleration and deceleration. Finally, dynamic LED display DC motor speed. MSP430 MCU control with the speed of DC motor instead of a conventional analog control, the control of high precision, and easy system upgrades and improvements, greater flexibility and adaptability.Keywords: MSP430 PWM speed control DC motor目录第一章绪论 (1)1.1 课题研究的目的意义 (1)1.1.1 设计目的 (1)1.1.2 设计的意义 (1)1.2 国内外研究现状 (1)1.3 主要内容及方法手段 (2)1.3.1 主要内容 (2)1.3.2 方法手段 (2)1.3.3 预期达到的结果 (3)第二章器件的选用 (4)2.1 单片机MSP430 (4)2.1.1 MSP430的特点 (4)2.1.2 MSP430型号的选择 (4)2.1.3 MSP430F149 (5)2.2 电气隔离 (9)2.2.1 光耦的选择 (9)2.2.2 TLP521简介 (9)2.3 驱动模块 (11)2.3.1 驱动芯片的选择 (11)2.3.2 L298的介绍 (11)2.3.3 L298的引脚功能 (11)2.4 显示方式 (12)2.5 测速模块 (13)2.5.1 测速元件的选择 (13)2.5.2 霍尔效应及其原理 (13)2.5.3 CS3020的特征及应用 (14)2.5.4 CS3020的引脚说明 (14)2.6 键盘的选择 (15)第三章硬件电路设计 (16)3.1 系统设计原理 (16)3.2 单片机的最小系统 (16)3.2.1 电源 (16)3.2.2 复位电路 (18)3.2.3 晶体 (18)3.3 PWM波调速 (19)3.3.1 直流电机PWM的调速原理 (19)3.3.2 Timer-A实现PWM (20)3.3.3 键盘调速 (23)3.4 电机驱动电路 (24)3.4.1 电气隔离电路 (24)3.4.2 驱动电路 (25)3.5 LED显示 (27)3.6 测速电路 (28)第四章结论与展望 (30)4.1 结论 (30)4.2 展望 (30)参考文献 (31)致谢 (32)附录A (33)附录B (41)第一章绪论1.1 课题研究的目的意义1.1.1 设计目的随着我国工业的发展,电动机作为电能转换的传动装置被广泛应用于机械、冶金、石油化学、国防等工业部门中,随着对生产工艺、产品质量的要求不断提高和产量的增长,越来越多的生产机械要求能实现自动调速。
文章编号:167121742(2003)022*******基于MSP430单片机的直流电机PW M 调速系统的研究王鹏飞1, 王保强2(1.西南交通大学,四川成都610031;2.成都信息工程学院,四川成都610041)摘要:阐述了MSP430指令集和编译软件的特点,介绍一种基于MSP430单片机实现的直流电机的调速系统。
该系统采用MSP430的T imer A 模式,产生PW M 输出以生成控制信号,能够理想的实现直流电机的PW M 控制,并给出部分软硬件设计。
关 键 词:脉宽调制;MSP430;直流电机中图分类号:TP368.1 文献标识码:A1 引言 直流电机由于具有速度控制容易,启、制动性能良好,且在宽范围内平滑调速等特点而在冶金、机械制造、轻工等工业部门中得到广泛应用。
直流电动机转速的控制方法可分为两类,即励磁控制法与电枢电压控制法。
励磁控制法控制磁通,其控制功率虽然小,但低速时受到磁饱和的限制,高速时受到换向火花和换向器结构强度的限制;而且由于励磁线圈电感较大,动态响应较差。
所以常用的控制方法是改变电枢端电压调速的电枢电压控制法。
调节电阻R 即可改变端电压,达到调速目的。
但这种传统的调压调速方法效率低。
随着电力电子技术的进步,发展了许多新的电枢电压控制方法,其中PW M (脉宽调制)是常用的一种调速方法。
其基本原理是用改变电机电枢(定子)电压的接通和断开的时间比(占空比)来控制马达的速度,在脉宽调速系统中,当电机通电时,其速度增加;电机断电时,其速度减低。
只要按照—定的规律改变通、断电的时间,即可使电机的速度达到并保持一稳定值。
最近几年来,随着微电子技术和计算机技术的发展及单片机的广泛应用,使调速装置向集成化、小型化和智能化方向发展。
在单片机控制的脉宽调速系统中,占空比D 的产生可以由定时器或延时软件来产生。
MSP430单片机的定时器可以产生PW M 方波输出,将它用于直流电机的脉宽调速系统是个很好的方案。
#include <msp430x14x.h>#define Exterior_8MHz 0x55 //MCLK和SMCLK选择外部8M高频晶振#define u8 unsigned char#define u16 unsigned short#define u32 unsigned longvoid Delay_ms(u16 Time) //软件ms延时,1MHz频率下{#ifdef Exterior_8MHzu16 i,j,z;for(i=0;i<Time;i++)for(j=0;j<10;j++)for(z=0;z<158;z++);#elseu16 i,j;for(i=0;i<Time;i++)for(j=0;j<200;j++);#endif}void Delay_us( u16 Time ) //软件us延时,1MHz频率下{u16 i;for(i=0;i<Time;i++){_NOP();_NOP();}}void System_Clock_Init(void) //系统时钟源配置{#ifdef Exterior_8MHz/*------选择系统主时钟为8MHz-------*/u8 z;BCSCTL1 &= ~XT2OFF; //打开XT2高频晶体振荡器do{IFG1 &= ~OFIFG; //清除晶振失败标志for (z = 0xFF; z > 0; z--); //等待8MHz晶体起振}while ((IFG1 & OFIFG)); //晶振失效标志仍然存在?BCSCTL2 |= SELM_2 + SELS; //MCLK和SMCLK选择高频晶振#else/*------选择系统主时钟为DCO1MHz-------*/DCOCTL =0x00;BCSCTL1 &=~0x07; //清零DCOx,MODx,RSELx位DCOCTL |=DCO2+DCO1+MOD2+MOD1+MOD0; //DCO=6,MOD=7 BCSCTL1 |=RSEL2; //RSEL=4#endif}void main(void){WDTCTL = WDTPW + WDTHOLD; //关闭看门狗System_Clock_Init();//设置定时器A时钟源,1MHz#ifdef Exterior_8MHzTACTL = TACLR; //清零寄存器TACTL = TASSEL_2 + ID_3 + MC_1; //SMCLK,8分频,增计数#elseTACTL = TACLR; //清零寄存器TACTL = TASSEL_2 + ID_0 + MC_1 + TACLR; //SMCLK,0分频,增计数#endifCCR0 = 10000-1; //设定周期10000*1us=10ms,100K//PWM1CCR1 = 2500; //设定脉宽2500*1us=2.5msCCTL1 = OUTMOD_7; //PWM模式7,复位/置位P1DIR |= BIT2; //P1.2 输出P1SEL |= BIT2; //P1.2 TA1//PWM2CCR2 = 7500; //设定脉宽7500*1us=7.5msCCTL2 = OUTMOD_7; //PWM模式7,复位/置位P1DIR |= BIT3; //P1.3 输出P1SEL |= BIT3; //P1.3 TA2while(1){}}。
/************************************************************** 名称:PWM输出* 硬件描述:MSP430G2553 P1.2 P1.6 P2.1 P2.2 P2.4 P2.5* 功能:初始化定时器,输出PWM波* 入口参数:周期Cyc,占空比Occupancy* 出口参数:无* 时间:2014年7月27日* 作者:Jelly-Li* 说明:* Timer_A0_1_init(int Cyc,int Occupancy); P1.2 P1.6* Timer_A1_1_init(int Cyc,int Occupancy); P2.1 P2.2* Timer_A1_2_init(int Cyc,int Occupancy); P2.4 P2.5* 注意:* 使用的那几个IO口* 输出几个信号* 范例:* Timer_A0_1_init(500,100); 20% P1.2 P1.6* Timer_A1_1_init(300,150); 50% P2.1 P2.2* Timer_A1_2_init(8000,200); 2.5% P2.4 P2.5*************************************************************/#include <msp430g2553.h>/************************************************************** 名称:void Timer_A0_1_init(int Cyc,int Occupancy) TA0.1输出PWM* 硬件描述:MSP430G2553 P1.2 P1.6* 功能:输出PWM* 入口参数:周期Cyc,占空比Occupancy* 出口参数:无* 时间:2014年7月27日* 作者:Jelly-Li* 说明:* Timer_A0_1_init(int Cyc,int Occupancy); P1.2 P1.6* 使用P1.2口和P1.6口输出,可以同时也可以只输出一个* 注意:* 要输出几个信号,修改程序* 范例:* Timer_A0_1_init(500,100); 20% P1.2 P1.6*************************************************************/void Timer_A0_1_init(int Cyc,int Occupancy) //TA0.1输出PWM{P1SEL |= BIT2 + BIT6; //P1.2 和P1.6同时输出一样的PWM,可以只用其中一个输出P1DIR |= BIT2 + BIT6;CCR0 = Cyc; //设置周期(频率)CCR1 = Occupancy; //占空比CCR1/CCR0CCTL1 = OUTMOD_7; //输出模式为复位/置位TACTL |= TASSEL_1 + MC_1; //选择时钟,增计数}/************************************************************** 名称:void Timer_A1_1_init(int Cyc,int Occupancy) //TA1.1输出PWM* 硬件描述:MSP430G2553 P2.1 P2.2* 功能:* 入口参数:Cyc* 出口参数:Occupancy* 时间:2014年7月27日* 作者:Jelly-Li* 说明:* Timer_A1_1_init(int Cyc,int Occupancy); P2.1 P2.2* P2.1 P2.2输出TA1.1 OUT1 可以输出两个或任意一个* 注意:* 要输出几个信号,修改程序* 范例:* Timer_A1_1_init(300,150); 50% P2.1 P2.2*************************************************************/void Timer_A1_1_init(int Cyc,int Occupancy) //TA1.1输出PWM{P2SEL |= BIT1 + BIT2; //P2.1 和P2.2同时输出一样的PWMP2DIR |= BIT1 + BIT2;TA1CCR0 = Cyc; //时钟频率TA1CCR1 = Occupancy; //占空比CCR1/CCR0,注意CCR1要写成TA1CCR1 TA1.1由P2.1 P2.2输出TA1CCTL1 = OUTMOD_7; //输出模式为复位/置位,注意CCTL1要写为TA1CCTL1TA1CTL |= TASSEL_1 + MC_1; //时钟,增计数}/************************************************************** 名称:void Timer_A1_2_init(int Cyc,int Occupancy)* 硬件描述:MSP430G2553 P2.4 P2.5* 功能:* 入口参数:Cyc* 出口参数:Occupancy* 时间:2014年7月27日* 作者:Jelly-Li* 说明:* Timer_A1_2_init(int Cyc,int Occupancy); P2.4 P2.5* P2.4 P2.5输出TA1.2 OUT2 可以任意输出一个或者两个,但必须是这两个端口* 注意:* 要输出几个信号,修改程序* 范例:* Timer_A1_2_init(8000,200); 2.5% P2.4 P2.5*************************************************************/void Timer_A1_2_init(int Cyc,int Occupancy) //TA1.2输出PWM{//端口初始化P2SEL |= BIT4 + BIT5; //P2.4 和P2.5同时输出一样的PWMP2DIR |= BIT4 + BIT5;//TA1CCR0 = Cyc; //设置周期,当T1.1不用时,要设置,当T1.1使用时不设置,与T1.1周期一致TA1CCR2 = Occupancy; //占空比CCR2/CCR0,注意CCR2要写成TA1CCR2 TA1.2由P2.4 P2.5输出TA1CCTL2 = OUTMOD_7; //输出模式为复位/置位,注意CCTL2要写为TA1CCTL2//TA1CTL |= TASSEL_1 + MC_1; //时钟,增计数当T1.1不用时,要设置,当T1.1使用时不设置,与T1.1周期一致}。
目录1 引言 (1)1.1 直流电机调速技术的发展 (1)1.2 PWM调速技术 (1)1.3 双闭环控制系统简介 (2)1.4 论文研究的内容及章节安排 (2)2 MSP430系列单片机概述与直流电动机调速方式简介 (3)2.1 MSP430系列单片机简介 (3)2.2 MSP430的原理及性能特点 (3)2.3 直流电机的主要结构 (4)2.4 直流电动机的调速方式 (5)3 直流电机双闭环调速控制系统设计 (7)3.1 系统组成原理图 (7)3.2 外围电路介绍 (8)3.3 转速、电流双闭环直流调速系统 (11)3.3.1 电流、转速双闭环控制器设计 (12)3.3.2 调速系统控制单元的确定和调整 (13)4 系统软件设计 (15)4.1 数字PI调节器的设计 (15)4.1.1 数字PI调节器的控制算法 (15)4.1.2 数字PI调节器的控制程序 (16)4.2 A/D转换控制程序的设计 (18)4.2.1 ADC12转换器的性能及特点 (18)4.2.2 ADC12转换器的控制程序 (19)5 总结 (23)谢辞 (25)参考文献 (25)基于MSP430的直流电机PWM调速双闭环控制系统设计摘要直流电机传统的调速方法调节精度低、能源利用率低、调速不稳定、可控性较差;而脉宽调制(PWM)直流调速技术,具有调速精度高、响应速度快、调速范围宽和损耗低等特点,不仅实现了对电机速度的实时调节,而且还体现了节约能源,经济实用的特点。
本文介绍了美国德州仪器(TI)公司的超低功耗16位单片机MSP430F2619。
基于MSP430F2619设计一直流电机双闭环PWM调速系统,由测速发电机检测直流电机转速构成速度反馈,利用整流桥构成电流反馈。
MSP430F2619完成转速、电流双闭环PI控制器的数字控制,且单片机的定时器生成PWM波,经功率驱动芯片放大后控制直流电机的电枢电压进行平滑调速。
从而实现了控制系统简单、调速性能可靠。
利用MSP430F41单片机定时器实现信号采样和PWM
控制
PWM 控制方式广泛应用于各种控制系统中,但对脉冲宽度的调节一
般采用硬件来实现。
如使用PWM 控制器或在系统中增加PWM 电路[1]等,则成本高、响应速度慢,而且PWM 控制器与系统之间存在兼容问题。
另外,控制系统中的信号采样通常是由A/D 转换器来完成,因此检测精度要求较高时,调理电路复杂,而且因A/D 的位数高,从而使设计的系统成本居高不下。
本文以应用于温度控制系统为例,介绍利用Motorola 公司生产的新型单片机MSP430F413 内的定时器Time_A 设计可以用时间量进行温度采样以及实现PWM 调节的方法。
为了可在使用少量外围电路的情况下实现控制系统的高精
度测量和控制,一方面用时间量采样,在省去1 片A/D 的情况下得到12 位的高精度;另一方面在定时中断内完全用软件实现PWM 调节,以易于进行数据的通信和显示。
该系统在中断内可以解决波形产生的实时在线计算和计算精度问题,可精确、实时地计算设定频率下的脉冲宽度。
1 单片机MSP430F413 及定时器
MSP430 系列的单片机F413 在超低功耗和功能集成上都有一定的特色,可大大减小外围电路的复杂性,它的实时处理能力及各种外围模块使其可应用在多个低功耗领域[2]。
MSP430F413 中通用16 位定时器Timer_A 有如下主要功能模块。
(1)一个可连续递增计数至预定值并返回0 的计数器。
(2)软件可选择时钟源。
(3)5 个捕获/比较寄存器,每个有独立的捕获事件。
(4)5 个输出模块,支持脉宽调制的需要。
msp430单片机实现PWM
PWM信号是一种具有固定周期(T)不定占空比(t)的数字信号,如下图所示。
如果PWM信号的占空比随时间变化,那么通过滤波之后的输出信号将是幅度
变化的模拟信号。
因此通过控制PWM信号的占空比,就可以产生不同的模拟
信号。
msp430单片机利用Timer_A或者Timer_B可以很好的实现产生任意PWM
信号。
Timer_A定时器的计数器工作在增计数方式,输出采用模式7(复位/置位模式),则可以利用CCR0控制PWM波形的周期,用某个寄存器CCRx控制占空比。
原理图如下:(注:这幅图片为网上下载,他用的是Timer_B定时器,故输出TBx)
摘录下面一段:www1.ti/customer/article/article12161.asp
将Timer_B配置为16-bit、up模式。
在这种模式下计数器计数至CCR0,然
后复位从0开始重新计数。
给CCR0赋值255也就意味着计数器的长度为
8bits。
CCR1和TB1用于产生正弦波,CCR2和TB2用于产生直流电平。
输出模式都选为模式7,即PWM复位/置位模式。
如图2所示,在这种模式下,复
位后每一个定时器的输出都为高电平,直到计数器达到各自的CCRx值时变为
低电平,当计数器达到CCR0时再置位。
也就是说CCRx的值决定了各自正脉
冲的宽带。
若CCRx的值是变化的,就可以产生可变宽度的脉冲,下文中的正
弦波就是用这种办法产生的;若不变则产生的是固定宽度的脉冲,下文中的直
流电平就是这样产生的。
最后SMCLK用作Timer_B的时钟源。
系统采用
32768Hz的钟表晶振,通过采用内部硬件锁频环FLL(frequency-locked-loop),。