基于51單片機(jī)IAP技術(shù)的LED顯示屏控制系統(tǒng)
根據(jù)上述編程步驟,可以很容易編出顯示第i行的子程序1。子程序1的第3行至第9行為循環(huán)體,送1字節(jié)的顯示數(shù)據(jù)共需10個(gè)機(jī)器周期,機(jī)器碼的字節(jié)數(shù)為11。通過分析74HC595的SCK為上升沿有效,可用單片機(jī)的寫信號(WR)來代替,故子程序1中的第5、6、7行3條指令可用“MOVX@R0,A”一條指令來替換,實(shí)驗(yàn)表明這樣的替換是可靠的。顯示第i行的子程序2為替換后的程序,送1字節(jié)的顯示數(shù)據(jù)所需機(jī)器周期減為9,機(jī)器碼的字節(jié)數(shù)減為6。再對顯示第i行的子程序2仔細(xì)分析后發(fā)現(xiàn),在僅使用SST89E516內(nèi)部64 KB的Flash存儲器作為顯示數(shù)據(jù)存儲且不增加輔助電路的前提下,只有子程序2第7行“DJNZ R0,DP1”這條2個(gè)機(jī)器周期2字節(jié)指令,可以利用SST89E516內(nèi)部64 KB的Flash存儲器大的特點(diǎn),直接簡單的重復(fù)256次子程序2中第3、4、5、6行4條單字節(jié)指令,從而可以縮短2個(gè)機(jī)器周期的時(shí)間。這樣送1字節(jié)的機(jī)器周期可以減少為7,但程序需要增加1 KB。對64 KB的Flash存儲器來說,程序增加1KB減少不了多少顯示數(shù)據(jù)。與子程序1相比,子程序3速度提高了30%。在圖2所示12 MHz晶振并利用SST89E516的倍速功能,其1個(gè)機(jī)器周期為0.5μs,在忽略其他數(shù)據(jù)處理時(shí)間的前提下,顯示1屏完整數(shù)據(jù)所需時(shí)間近似為:(7×0.5 μs×256列×16行)=14.336 ms(每秒近70幀)。實(shí)驗(yàn)表明:人眼對LED顯示屏開始感覺到閃爍大約為每秒55幀,即每幀時(shí)間18 mS。從圖2、圖1(c)和3個(gè)子程序可以看出,一幀顯示數(shù)據(jù)在內(nèi)存中的排列有以下幾個(gè)特點(diǎn):①按掃描行掃描的先后順序依次排列;②在每一行按數(shù)據(jù)輸出的先后順序依次排列;③通過硬件和軟件的優(yōu)化使每個(gè)顯示數(shù)據(jù)輸出的時(shí)間最短。
led顯示器相關(guān)文章:led顯示器原理
評論