基于手機藍牙控制的LED燈的設計
5.2 程序設計
本文引用地址:http://www.j9360.com/article/264335.htm主函數流程圖如圖2所示,定義完相關變量和相關函數聲明后,設計串口通信函數,設置定時器1中斷,中斷函數為占空比控制函數,然后設計數據接收函數,當串口服務函數接收到數據時,將數據發送到數據接收函數,然后將接受到的字符數據通過字符轉型函數進行字符的轉型,然后通過標志iCommdType判斷控制哪一路信號,當無標志信號來時,一直循環檢查,檢查到相應的標志信號,然后執行占空比調節函數藍牙模塊與單片機之間的通信使用模擬串口實現的,串口為標準配置:波特率9600,編寫一個串口初始化函數void UART_INIT(),初始化相關標志,和寄存器,然后編寫中斷接收函數void tm0()interrupt 1 using 1,接收串口發來的數據。設定定時器1中斷并編寫中斷服務函數void tm1()interrupt 3 using1,實現P W M的占空比控制。編寫數據接收函數char GetUartData(),將中斷接收函數里接收到的數據發送這里,等待接收數據函數void WaitForChars(unsigned chariCount,char *Dest)通過調用數據接收函數char GetUartData(),將手機發送來的數據裝載到定義好的變量數組,然后通過字符轉型函數unsigned int GetCmdType(char*Commd),將字符型數據轉成數字,通過標志判斷,要控制哪一路PWM波,然后將相應的數據傳到控制占空比的中斷服務函數,改變其占空比的輸出。

?
圖2 主函數流程圖
6.結果展示
6.1 手機端界面
如圖3所示,其中W調節白光,從0到100R、B、G共有100萬種組合,每一種組合對應一種顏色,通過改變RBG的組合,從而調節LED的顏色。

?
圖3
6.2 PWM波輸出效果
如圖4所示,這是其中一路PWM波的控制信號,通過手機端控制其占空比,用示波器測出其波形。

?
圖4
6.3 實際調光調色效果
選擇幾種組合調色效果如圖5所示。

?
圖5
萬能遙控器相關文章:萬能遙控器代碼
pwm相關文章:pwm是什么
led燈相關文章:led燈原理
藍牙技術相關文章:藍牙技術原理 脈沖點火器相關文章:脈沖點火器原理 調光開關相關文章:調光開關原理
評論