㈠ 單片機32*64點陣顯示兩排16*16的漢字的程序……
/*************************************
** Header:
** File Name: 16*16點陣滾動顯示漢字
** Author:
** Date:
*************************************/
#include <AT89X52.H>
unsigned char code digittab[]={
0x40,0x04,0x47,0xC2,0x44,0x41,0x44,0x42,0xFE,0x7C,0x40,0x00,0x01,0xF2,0x7D,0x22,
0x49,0x22,0x49,0x22,0x4F,0xFE,0x49,0x22,0x49,0x22,0xFD,0x26,0x41,0xF3,0x00,0x00 /* qiang---豎直向下從左到右 */
};
unsigned char code lie[]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
unsigned int timecount;
unsigned char cnta;
unsigned char cntb;
unsigned char k,i=0;
void main(void)
{
TMOD=0x01;
TH0=(65536-3000)/256;
TL0=(65536-3000)%6;
TR0=1;
ET0=1;
EA=1;
k=0;
while(1)
{;
}
}
void t0(void) interrupt 1 using 0
{
P0=0x00;
P2=0x00;
TH0=(65536-3000)/256;
TL0=(65536-3000)%6;
P1=lie[k];
k ;
if(k==16) k=0;
l ;
P0=digittab[i];/*此處和字模有關*/
i ;
P2=digittab[i];
i ;
if(i==32)
i=0 ;
}
㈡ 單片機匯編語言8乘8點陣從上到下顯示修改成從左到右顯示
對於點陣顯示來說,是從上到下顯示還是從左到右顯示,還得看待顯示的字元的點陣數據是如何排列的;
1)如採用從左到右從上到下的排列結構形式,那麼顯示方式就如
則行(PC口)輸出8位數據,而列(PA口)則僅輸出與要顯示行對應的位數據;
如果字元的點陣數據是第一種結構的,想要採用第二種顯示形式,就需要先把字元的點陣數據進行數據格式的轉換。