葛健+邢入姿+龍翔
摘 要:當前在信息傳播領域當中,LED顯示屏已經(jīng)成為一向炙手可熱的產品技術,標志著我國信息化程度的進一步加深。而隨著LED顯示屏的不斷發(fā)現(xiàn),其種類越來越多、型態(tài)逐漸變小且已經(jīng)可以輕松完成大批量生產。在此背景之下,文章將通過與單片機控制技術進行有機結合,嘗試設計一種基于單片機控制的LED電子胸卡。因此文章將分別從硬件和軟件兩個角度出發(fā),重點圍繞基于單片機控制電子胸卡的設計進行簡要分析研究。
關鍵詞:單片機控制;電子胸卡;設計
引言
本文設計的基于單片機控制的電子胸卡,無論是進行動態(tài)顯示的控制命令,還是提取與之相對應的漢字點陣字模均全部交由PC機負責完成。而上位機在生成相關控制命令之后,直接利用紅外串行通信將其傳輸至電子胸卡中系統(tǒng)的下位機也就是單片機處,再通過對LED點陣屏進行驅動的方式從而獲得預期的動態(tài)顯示效果。
1 基于單片機控制的電子胸卡硬件設計
1.1 單片機硬件電路
基于單片機控制的電子胸卡,其系統(tǒng)硬件主要是由單片機硬件電路與顯示驅動電路,以及紅外串行通信電路共同組合而成。其中單片機硬件電路主要負責對LED點陣顯示屏顯示的方式以及最終呈現(xiàn)出的效果進行有效控制。結合當前相關研究我們可以得知,近些年來絕大多數(shù)研究人員傾向于使用飛利浦AT89S52作為電子胸卡的單片機,這主要是由于該種單片機的能耗相對比較低,但性能與質量良好,在片內振蕩復位的情況下,無需復位電路或是進行RC振蕩電路的外接,可以有效為系統(tǒng)節(jié)省大量原本用于安裝元件以及電路板的面積,方便電子胸卡實現(xiàn)小型與集成化[1]。
在設計相關程序的過程當中,最重要的便是設計主程序以及串口終端程序。上位機在向下位機傳輸控制數(shù)據(jù)與命令時,需要利用串口中斷才能實現(xiàn)單片機的有效接收,而其接收到的數(shù)據(jù)、命令等都會先放置在接受緩沖區(qū)當中,在按照一定的規(guī)律對數(shù)據(jù)和命令進行分析整理之后,再將其保存至數(shù)據(jù)存儲區(qū)內。根據(jù)具體的顯示方式,主程序將從用于存儲數(shù)據(jù)的控制器當中依次進行數(shù)據(jù)的讀取工作,同時使用數(shù)據(jù)的行掃描列傳輸方式一一將其顯示在顯示緩沖區(qū)中,并保證擁有至少50Hz掃描點陣的頻率,從而有效保障顯示效果具有良好的穩(wěn)定性。之后結合數(shù)據(jù)的放入以及顯示順序,運用相關控制按鍵自行選擇與之相對應的顯示方式。如果數(shù)據(jù)存儲區(qū)在將數(shù)據(jù)移至顯示緩沖區(qū)當中,每次只選取一位數(shù)據(jù)則其顯示方式為左右移動。如果數(shù)據(jù)存儲區(qū)在將數(shù)據(jù)移動至顯示緩沖區(qū)時,每次只選取一行數(shù)據(jù),則其顯示方式為上下移動。
1.2 顯示驅動電路
在本文設計的基于單片機控制的電子胸卡當中,使用12×40點陣的單色LED顯示屏,點陣數(shù)據(jù)利用列傳送和行掃描的方式予以顯示。一般情況下,40列左右的LED會在顯示在同一條行先上,因此需要選擇較大功率的行驅動器。在列驅動當中,則通過使用首尾相連的方式依次連接五片串入并出移位寄存器,使之能夠形成一條40位的數(shù)據(jù)鏈。此種串入并出移位寄存器在對鎖存端進行控制的過程中,主要是利用單片機完成在鎖存器中一次性全部打入40列顯示數(shù)據(jù),在進行數(shù)據(jù)輸出顯示時只需要將相應行選通即可,列數(shù)據(jù)將自動通過單片機當中的數(shù)據(jù)控制端完成傳送[2]。
1.3 紅外串行通信
鑒于電子胸卡本身并不需要較大的體積與質量,因此選用普通光波波長在850nm到900nm的紅外串行通信即可,尤其是利用貼片式的紅外接收管作為其接收部分,能夠有效減輕系統(tǒng)質量。使用USB轉紅外數(shù)據(jù)線和總線轉接芯片分別作為紅外發(fā)送以及電路部分,通過將USB上拉電阻與電復位電路放置在芯片內部,并直接將±UD引腳與總線相連即可。
2 基于單片機控制的電子胸卡軟件設計
2.1 軟件流程
在基于單片機控制的電子胸卡軟件設計中,最為關鍵的部分便是軟件控制系統(tǒng)的編寫,這也是完成漢字字模提取與傳輸?shù)那疤?。因此我們可以選用VB代碼的方式進行系統(tǒng)編寫,軟件流程為輸入漢字,判斷其是否為漢字,如果是漢字則需要進入到查找漢字區(qū)位碼的環(huán)節(jié)當中,并從字庫中取24字節(jié)。此時需要對是否取完進行判斷,如已經(jīng)取完則需要進入到串口打開和數(shù)據(jù)發(fā)送環(huán)節(jié),但如若未能取完則需要重新進入到查找漢字區(qū)位碼的環(huán)節(jié)中直至24字節(jié)全部取完。
2.2 串行通信
利用VB本身自帶的通信控件能夠有效完成設計串口通信的工作,控擁有比較完善的發(fā)送和接收串口數(shù)據(jù)功能,通過進行串口狀態(tài)與通信信息格式、協(xié)議等設置,即可在有效保障數(shù)據(jù)傳輸安全可靠的基礎之上,用最短的時間完成數(shù)據(jù)的傳輸。一般在數(shù)據(jù)幀格式方面會選擇一位的起始與停止位,以及八位數(shù)據(jù)位的十位數(shù)據(jù)為一幀數(shù)據(jù)。另外,選擇異步通信的方式,將字節(jié)作為一個單位,同時利用RS-232通信接口協(xié)議進行數(shù)據(jù)傳輸,此種通信接口協(xié)議能夠有效完成半雙工發(fā)送數(shù)據(jù)以及數(shù)據(jù)的接收。而數(shù)據(jù)發(fā)送與接收則分別有上位機軟件與下位機負責完成,在單片機當中主要選擇9600bit/s波特率的1串行通信方式[3]。
2.3 程序生成與應用
在完成全部程序編寫之后,為了能夠有效提升程序運行的環(huán)境適應性,還需要為程序配置獨立安裝包或是可執(zhí)行文件,并將其發(fā)送至用戶處,但用戶無法通過安裝包以及可執(zhí)行文件進行程序代碼的查詢與修改。用戶通過在PC機當中下載安裝包或是點擊可執(zhí)行文件,并可以在指定目錄當中安裝包括共享庫、源代碼等內容,之后在PC機的菜單欄當中點擊啟動項生成即可完成應用程序的生成與安裝。此時通過運用PC機用戶便可以對各項參數(shù)進行監(jiān)察和修改,同時在單片機成功連接PC機之后,可以利用相關控制命令將字模數(shù)據(jù)發(fā)送至單片機處并實現(xiàn)系統(tǒng)顯示。
3 結束語
總而言之,本文通過運用單片機控制技術設計了一款電子胸卡,在使用紅外線串線通信之下,單片機能夠完成接收由上位機發(fā)送的顯示方式與數(shù)據(jù),并將其按照相關順序進行排列顯示與存儲。不僅使得電路變得更加簡單優(yōu)化,同時也有利于電子胸卡減輕體積與質量,在保障低耗能高性能的同時更加方便人員佩戴。
參考文獻
[1]冀恩祥.基于單片機控制電子胸卡的設計[D].大連交通大學,2015.
[2]胡汪洋,冀恩祥,費繼友.基于單片機控制電子胸卡的設計[J].儀表技術,2015,05:19-21+25.
[3]郭志卓,陳振軍.基于單片機控制的電子胸卡設計[J].電腦知識與技術,2014,12:2861-2863.