大连创客空间

 找回密码
 立即注册吧!

QQ登录

只需一步,快速开始

一键登录:

搜索
查看: 24887|回复: 222
收起左侧

【大赛原创经验贴】Timer_A之典型应用——PWM

  [复制链接]
发表于 2012-7-9 09:39:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多交流,硬件的世界向你敞开大门!

您需要 登录 才可以下载或查看,没有帐号?立即注册吧!

x
本帖最后由 Friday 于 2012-7-23 09:23 编辑

前天在此发了一个贴,很意外,也很惊喜!因为内容虽然简单了些,但还是有不少人来捧场。尤其是管理员的鼓励,让我更加有学习的热情。其实,要表达的只有一句:谁都是从菜鸟阶段走过来的,所以不要气馁。要做就从最简单的做起,不然我们连摆脱菜鸟的机会也没有!

这两天没有闲着的自己,重点还是放在了Timer_A上,总觉得这一块再学一个星期也未必能掌握。接下来与大家分享一下自己“玩”PWM的亲身经历吧。PWM即脉冲调制,想必大家应该知道,强大的Timer_A可以输出任意占空比的脉冲。上次我分享的是定时闪烁,很简单但效果很直观。而这次我的简单玩法依然是通过led的直观来测试我的程序效果的!观察led的亮暗程度得以验证。接下来的程序采用的单片机均为MSP430F149,编程环境为IAR

程序一:
#include "msp430x14x.h"
void main( void )
{
  WDTCTL = WDTPW + WDTHOLD;        //关看门狗
  TACTL=TASSEL0+TACLR+MC0;           //ACLK为时钟源,清TAR,增计数模式
  TACCR0=512-1;                                //设定PWM周期
  TACCTL1=OUTMOD_7;                      //CCR1输出为reset/set模式
  TACCR1=384;                                   //CCR1的PWM占空比设定
  TACCTL2=OUTMOD_7;                      //CCR2输出为reset/set模式
  TACCR2=128;                                   //CCR2的PWM占空比设定
  P1DIR|=0X0c;                                   //P1.2、P1.3输出,对应TA1,TA2
  P1SEL|=0X0c;                                  //TA1,TA2输出功能
  while(1);
}
功能:P1.2,P1.3分别输出TA1,TA2的pwm信号,通过杜邦线接两个led,
         可观察到不同占空比的pwm效果。一个亮些,一个暗些。

程序二:

#include "msp430x14x.h"
void main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  
  TBCTL=TBSSEL_2+TBCLR+MC0;   //SMCLK(800K),增模式
  TBCCTL1=OUTMOD_3;           //置位/复位模式
  TBCCR0=8000;                //PWM周期
  TBCCR1=0;                   //PWM的低电平时间
  
  P4DIR=0X02;            //P4.1输出,P4.1受TBCCR1控制
  P4SEL=0X02;            //P4.1作为定时器B的PWM输出
  P1DIR=0XFC;            //P1.0 P1.1输入
  P1IE=0X03;             //允许中断P1.1和P1.2
  P1IES=0XFC;            //上升沿中断
  
  _EINT();
  while(1);
}

#pragma vector=PORT1_VECTOR
__interrupt void PORT_INTERRUPT(void)
{
  uint i;
  for(i=8000;i>0;i--);    //延时,去抖
  if(P1IFG&BIT0)
  {
    if(TBCCR1>=8000)   
    {
      TBCCR1=1000;     
    }
    else
    {
      TBCCR1=TBCCR1+1000;   
    }
  }
  if(P1IFG&BIT1)
  {
  if(TBCCR1<1000)
  {
    TBCCR1=8000;
  }
  else
  {
    TBCCR1=TBCCR1-1000;
  }
  }
  P1IFG=0X00;     //消除按键中断标志
}
功能:通过P4.1外接一个led灯
        430板子的key1,key2调节亮度。一个增,一个减。

今天的分享就这样结束了,有什么不足之处希望大家指正。最后希望大家能一起探讨学习过程中的疑问,分享自己的经历,大家一起努力。

回复

使用道具 举报

 楼主| 发表于 2012-7-9 09:40:48 | 显示全部楼层
先自我鼓励一下!每天进步一点点就好。
回复 支持 反对

使用道具 举报

发表于 2012-7-9 10:31:32 | 显示全部楼层
楼主的分享精神值得赞扬

PWM进行LED的亮度控制,还是很有代表性的,可以演变到其他控制领域。

音频DA、电机转速控制、舵机的角度控制等等领域

大家也发表一下自己的看法吧。
回复 支持 反对

使用道具 举报

发表于 2012-7-9 10:31:45 | 显示全部楼层
能够看到楼主的进步了
回复 支持 反对

