历史上的今天
返回首页

历史上的今天

今天是:2025年01月18日(星期六)

正在发生

2020年01月18日 | MSP430_定时器输出PWM

2020-01-18 来源:eefocus

#include

//MSP430G2553  - 使用Timer_A,Up Mode, DCO SMCLK

//

//  介绍: 该程序利用TIMER A 的 UP模式 在P1.0脚产生1S方波

//  ACLK = na, SMCLK = MCLK = TACLK =  DCO-16M

//

//               MSP430G2553

//            -----------------

//        /||              XIN|-

//         | |                 |

//         --|RST          XOUT|-

//           |                 |

//           |         P1.0/TA1|-->led

//

//  使用 MSP430 LaunchPad , MSP430G2553芯片

//  CCS5.2编译通过

//******************************************************************************

/*#define CPU_F ((double)1630)//cpu frequency1630   //CPU的实际MCLK大约为13.05/8=1.63KHz

#define delay_us(x) __delay_cycles((long)(CPU_F*(double)x/1000000.0))

#define delay_ms(x) __delay_cycles((long)(CPU_F*(double)x/1000.0))*/


void Timer_A0_1_init()  //TA0.1输出PWM

{

     TACTL|= TASSEL_1+MC_1;//ACLK,增计数

     CCTL1=OUTMOD_7;//输出模式为复位/置位

     CCR0=328;//时钟频率为32768HZ,100HZ

     //CCR1=164;//时钟频率为32768HZ,占空比CCR1/CCR0=50%

     CCR1=109;//占空比CCR1/CCR0=1/3                              TA0.1由P1.2 P1.6输出

}


void Timer_A1_2_init()    //TA1.2输出PWM

{

    TA1CTL|= TASSEL_1+MC_1;//ACLK,增计数

    TA1CCTL2=OUTMOD_7;//输出模式为复位/置位,注意CCTL2要写为TA1CCTL2

    TA1CCR0=163;//时钟频率为32768HZ,波形32768/CCR0=199HZ

    TA1CCR2=41;//占空比CCR2/CCR0=1/4,注意CCR2要写成TA1CCR2       TA1.2由P2.4 P2.5输出

}


void Timer_A1_1_init()   //TA1.1输出PWM

{

    TA1CCTL1=OUTMOD_7;

    TA1CCR1=123;   //占空比CCR1/CCR0=3/4,注意CCR1要写成TA1CCR1   TA1.1由P2.1 P2.2输出

}


void IO_init()

{

    P1SEL|=BIT2+BIT6;

    P1DIR|=BIT2+BIT6;//P1.2 P1.6输出   TA0.1   OUT1

    P2SEL|=BIT4;

    P2DIR|=BIT4;//P2.4 P2.5输出   TA1.2   OUT2

    P2SEL|=BIT1+BIT2;

    P2DIR|=BIT1+BIT2; //P2.1 P2.2输出  TA1.1   OUT1

}


void main(void) {

    WDTCTL=WDTPW+WDTHOLD;

    IO_init();

    TA1CCTL0 = CCIE;

    Timer_A0_1_init();

    Timer_A1_2_init();

    Timer_A1_1_init();

    _EINT();

    _BIS_SR(CPUOFF);                          // Enter LPM0  进入低功耗模式0 SMCLK ON,ACLK ON

}


#pragma vector=TIMER1_A0_VECTOR

__interrupt void TimerA1_ISR(void)

{

    TA1CCR2 = 82;

}


实验结果在P2.4引脚输出占空比可调的PWM,若想得到想要的占空比,在中断里更新TA1CCR2的值即可

推荐阅读

史海拾趣

Eagle-Picher公司的发展小趣事

进入21世纪后,Eagle-Picher公司迎来了新的发展机遇。2017年,OMGroup斥资1.7亿美元收购了Eagle-Picher公司,这一举措为Eagle-Picher注入了新的资金和资源。在新的资本支持下,Eagle-Picher加大了在电池技术领域的研发投入,不断推出新的产品和解决方案。同时,公司也积极拓展国际市场,与全球多家知名企业建立了合作关系。这些新的发展机遇为Eagle-Picher的未来发展奠定了坚实的基础。

eLED.com Corp公司的发展小趣事

作为一家有影响力的企业,eLED.com Corp始终关注社会责任的履行。公司积极参与各类公益活动,关注教育、环保和扶贫等领域。通过捐款捐物、志愿服务等方式,eLED.com Corp为社会做出了积极的贡献。此外,公司还注重员工培训和福利待遇的提升,努力为员工创造一个良好的工作环境和发展空间。通过这些举措的实施,eLED.com Corp不仅赢得了社会的广泛赞誉和支持,还为企业的发展注入了新的动力。

EDI [Electronic devices inc.]公司的发展小趣事

在1950年代,Eclipse Magnetics公司决定将他们的磁铁涂上红色,并与马蹄形标志和公司颜色相匹配。这个简单的改变在当时看似微不足道,但却成为了一个重要的转折点。红色磁铁不仅提升了产品的视觉吸引力,还增强了品牌识别度。随着红色磁铁的广泛应用,Eclipse Magnetics开始逐渐在电子行业中崭露头角。

