日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

msp430发送pwm信号_如何采用MSP430单片机实现PWM信号

發(fā)布時(shí)間:2025/3/19 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 msp430发送pwm信号_如何采用MSP430单片机实现PWM信号 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

概念

PWM信號(hào)是一種具有固定周期、不定占空比的數(shù)字信號(hào)。

如果Timer_A的計(jì)數(shù)器工作在增計(jì)數(shù)模式,輸出采用輸出模式7(復(fù)位/置位模式)

利用寄存器TAxCCR0控制PWM波形的周期,用其他某個(gè)寄存器TAxCCRx來(lái)控制占空比(t高電平/ T周期)

題目

設(shè)ACLK = TACLK = LFXT1 = 32768Hz, MCLK = SMCLK = DCOCLK = 32 * ACLK = 1.048576MHz,利用TImer_A輸出周期 512/32768 = 15.625ms,占空比分別為75%和25%的PWM矩波形。

代碼如下:

#include “msp430x44x.h”

void main()

{

WDTCTL = WDTPW + WDTHOLD;

FLL_CTL0 |= XCAP14PF;

TACTL = TASSEL0 + TACLR; //ACLK,清除TAR

CCR0 = 512 - 1; //設(shè)置PWM周期

CCTL1 = OUTMOD_7; //捕獲/比較控制寄存器設(shè)置輸出模式7

CCR1 = 384; //占空比384/512=0.75

CCTL2 = OUTMOD_7; //捕獲/比較控制寄存器設(shè)置輸出模式7

CCR2 = 128; //占空比128/512=0.25

P1DIR |= 0x04; //P1.2輸出

P1SEL |= 0x04; //P1.2為外設(shè)模塊 TA1

P2DIR |= 0x01; //P2.0輸出

P2SEL |= 0x01; //P2.0為外設(shè)模塊 TA2

TACTL |= MC0; //TImer_A控制寄存器設(shè)置為增計(jì)數(shù)模式

for (;;)

{

_BIS_SR(LPM3_bits); //進(jìn)入低功耗模式3

_NOP();

}

}

顯示輸出:

75%占空比如黃色波形所示

25%占空比如藍(lán)色波形所示

25%波形明明不對(duì)!!可我也不知道什么原因!仿真所用芯片為F249,代碼用的是msp430x44x.h

總結(jié)

以上是生活随笔為你收集整理的msp430发送pwm信号_如何采用MSP430单片机实现PWM信号的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。