这个屏怎么说明比较清楚有点晕。
实际这个屏是这样
16X64屏应该是上面8个模块+下面8个模块=16X64屏,一般屏上面8个模块和下面8个模块的列是并连的,只要一片595就可以控制了,我这个屏区别在于上面一个8X8模块用一片595,下面8X8模块也用一片595,这样595的数量比一般的屏多一倍,而且上下595的数据线是分开的,所以要显示16X16的文字必须上下595的数据线都要输入信号。
现在这个程序因为只有一个数据线输入,所以只显示一半,我把二个数据线连接在一起,所以显示上下一样了。
完整程序
#include <AT89x52.H>
//#include <regx52.h>
#define uchar unsigned char
#define uint unsigned int
#define SPEED 1 //定义速度12M
#define light 3 //定义亮度
uchar col,disrow; //col为位移变量,disrow为行变量
uint word;
uchar code tab[]=
{0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f};/*16行段码*/
//{0x0f,0x09,0x05,0x02,0x08,0x04,0x00,0x0c,0x03,0x0b,0x07,0x0d,0x01,0x0e,0x0a,0x06};
uchar code HZ[];
uchar BUFF[10];//4字是10,8字是18
void loadoneline(void);
void sendoneline(void);
/*******根据列指针,由双字节合并为单字节的子程序模块12MHZ************/
uchar two_onebyte(uchar h1,uchar h2)
{
uchar temp,tempcol;
if(col<8) tempcol=col;
else tempcol=col-8;
temp=(h1<<tempcol)|(h2>>(8-tempcol));
//temp=255-temp;
return temp;
}
/****************************主函数***************************/
void main(void)
{
uchar i;
col=0;word=0;
while(1)
{
while(col<16)// 循环16次,点亮并移动一个汉字
{
for(i=0;i<SPEED;i++)//汉字在屏幕上的停留时间(即移动速度快慢)
{
for(disrow=0;disrow<16;disrow++)//扫描16行
{
loadoneline();//装载一线点阵数据
sendoneline();//发送一线点阵数据
P1_4=1;//消影。
P1_7= 1; // 点亮屏幕
P1=tab[disrow];
P3_1=1; //(CLK=P3_1)上升沿595输出
}
}
col++; //列指针递增
}
col=0;word=word+32;// 一个汉字移动后,指向下一个汉字
if(word>=1024)word=0;// 移动28个汉字后,重新开始
}
}
/**************装载一线点阵数据****************/
void loadoneline(void)
{
uchar s;
for(s=0;s<5;s++) //s为要显示的数字+1,4字是for(s=0;s<5;s++) ,8字是for(s=0;s<9;s++)
{
BUFF[2*s]=HZ[word+32*s+2*disrow];
BUFF[2*s+1]=HZ[word+1+32*s+2*disrow];
}
}
/***************发送一线点阵数据*******************/
void sendoneline(void)
{
char s;uchar inc;
if(col<8)inc=0;else inc=1;
for(s=9+inc;s>=0+inc;s--)//4字是for(s=9+inc;s>=0+inc;s--),8字是for(s=17+inc;s>=0+inc;s--)
{
SBUF=two_onebyte(BUFF,BUFF[s+1]);
while(!TI);TI=0;
}
}
/***********************汉字点阵码阴逐行顺上下*************************/
uchar code HZ[]=
{
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,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,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,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,
//=============================================================================
0x40,0x08,0x40,0x14,0x40,0x04,0x48,0x24,0x4F,0xE4,0x48,0x24,0x48,0x24,0x48,0x24,
0x4F,0xE4,0x40,0x04,0x40,0x04,0x5F,0xF4,0x40,0x04,0x40,0x04,0x7F,0xFC,0x00,0x00,/*"同",0*/
0x28,0x10,0x24,0x10,0x22,0x10,0x22,0x10,0x21,0x10,0xE1,0x10,0x21,0x10,0x11,0x10,
0x16,0x0E,0x51,0xB0,0x48,0x40,0x88,0xA0,0x01,0x10,0x27,0xFE,0x20,0x40,0x40,0x80,/*"济",1*/
0x00,0x10,0x14,0x28,0x12,0x04,0x11,0x04,0x10,0x84,0xD4,0x44,0x32,0x24,0x19,0x24,
0x14,0x94,0x94,0x94,0x52,0x54,0x7D,0x54,0x51,0xFC,0x50,0x80,0x10,0x80,0x10,0x80,/*"物",2*/
0x00,0x00,0x00,0x00,0xFF,0xFE,0x04,0x44,0x04,0x40,0x04,0x40,0x14,0x60,0x1C,0x50,
0x14,0x50,0x24,0x48,0x24,0x4C,0x44,0x46,0x04,0x44,0x04,0x40,0x04,0x40,0x04,0x40,/*"业",3*/
0x88,0x10,0x44,0x18,0x42,0x30,0x21,0x40,0x24,0x90,0x24,0x90,0x24,0x90,0x24,0x90,
0x24,0x10,0x27,0xF0,0x21,0x00,0x20,0x80,0x2F,0xF8,0x20,0x80,0x3F,0x80,0x00,0x7C,/*"质",4*/
0x00,0x00,0xFF,0xFE,0x01,0x00,0x1F,0xF8,0x01,0x00,0x1F,0xF0,0x11,0x10,0x1F,0xF0,
0x11,0x10,0xFF,0xFE,0x00,0x00,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,/*"量",5*/
0x00,0x00,0xC0,0x60,0x20,0x90,0x10,0x10,0x08,0x10,0x08,0x10,0x04,0x10,0x04,0x10,
0x02,0x10,0x03,0xF0,0x02,0x00,0x02,0x00,0xFF,0xFE,0x00,0x80,0x01,0x00,0x02,0x00,/*"方",6*/
0x00,0x20,0x10,0x20,0x18,0x20,0x14,0x20,0x12,0x20,0x10,0x20,0x10,0x20,0xFE,0x20,
0x10,0x20,0x91,0xFE,0x7C,0x20,0x40,0x20,0x3E,0x20,0x20,0x20,0x10,0x20,0x10,0x20,/*"针",7*/
0x00,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*":",8*/
0x04,0x00,0x82,0x0E,0x41,0x12,0x44,0x92,0x26,0x92,0x24,0x50,0x28,0x50,0x11,0x24,
0xFF,0x24,0x11,0x24,0x11,0x24,0x11,0x24,0x7D,0x24,0x11,0x04,0x11,0xFC,0x10,0x00,/*"规",9*/
0x20,0x00,0x20,0xFC,0x21,0x04,0x21,0x04,0xE1,0x00,0x11,0x10,0x09,0x38,0x49,0x08,
0x61,0x08,0x91,0x08,0x31,0xF8,0x40,0x00,0x04,0x60,0xFF,0xFE,0x04,0x20,0x04,0x20,/*"范",10*/
0x00,0x00,0x88,0x84,0x54,0xCE,0x44,0xA8,0x24,0x90,0x24,0xA8,0x24,0xA8,0x24,0xC4,
0x3C,0xC4,0x24,0xFC,0x24,0x80,0x3C,0x88,0x24,0x94,0x24,0x84,0x24,0x84,0x3C,0xFC,/*"服",11*/
0xC0,0x20,0x30,0x50,0x08,0x10,0x04,0x10,0x02,0x10,0x02,0x10,0x1F,0xF0,0x61,0x04,
0x19,0x1E,0x06,0x60,0x81,0x80,0x62,0x40,0x14,0x20,0x0C,0x10,0x07,0xF0,0x04,0x00,/*"务",12*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",13*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",14*/
0x08,0x20,0x08,0x70,0x08,0x90,0x08,0x10,0x0F,0xF0,0x08,0x10,0x88,0x10,0x4F,0xF0,
0x28,0x10,0x18,0x10,0x0F,0xF0,0x04,0x00,0x02,0x00,0x7F,0xFE,0x01,0x00,0x01,0x00,/*"有",15*/
0x00,0x80,0x01,0x40,0x00,0x40,0x00,0x40,0x00,0x40,0x88,0x40,0xF8,0x40,0x8F,0xFE,
0x88,0x40,0x89,0x50,0x89,0x48,0x8A,0x4C,0x88,0x48,0xFF,0xC0,0x00,0x3C,0x00,0x00,/*"呼",16*/
0x00,0x00,0xC0,0x00,0x2F,0xF8,0x18,0x08,0x0C,0x08,0x4A,0x04,0x49,0x06,0x28,0x84,
0x28,0x48,0x28,0x50,0x08,0x20,0x0C,0x20,0x01,0x10,0x01,0x98,0x02,0x10,0x04,0x00,/*"必",17*/
0x00,0x00,0x80,0x00,0x5F,0xFE,0x40,0x40,0x44,0x20,0x26,0x20,0x24,0x90,0x24,0x90,
0x28,0xC8,0x30,0x8C,0x21,0x08,0x22,0x00,0x20,0x00,0x3F,0xFC,0x00,0x80,0x01,0x00,/*"应",18*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",19*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",20*/
0x00,0x00,0x80,0x02,0x40,0x06,0x28,0x26,0x24,0x2A,0x12,0x6A,0x11,0x48,0x10,0x88,
0x10,0x88,0x11,0x48,0x12,0x48,0x14,0x68,0x10,0x48,0x10,0x08,0x1F,0xF8,0x00,0x00,/*"风",21*/
0x11,0x08,0x11,0xF8,0x11,0x08,0x11,0x08,0x11,0x08,0x11,0x08,0x91,0xF8,0x57,0x06,
0x54,0xD8,0x38,0x20,0x34,0x50,0x12,0x90,0xFD,0x08,0x11,0xF8,0x10,0x80,0x10,0x80,/*"格",22*/
0x02,0x00,0x45,0x08,0x21,0x0C,0x19,0x18,0x11,0x20,0x01,0x00,0x3F,0xFC,0x01,0x00,
0x01,0x00,0x7F,0xFE,0x04,0x40,0x04,0x30,0x08,0x20,0x3F,0xFC,0x01,0x00,0x02,0x00,/*"亲",23*/
0x08,0x00,0x08,0x00,0x08,0x44,0x88,0x7C,0x4A,0x44,0x2B,0x44,0x2A,0x44,0x1C,0x44,
0x18,0x44,0x08,0x44,0x7F,0x44,0x08,0x44,0x08,0x7C,0x78,0x00,0x07,0x00,0x00,0x00,/*"和",24*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",25*/
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",26*/
0x08,0x10,0x24,0x10,0x32,0x10,0x2A,0x10,0x21,0x10,0x21,0x10,0x21,0x10,0x2F,0xFE,
0x21,0x10,0xE1,0x10,0x01,0x10,0x07,0xFC,0x21,0x10,0x31,0x10,0x21,0x10,0x41,0x10,/*"讲",27*/
0x00,0x00,0x20,0x3E,0x10,0x42,0x08,0x42,0x04,0x42,0x04,0x40,0x02,0x40,0x02,0x40,
0x1F,0xC0,0x42,0x08,0x22,0x10,0x12,0x20,0x40,0x04,0x7F,0xFE,0x01,0x00,0x02,0x00,/*"究",28*/
0x10,0x00,0x09,0x02,0x2A,0xC6,0x34,0xAA,0x2C,0x92,0x24,0x98,0x24,0x94,0x24,0x94,
0x27,0xA6,0x24,0x24,0xE4,0x20,0x04,0x20,0x0F,0xFE,0x20,0x24,0x30,0x28,0x40,0x20,/*"诚",29*/
0x00,0x00,0x12,0x08,0x13,0xF8,0x12,0x08,0x12,0x08,0x12,0x08,0x13,0xF8,0x10,0x00,
0x93,0xF8,0x50,0x00,0x33,0xF8,0x30,0x00,0x17,0xFE,0x18,0x40,0x0C,0x60,0x08,0x80,/*"信",30*/
//============================================================================
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,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,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,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,
}; |