MSP430学习笔记3-PWM的产生
2010-07-21 13:51
239 查看
这个程序主要是利用定时器的比较输出功能来产生PWM波控制LED,定时器A的比较输出对应P2.3 P2.4,因此在程序的一开始需要设置比较匹配的工作模式,需要说明的是头文件中已经对各种模式给了详细的定义,不需要在去配置寄存器,程序较为简单,稍微扩展一下去控制舵机也很容易,大家自己分析。
/******************************************************* 程序功能:用从P2.3和P2.4输出的PWM波形驱动LED闪烁 ------------------------------------------------------- 拨码开关设置:将LED位拨至ON,其余拨至OFF 测试说明:观察LED的亮灭的时间长短 *******************************************************/ #include <msp430x14x.h> void main(void) { /*下面六行程序关闭所有的IO口*/ P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF; WDTCTL = WDTPW + WDTHOLD; // 关狗 P6DIR |= BIT2;P6OUT |= BIT2; //关闭电平转换 P2DIR = 0xff; // P2端口设置为输出 P2OUT = 0xff; // 关闭其他LED P2SEL |= BIT3 + BIT4; // P2.3和P2.4连接内部模块,使用的是第二功能作为TimerA的比较输出。 CCR0 = 4096-1; // PWM周期为1S CCTL1 = OUTMOD_7; // 捕捉比较寄存器的配置,工作在方式7,计数值等于比较值时输出置位 CCR1 = 4000; // 输出1的比较值 CCTL2 = OUTMOD_7; // CCR2 reset/set CCR2 = 500; // 输出2的比较值改变此值即可以改变输出的pwm波的占空比 TACTL = TASSEL_1 + ID_3 + MC_1; // ACLK/8, up mode //_BIS_SR(LPM3_bits); // Enter LPM3 LPM3; }
相关文章推荐
- MSP430学习笔记3-PWM的产生
- MSP430学习笔记4-两个定时器产生步进单频音
- MSP430学习笔记4-两个定时器产生步进单频音
- MSP430学习笔记(4)ADC12
- MSP430学习笔记:UART
- MSP430学习笔记-USART
- MSP430学习笔记-看门狗
- STL学习笔记--临时对象的产生与运用
- (转)STM32学习笔记(5):通用定时器PWM输出
- Proteus之51MCU学习之路--如何用PWM波产生正弦波?
- 使用Energia开发MSP430 LAUNCHPAD学习笔记2--串口通信
- msp430学习笔记-msp430g2553
- MSP430学习笔记5-利用蜂鸣器演奏音乐
- MSP430学习笔记(4)ADC12
- MSP430学习笔记7-4*4键盘的对应数码管显示
- MSP430学习笔记8-ST7920 12864液晶显示并行接口
- STM32F103学习笔记 (八) PWM输出
- 黑马程序员之asp.net学习笔记:ASP.NET 页面产生和销毁
- php学习笔记--trait的使用(为实现多继承产生)
- msp430学习笔记之中断处理函数