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