|
hotpower 發(fā)表于 8/14/2003 3:19:18 AM |
有些LED條屏廠家在漢字點陣庫方面采用拿來主義。
一般不分析出現(xiàn)“花屏”的根本原因。
現(xiàn)以以16*16點陣為例,說明出現(xiàn)“花屏”的根本原因所在:
16*16點陣在存儲排列中,是以“左右”排列的,每個
漢字占32個字節(jié)。
即:
00000H 第01行左半部 00001H 第01行右半部
00002H 第02行左半部 00003H 第02行右半部
..........................................
0000CH 第07行左半部 0000DH 第07行右半部
0000EH 第08行左半部 0000FH 第08行右半部
00010H 第09行左半部 00011H 第09行右半部
00012H 第10行左半部 00013H 第10行右半部
..........................................
0001CH 第15行左半部 0001DH 第15行右半部
0001EH 第16行左半部 0001FH 第16行右半部
而英文字符為16*8點陣,每個占16個字節(jié)。
由于全角與半角及漢字與英文的不同,就造成了存儲排列
的不同!
這樣做的最大缺點是英漢點陣混合存儲的困難!
在程序飛或指針錯時將造成“花屏”!!!
如果將點陣排列按以下方式排列,會。。。。。。
1——節(jié)約成本,不要外部RAM!!!
2——成倍加快顯示掃描速度!!!
3——英漢混合“天衣無縫”
4——直接在ROM中運行!!!
5——簡化算法和在顯示點陣中直接嵌入命令!!!
轉換:
00000H 第01行左半部 00010H 第01行右半部
00001H 第02行左半部 00011H 第02行右半部
..........................................
00006H 第07行左半部 00016H 第07行右半部
00007H 第08行左半部 00017H 第08行右半部
00008H 第09行左半部 00018H 第09行右半部
00009H 第10行左半部 00019H 第10行右半部
..........................................
0000EH 第15行左半部 0001EH 第15行右半部
0000FH 第16行左半部 0001FH 第16行右半部
漢字、英文、擴展命令存儲排列:
.........................
00000H 第01行漢字左半部
00001H 第02行漢字左半部
.........................
00006H 第07行漢字左半部
00007H 第08行漢字左半部
00008H 第09行漢字左半部
00009H 第10行漢字左半部
.........................
0000EH 第15行漢字左半部
0000FH 第16行漢字左半部
.........................
00010H 第01行漢字右半部
00011H 第02行漢字右半部
.........................
00016H 第07行漢字右半部
00017H 第08行漢字右半部
00018H 第09行漢字右半部
00019H 第10行漢字右半部
.........................
0001EH 第15行漢字右半部
0001FH 第16行漢字右半部
.........................
00020H 第01行英文及符號
.........................
0002FH 第16行英文及符號
.........................
00030H 第01行命令頭81H;注只要在點陣首字節(jié)中沒有的編碼(18,80...)
.........................
0003XH 第XX行命令控制字;如左移屏,中心拉幕.......
0003FH 第16行命令尾FFH;
|
|
|
|