本帖最后由 heicad 于 2014-6-17 16:11 編輯
口/管腳 | | | | | | | | | 7/A | | | | | | | | | 6/B | | | | | | | | | 5/C | | | | | | | | | 4/D | | | | | | | | | 3/E | | | | | | | | | 2/F | | | | | | | | | 1/G | | | | | | | | | 0/DP | | | | | | | | |
| | | | | | | | |
001imvqdzy6JAdzv7T88e&690.jpeg (25.74 KB, 下載次數: 79)
下載附件
2014-6-17 16:08 上傳
001imvqdzy6JAdAFmPObc&690.jpeg (75.92 KB, 下載次數: 71)
下載附件
2014-6-17 16:08 上傳
注意:高7位→低0位,1→1H
l P0口、P3口是字符碼、P2口是顯示位控制碼。
l 同是共陰極或共陽極用同樣的字符代碼,若一陰一陽則需要代碼反轉—用CPL指令。
l 顯示位控制碼用MOV P2,88H顯示最右側(個位)位,用MOV P2,11H顯示最左側(千位)位。由此可見其它顯示代碼的表達。CA—Yang,CC—Yin
l 綜合顯示可以匹配12H或21H等交叉進行。
點陣顯示技術與程序特點,點陣的顯示測試(各口控制電位)、編碼技術(4-1對位)、顯示技術(延時)、各口8位掃描字形的2進制與16進制轉換與表征,使用數組描述,掃描,數組中的16進制
//點陣掃描數字0移動
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar code SaoMiaoG[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
uchar code SaoMiaoD[]={0xFF,0xC3,0xBD,0xBD,0xC3,0xFF,0xFF,0xFF,
0xC3,0xBD,0xBD,0xC3,0xFF,0xFF,0xFF,0xFF,
0xBD,0xBD,0xC3,0xFF,0xFF,0xFF,0xFF,0xC3,
0xBD,0xC3,0xFF,0xFF,0xFF,0xFF,0xC3,0xBD,
0xC3,0xFF,0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,
0xFF,0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xC3,
0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xC3,0xFF,
0xFF,0xC3,0xBD,0xBD,0xC3,0xFF,0xFF,0xFF};
void DelayMS(uint x); //聲明后可使得函數在任意之處,否則函數需要在調用之前
uint i,j;
void main()//顯示數字0主程序
proteus{
loop:
i=0,j=0;//
loop1:
P2=~SaoMiaoG[i ];
i++;
P1=~SaoMiaoD[j];
j++;
DelayMS(10);
if(i<64)
goto loop1 ;
else
goto loop ;
}
void DelayMS(uint x)
{
uchar t;
while(x--)
{
for (t=0;t<120;t++);
}
}
|