参考网上的16*16改的,不过有点问题,不知为什么当显示完所有字符后,后面就有一片乱码,请高手指教!!
估计由于protues的刷新率不够,显示的效果非常不好。应该不是程序问题吧。
(原文件名:图.jpg)
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit RCK=P3^2;
sbit E1=P3^3;
uchar code disp[32*16]=
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xC0,0x03,0xE0,0x0F,0xF0,0x1F,0x38,0x18,0x18,0x30,0x08,0x20,0x08,0x20,
0x08,0x20,0x08,0x20,0x08,0x20,0x18,0x30,0x70,0x1C,0xF0,0x1F,0xE0,0x0F,0x80,0x03,//O
0x00,0x00,0x08,0x00,0xF8,0x0F,0xF8,0x1F,0xF8,0x3F,0x08,0x30,0x00,0x20,0x00,0x20,
0x00,0x20,0x00,0x20,0x00,0x20,0x08,0x30,0x08,0x10,0xF8,0x0F,0x08,0x00,0x00,0x00,//U
0x00,0x00,0x00,0x20,0x08,0x20,0xF8,0x3F,0xF8,0x3F,0xF8,0x3F,0x08,0x21,0x08,0x01,
0x08,0x03,0x88,0x07,0x88,0x0F,0x98,0x1C,0xF8,0x38,0x70,0x30,0x20,0x20,0x00,0x20,//R
0x00,0x00,0x08,0x20,0x08,0x20,0xF8,0x3F,0xF8,0x3F,0x08,0x20,0x08,0x20,0x08,0x20,
0x08,0x20,0x08,0x20,0x18,0x30,0x18,0x10,0xF0,0x1F,0xF0,0x0F,0xE0,0x07,0x00,0x01,//D
0x00,0x00,0x08,0x20,0x08,0x20,0xF8,0x3F,0xF8,0x3F,0xF8,0x3F,0x88,0x21,0x88,0x21,
0x88,0x21,0x88,0x21,0x88,0x21,0xC8,0x23,0x18,0x20,0x18,0x30,0x30,0x18,0x00,0x00,//E
0x00,0x00,0x08,0x00,0x08,0x00,0x38,0x00,0xF8,0x01,0xE8,0x07,0x80,0x1F,0x00,0x3E,
0x00,0x38,0x00,0x0E,0x80,0x03,0xE8,0x00,0x38,0x00,0x18,0x00,0x08,0x00,0x00,0x00,//V
0x20,0x00,0x24,0x08,0x24,0x48,0x24,0x84,0xFE,0x7F,0x23,0x02,0x22,0x21,0x20,0x10,
0xFF,0x09,0x20,0x06,0x22,0x1A,0xAC,0x61,0x20,0x80,0x30,0xE0,0x20,0x00,0x00,0x00,//我
0x40,0x00,0x20,0x00,0xF8,0xFF,0x07,0x00,0x00,0x00,0xF8,0xFF,0x02,0x00,0x04,0x00,
0x08,0x00,0x04,0x00,0x04,0x00,0x04,0x40,0x04,0x80,0xFE,0x7F,0x04,0x00,0x00,0x00,//们
0x00,0x00,0xF8,0x7F,0x0C,0x21,0x0B,0x21,0x08,0x21,0x08,0x21,0xFC,0x7F,0x28,0x00,
0x90,0x00,0x0F,0x01,0x08,0x43,0x08,0x80,0x08,0x40,0xFC,0x3F,0x08,0x00,0x00,0x00,//的
0x00,0x00,0xF8,0x07,0x48,0x02,0x48,0x02,0x48,0x02,0x48,0x02,0xFF,0x3F,0x48,0x42,
0x48,0x42,0x48,0x42,0x48,0x42,0xFC,0x47,0x08,0x40,0x00,0x70,0x00,0x00,0x00,0x00,//电
0x80,0x00,0x80,0x00,0x82,0x00,0x82,0x00,0x82,0x00,0x82,0x40,0x82,0x80,0xE2,0x7F,
0xA2,0x00,0x92,0x00,0x8A,0x00,0x86,0x00,0x80,0x00,0xC0,0x00,0x80,0x00,0x00,0x00,//子
0x80,0x00,0x82,0x80,0x82,0x40,0x82,0x30,0xFE,0x0F,0x82,0x00,0x82,0x00,0x82,0x00,
0x82,0x00,0x82,0x00,0xFE,0xFF,0x82,0x00,0x83,0x00,0xC2,0x00,0x80,0x00,0x00,0x00,//开
0x00,0x40,0x10,0x20,0x18,0x90,0x16,0x88,0x10,0x46,0x90,0x41,0xF0,0x23,0x9F,0x14,
0x90,0x08,0x90,0x14,0x92,0x22,0x94,0x21,0x10,0x40,0x18,0xC0,0x10,0x40,0x00,0x00,//发
0x40,0x00,0x42,0x00,0x44,0x00,0xCC,0x7F,0x00,0x20,0x40,0x10,0x20,0x00,0x90,0x3F,
0x0C,0x44,0x03,0x44,0x0C,0x42,0x10,0x43,0x20,0x40,0x60,0x70,0x20,0x00,0x00,0x00,//论
0x20,0x10,0x20,0x30,0x20,0x10,0xFF,0x1F,0x20,0x08,0x60,0x08,0x44,0x20,0x44,0x38,
0x44,0x26,0xC4,0x21,0x44,0x20,0x44,0x24,0x46,0x28,0x64,0x70,0x40,0x00,0x00,0x00//坛
} ;
uchar i=0;
uchar aa=0;
void delayms(uint t)
{
uchar j;
for(;t>0;t--)
for(j=0;j<125;j++)
{}
}
void main()
{
uint base=0;
uchar tmp=0; //临时变量
uint rows=sizeof(disp);
uchar col=0; //列选线
SCON=0x00;
P1=0x1f; //列
E1=0;
/*
RCK=0;
SBUF=0x02;
while(TI==0);
TI=0;
SBUF=0x00;
while(TI==0);
TI=0;
RCK=1;
*/
while(1)
{
for(base=0;base<rows;base=base+2)
{
for(i=0;i<128;i++)
{
if(i<16)
P2=0x00;
else if(i<32)
P2=0x01;
else if(i<48)
P2=0x02;
else if(i<64)
P2=0x03;
else if(i<80)
P2=0x04;
else if(i<96)
P2=0x05;
else if(i<112)
P2=0x06;
else if(i<128)
P2=0x07;
P1=i;
aa=2*i;
RCK=0;
SBUF=disp[base+aa];
while(TI==0);
TI=0;
SBUF=disp[base+aa+1];
while(TI==0);
TI=0;
RCK=1;
delayms(3);
/* RCK=0;
SBUF=0x00;
while(TI==0);
TI=0;
SBUF=0x00;
while(TI==0);
TI=0;
RCK=1; */
} //for(i=0;i<32;i++)
}//for(base=0;base<rows;base=base+2)
} //end while(1)
}
(原文件名:16-128.jpg)
点击此处下载 ourdev_553300.rar(文件大小:29K) (原文件名:protues仿真16-128.rar)
Keil文件ourdev_553301.rar(文件大小:13K) (原文件名:16-128.rar) |