//MSP430G2553 呼吸燈演示程序 - 使用Timer_A,Up Mode, DCO SMCLK
//
// 介紹: 該程序利用TIMER A 的 UP模式 在P1.6腳產(chǎn)生PWM輸出
// 將CCR0設(shè)置為1500來定義PWM的周期,利用循環(huán)不斷改變CCR1的值,
// 實(shí)現(xiàn)利用改變PWM的占空比來改變LED亮度.
// ACLK = na, SMCLK = MCLK = TACLK = default DCO
//
// MSP430G2553
// -----------------
// /|| XIN|-
// | | |
// --|RST XOUT|-
// | |
// | P1.6/TA1|--> CCR1 - PWM
//
// 使用 MSP430 LaunchPad , MSP430G2553芯片
// 在IAR Embedded Workbench for MSP430 5.40下編譯測(cè)試通過
//******************************************************************************
#include "msp430g2553.h"
// *************************************************************
// 延時(shí)函數(shù),對(duì)于1M主頻,約延時(shí)1ms
// *************************************************************
void delay_1ms(void)
{
unsigned int k;
for (k=0;k<195;k++);
}
// *************************************************************
// 延時(shí)函數(shù),延時(shí)n*ms
// *************************************************************
void delay_nms(unsigned int n)
{
unsigned int j;
for (j=0;j
{
delay_1ms();
}
}
// *************************************************************
// 主程序
// *************************************************************
void main(void)
{
unsigned const PWMPeriod = 1500; //設(shè)置PWMPeriod參數(shù)
volatile unsigned int i; //變量
WDTCTL = WDTPW + WDTHOLD; // 關(guān)閉看門狗
BCSCTL1= CALBC1_1MHZ; //1M內(nèi)部時(shí)鐘,其他也可以
DCOCTL = CALDCO_1MHZ;
P1DIR |=BIT6; // 設(shè)置 P1.6為輸出
P1SEL |=BIT6; // 設(shè)置 P1.6為TA0.1輸出
TACCR0 = PWMPeriod; // 設(shè)置PWM 周期
TACCTL1 = OUTMOD_7; // 設(shè)置PWM 輸出模式為:7 - PWM復(fù)位/置位模式,
// 即輸出電平在TAR的值等于CCR1時(shí)復(fù)位為0,當(dāng)TAR的值等于CCR0時(shí)置位為1,改變CCR1,從而產(chǎn)生PWM。其實(shí)模式2也可以
TACTL = TASSEL_2 +MC_1; // 設(shè)置TIMERA的時(shí)鐘源為SMCLK, 計(jì)數(shù)模式為up,到CCR0再自動(dòng)從0開始計(jì)數(shù)
while(1)
{
CCR1=0;//確保開始是暗的
//漸亮過程:不斷設(shè)置CCR1的值,使翻轉(zhuǎn)的時(shí)間變長(zhǎng),改變PWM的占空比
//由于只有1個(gè)定時(shí)器,編程有些你困難,故仍引入delay函數(shù)
for(i=0;i
{
CCR1=i;
delay_nms(4-(i/500)); //占空比變化的延時(shí),調(diào)整延遲時(shí)間可改變呼吸燈變暗的速度
//在暗的時(shí)候延長(zhǎng)delay時(shí)間,可增強(qiáng)效果
}
//漸暗過程:不斷設(shè)置CCR1的值,使翻轉(zhuǎn)的時(shí)間變短,改變PWM的占空比
for(i=PWMPeriod;i>0;i-=1)
{
CCR1=i;
delay_nms(4-(i/500)); //占空比變化的延時(shí),調(diào)整延遲時(shí)間可改變呼吸燈變暗的速度
//在暗的時(shí)候延長(zhǎng)delay時(shí)間,可增強(qiáng)效果
}
CCR1=0; //確保燈暗
delay_nms(600); //暗0.6S增強(qiáng)效果
}
}
上一篇:MSP430單片機(jī)省電方式的兩種喚醒方法
下一篇:MSP430DMA控制器的特性和模塊功能
推薦閱讀
史海拾趣
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級(jí)數(shù)字信號(hào)控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲(chǔ)html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測(cè)試
- 蘋果被判侵犯3G專利,需向西班牙公司TOT賠償1.1億美元
- 從設(shè)計(jì)概念到 FPGA 原型僅需數(shù)分鐘,印度 InCore 完成 SoC Generator 平臺(tái)硅驗(yàn)證
- 消息稱因難尋客戶,三星推遲美國(guó)芯片工廠的完工時(shí)間
- BOE(京東方)聯(lián)合榮耀打造榮耀Magic V5 以領(lǐng)先LTPO技術(shù)打造行業(yè)新標(biāo)桿
- 華為ADS 4發(fā)布:多傳感器融合,提升自動(dòng)駕駛安全性
- 曉鶯說:線控制動(dòng)變革風(fēng)云
- 大眾商用車推出AirConsole 將其信息娛樂系統(tǒng)擴(kuò)展為游戲機(jī)
- 福州大學(xué)發(fā)明新機(jī)器視覺傳感器 可使機(jī)器人對(duì)極端光照做出超快反應(yīng)
- 蘋果獲沉浸式虛擬顯示器相關(guān)的專利
- 英特爾汽車“折戟”,十年布局一夜歸零
- 首批無人駕駛初創(chuàng)企業(yè)獲北京路測(cè)牌照
- 美商務(wù)部宣布對(duì)中興通訊暫時(shí)部分解禁
- 刷新世界紀(jì)錄,潘建偉團(tuán)隊(duì)實(shí)現(xiàn)18個(gè)量子比特糾纏
- 北京人工智能產(chǎn)業(yè)發(fā)展白皮書:全國(guó)AI公司僅30%獲投資
- 還原機(jī)頂盒供應(yīng)商金亞科技IPO造假歷程
- 地方芯片競(jìng)賽:中國(guó)迎集成電路產(chǎn)業(yè)第三次國(guó)際轉(zhuǎn)移浪潮
- 曠視科技全資收購艾瑞思機(jī)器人
- 預(yù)計(jì)“十三五”中后期光伏發(fā)電保持中高速增長(zhǎng)
- 內(nèi)憂外患:中國(guó)半導(dǎo)體之殤何解?
- 從云創(chuàng)造物看金百澤的雄心壯志