陳愛萍,張 青
(湖南工程學院 電氣信息學院,湘潭411101)
LED顯示屏由于其亮度高、畫面清晰、色彩鮮艷、使用壽命長、功耗低等,使得它在公眾多媒體顯示領(lǐng)域一枝獨秀,應(yīng)用廣泛.
本文設(shè)計并制作了基于單片機的16×16點陣LED書寫顯示屏,在單片機的控制下,顯示屏可工作在微亮掃描和高亮顯示模式下;當光筆觸及LED點陣模塊時,先由光筆檢測觸及位置處LED點的掃描微亮以獲取其行列坐標,再依據(jù)功能需求決定該坐標處的LED是否點亮至人眼可見的顯示狀態(tài),從而在屏上實現(xiàn)“點亮、劃亮、反顯、整屏擦除、筆畫擦除、連寫多字、對象拖移”等書寫顯示功能,也可整屏顯示漢字和圖形.
系統(tǒng)主要由主控制模塊、點陣及驅(qū)動模塊、光筆、按鍵控制、液晶顯示和電源等組成.系統(tǒng)總體框圖如圖1所示.
圖1 系統(tǒng)總體框圖
控制模塊為整個系統(tǒng)的核心部分,由單片機最小系統(tǒng)組成.用于接收光筆送過來的脈沖信號,通過程序計算出探測到的脈沖所在點陣的坐標位置,并在外界輔助電路的控制下實現(xiàn)對整個系統(tǒng)的控制.主控電路如圖2所示.
圖2 主控電路
16×16LED點陣屏,由四塊8×8的點陣LED顯示屏小模塊拼接而成,采用串口方式發(fā)送顯示代碼,用74HC595移位寄存器作為行驅(qū)動電路,列驅(qū)動電路用三極管.通過光敏三極管對點陣屏微亮掃描點進行采樣,當檢測到有光閃爍時,就會導(dǎo)通,產(chǎn)生一個脈沖信號,經(jīng)比較放大后作為單片機的輸入信號 .按鍵模塊為四個獨立式按鍵,用以控制在不同模式之間的切換、確認和數(shù)據(jù)的存儲.當有按鍵按下時,給對應(yīng)的I/O口提供一個低電平,供程序判斷是否有按鍵按下,執(zhí)行相應(yīng)功能.
液晶顯示模塊可顯示漢字和128×64字符及圖形點陣.用以顯示光筆檢測到的坐標位置和程序在不同功能模塊之間切換的指示.
電源采用外部9V的電源適配器接入系統(tǒng),通過LM7805穩(wěn)壓輸出5V電壓供給單片機及各電路.
如何精確判斷光筆所在的坐標位置和高亮、微亮同時顯示在LED點陣顯示屏上,是本設(shè)計的難點.要實現(xiàn)“開機初始界面、點亮、劃亮、反顯、整屏擦除、筆畫擦除、連寫多字、顯示拖移”等顯示和書寫功能,并且在光筆時隔規(guī)定的時間內(nèi)沒有檢測到微亮掃描信號時能夠?qū)崿F(xiàn)超時待機功能,系統(tǒng)軟件總體流程圖如圖3所示.
圖3 系統(tǒng)軟件總體流程圖
系統(tǒng)的軟件分為主程序:延時程序、74HC595送數(shù)子程序、LED點陣顯示程序、按鍵子程序、液晶顯示程序.主程序用于調(diào)用各子程序模塊,控制和實現(xiàn)整個系統(tǒng)的正常運行.液晶顯示程序用于驅(qū)動液晶顯示特定的內(nèi)容信息,起到了人機交互界面的作用.定時器T0主要完成待機計時和處理、按鍵掃描和處理、各功能模塊的切換及標志位的處理及緩沖區(qū)數(shù)據(jù)的處理和各功能模塊液晶界面的刷新.定時器T1負責微亮掃描.當為筆畫擦除模式時,則開啟筆畫擦除模式的微亮顯示,為其他各功能模塊時,則開啟第二套微亮掃描.兩套微亮掃描的開啟和關(guān)閉受進出相應(yīng)功能模塊的標志位的控制.
外部中斷0實現(xiàn)的功能有:待機恢復(fù)處理、行列掃描的切換、行列坐標的判斷及存儲和標志位的置位、點亮模式坐標的計算和數(shù)據(jù)存儲、劃亮模式和連寫多字模式坐標的計算及存儲和相應(yīng)標志位的置位、顯示拖動模式坐標的計算和數(shù)據(jù)存儲.
系統(tǒng)通電啟動后,出現(xiàn)如圖4所示的界面.
圖4 開機啟動界面
(1)在“點亮”模式下,當光筆接觸屏上某點LED時,能即時點亮該點LED,并在控制器上同步顯示該點LED的行列坐標值.
(2)在“劃亮”模式下,當光筆在屏上快速劃過時,能同步點亮劃過的各點LED,其速度要求在2s內(nèi)能劃過并點亮40點LED.
(3)在“反顯”模式下,能對屏上顯示的信息實現(xiàn)反相顯示.
(4)在“整屏擦除”模式下,能實現(xiàn)對屏上所顯示信息的整屏擦除.
(5)在“筆畫擦除”模式下,能夠?qū)崿F(xiàn)把點亮的筆畫擦除.
(6)在“連寫多字”模式下,能夠連續(xù)手寫輸入多個漢字,并存儲和顯示出來.
(7)在“顯示拖動”模式下,能夠把顯示的高亮信息,在光筆的控制下進行拖動.
(8)如果光筆在特定的時間內(nèi)沒有使用,能夠?qū)崿F(xiàn)超時待機功能.
通過試驗調(diào)試,上述功能都能實現(xiàn),效果非常好.
點陣顯示屏一般通過連接上位機對其顯示的內(nèi)容和顯示方法進行刷新和控制.本系統(tǒng)能對普通LED顯示屏通過手寫輸入修改其顯示內(nèi)容,并附加“點亮”、“劃亮”、“反顯”、“整屏擦除”、“筆畫擦除”、“連寫多字”、“顯示拖動”和“超時待機”等功能.
[1] 關(guān)積珍.LED顯示屏發(fā)展綜述[J].國際光電與顯示,2001,(11):177-182.
[2] 諸昌鈴.LED點陣顯示原理及工程技術(shù)[M].電子科技大學出版社,2000.
[3] 周詩虎.單片機控制LED點陣屏[J].科技信息,2008,(25).
[4] Zhang Mingbo.Design of Matrix LED Display System Base in MCU[J].Embed de System & SOC,2007,2(2):85-86.
[5] 全國大學生電子設(shè)計競賽組委會.第九屆全國大學生電子設(shè)計競賽獲獎作品選編[C].北京:北京理工大學出版社,2010.