5.2 任務(wù)5.2 按鍵控制呼吸燈的啟動或暫停_第1頁
5.2 任務(wù)5.2 按鍵控制呼吸燈的啟動或暫停_第2頁
5.2 任務(wù)5.2 按鍵控制呼吸燈的啟動或暫停_第3頁
5.2 任務(wù)5.2 按鍵控制呼吸燈的啟動或暫停_第4頁
5.2 任務(wù)5.2 按鍵控制呼吸燈的啟動或暫停_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

單片機應(yīng)用技術(shù)項目五呼吸燈的實現(xiàn)任務(wù)5.2按鍵控制呼吸燈的啟動或暫停任務(wù)要求

呼吸燈可以給人提示,例如,當(dāng)手機收到消息后,手機會有呼吸燈來提示。當(dāng)打開手機查看此消息后,呼吸燈會關(guān)閉。本任務(wù)用按鍵來代替第三方事件,實現(xiàn)如下效果:CC2530開發(fā)板上電后,默認(rèn)呼吸燈熄滅,按下按鍵奇數(shù)次后,呼吸燈啟動;按下按鍵偶數(shù)次后,呼吸燈暫停。1基礎(chǔ)知識2任務(wù)分析3任務(wù)實現(xiàn)一、基礎(chǔ)知識

用按鍵來控制呼吸燈的運行與暫停。呼吸燈的暫停,與LED的熄滅不同,呼吸燈暫停后,不是LED熄滅了,而是PWM占空比固定了,即T1CC2L、T1CC2H寄存器的值保持固定,即該LED亮度保持一定,不再變化。二、任務(wù)分析

1.CC2530單片機上電后,完成D3呼吸燈的初始化配置,再配置SW1,開啟SW1按鍵中斷,并熄滅D3。2.檢測第一次按鍵事件是否發(fā)生。如果按鍵事件發(fā)生,則D3呼吸燈啟動,并進(jìn)入步驟3;如果按鍵事件沒發(fā)生,則重復(fù)執(zhí)行步驟2。3.繼續(xù)檢測按鍵事件是否發(fā)生。如果按鍵事件發(fā)生,D3呼吸燈由運行到暫停,或者由暫停到運行;如果按鍵事件沒發(fā)生,則重復(fù)執(zhí)行步驟3。三、任務(wù)實現(xiàn)

定義標(biāo)志位變量unsigned

char

begin_flag

=

0;

//記錄開發(fā)板上電后,按鍵是否被按下

unsigned

char

stop

=

1;

//呼吸燈暫停或者繼續(xù)變量begin_flag用來標(biāo)記按鍵是否第一次被按下。按鍵第一次被按下后,之后的按鍵事件會控制呼吸燈的暫停或啟動。變量stop用來標(biāo)識是否需要暫停呼吸效果。三、任務(wù)實現(xiàn)

按鍵中斷服務(wù)函數(shù)#pragma

vector

=

P1INT_VECTOR

__interrupt

void

p1_fuc(void)

{

if(P1IFG

&

0x04)

//SW1按鍵事件是否發(fā)生

{

//判斷按鍵是否按下過,當(dāng)開發(fā)板上電后,第一次按下按鍵,

begin_flag變量值設(shè)置為1。

if(begin_flag

==

0)

begin_flag

=

1;

else

stop

=

!stop;

//按鍵被按下后,呼吸燈運行/暫停標(biāo)志位反轉(zhuǎn)

P1IFG

=

0x00;

//清除SW1引腳中斷標(biāo)志位

}

P1IF

=

0

;

}三、任務(wù)實現(xiàn)

main函數(shù)部分代碼while(1)

{

while(!begin_flag);

if(T1STAT

&

0x04)

{

T1STAT

=

T1STAT

&

0xfb;

while(stop);

if(a

==

1)

h++;

else

h--;

T1CC2L

=

0xff;

T1CC2H

=

h;

if(h

>=

254)

a

=

2;

if(h

==

0)

a

=

1;

}

}

判斷是否啟動呼吸燈效果判斷T1通道2中斷標(biāo)志位是否為1清除T1通道2中斷標(biāo)志位是否暫停呼吸燈三、任務(wù)實現(xiàn)編譯程序,并生成.hex文件,將.hex文件燒寫到CC2530單片機中,觀察CC2530開發(fā)板的運行效果。CC2530單片機運行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論