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