MSP430F149学习之路——PWM信号

2020-03-17来源: eefocus关键字:MSP430F149  PWM信号  占空比

代码一:


 1 /*******************************

 2 程序功能:ACLK=32768Hz 

 3           PWM波 T=512/32768 占空比75%

 4 *********************************/

 5 

 6 #include

 7 void main()

 8 {

 9   WDTCTL = WDTPW + WDTHOLD;

10   TACTL  = TASSEL_1 + TACLR;

11   

12   CCTL0 = 0X00;

13   CCTL1 = 0X00;

14   

15   CCR0  = 512-1;    //T=512/32768

16   CCTL1 = OUTMOD_7;

17   CCR1  = 384;      //384/512=0.75

18   CCTL2 = OUTMOD_7;

19  // CCR2  = 124;

20   

21   P1DIR |= BIT2;k

22   P1SEL |= BIT2;

23   P2DIR |= BIT0;

24   P2SEL |= BIT0;

25   

26   TACTL |= MC_1;  

27 }


代码二:


 1 #include

 2 void int_clk()

 3 {

 4   BCSCTL1 &= ~XT2OFF;

 5   BCSCTL2 |= SELM1 + SELS;  //MCLK-->1MHz SMCLK-->8MHz

 6   do

 7   {

 8     IFG1 &= ~OFIFG;

 9     for(int i=0;i<100;i++)

10       _NOP();

11   }while((IFG1 & OFIFG)!=0);

12   IFG1 &= ~OFIFG;

13 }

14 void main()

15 {

16   WDTCTL = WDTPW + WDTHOLD;

17   int_clk();

18   P1DIR |= BIT0;

19   P1SEL |= BIT0;

20   TACCR0 = 800;  //PWM f=10kHz

21   TACCR1 = 400;   //1:1

22   TACCTL1 |= OUTMOD_7;

23   TACTL  = TASSEL_2 + MC_1;

24 }


代码三:


 1 /******************************

 2 程序功能:在P1.2,P1.6,P2.3及P1.3,P1.7,P2.4同时产生PWM波

 3 *********************************************************/

 4 #include

 5 void int_clk()

 6 {

 7   BCSCTL1 &= ~XT2OFF;

 8   BCSCTL2 |= SELM_2 + SELS;

 9   do

10   {

11     IFG1 &= ~OFIFG;

12     for(int i=100;i>0;i--)

13       _NOP();

14   }while((IFG1 & OFIFG)!=0);

15   IFG1 &= ~OFIFG;

16 }

17 void main()

18 {

19   WDTCTL = WDTPW + WDTHOLD;

20   int_clk();

21   P2SEL |= BIT3;

22   P2DIR |= BIT3;

23   

24   P1SEL |= BIT6;

25   P1DIR |= BIT6;

26   

27   P1SEL |= BIT2;

28   P1DIR |= BIT2;

29   

30   P1SEL |= BIT3;

31   P1DIR |= BIT3;

32   

33   P1SEL |= BIT7;

34   P1DIR |= BIT7;

35   

36   P2SEL |= BIT4;

37   P2DIR |= BIT4;

38   

39   TACTL |= TASSEL_2 + MC_1 + TACLR;

40   CCR0 = 8000-1;

41   CCR1 = 4000; 

42   CCTL1|=OUTMOD_7;

43   CCR2 = 4000;

44   CCTL2|=OUTMOD_7;

45 }

