基于STC89C58單片機LED點陣書寫顯示屏的解決方案
在本系統中,光筆是一個非常重要的一個環節,為了更好的穩定工作,必須添加適當的抗干擾措施。在信號傳輸方面采用屏蔽軟同軸銅線,在紅外光電三極管外圍套加黑色熱縮管,紅外光電三極管比單個LED燈的直徑小,以確保少受外界紅外線的干擾。
LED雙色(紅、綠)點陣的型號有很多,其中最為常用的有4×4,8×8,16×16式模塊,本設計需要一個32×32的雙色顯示,其顯示亮度、體積由設計者自行定義。考慮到采購的因素,選擇由16塊8×8雙色點陣模塊組成32×32點陣顯示屏,利用由74HC154和74HC595芯片來驅動顯示,由串行口工作在模式0(速度快)將顯示信息快速送入74HC595。
LED是一個非線性元器件,當它兩端的電壓達到一定的值后,通過它本身的電流會急劇上升??紤]32×32點陣式由1 024個發光二極管組成,當它們同時點亮時的電流很大,必須考慮電源供電能力。一般LED的電流值為5~20 mA,取最大值20 mA,同時點亮兩行,有:I=20×64= 1 280mA。
2.4 外界光照檢測電路
外界光照檢測電路如圖4所示。電路采用光敏電阻RP串聯一個固定電阻R9,將光照變化轉換為電壓變化,此電壓信號通過芯片AD833進行模數轉換(A/D)后,由5腳送入單片機處理,以控制亮度的調節。

根據分壓原理,有:

可見選擇不同的R9的阻值可改變Vin的大小,使輸入信號在合適的范圍之內。光敏電阻RP隨光照變化的阻值變化為3~4 kΩ,由上式可計算出R9為3~4 kΩ,取R9=4 kΩ。
2.5 超時低功耗設計
超時低功耗設計通過軟件實現,利用按鍵設定時間常數,當在設定時間內光筆未接觸顯示屏或按鍵未按下時關閉所有顯示,使系統進入休眠狀態,減少電能消耗,當有按鍵按下時系統恢復運行。
3 系統軟件設計
系統的軟件采用C語言編程,軟件在KeilμV3編程環境中編寫和調試。為了編寫和調試的方便,程序使用模塊化設計,根據按鍵、光筆掃描、LED點陣顯示、LCD液晶顯示、亮度調節等功能分別設計程序,大大簡化了程序的設計和調試工作,節省設計周期。

系統主程序流程圖如圖5所示。主程序開始對內部功能寄存器、端口、液晶顯示模塊等初始化,然后在主循環中進行光筆位置掃描、LED顯示緩沖區數據更新、LED點陣輸出、液晶模塊輸出、可見光亮度檢測、低功耗判斷等功能。在定時器中斷子程序中進行按鍵掃描,完成顯示模式的識別,相應的顯示模式信息和光標坐標在液晶模塊上顯示。
評論