MSP430学习笔记3-PWM的产生

简介:

这个程序主要是利用定时器的比较输出功能来产生PWM波控制LED,定时器A的比较输出对应P2.3 P2.4,因此在程序的一开始需要设置比较匹配的工作模式,需要说明的是头文件中已经对各种模式给了详细的定义,不需要在去配置寄存器,程序较为简单,稍微扩展一下去控制舵机也很容易,大家自己分析。

  1. /******************************************************* 
  2. 程序功能:用从P2.3和P2.4输出的PWM波形驱动LED闪烁 
  3. ------------------------------------------------------- 
  4. 拨码开关设置:将LED位拨至ON,其余拨至OFF 
  5. 测试说明:观察LED的亮灭的时间长短 
  6. *******************************************************/  
  7. #include  <msp430x14x.h>  
  8.   
  9. void main(void)  
  10. {  
  11.   /*下面六行程序关闭所有的IO口*/  
  12.     P1DIR = 0XFF;P1OUT = 0XFF;  
  13.     P2DIR = 0XFF;P2OUT = 0XFF;  
  14.     P3DIR = 0XFF;P3OUT = 0XFF;  
  15.     P4DIR = 0XFF;P4OUT = 0XFF;  
  16.     P5DIR = 0XFF;P5OUT = 0XFF;  
  17.     P6DIR = 0XFF;P6OUT = 0XFF;  
  18.     
  19.   WDTCTL = WDTPW + WDTHOLD;                 // 关狗  
  20.   P6DIR |= BIT2;P6OUT |= BIT2;              //关闭电平转换  
  21.   P2DIR = 0xff;                             // P2端口设置为输出  
  22.   P2OUT = 0xff;                             // 关闭其他LED  
  23.   P2SEL |= BIT3 + BIT4;                     // P2.3和P2.4连接内部模块,使用的是第二功能作为TimerA的比较输出。  
  24.   CCR0 = 4096-1;                            // PWM周期为1S  
  25.   CCTL1 = OUTMOD_7;                         // 捕捉比较寄存器的配置,工作在方式7,计数值等于比较值时输出置位  
  26.   CCR1 = 4000;                              // 输出1的比较值  
  27.   CCTL2 = OUTMOD_7;                         // CCR2 reset/set  
  28.   CCR2 = 500;                              // 输出2的比较值改变此值即可以改变输出的pwm波的占空比  
  29.   TACTL = TASSEL_1 + ID_3 + MC_1;           // ACLK/8, up mode  
  30.   
  31.   //_BIS_SR(LPM3_bits);                       // Enter LPM3  
  32.   LPM3;  
  33.       
  34. }  

本文转自emouse博客园博客,原文链接:http://www.cnblogs.com/emouse/archive/2010/07/21/2198223.html,如需转载请自行联系原作者
相关文章
|
10月前
|
开发工具 git
MSP430F5529学习笔记(2)——点亮LED
MSP430F5529学习笔记(2)——点亮LED
157 0
|
10月前
MSP430F5529库函数GPIO学习
MSP430F5529库函数GPIO学习
93 0
|
10月前
|
开发工具 git
MSP430F5529库函数定时器A——硬件PWM
MSP430F5529库函数定时器A——硬件PWM
126 0
|
10月前
MSP430F5529学习笔记(4)——按键点灯
MSP430F5529学习笔记(4)——按键点灯
121 0
MSP430F5529学习笔记(4)——按键点灯
|
10月前
|
存储 芯片
MSP430F5529库函数——模数转换模块(ADC12)软件触发
MSP430F5529库函数——模数转换模块(ADC12)软件触发
159 0
|
10月前
MSP430F5529库函数学习——串口
MSP430F5529库函数学习——串口
96 0
|
10月前
MSP430F5529——中断理解
MSP430F5529——中断理解
82 0
MSP430-时钟系统和GPIO
MSP430-时钟系统和GPIO
188 0
MSP430-时钟系统和GPIO
MSP430-定时器的使用(PWM)
MSP430-定时器的使用(PWM)
67 0
MSP430-定时器的使用(PWM)
MSP430-ADC配置寄存器使用
MSP430-ADC配置寄存器使用
64 0
MSP430-ADC配置寄存器使用