关键字:MSP430F149  PWM信号  占空比 编辑:什么鱼 引用地址:http://news.2689mr.com/mcu/ic491905.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:MSP430F149定时器TA总结
下一篇:MSP430F149按键中断寄存器配置

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MSP430F149的DS18B20C语言程序
;   //描述:  延时子程序。    //****************************************************************************   void Delay(unsigned int x)   {       while(x !=0)x--;   }  本程序是以MSP430F149单片机的DS18B20C语言程序,DS18B20的DQ脚连接MSP430单片机的P6.4,把读取到温度值,存放在float类型数组
发表于 2020-03-12
MSP430F149单片机实现uart数据接收中断
******************************************************/#include  <msp430x14x.h>typedef unsigned char uchar;typedef unsigned int  uint;extern void Delays(void);extern uchar GetChar(void);extern void PutChar(uchar c);extern void PutString(uchar *ptr);extern void InitUART(void);static uchar pstr = 'A';/********************主函数
发表于 2020-03-11
MSP430F149单片机实现uart数据接收中断
MSP430F5438内部延时函数的用法
今天看示例程序中出现了__delay_cycles()这个函数,在查找msp430x54x.h这个头文件的时候,发现这个头文件中没有该函数的声明,原来这个函数已经在IAR这个编译器中集成,这里总结一下__delay_cycles();这个函数的具体用法第一步,复制代码:#define CPU_F                               ((double)8000000) #define delay_us(x)   
发表于 2020-03-08
初学MSP430F5529定时器
之前一直感觉定时器有点难,但其实后来发现更多的是中断那块没太懂,中断以后会说的。先简单看下定时器吧。一、基本1.在user’s guide上看到的5529其实有3种定时器,ABD,这三种好像确实有些区别的,但是目前就只看A感觉就够了。2.Timer_A是具有四种操作模式的16位定时器,7个比较器/捕获器3.能够输出PWM波,具有8中PWM波形,但是要注意的是,这种输出只能在外围功能模块里使用,即之前说过的SEL。比如P1.2能够输出Timer_A0的比较器/捕获器1的波形,而在其他管脚上,就没有办法直接输出这种PWM波形。所以如果这个管脚被占用的话,或是不想用这个来整,其实用中断做PWM波也挺好用的。4.能实现串行通信(其实我不太懂
发表于 2020-03-08
MSP430F5529时钟系统深究
1、为什么要进行时钟管理?  时钟系统是一个数字器件的命脉,对于普通的51单片机来说,它的时钟来源只有外部晶振,然后每12个振荡周期完成一个基本操作,所以也叫做12T单片机,但对于当前高级一点的单片机来说,比如MSP430F5529有5个时钟来源,经过UCS(Unified Clock System,通用时钟系统)模块之后,产生MCLK(Master Clock),SMCLK(Subsystem master clock ),ACLK(Auxiliary clock)三个时钟;对于更高端的单片机,比STM32F103ZET6里面有专门用来管理时钟的RCC单元(Reset Clock Control),也就是通常所说的时钟树
发表于 2020-03-08
MSP430F5529时钟系统深究
基于MSP430F5529的按键消抖问题
注:板子:MSP430F5529 开发环境:CCSv5上一篇博文发了按键中断的例程和详细的注释,但是好像把程序烧进单片机之后执行效果并不是很好:每按一次按键灯的状态不一定只改变一次,有时灯本来是亮的,按一次后还是亮的;或者按下去之后灯灭了,按键抬起来之后灯又亮了。造成该现象的原因就是按键的抖动问题。按键的抖动一般是机械性抖动,当开关断开或闭合时接触点处不会一下子接通也不会一下子断开,而是会产生轻微的抖动导致电路的多次接通和断开,这个过程大致会持续5ms-10ms。想像一下如果中断程序是瞬间完成的,那么接触点每抖动一下都会引起一次中断,所以就会引起按下按键后灯的状态改变次数是不确定的,也就是效果和我们的预期不一致;由于按下和抬起时
发表于 2020-03-08
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

更多每日新闻
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 2689mr.com, Inc. All rights reserved
电子娱乐送彩金论坛 彩票大赢家 购彩送彩金 送彩金的博彩公司 澳门赌场送彩金 送彩金棋牌平台大全 送彩金的娱乐网 申请送彩金的网站 网上百家乐免费送彩金 博彩送彩金全讯网