標(biāo)題: 求幫忙 在G2板上利用p1.6(PWM輸出口)驅(qū)動LED來實(shí)現(xiàn)呼吸燈 [打印本頁]

作者: 20153177    時(shí)間: 2016-6-11 09:24
標(biāo)題: 求幫忙 在G2板上利用p1.6(PWM輸出口)驅(qū)動LED來實(shí)現(xiàn)呼吸燈
有人知道這個(gè)程序怎么寫嗎,老師布置的任務(wù),可是我才學(xué)習(xí)單片機(jī),上課沒有仔細(xì)聽,如果有哥哥姐姐知道,能幫幫忙嗎?
作業(yè)一:
在G2板上利用p1.6(PWM輸出口)驅(qū)動LED來實(shí)現(xiàn)呼吸燈。呼吸燈就是亮度漸變的LED燈,普通LED可以用TA輸出PWM來控制亮度,通過WDT定時(shí)中斷來改變亮度,從而實(shí)現(xiàn)呼吸燈效果。
要求:
1、通過按鍵來控制呼吸燈的呼吸頻率,即亮度漸變的快慢。
控制方式:按擴(kuò)展板上KEY1鍵,呼吸加快一檔,連續(xù)按2下,呼吸加快一檔,連續(xù)按3下,呼吸又加快一檔......;按KEY3鍵,呼吸減慢一檔,連續(xù)按2下,呼吸減慢一檔,連續(xù)按3下,呼吸又減慢一檔......。
2、在液晶屏上顯示呼吸燈呼吸頻率的相關(guān)信息。
作業(yè)二:
在擴(kuò)展板上利用 LED1至LED8 八個(gè)LED燈實(shí)現(xiàn)流水燈和呼吸燈功能。
要求:
1、八個(gè)LED燈能以不同方式實(shí)現(xiàn)流水燈:LED1至LED8每隔N個(gè)依次亮滅,并循環(huán),N=0,1,2,3;
2、八個(gè)LED燈在實(shí)現(xiàn)流水燈的同時(shí),實(shí)現(xiàn)呼吸燈功能:LED1至LED8每隔N個(gè)依次亮滅,并循環(huán),N=0,1,2,3;同時(shí)每個(gè)燈的亮度是漸變的(先漸亮再漸滅)。
3、在實(shí)現(xiàn)2中功能的時(shí)候,用電容觸摸按鍵來控制呼吸頻率,做到左快右慢。
4、在液晶屏上顯示LED流水呼吸燈的相關(guān)信息。
謝謝啦

作者: fairsky008    時(shí)間: 2018-1-20 23:32
#include <msp430.h>

void init_clk(void);
void init_io(void);
void init_timer_A(void);

void main(void)
{
    WDTCTL = WDTPW | WDTHOLD;                       // stop watchdog timer

    init_clk();
    init_io();
    init_timer_A();

    _EINT();                                        //等同于 __enable_interrupts();  最后設(shè)置 使能總中斷

    while(1)                                        // 不能去掉while(1), 不然程序就跑飛了。
      {
              LPM3;            //LPM3:CPU is disabled;MCLK and SMCLK are disabled; ACLK remains active  
       }
}

void init_clk(void)
{
   BCSCTL1 &= ~XTS;                                  // LFXT1振蕩器工作在低頻模式下
   BCSCTL3 |= LFXT1S_2;                              // LFXT1被配置為無,此處LFXT1 = VLO;12KHz。
   IFG1 &= ~OFIFG;                                   //Clear oscillator fault flag
   __bis_SR_register(SCG1 + SCG0);                   // 關(guān)閉 DCO;
   BCSCTL2 |= SELM_3 + DIVM_0;                       // MCLK = VLO/不分頻 (12KHz)
   BCSCTL2 |= SELS;                               // SMCLK 時(shí)鐘源選擇1: 0:DCOCLK / 1:XT2CLK/LFXTCLK
}






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1