資源描述:
《LED燈閃爍實驗總結(jié).doc》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、課程名稱:Zigbee技術(shù)及應(yīng)用實驗項目:LED燈閃爍實驗指導(dǎo)教師:專業(yè)班級:姓名:學(xué)號:成績:1.實驗?zāi)康模?)學(xué)習(xí)單片機IO口配置與驅(qū)動,實現(xiàn)指示燈LED1閃爍,頻率為1Hz;(2)通過模塊化編程,養(yǎng)成良好編程習(xí)慣。2.實驗設(shè)備(1)CC2530核心板一塊;(2)傳感器底板一個;(3)仿真器一個;(4)方口USB線一根;3.實驗原理3.1硬件設(shè)計原理本實驗的原理如圖1-1所示。其中,LED1和LED3都串聯(lián)一個R273和R275限流電阻,然后連接到CC2530的P1口的P1_1和P1_0管腳上。當P1_1為低電平時,LED1上有電流流過,LED1被點亮,反之熄滅。圖1-
2、1LED燈原理圖限流電阻R的計算:圖中R273和R275限流電阻,其計算公式如下:R=(U-UF)/ID(1-1)式中,U為電路供電電壓,UF為LED正向壓降,ID為LED的工作電流。對于普通LED發(fā)光二極管,其正向壓降:黃色為1.4V、紅色為1.6V、藍/白色為2.5V;點亮工作電流為3-20mA。由圖1-1可知,電路供電電壓為U=3.3V,LED1選擇為黃色發(fā)光二極管(壓降是1.4V),帶入(1-1)式可得R的取值范圍是95-633Ω,電阻只要在此范圍內(nèi)即可,一般選擇了470Ω的常用電阻。從圖1-1可以看出,如果要讓LED1發(fā)光,需要設(shè)置CC2530對應(yīng)的I/O口將LE
3、D電平拉低。本實驗我們只點亮LED1指示燈,所以只要設(shè)置LED1為低電平即可,所以只要我們知道LED1與CC2530哪個管腳相連就可以進行編程。隨著這個思路我們在原理圖中找到LED1與CC2530芯片的P1_1管腳連接,將P1_1管腳拉低LED1即被點亮。3.1程序設(shè)計原理(1)主程序分析本實驗的程序流程如圖1-2所示,其重點IO口的配置。如果以1Hz的頻率點亮LED1閃爍,則需要配置P1_1為輸出,然后在P1_1輸出1Hz的脈沖信號。圖1-2程序邏輯流程圖(2)IO端口配置P1口通過特殊功能寄存器P1SEL(P1口功能選擇寄存器)和P1DIR(P1口方向寄存器)進行配置,
4、其定義如下。P1SEL(P1功能選擇寄存器,P0SEL同理):位號碼名稱復(fù)位R/W描述7:0SELP1_[7:0]0x00R/WP1.7到P0.0功能選擇0:通用I/O1:外設(shè)功能P1DIR(P1方向寄存器,P0DIR同理):位號碼名稱復(fù)位R/W描述7:0SELP1_[7:0]0x00R/WP1.7到P1.0的I/O方向0:輸入1:輸出特殊功能寄存器的配置方法:通過位操作實現(xiàn)對特殊功能寄存器的配置。【例如,如果需要對P1SEL的第3位設(shè)置為1,則可用P1SEL
5、=0x08(二進制表示為:00001000)來實現(xiàn);如果需要對P1SEL的第3位設(shè)置為0,則可用P1SEL&=0x
6、F7來實現(xiàn)?!浚?)延時子程序設(shè)計延時函數(shù)原型如下,在16MHz主時鐘頻率下,參數(shù)time的值表示延時了多少ms。(本例使用的cc2530單片機上電默認使用內(nèi)部RC振蕩器產(chǎn)生系統(tǒng)主時鐘,內(nèi)部主時鐘RC振蕩器頻率為16MHz)voidDelay_ms(unsignedinttime){unsignedinti,j;for(i=0;i