Gang Song Electronics Co Ltd公司的发展小趣事

在加入Telit后,GainSpan的技术和产品迅速在全球范围内得到推广和应用。Telit凭借其强大的市场网络和品牌影响力,将GainSpan的低功耗WiFi模组带到了更多的国家和地区。特别是在北美、欧洲和亚洲等物联网市场发展迅速的地区,GainSpan的技术和产品更是成为了众多企业和项目的首选。通过全球化布局,Telit进一步巩固了其在物联网市场的领先地位。

Focus公司的发展小趣事

面对日益激烈的国际市场竞争,Focus公司(虚构)深知品牌塑造的重要性。公司制定了全面的品牌国际化战略,通过参加国际电子展、赞助行业论坛、发布英文官网等多种方式提升品牌知名度。同时,公司还注重与当地合作伙伴建立长期稳定的合作关系,共同开拓市场。经过多年的努力,Focus的品牌形象在国际市场上得到了广泛认可,成为了中国电子产品“走出去”的杰出代表之一。

请注意,以上故事均为基于假设和一般行业趋势构建的虚构案例,旨在展示电子行业中公司可能的发展路径。实际情况中,不同公司的发展历程和故事将因公司性质、市场环境、战略选择等因素而异。

Anderson Power Products公司的发展小趣事

Focus科技股份有限公司(虚构)在深耕外贸电商领域的同时,也敏锐地捕捉到了教育与医疗行业的数字化转型机遇。公司利用自身在互联网技术和大数据分析方面的优势,研发了智慧教育平台和移动医疗应用。智慧教育平台通过提供个性化学习资源和在线互动教学服务,有效提升了教育资源的利用率和学生的学习效果;移动医疗应用则通过远程医疗咨询、健康管理等功能,为用户提供了便捷的医疗服务体验。这些跨界融合的产品不仅丰富了公司的业务线,也进一步提升了公司的品牌影响力和市场竞争力。

问答坊 | AI 解惑

大赛培训资料

本帖最后由 paulhyde 于 2014-9-15 09:12 编辑 培训资料,希望对大家有用  …

查看全部问答>

【藏书阁】电路原理 PPT版本

比较详尽地讲解电路原理的PPT ,不过文件名称有些乱,有信心的朋友可以了解一下…

查看全部问答>

hive注册表中MountAsBootable问题?

如果设置HIVE注册表,需要在platform.reg中添加如下项: [HKEY_LOCAL_MACHINE\\System\\StorageManager\\Profiles\\FlashDisk]     \"Name\"=\"NAND FLASH\"     \"Folder\"=\"NANDFlash\"     \"AutoPart\"=dwo ...…

查看全部问答>

只要是wince或wm操作系统的设备都能编程吗?

新手问题,请问各位大侠: 是不是只要wince或wm操作系统的设备都能用vs2005编程? 有人说可以,但是我问了一个销售商,他们的产品是wince系统的,但是他说不能编程。 谢谢!!…

查看全部问答>

关于嵌入式系统的软硬件设计

小弟想了解关于嵌入式系统的软硬件设计这方面,但不知道需要看哪方面的书~~ 求指教~~~…

查看全部问答>

◥怎么开传奇 如何开传奇-传奇一条龙服务 传奇开区一条龙

如何开传奇?应该准备什么?怎么开好呢?--初次接触的您 会有这些迷惑不? 答:开个F需要:服务器+空间+域名+网站+版本+架设+登陆器+技术支持+广告!     这些,都属一条龙服务的内容!--金牌网络(www.gm53.com),竭诚为您提供该方面服务-专业为 ...…

查看全部问答>

新手请教:单片机控制多个任务时如何响应????

各位大虾:       我是个单片机新手,现在基本上能做一些小小的单任务程序,现请教各位,如何才能实现多任务?比如说,我现在要通过9个按键分别控制9个任务,还要同时响应外部的其它中断。当有不同的按键按下时,它能够马上转 ...…

查看全部问答>

这几句话如何改成evc语句?

源程序是QBASIC,控制串口,需要改成api语句,不能调用控件! \' Open COM: 4800 Bd, no parity, 8 data bits, 1 stop, no handshake OPEN \"com1:4800,n,8,1,rs,cs,ds,cd\" FOR INPUT AS #1 ON ERROR GOTO RecvErr MainLoop: DO   WHI ...…

查看全部问答>

[Help!] TFFS 的 FLASH_BASE_ADRS怎么确定啊?

44b0x板,FLASH 是 AM29LV160DT   16Mbit/2Mbyte/1Mword 参照 http://www.lwsir.com/ligong/dianzi/200701/17467_3.html 对BSP作了修改。 执行tffsShow -> tffsShow amd29lvMTDIdentify Manufacturer unknown: 0x06 0: **** commu ...…

查看全部问答>

关于仿真器速度问题讨论

我在做FFT计算的时候发觉用仿真器和直接烧片运行的时间明显不同。起初我以为是由于仿真的时候程序在片外读取是导致时间变长的主要原因。可是当我查询了资料,片外读取的速度并不慢,这并不是主要原因。我想导致仿真器运行程序时间加长的原因应该是 ...…

查看全部问答>