一乐电子百科 提示信息
附件文件无法保存到远程服务器,请与管理员联系。
/*四扫点阵屏左移*/
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
//A-P20,B-P21
sbit ST=P3^6; //数据锁存
sbit CLK=P3^5; //时钟信号
sbit OE=P3^4; //245使能,高电平有效
sbit DS=P3^7; //数据输入
uchar code table[]={
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",15*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",16*/
0x7F,0x7F,0x7F,0x03,0xFB,0xF7,0xBF,0xBF,0xBF,0x5F,0x5F,0xEF,0xEF,0xF7,0xFB,0xFD,/*"欢",0*/
0xFF,0xFF,0x03,0xFB,0xFA,0xB6,0xD5,0xEB,0xEF,0xD7,0xDB,0xBA,0x7E,0xFD,0xFB,0xF7,
0xFF,0x7F,0xC3,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0x4B,0xD7,0xDF,0xDF,0xDF,0x01,0xFF,/*"迎",1*/
0xFF,0xDF,0xEC,0xED,0xFD,0xFD,0x0D,0xED,0xED,0xED,0xEC,0xED,0xEF,0xD7,0xB8,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0x7F,0x7F,0xBF,0xBF,0xDF,0xEF,0xF7,0xF9,/*"大",2*/
0xFE,0xFE,0xFE,0xFE,0xFE,0x00,0xFE,0xFE,0xFD,0xFD,0xFB,0xFB,0xF7,0xEF,0xDF,0x3F,
0xFF,0xFF,0x01,0xFD,0xFB,0x03,0xFF,0xF7,0x6F,0x5F,0x3F,0x5F,0x67,0x79,0x7F,0xFF,/*"家",3*/
0xFD,0xFE,0x80,0xBF,0x7F,0x80,0xFD,0xF2,0x8E,0xFD,0xF3,0x8E,0xF9,0xE7,0x1D,0xFE,
0xFF,0xF7,0xF7,0xEF,0xDF,0xFF,0x01,0xBF,0xBF,0xBF,0xBF,0xBD,0xBD,0xBD,0xC1,0xFF,/*"光",4*/
0xFE,0xDE,0xEE,0xF6,0xF6,0xFE,0x00,0xFB,0xFB,0xFB,0xFB,0xF7,0xF7,0xEF,0xDF,0x3F,
0x7F,0x7F,0x7F,0x01,0xBF,0xDF,0xDF,0xFF,0x03,0xDB,0xDB,0xDB,0xDB,0x03,0xFB,0xFF,/*"临",5*/
0xF7,0xF7,0xF7,0xB6,0xB6,0xB5,0xB3,0xB7,0xB6,0xB6,0xB6,0xB6,0xB6,0xF6,0xF6,0xF7,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*"一",6*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xDF,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xDF,0xEF,0xF7,0xFB,0xFB,0xFF,0xFF,/*"乐",7*/
0xFF,0xFF,0xE0,0xEF,0xEE,0xDE,0xDE,0xC0,0xFE,0xF6,0xF6,0xEE,0xDE,0xBE,0xFA,0xFD,
0xBF,0xBF,0x5F,0x5F,0xEF,0xF7,0xF9,0xEF,0xDF,0xBF,0x7F,0xFF,0xFB,0xFB,0x03,0xFF,/*"论",8*/
0xFF,0xDF,0xEF,0xEF,0xFE,0xFD,0x0B,0xEE,0xEE,0xEE,0xEE,0xEE,0xEA,0xE6,0xEF,0xFF,
0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0x01,0xDF,0xDF,0xBF,0xBF,0x77,0xFB,0x01,0xFD,0xFF,/*"坛",9*/
0xEF,0xEF,0xEE,0xEF,0xEF,0x03,0xEC,0xEF,0xEF,0xEF,0xEF,0xE3,0x1E,0xBC,0xFE,0xFF,
0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0x0F,0xEF,0xEF,0xEF,0x0F,0xFF,0x77,0xBB,0xBB,0xFB,/*"点",10*/
0xFD,0xFD,0xFD,0xFC,0xFD,0xFD,0xC0,0xDF,0xDF,0xDF,0xC0,0xFF,0xDB,0xDD,0xBD,0x7F,
0xBF,0xBF,0xBF,0x01,0x7F,0x5F,0xDF,0x03,0xDF,0xDF,0xDF,0x01,0xDF,0xDF,0xDF,0xDF,/*"阵",11*/
0xFF,0x83,0xBB,0xB4,0xB7,0xAF,0xB6,0xB6,0xBB,0xBB,0xBB,0x94,0xAF,0xBF,0xBF,0xBF,
0xFF,0x07,0xF7,0xF7,0x07,0xEF,0xDF,0x07,0xDF,0xDF,0x03,0xDF,0xDF,0xDF,0xDF,0xDF,/*"屏",12*/
0xFF,0xC0,0xDF,0xDF,0xC0,0xDB,0xDD,0xD0,0xDD,0xDD,0xC0,0xDD,0xBD,0xBB,0x7B,0xF7,
0xFF,0xF7,0x77,0x6F,0xFF,0x01,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,/*"栏",13*/
0xEF,0xEE,0xEF,0xEF,0x03,0xEC,0xCF,0xC7,0xAB,0xAA,0x6F,0xEF,0xEF,0xEF,0xEC,0xEF,
0xFF,0x07,0xF7,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0xF7,0x07,0xF7,/*"目",14*/
0xFF,0xC0,0xDF,0xDF,0xDF,0xC0,0xDF,0xDF,0xDF,0xC0,0xDF,0xDF,0xDF,0xDF,0xC0,0xDF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",15*/
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,/*" ",16*/
};
void display(unsigned char x) //595显示
{
unsigned char i;
for(i=0;i<8;i++)
{
DS=x&0x80;
CLK=0;
_nop_();
_nop_();
CLK=1;
x <<= 1;
}
}
main()
{
uchar n,a,speed,m,d;
while(1)
{
for(a=0;a<17;a++) //控制字数【字数-2】
for(d=0;d<2;d++)
for(m=0;m<8;m++) //判断是否移过八点
for(speed=0;speed<8;speed++) //移动速度原来10
for(n=0;n<4;n++)
{
display(table[32*a+n+28] <<m | table[32*a+n+12] >>(8-m)); //装载前半屏数据
display(table[32*a+n+24] <<m | table[32*a+n+8] >>(8-m));
display(table[32*a+n+20] <<m | table[32*a+n+4] >>(8-m));
display(table[32*a+n+16] <<m | table[32*a+n] >>(8-m));
display(table[32*a+n+12] <<m | table[32*a+32+n+28]>>(8-m));
display(table[32*a+n+8] <<m | table[32*a+32+n+24]>>(8-m));
display(table[32*a+n+4] <<m | table[32*a+32+n+20]>>(8-m));
display(table[32*a+n] <<m | table[32*a+32+n+16]>>(8-m));
display(table[32*a+32+n+28]<<m | table[32*a+32+n+12]>>(8-m)); //装载后半屏数据
display(table[32*a+32+n+24]<<m | table[32*a+32+n+8] >>(8-m));
display(table[32*a+32+n+20]<<m | table[32*a+32+n+4] >>(8-m));
display(table[32*a+32+n+16]<<m | table[32*a+32+n] >>(8-m));
display(table[32*a+32+n+12]<<m | table[32*a+64+n+28]>>(8-m));
display(table[32*a+32+n+8] <<m | table[32*a+64+n+24]>>(8-m));
display(table[32*a+32+n+4] <<m | table[32*a+64+n+20]>>(8-m));
display(table[32*a+32+n] <<m | table[32*a+64+n+16]>>(8-m));
if(d==1)
{
display(table[32*a+64+n+28]<<m | table[32*a+64+n+12]>>(8-m)); //装载将要输入数据
display(table[32*a+64+n+24]<<m | table[32*a+64+n+8 ]>>(8-m));
display(table[32*a+64+n+20]<<m | table[32*a+64+n+4 ]>>(8-m));
display(table[32*a+64+n+16]<<m | table[32*a+64+n ]>>(8-m));
}
OE=1;
ST=0;
ST=1;
P2=n;
}
}
} |