摘要:LED顯示屏的設計硬件主要由STC89C58單片機最小系統(tǒng)、32×32的雙色點陣顯示陣列、光筆、按鍵、液晶顯示屏等組成。雙色點陣中的紅色LED始終工作在微亮的掃描狀態(tài),STC89C58單片機利用自制的光筆中紅外光電三極管檢測光筆觸及位置處紅色LED燈的點亮,計算出光筆位置的行列坐標,并根據按鍵設置的不同工作模式控制LED顯示,從而實現點亮、劃亮、反顯、清屏、筆畫拖動、輪流顯示等功能。顯示屏能根據環(huán)境光強自動調節(jié)顯示屏的顯示亮度,當在設定時間內光筆未接觸顯示屏或按鍵未按下時關閉所有顯示,并使系統(tǒng)進入休眠狀態(tài),減少電能消耗,當有按鍵按下時系統(tǒng)恢復運行。
關鍵詞:STC89C58;LED雙色點陣;紅外光電三板管光筆
0 引言
近年來,點陣LED顯示屏利用發(fā)光二極管構成的點陣模塊或像素單元組成可變面積的顯示屏幕,以可靠性高、使用壽命長、環(huán)境適應能力強、性能價格比高、使用成本低等特點,已成為眾多顯示媒體以及戶外作業(yè)顯示的電子工具,廣泛地應用于車站、賓館、金融、證券、郵電、體育等廣告發(fā)布或交通運輸等行業(yè)。目前LED顯示屏的設計已經有多種方法可以實現,本設計是基于STC89C58單片機利用自制的光筆中紅外光電三極管檢測光筆觸及位置處紅色LED燈的點亮,計算出光筆位置的行列坐標,并根據按鍵設置的不同工作模式控制LED顯示,從而實現點亮、劃亮、反顯、清屏、筆畫拖動、輪流顯示等功能。
1 系統(tǒng)設計方案
用雙色LED點陣(紅色和綠色)模塊組合成32×32的LED點陣屏。其中紅色LED作微亮掃描檢測用,綠色LED作顯示用,用紅外光電三極管自制光筆。在檢測時依次點亮紅色LED,當點亮到某個LED時,如果此時光筆放在該LED時,這時紅外光電三極管的阻值會發(fā)生變化,通過相應的檢測電路可以得出一個高低電平的變化,單片機檢測到信號變化時就可以判斷光筆的當前位置。
該方案簡單易行,對光筆位置判斷的靈敏度較高,抗外界干擾能力強。采用雙色點陣和紅外光電三極管能夠有效地減少環(huán)境可見光和顯示LED(綠色)所發(fā)的光線對光筆中光電三極管的干擾。
2 系統(tǒng)結構及單元模塊設計
2.1 系統(tǒng)總體框圖
系統(tǒng)主要由微處理器STC89C58,32×32雙色LED點陣顯示、光筆及檢測電路、外界光照強度檢測電路、按鍵輸入電路、液晶顯示模塊等幾個部分組成。系統(tǒng)硬件結構框圖如圖1所示。
單片機STC89C58片內有1 KB的片外RAM,能夠滿足保存四屏顯示信息要求,該單片機性價比很高。系統(tǒng)原理圖如圖2所示。
2.2 光筆及檢測電路
用紅外光電三極管自制光筆,光筆檢測電路如圖3所示。圖中Q2是用紅外光電三極管,用來完成對32×32點陣紅色LED燈點亮或熄滅的檢測;R6,RP1用于對Q2進行限流,另外還可以調節(jié)RP1來提高或減小輸出的電壓值;R7,R8是用于給U3A(比較器)的同相端提供基準電壓值,通過它跟采集信息輸出來的電壓值進行比較(U2>U3,U1=Umin),R12是U3A的輸出上拉電阻。工作原理如下:當紅光照到紅外光電三極管上時,紅外光電三極管的電阻變小,其射極電壓升高,此時2腳電壓比3腳電壓高,比較器1端輸出為低電平。當電容C11充電一段時間之后,比較器2腳電壓比3腳電壓低,比較器1端輸出為高電平。由此,當檢測到光信號時,該電路將產生一個脈沖信號。由于在電路中加了耦合電容,可有效地防止環(huán)境對光筆的影響。
在本系統(tǒng)中,光筆是一個非常重要的一個環(huán)節(jié),為了更好的穩(wěn)定工作,必須添加適當的抗干擾措施。在信號傳輸方面采用屏蔽軟同軸銅線,在紅外光電三極管外圍套加黑色熱縮管,紅外光電三極管比單個LED燈的直徑小,以確保少受外界紅外線的干擾。
2.3 LED雙色點陣顯示與驅動電路
LED雙色(紅、綠)點陣的型號有很多,其中最為常用的有4×4,8×8,16×16式模塊,本設計需要一個32×32的雙色顯示,其顯示亮度、體積由設計者自行定義??紤]到采購的因素,選擇由16塊8×8雙色點陣模塊組成32×32點陣顯示屏,利用由74HC154和74HC595芯片來驅動顯示,由串行口工作在模式0(速度快)將顯示信息快速送入74HC595。
LED是一個非線性元器件,當它兩端的電壓達到一定的值后,通過它本身的電流會急劇上升??紤]32×32點陣式由1 024個發(fā)光二極管組成,當它們同時點亮時的電流很大,必須考慮電源供電能力。一般LED的電流值為5~20 mA,取最大值20 mA,同時點亮兩行,有:I=20×64= 1 280mA。
2.4 外界光照檢測電路
外界光照檢測電路如圖4所示。電路采用光敏電阻RP串聯(lián)一個固定電阻R9,將光照變化轉換為電壓變化,此電壓信號通過芯片AD833進行模數轉換(A/D)后,由5腳送入單片機處理,以控制亮度的調節(jié)。
根據分壓原理,有:
可見選擇不同的R9的阻值可改變Vin的大小,使輸入信號在合適的范圍之內。光敏電阻RP隨光照變化的阻值變化為3~4 kΩ,由上式可計算出R9為3~4 kΩ,取R9=4 kΩ。
2.5 超時低功耗設計
超時低功耗設計通過軟件實現,利用按鍵設定時間常數,當在設定時間內光筆未接觸顯示屏或按鍵未按下時關閉所有顯示,使系統(tǒng)進入休眠狀態(tài),減少電能消耗,當有按鍵按下時系統(tǒng)恢復運行。
3 系統(tǒng)軟件設計
系統(tǒng)的軟件采用C語言編程,軟件在KeilμV3編程環(huán)境中編寫和調試。為了編寫和調試的方便,程序使用模塊化設計,根據按鍵、光筆掃描、LED點陣顯示、LCD液晶顯示、亮度調節(jié)等功能分別設計程序,大大簡化了程序的設計和調試工作,節(jié)省設計周期。
系統(tǒng)主程序流程圖如圖5所示。主程序開始對內部功能寄存器、端口、液晶顯示模塊等初始化,然后在主循環(huán)中進行光筆位置掃描、LED顯示緩沖區(qū)數據更新、LED點陣輸出、液晶模塊輸出、可見光亮度檢測、低功耗判斷等功能。在定時器中斷子程序中進行按鍵掃描,完成顯示模式的識別,相應的顯示模式信息和光標坐標在液晶模塊上顯示。
4 系統(tǒng)測試
本設計的測試要求與結果見表1。
通過測試結果表明,系統(tǒng)能夠實現該設計要求的點亮、劃亮、反顯、清屏、筆畫拖動、輪流顯示、顯示亮度調節(jié)、休眠模式等主要功能。
5 結論
系統(tǒng)主要由微處理器STC89C58、32×32雙色LED點陣顯示、光筆及檢測電路、外界光照強度檢測電路、按鍵輸入電路、液晶顯示模塊等幾個部分組成。系統(tǒng)能夠實現要求的點亮、劃亮、反顯、清屏、筆畫拖動、輪流顯示、顯示亮度調節(jié)、休眠模式等主要功能。在系統(tǒng)的設計過程中,利用軟件和硬件相結合,充分發(fā)揮軟件編程的靈活性,并最大限度挖掘單片機的硬件資源。系統(tǒng)性價比高,運行穩(wěn)定,能耗低,顯示效果好。