使用道具 举报

发表于 2012-7-9 14:10:01 | 显示全部楼层
本帖最后由 honghu 于 2015-4-5 09:20 编辑 <br /><br />l值得我们学习  呵呵

回复 支持 反对

使用道具 举报

发表于 2012-7-9 15:15:49 | 显示全部楼层
学习真他娘的是件快乐的事!
回复 支持 反对

使用道具 举报

发表于 2012-7-9 19:53:25 | 显示全部楼层
贴子沉了,少年,帮你顶上来。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-10 00:00:03 | 显示全部楼层

真的很谢谢你一直支持着我,但是感觉有点孤独了,大家好像都单独行动着,更多的是喜欢下载大量的资料。并不怎么关注这样的贴,也不是很喜欢一起探讨些问题。

点评

楼主,支持你。我想和你一起学习430.不知道有没有机会?  详情 回复 发表于 2013-12-19 23:21
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-10 00:01:55 | 显示全部楼层
xiangxinli 发表于 2012-7-9 10:31
楼主的分享精神值得赞扬

PWM进行LED的亮度控制,还是很有代表性的,可以演变到其他控制领域。

懂得实现pwm的简单应用,至少说明知道它是怎么实现的了,或许以后具体做项目就是源于此吧!我会好好努力的!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-10 00:03:41 | 显示全部楼层
大明遗臣 发表于 2012-7-9 19:53
贴子沉了,少年,帮你顶上来。

呵呵,真是热心的少年啊!没事,就这样让我一直沉下去吧!与其被你暂时的顶一下,还不如一沉到底!这样我也好闭关去。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-10 00:04:41 | 显示全部楼层
大明遗臣 发表于 2012-7-9 15:15
学习真他娘的是件快乐的事!

学习确实很快乐,只有用心去体会了的人才懂!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-7-10 00:05:22 | 显示全部楼层
honghu 发表于 2012-7-9 14:10
l值得我们学习  呵呵

再次感谢第九论坛的各位斑竹的支持!
回复 支持 反对

使用道具 举报

发表于 2012-7-10 00:28:10 | 显示全部楼层
为了鼓励这位网友的积极讨论和积极共享的精神
我们准备赠送一本活动中提到的MSP430接口方面的书籍给您
请通过E-Mail提供您的收货地址,我们会讲述邮寄给您,运费我们负担。
E-Mail:[email protected]
谢谢。
回复 支持 反对

使用道具 举报

发表于 2012-7-10 00:45:21 | 显示全部楼层
另外,论坛最近正在调整和改进
针对资源型帖子收金币的问题,准备逐步改进,渐渐过渡到不需要金币
避免网友的垃圾回复问题
回复 支持 反对

使用道具 举报

发表于 2012-7-10 07:55:10 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2012-7-10 08:18:09 | 显示全部楼层
顶起
回复 支持 反对

使用道具 举报

发表于 2012-7-10 08:41:21 | 显示全部楼层
哥们看到你的进步 很开心 我也要奋起直追了!否则真的摆脱不了菜鸟的名称了!
回复 支持 反对

使用道具 举报

发表于 2012-7-10 08:45:08 | 显示全部楼层
预想的赠品《MSP430系列单片机接口技术及系统设计实例》一书现在缺货中,请本文作者与我联系,另行选择。

回复 支持 反对

使用道具 举报

发表于 2012-7-10 10:08:05 | 显示全部楼层
又从其他地方瞄见你的帖子了,那个如果用示波器显示占空比,如何实现,手头没有杜邦线
回复 支持 反对

使用道具 举报

发表于 2012-7-10 10:27:50 | 显示全部楼层
z526151860 发表于 2012-7-10 10:08
又从其他地方瞄见你的帖子了,那个如果用示波器显示占空比,如何实现,手头没有杜邦线 ...

建议在输出的位置焊上一根小线,然后示波器就能连接了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册吧!

本版积分规则

单片机开发者1群:235808606;会员QQ 6群:254085994; 1群:12835691(满); 2群:121061287(满); 3群:237320668(满);4群:249652919(满);5群:253578883(满);大赛1群:187926790(满),2群:231577758(满),3群:249652919(满)。 TI杯4群:58129202(满)。
载入中

QQ|手机版|小黑屋|Archiver|大连创客空间 ( 辽ICP备15004617号-2  

GMT+8, 2017-1-24 17:09 , Processed in 0.771069 second(s), 30 queries .

地址:辽宁省大连市高新园区火炬路7号17层 QQ:2401085253

Copyright © 2010-2015 创客空间(大连)科技有限公司 All Rights Reserved.

快速回复 返回顶部 返回列表