點(diǎn)陣LED顯示屏程序設(shè)計(jì)
本文點(diǎn)陣LED顯示屏程序設(shè)計(jì)是通過設(shè)計(jì)一個(gè)可顯示文字與圖形的16*64點(diǎn)陣控制器電路來學(xué)習(xí)和熟悉LED的使用,LED點(diǎn)陣控制器分為五個(gè)模塊,系統(tǒng)框圖(如圖1),一是參數(shù)輸入部分,例如溫度、濕度、亮度等;二是字庫部分,如16點(diǎn)陣、24點(diǎn)陣或者32點(diǎn);三是單片機(jī)控制部份;四是接口部分(如圖2),一般采用08接口,如果需要不同的接口類型,可以根據(jù)08接口為基礎(chǔ)進(jìn)行轉(zhuǎn)接,這也是本系統(tǒng)采用08接口的原因之一;五是串口通訊部分(圖3),其中亮度、溫度、時(shí)鐘模塊由于時(shí)間的原因沒有完善,等待擴(kuò)展搜搜led。
點(diǎn)陣LED顯示屏程序的思路
根據(jù)點(diǎn)陣的顯示原理就可以編寫出顯示函數(shù)Sosoledcom,整個(gè)程序的設(shè)計(jì)分為串口通訊協(xié)議、掃描程序函數(shù)、效果處理函數(shù)。
2.1.1 串口通訊協(xié)議 #p:為顯示圖片 #c:為顯示漢字 #l:為顯示英文 #n:為顯示數(shù)字
所有的控制命令必須以回車結(jié)束,指令接收并解碼正確則返回“Receive OK” ,否則返回“error” 2.1.2 顯示處理效果函數(shù)
本系統(tǒng)只做了兩個(gè)顯示效果,一個(gè)是閃爍,一個(gè)是左移。閃爍相對簡單,先顯示延時(shí),清屏延時(shí),再顯示。左移則相對復(fù)雜,需要將顯示緩存的內(nèi)容全部左移一點(diǎn),左移的時(shí)候取前一個(gè)字節(jié)的低位等于后一個(gè)字節(jié)的低位,一屏移完一點(diǎn)后送顯示,再移一點(diǎn),這樣循環(huán)就可以實(shí)現(xiàn)了左移的效果。 2.1.3 顯示函數(shù)
這個(gè)函數(shù)是將顯示緩存的內(nèi)容送到顯示屏,做一個(gè)74HC595的驅(qū)動(dòng)即可,送完一行數(shù)據(jù)后點(diǎn)亮,再送下一行,這樣循環(huán)16次,就可以掃描完16行高的顯示屏。
2.2 程序流程圖