❶ 單片機16*64點陣
/*-- 文字: 揚 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x10,0x00,0x11,0xF8,0x10,0x10,0x10,0x20,0xFC,0x40,0x10,0x80,0x11,0xFE,0x14,0x92,
0x18,0x92,0x30,0x92,0xD1,0x12,0x11,0x22,0x12,0x22,0x14,0x42,0x50,0x94,0x21,0x08,
/*-- 文字: 州 --*/
/*-- 宋體12; 此字體下對應的點陣為:寬x高=16x16 --*/
0x10,0x04,0x10,0x84,0x10,0x84,0x10,0x84,0x10,0x84,0x54,0xA4,0x52,0x94,0x52,0x94,
0x90,0x84,0x10,0x84,0x10,0x84,0x10,0x84,0x20,0x84,0x20,0x84,0x40,0x04,0x80,0x04,
❷ 求51單片機驅動16X64點陣,行列用74HC595晶元驅動的程序
這是的,自己一改就好了
//74HC595練習程序
//串入並出實現16流水燈效果
//2009.12.28
#include"reg52.h"
sbit shcp=P2^0; //數據在上升沿進入移位寄存器
sbit date1=P2^1; //串列數據輸入端
sbit clock=P2^2; //上升沿時將數據輸出到並行埠
unsigned char tab[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
unsigned char tab1[]={0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
void delay(unsigned int delay)
{
unsigned char i;
for(;delay>0;delay--)
for(i=0;i<125;i++);
}
void send_data(unsigned char date) //發送數據
{
unsigned char i;
for(i=0;i<8;i++) //把每一位數據移入寄存器
{
shcp=0;
date=date<<1;
date1=CY;
shcp=1;
delay(20);
}
}
void main()
{
unsigned char k;
for(k=0;k<16;k++)
{
send_data(tab[k]);
send_data(tab1[k]);
{clock=0;clock=1;};
}
}
❸ 單片機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 ;
}