標題:
MSP4305529呼吸燈
[打印本頁]
作者:
嵌入式17
時間:
2018-7-14 09:43
標題:
MSP4305529呼吸燈
unsigned const PWMPeriod = 1500; //設(shè)置PWM周期參數(shù),const聲明此值不允許改變.該數(shù)值太大,會導(dǎo)致LED閃爍
volatile unsigned int i; //聲明變量i是隨時可變的,系統(tǒng)不要去優(yōu)化這個值
WDTCTL = WDTPW + WDTHOLD; // 關(guān)閉看門狗
P1DIR |=BIT3; // 設(shè)置 P1.3為輸出
P1SEL |=BIT3; // 設(shè)置 P1.3為TA0.2輸出
TA0CCR0 = PWMPeriod; // 設(shè)置PWM 周期
TA0CCTL2 = OUTMOD_7; // 設(shè)置PWM 輸出模式為:7 - PWM復(fù)位/置位模式,
// 即輸出電平在TAR的值等于CCR2時復(fù)位為0,當TAR的值等于CCR0時置位為1,改變CCR2,從而產(chǎn)生PWM。其實模式2也可以
TA0CTL= TASSEL_2 +MC_1; // 設(shè)置TIMERA的時鐘源為SMCLK, 計數(shù)模式為up,到CCR0再自動從0開始計數(shù)
while(1)
{
TA0CCR2=0;//確保最開始是暗的
//漸亮過程:不斷設(shè)置TA0CCR2的值,使翻轉(zhuǎn)的時間變長,改變PWM的占空比
for(i=0;i<PWMPeriod;i+=1)
{
TA0CCR2=i;
delay_nms(4-(i/500)); //占空比變化的延時,調(diào)整延遲時間可改變呼吸燈變暗的速度
//在暗的時候延長delay時間,可增強效果
}
//漸暗過程:不斷設(shè)置TA0CCR2的值,使翻轉(zhuǎn)的時間變短,改變PWM的占空比
for(i=PWMPeriod;i>0;i-=1)
{
TA0CCR2=i;
delay_nms(4-(i/500)); //占空比變化的延時,調(diào)整延遲時間可改變呼吸燈變暗的速度
//在暗的時候延長delay時間,可增強效果
}
TA0CCR2=0; //確保燈暗
delay_nms(250); //時間長一點,增強視覺效果
復(fù)制代碼
huxideng.zip
2018-7-14 09:42 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
892 Bytes, 下載次數(shù): 49, 下載積分: 黑幣 -5
作者:
yang1597
時間:
2018-12-6 10:51
這個程序 沒辦法生成.0ut文件啊
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1