近年來,隨著信息產業的高速發展,點陣LED 顯示屏已廣泛應用于金融行業、郵電行業、體育館、廣告業等各種廣告發布和信息顯示系統,成為信息傳送的重要手段。本文介紹的LED 書寫點陣屏,不但可以像普通顯示屏一樣作為信息輸出設備,而且可以通過光筆直接在LED 顯示屏上進行信息輸入,普通的顯示屏也具有"手寫"的功能了。 1 硬件系統設計 本系統總體框圖如圖1 所示,由鍵盤與顯示模塊、光筆模塊、LED 點陣屏模塊、STM32 控制模塊、電源模塊五部分組成。 圖1 總體方案方框圖 1. 1 核心控制模塊 本系統以STM32F103VCT6 為控制核心。 STM32 是32 位微處理器,具有低功耗,中斷延遲小,高性能等特點。STM32 處理器采用了指令預測和流水線技術,它的取指、譯碼和執行是同時進行的,分支預測給流水線提供連續的指令流,流水線可以不斷地執行有效指令,因此STM32 的速度比8051 快得多; STM32 處理器內部集成鎖相環可實現最大72MHZ 的工作頻率,為實現高速的系統響應( 高速的掃描) 提供了基礎; 其內置的兩個看門狗定時器( 獨立看門狗和窗口看門狗) 使系統更加穩定[1].STM32F103VCT6 有1 個12 位的us 級的A /D 轉換器,9 個定時器,2 個I2C 接口,5個UART 接口,3 個SPI 接口,為以后的擴展提供了條件。 1. 2 光筆電路設計 人眼能分辨刷屏次數為24 次,根據經驗本系統點陣屏的刷屏速度采用每秒70 次的經驗刷屏次數,即70Hz,故要求光筆的反應速度大于70Hz.掃描方式是每一時刻只有一個點點亮,并且這個亮點朝一個方向移動,這時主控掃描的速度是1M.使用的點陣屏為32 ×32.當每秒刷屏次數超過24 次時才看不出點陣屏閃爍,在本系統中每秒刷屏68 次,所以光電器件所要達到的頻率最小為68Hz,光電三極管( 3DU33) 靈敏度高,響應時間短,光敏三極管輸出的脈沖經過74HC14 整形輸出。光筆電路圖如圖2 所示: 圖2 光筆原理示意圖 1. 3 LED 點陣屏模塊 32 × 32 LED 點陣屏電路原理框圖如圖3 所示。 STM32 主控器I /0 口作為點陣屏模塊的輸入控制信號,其中OE 為使能端,CLK 為時鐘線,LT 為鎖存信號,DA 為數據線,A、B、C、D 為行選通地址線[2].電路中74HC245 起總線緩沖作用,2 片74HC138 構成4 - 16 譯碼器,實現16 路的行選通,選通信號經由4953MOS 管激勵為行驅動,行驅動為H1 ~ H16,每一行驅動負責32 × 32 點陣兩行的選通( 如H1 控制第1 行和第17 行,H2 控制第2 行和第18 行) .串行數據由74HC245 緩沖后,送入級聯的74HC595 串并轉換和驅動,電路中共設計有8 片74HC595,其中4 片用于第1 行~ 第16 行的列數據轉換,另外4 片用于第17 行~ 第32 行的列數據轉換。 圖3 LED 點陣屏電路原理框圖 2 軟件系統設計 STM32 系列微控制器采用C 語言進行程序設計,開發調試環境為Keil MDK.主程序流程圖如圖4 所示。 圖4 主程序流程圖 當系統上電后,LCD 與LED 點陣屏分別顯示各自的開機界面。與此同時,STM32 對鍵盤進行掃描。 任何狀態,按下"背光"鍵就可打開或關閉液晶的背光燈,此功能使得該點陣屏在夜間也可以隨意使用,白天可以將背光手動關閉,減小功耗,節約能源。 當"設定"鍵按下后,進入功能選擇顯示界面。 此時按上下鍵可進行功能選擇。依次進入點亮、劃亮、反顯、整屏擦除、筆畫擦除、連寫多字、對象拖移、設定休眠時間、調節亮度等功能。指示圖標在哪種功能前閃動,代表該功能被選中,點陣屏即可在系統控制下執行相應功能。在任何一種功能下,按下"確定"鍵即可顯示光筆位置的坐標。此功能在各項功能下均可跟隨光筆坐標,以便快速確定光筆所在位置。 在連寫多字功能中,每寫好一個字后,按下自定義的"1"鍵將寫好的字存儲至相應的數據緩沖區,四個字寫完后,用光筆靠近點陣屏給STM32 一個信號即可將已存儲的四個字逐個輪流顯出。為方便書寫,加快書寫速度,字體存儲后,當光筆靠近點陣屏時,給予自動清屏。在對象拖移功能中,先圈定對象,用光筆在對象上選定坐標參考點進行拖動,判斷光筆當前坐標與參考點坐標的關系,對圈定對象對應的RAM 區數據進行相應的操作[4],之后更新參考點坐標值,重復上述指令,直至對象拖移結束。 在調節亮度功能下,點陣屏可根據環境自動改變亮度。操作人員也可根據需要手動調節,并保持該亮度[4]. 3 測試方案與測量結果 3. 1 測量設備 主要的測量設備有直流穩壓源YB1730、數字式萬用表( FLUKE 15B) 、萬用表SJ47100MHz 和雙通道示波器( TeKtronix TDS2012B) .測量單位是秒表,精度0. 01s. 3. 2 實際測量結果 3. 2. 1 點亮、擦除。 "點亮"模式如表1 所示。 表1 "點亮"模式 結果顯示: 點亮點準確,坐標顯示準確。 "擦除"模式如表2 所示。 表2 "擦除"模式 3. 2. 2 屏亮調節。 屏亮調節測試如表3 所示。 表3 屏亮調節測試 4 結束語 本系統以STM32F103VCT6 作為控制核心,用74HC245、74HC595、74HC138、 74HC04 與4953 驅動32 × 32LED 點陣屏,用光筆來檢測LED 點陣屏的掃描從而確定相應點的坐標,用觸摸屏切換各個功能并顯示當前的坐標和功能模式。經過功能測試表明本系統的硬件穩定,功能完善,采用C 語言編程實現了點亮、劃亮、反顯、整屏擦除、筆畫擦除、連寫多字、對象拖移、顯示屏亮度的自動調節以及超時自動關屏等基本功能和發揮功能,還實現了"畫圓"和"填充"創新功能。本系統以低廉的成本和邏輯性極強的程序實現LED 顯示屏的"手寫"功能,其功能還有很強的可擴展性,具有廣泛的應用前景。 |