用單片機(jī)實現(xiàn)編碼器VD5026的軟件設(shè)計與應(yīng)用
VD5026 -4的每組串行數(shù)據(jù)輸出波形由同步脈沖、12位加密地址(和控制數(shù)據(jù))及1位停止位組成。編碼脈沖輸出順序為AO~A7、A8/DO~All/D3,每組串行數(shù)據(jù)輸出至少4次。掌握了串行數(shù)據(jù)的輸出格式及其數(shù)據(jù)的校驗方式、脈沖周期、脈沖的占空比及其對應(yīng)的數(shù)據(jù)關(guān)系后,按編碼脈沖輸出的要求編寫應(yīng)用程序,使單片機(jī)實現(xiàn)編碼器的功能。模擬編碼器程序框圖如下圖所示。
用該技術(shù)設(shè)計的紅外遙控鍵盤,已應(yīng)用于“彩色遙控監(jiān)視系統(tǒng)”上。遙控鍵盤原理如下圖所示。
本電路采用單片機(jī)AT89C2051,是一種高性價比單片機(jī),器件采用80C31內(nèi)核,指令系統(tǒng)和引腳與MCS - 51TM全兼容。內(nèi)有2 KB可重復(fù)編程閃爍存儲器,編程次數(shù)可擦/寫1 000次,數(shù)據(jù)保存10年。
解碼器VD5027有4位數(shù)據(jù)輸出,可譯出16個狀態(tài),滿足3×4鍵盤要求。
單片機(jī)查詢到有一鍵按下,便產(chǎn)生與此鍵值對應(yīng)的編碼脈沖。該編碼脈沖信號用38 kHz脈沖信號進(jìn)行調(diào)制,通過發(fā)射管(SE303A)發(fā)射出去。紅外接收二極管(PH302B)將接收到的紅外信號變?yōu)殡娦盘?,?jīng)紅外遙控接收器CX20106放大檢波后變?yōu)槊}沖電信號。該信號再經(jīng)整形放大后,還原為與該鍵值對應(yīng)的編碼脈沖輸出,并送到解碼器VD5027的14腳DIN輸入端。
當(dāng)VD5027接收到第一串編碼脈沖信號時,若其與VD5027所設(shè)的地址完全一致,則將傳送來的DO-D3四位數(shù)據(jù)碼送入寄存器(并由串行碼變?yōu)椴⑿写a)。當(dāng)?shù)诙嗤木幋a脈沖信號到來時,再次經(jīng)過核對。若地址無誤,控制數(shù)據(jù)與第一次的相符,則VD5027中的邏輯控制電路發(fā)出一控制信號,將寄存器的控制數(shù)據(jù)打入鎖存器并輸出到VD5027的DO~D3端。同時,TV端由低電平變?yōu)楦唠娖?,表示解碼有效。
主機(jī)收到有效解碼信號后,讀來自VD5027的輸出數(shù)據(jù)DO~D3,譯出鍵值的代碼,執(zhí)行相應(yīng)操作。