吳慮 李建中 吳璇 萬川 鄧艷翔
摘要:為了解決某些特定場合復雜的燈光需求,設計了一個模擬燈光系統(tǒng),用以模擬燈光的控制。本應用由STC89C52單片機,HS0038紅外接收模塊和紅外發(fā)射遙控器組成。通過NEC協(xié)議,可以使用紅外發(fā)射遙控器控制LED燈組的亮度及單個或整體LED燈的亮滅,此外還可以控制其流水燈顯示,用以模擬實際情況下復雜燈光的需求。經(jīng)測試,結果滿足設計需求。
關鍵詞:STC89C52單片機,HS2238,NEC協(xié)議,模擬燈光控制,紅外控制
前 言
隨著科技的發(fā)展,人們對生活水平的要求也逐漸提高。在某些特定場合,包括家庭中的一些燈光的手動控制改為遙控控制;及某些娛樂場所,包括演唱會,演播廳燈對一些燈光要求較高的場合,目前仍然是由多人協(xié)作手動控制,這將大大增加不必要的人力消耗。因此,針對這些問題,提出了一個紅外控制的解決方案。將以模擬復雜燈光的方式對其進行分析解決,最后可由單人控制遙控器的方式對整個燈光進行控制。經(jīng)測試,結果滿足最初的設想。
第1章 總體設計
硬件總體由STC80C52單片機作為主控芯片,由紅外發(fā)射遙控器發(fā)送控制信息,在由HS0038紅外接收模塊接收其信息脈沖之后,將其發(fā)送至單片機,單片機對其進行解碼后,通過解析其控制信息,從而對應的向LED燈組做出相應的操作。其總體設計圖如下圖1所示。
第2章 硬件設計
2.1最小電路設計
目前市面上可以完成目標需求的芯片大致有三類,分別是51單片機類、stm32單片機和樹莓派。其中51單片機的優(yōu)點是實現(xiàn)簡單和價格便宜,但內置資源不足,適合于實現(xiàn)簡單且功能不算復雜的需求;Stm32單片機的優(yōu)點是功能強大,性價比高。樹莓派的優(yōu)點是功能及其強大,甚至可以跑LINUX系統(tǒng),但價格過于昂貴??紤]到此次項目只是模擬實際的燈光控制,并不需要過高的配置。因此采用51單片機系列中的STC80C52單片機作為主要控制芯片。
2.2電源、串口、燒錄三合一模塊設計
考慮到如果將所有需要的接口功能都單獨提供一個實際接口,這對硬件來說是一個負擔,通過USB轉串口的方式,便能同時解決供電、通信及燒錄功能。市面上流行的USB轉串口芯片是CH340。其硬件圖如下圖2-1所示:
2.3紅外接收模塊
紅外接收設備可由紅外接收電路、 紅外解碼芯片、電源和應用電路組成。此次項目中,無需添加額外的解碼芯片,解碼功能由單片機完成,這樣將會減少成本。紅外接收功能則由HS0038完成。他將接收到的紅外脈沖發(fā)送單片機,然后由單片機進行解碼。其電路圖如下圖2-8所示。
第3章 軟件設計
3.1主程序設計
軟件開始時,首先對單片機進行初始化,包括有對定時器的初始化和設定中斷方式,開中斷等操作;當準備工作完成之后,就開始通過外部中斷的方式接收紅外信號,并將接收到的脈沖寬度信息保存至一個緩沖數(shù)組,然后通過解碼函數(shù)對脈沖信號進行解碼,然后通過解碼后的信號,判斷需要做出開關燈、調亮度等操作。
3.2NEC通信協(xié)議
在同一個遙控電路中通常要使用實現(xiàn)不同的遙控功能或區(qū)分不同的機器類型,這樣就要求信號按一定的編碼傳送,編碼則會由編碼芯片或電路完成。編碼后的數(shù)據(jù)格式包括了引導碼、用戶碼、數(shù)據(jù)碼和數(shù)據(jù)碼反碼,編碼總占 32 位。當使445KHZ的晶振時,其編碼脈沖如下圖3-4:
3.3中斷處理函數(shù)
程序接收紅外信號是采用中斷接收的方式,通過下降沿觸發(fā)。當遙控器按鍵按下后,單片機就會從外部中斷接收到其紅外脈沖,然后通過定時器判斷脈沖的時間,再將這個時間記錄下來。然后將33位數(shù)據(jù)脈沖保存至一個緩沖數(shù)組。后續(xù)可對這緩沖數(shù)組進行解碼操作。
3.4解碼函數(shù)
當紅外脈沖接收完成后,就可對其進行解碼。按照NEC格式,判斷各脈沖的時間長度,便可判斷其各位的0、1組成。其解碼函數(shù)流程圖如下圖3-7所示:
如上圖所示,外循環(huán)主要對四個字節(jié)的數(shù)據(jù),包括用戶段和數(shù)據(jù)段進行操作,內環(huán)是對每個字節(jié)的八個位進行解碼操作。每位時間大于1390us的視為1,相反視為0.至此紅外解碼便能完成。
參考文獻
[1]李松嶺,楊昌福,李宇彤.基于80C52的水平測量儀系統(tǒng)的設計[J].科技傳播,2015,7(11):158+151
[2]謝琪林.淺談STC89S51單片機時序[J].電子測試,2020(24):139-140
[3]韓燕楚,余宏.基于51單片機的電子密碼鎖設計與應用研究[J].漯河職業(yè)技術學院學報,2020,19(06):21-23
河南科技大學 471000