串行FLASH存儲(chǔ)器在小型LED顯示系統(tǒng)中的應(yīng)用系統(tǒng)分析
源程序1和源程序2均為用C51編寫的顯示一屏完整數(shù)據(jù)的顯示函數(shù)。不同之處在于源程序1的SPI讀寫為一個(gè)單獨(dú)的函數(shù),而源程序2為了進(jìn)一步提高數(shù)據(jù)讀取的速度將顯示時(shí)的讀顯示數(shù)據(jù)變成了一個(gè)循環(huán)體。由于SST25VF016B串行大容量FLASH在給定讀地址后可連續(xù)的讀,其讀地址會(huì)自動(dòng)加1,所以按圖2(b)所示的數(shù)據(jù)組織形式為一屏顯示數(shù)據(jù)在SST25VF016B中連續(xù)存放,編程時(shí)連續(xù)讀一行數(shù)據(jù)后再改變掃描行直到16行全部顯示完成。編程的指導(dǎo)思想是盡量減少SPI接口的無效等待時(shí)間,因此在源程序2第19行將讀取的顯示數(shù)據(jù)送P2口后第29行立刻啟動(dòng)下一次SPI讀,而將SCK脈沖的發(fā)送指令放在SPI讀數(shù)據(jù)期間,然后再來判斷SPI讀數(shù)據(jù)是否完成。源程序2第10行啟動(dòng)SPI讀是為一屏顯示最開始預(yù)讀第1行第1個(gè)數(shù)據(jù)(與第11行至第24行的循環(huán)體配合)。為避免出現(xiàn)顯示拖尾在第25至第29行換行時(shí)關(guān)閉顯示。實(shí)驗(yàn)結(jié)果表明:源程序1每幀的顯示時(shí)間在24 MHz晶振的條件下達(dá)到25 ms,即40幀/s,而源程序2在同樣晶振條件每幀的顯示時(shí)間為14 ms,即70幀/s,源程序2的執(zhí)行速度遠(yuǎn)高于源程序1。
本文引用地址:http://www.ex-cimer.com/article/168235.htm
為了便于控制,所以要求顯示程序與LED屏的硬件結(jié)構(gòu)無關(guān),通過自定義8字節(jié)顯示指令條[命令(1個(gè)字節(jié))+參數(shù)表(7個(gè)字節(jié))],將各種不同顯示效果所需的參數(shù)(如:LED顯示屏的硬件信息、起始地址、結(jié)束地址、每行長(zhǎng)度、顯示時(shí)間等)指定存放在指令參數(shù)表中。顯示指令表存放在顯示數(shù)據(jù)的最前面,而指令表的長(zhǎng)度亦用指令的方式加以描述,底層單片機(jī)運(yùn)行時(shí)根據(jù)顯示指令可實(shí)現(xiàn)不同的顯示效果,如:畫面的切換、定時(shí)、水平移動(dòng)、垂直移動(dòng)以及特殊顯示效果。
4 控制系統(tǒng)單片機(jī)的選型及PC機(jī)軟件編程
單片機(jī)的運(yùn)行速度直接決定了顯示速度的快慢,而單片機(jī)的運(yùn)行速度又與單片機(jī)的時(shí)鐘、(晶振)頻率和單片機(jī)的結(jié)構(gòu)有關(guān),在時(shí)鐘頻率確定的情況下,單片機(jī)的硬件結(jié)構(gòu)直接決定單片機(jī)的運(yùn)行速度。目前主流單片機(jī)主要采用以下兩種方式:
(1)倍頻方式,通過硬件重新設(shè)計(jì)將標(biāo)準(zhǔn)51單片機(jī)一個(gè)機(jī)器周期12T改為6T、4T甚至1T;
(2)利用硬件提高某些指令,如:MOVX指令的運(yùn)行速度,采用雙DPTR模式,甚至在執(zhí)行MOVX指令后DPTR可自動(dòng)加減1。
本文中使用的STC單片機(jī)號(hào)稱為1T單片機(jī),并非所有指令均為1T,但幾乎所有指令都在標(biāo)準(zhǔn)單片機(jī)指令運(yùn)行速度上大幅度提高。其速度綜合約為標(biāo)準(zhǔn)51單片機(jī)的8倍,可以滿足顯示控制系統(tǒng)對(duì)單片機(jī)運(yùn)行速度的要求。
PC機(jī)軟件編程采用VB編程,該程序可完成各種字體、字型點(diǎn)陣的提取、顯示數(shù)據(jù)的組織、顯示效果的模擬演示、顯示信息的管理等功能。底層單片機(jī)運(yùn)行時(shí)根據(jù)顯示指令可實(shí)現(xiàn)不同的顯示效果,如:畫面的切換、定時(shí)、水平移動(dòng)、垂直移動(dòng)以及其他特殊顯示效果。
5 結(jié) 語(yǔ)
本控制系統(tǒng)通過大量的實(shí)驗(yàn)檢驗(yàn)是非??煽康模迷摽刂葡到y(tǒng)制作的小型LED顯示屏與一般用51單片機(jī)為控制核心的LED顯示控制系統(tǒng)相比,屏幕的刷新速度大幅度提高,在研制運(yùn)行過程中也對(duì)該控制系統(tǒng)做了多方面的改進(jìn)。如為了進(jìn)一步提顯示速度可對(duì)編譯后的程序做匯編級(jí)的優(yōu)化,利用有些51單片機(jī)如DS89C450具有DPTR自動(dòng)加1的功能,外加用CPLD制成的硬件地址發(fā)生器等。但所有改進(jìn)的措施都是以增加外部輔助電路或成本為代價(jià)的。本控制系統(tǒng)的價(jià)格按市價(jià)不超過50元,因此其在小型LED顯示控制系統(tǒng)中有著廣泛的應(yīng)用前景。
評(píng)論