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