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