《物聯(lián)網(wǎng)技術(shù)創(chuàng)新應(yīng)用》項目4信號指示燈控制_第1頁
《物聯(lián)網(wǎng)技術(shù)創(chuàng)新應(yīng)用》項目4信號指示燈控制_第2頁
《物聯(lián)網(wǎng)技術(shù)創(chuàng)新應(yīng)用》項目4信號指示燈控制_第3頁
《物聯(lián)網(wǎng)技術(shù)創(chuàng)新應(yīng)用》項目4信號指示燈控制_第4頁
《物聯(lián)網(wǎng)技術(shù)創(chuàng)新應(yīng)用》項目4信號指示燈控制_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

信號指示燈控制InternetofThings項目場景說明單片機(jī)通用I/OCC2530通用I/O項目實踐項目場景家用電器、儀表儀器這些常見的設(shè)備上當(dāng)具備多種功能時,會用信號指示燈標(biāo)示當(dāng)前系統(tǒng)的功能與狀態(tài),例如圖示的安防設(shè)備控制器上面具有電源、報警、設(shè)置、電話四個系統(tǒng)指示燈,通過這四個燈用戶可以方便直觀的設(shè)置與管理系統(tǒng)。任務(wù)目標(biāo)使用CC2530單片機(jī)模擬某設(shè)備的信號指示燈控制,通過編輯程序使用CC2530單片機(jī)的通用I/O實現(xiàn)對連接在CC2530單片機(jī)引腳上按鍵和指示燈進(jìn)行狀態(tài)讀取和實時控制,CC2530單片機(jī)通過讀取按鍵的電平狀態(tài),當(dāng)狀態(tài)被改變時控制指示燈的亮滅來反應(yīng)設(shè)備工作狀態(tài)。通用I/O驅(qū)動概述I/O也稱為GeneralPurposeInputOutput(通用輸入/輸出)簡稱為GPIO、I/O,是單片機(jī)通用輸入輸出接口的總稱。弱驅(qū)動I/O弱驅(qū)動電路是指通用I/O管腳輸出的電流較弱無法對相關(guān)的控制設(shè)備提供足夠的驅(qū)動電流。強(qiáng)驅(qū)動I/O強(qiáng)驅(qū)動I/O顧名思義就是驅(qū)動能力較強(qiáng)的I/O,通常情況下在輸入與芯片電源相同的電壓時,強(qiáng)驅(qū)動I/O可以驅(qū)動功率更大的外界設(shè)備。高壓I/O與低壓I/O單片機(jī)通用I/O輸出電壓有兩種,一種為比較早期的傳統(tǒng)8051單片機(jī)的5V通用I/O,另一種為通用型的3.3V通用I/O。通用I/O模式概述通用I/O在工作時通常是三種狀態(tài),分別是輸入狀態(tài),輸出狀態(tài)和高阻態(tài),這三種狀態(tài)的使用和功能都有所不同,在設(shè)置時需要根據(jù)實際實用配置。輸入狀態(tài)輸入模式是指通用I/O管腳被配置為接受外界電平信息的模式,通常讀取的信息為電平信息,即高電平為1,低電平為0。輸出狀態(tài)輸出模式是指通用I/O口配置為主動向外部輸出電壓的狀態(tài),通過向外輸出電壓可以實現(xiàn)對開關(guān)類設(shè)備進(jìn)行主動控制。高阻態(tài)高阻態(tài)模式是指,通用I/O管腳內(nèi)部電阻的阻值無限大,大到幾乎占有外界輸出的全部電壓。通用I/O的分配原理分組的依據(jù)有兩點,第一點是單片機(jī)內(nèi)核的位寬度,第二點是單片機(jī)I/O功能的多寡。內(nèi)核位寬8051單片機(jī)是8位的單片機(jī)MSP430單片機(jī)是16位單片機(jī)I/O功能8051單片機(jī)的I/O功能只有輸入輸出兩種模式STM32通用I/O的Bit位通常在4個左右GPIO_Port與GPIO_PinGPIO_Port的設(shè)計受到商業(yè)產(chǎn)品及片上資源的限制而設(shè)計的總的管腳通道,而通常GPIO_Pin是掛載在GPIO_Port通道上的,其數(shù)量與單片機(jī)位寬與管腳功能密切相關(guān)。CC2530通用I/O介紹CC2530的I/O用作通用I/O時,引腳可以組成3個8位端口,端口0、端口1和端口2,表示為P0、P1和P2。其中,P0和P1是完全的8位端口,而P2僅有5位可用。所有的端口均可以通過SFR寄存器P0、P1和P2位尋址和字節(jié)尋址。每個端口引腳都可以單獨設(shè)置為通用I/O或外部設(shè)備I/O。CC2530通用I/O寄存器介紹實現(xiàn)I/O的配置使用,只需要配置P1DIR(端口1方向寄存器)和P1SEL(端口1功能選擇寄存器)即可。00000007654321項目分析信號燈的控制信號燈的控制方式為對電平輸出的主動控制即:高電平輸出和低電平輸出,具體的輸出方式要參考信號燈的相關(guān)原理圖。信號燈LED1與LED2如圖。CC2530的I/O用作通用I/O時,引腳可以組成3個8位端口,端口0、端口1和端口2,表示為P0、P1和P2。項目分析按鍵的狀態(tài)檢測按鍵的狀態(tài)檢測方式主要是使用了CC2530單片機(jī)通用I/O的引腳電平讀取功能,相關(guān)引腳為高電平時引腳讀取的值為1,反之則為0。程序流程圖程序流程設(shè)計中首先配置LED燈和按鍵對應(yīng)的通用I/O從而初始化LED和按鍵外設(shè)。主循環(huán)中不斷檢測按鍵的狀態(tài),當(dāng)檢測到按鍵按下時,延時消抖等待10ms,待電平穩(wěn)定后如果按鍵任就處于按下狀態(tài)則確定按鍵被按下,等待按鍵抬起。檢測到按鍵抬起后執(zhí)行LED燈的反轉(zhuǎn)控制操作完成對LED燈的控制。項目實現(xiàn)LED燈初始化LED燈初始化的方式為配置P1SEL寄存器為通用I/O模式,配置P1DIR寄存器為輸出模式。LED燈初始化代碼如下:voidled_io_init(void){P1SEL&=~0x03;//配置控制管腳(p1.0,p1.1)為通用IO模式P1DIR|=0x03;//配置控制管腳(p1.0,p1.1)為輸出模式LED2=OFF;//初始狀態(tài)為關(guān)閉LED1=OFF;//初始狀態(tài)為關(guān)閉}項目實現(xiàn)按鍵初始化按鍵初始化的方式為配置P1SEL寄存器為通用I/O模式,配置P1DIR寄存器為輸入模式。按鍵初始化代碼如下:voidkey_init(void){P1SEL&=~0x0C;//配置按鍵檢測管腳(p1.2,p1.3)為通用IOP1DIR&=~0x0C;//配置按鍵檢測管腳(p1.2,p1.3)為通用輸出模式}項目實現(xiàn)主程序led_io_init();//LED的控制端口初始化key_io_init();//按鍵的控制端口初始化LED2=ON;//打開LED0while(1){ if(KEY1==ON){//按鍵按下,改變2個LED燈狀態(tài)

delay_ms(10);//按鍵防抖10ms if(KEY1==ON){//按鍵按下,改變2個LED燈狀態(tài)

while(KEY1==ON);//松手檢測

溫馨提示

  • 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

提交評論