*******************************************************************************/
#include #define uchar unsigned char #define uint  unsigned int uchar hang=0,lie=0,a=0,speed=0,speed1=10,s1num=0; uint b=0,c=0; sbit EN_154=P0^5; sbit SH_CP=P2^0; sbit DS=P2^1; sbit ST_CP=P2^2; sbit OE=P2^3; sbit s1=P1^4; //sbit s2=P1^5; sbit led2=P2^5; sbit led1=P2^4; sbit bull=P2^6; sbit s4=P3^2; sbit s5=P3^6; //void keyscan(); void send_data1(); /**************************自左向右滚屏***************************/ uchar code table[][32]={                         {0x00,0x00,0x00,0x08,0x00,0x08,0x00,0x18,0x20,0x78,0x20,0xF8,0x21,0xC8,0x3F,0x80,0x3F,0x00,0x3F,0x80,0x20,0xC8,0x20,0x68,0x00,0x18,0x00,0x08,0x00,0x08,0x00,0x00},// D         {0x04,0x10,0x04,0x21,0xfe,0x22,0x01,0x26,0x00,0xa0,0x00,0x10,0xff,0xf8,0x22,0x4f,0x22,0x48,0x22,0x49,0x3f,0xfa,0x22,0x48,0x22,0x48,0x22,0x48,0x22,0x48,0x00,0x00},//     {0x20,0x00,0x20,0x40,0x20,0x40,0x10,0x20,0x10,0x20,0x7f,0xff,0x00,0x00,0x00,0x00,0x3f,0xff,0x40,0x20,0x40,0x10,0x40,0x08,0x40,0x04,0x04,0x00,0x70,0x00,0x00,0x00},  //     {0x00,0x00,0x8f,0xfc,0x40,0x00,0x20,0x00,0x1f,0xff,0x00,0x00,0x00,0x02,0x3f,0xf2,0x00,0x12,0x00,0x12,0xff,0xfe,0x10,0x12,0x20,0x12,0x1f,0xf2,0x00,0x02,0x00,0x00},    // 师    {0x04,0x04,0x04,0x44,0xfd,0x94,0x04,0x24,0x02,0x4f,0x00,0x04,0x3f,0xe4,0x40,0x24,0x40,0x24,0x42,0x24,0x44,0x2f,0x43,0xe4,0x40,0x04,0x40,0x04,0x70,0x04,0x00,0x00},  //     {0x00,0x20,0x40,0x20,0x40,0x20,0x20,0x20,0x10,0x20,0x0C,0x20,0x03,0xA0,0x00,0x7F,0x01,0xA0,0x06,0x20,0x08,0x20,0x10,0x20,0x20,0x20,0x60,0x30,0x20,0x20,0x00,0x00}, // {0x04,0x40,0x04,0x30,0x04,0x11,0x04,0x96,0x04,0x90,0x44,0x90,0x84,0x91,0x7E,0x96,0x06,0x90,0x05,0x90,0x04,0x98,0x04,0x14,0x04,0x13,0x06,0x50,0x04,0x30,0x00,0x00},  // {0x10,0x04,0x08,0x34,0x06,0xc4,0x01,0x04,0x82,0xc4,0x8c,0x3c,0x40,0x20,0x30,0x10,0x0c,0x0f,0x03,0xe8,0x0c,0x08,0x10,0x08,0x20,0x28,0x40,0x18,0x80,0x00,0x80,0x00},   // 欢{0x00,0x40,0x40,0x42,0x20,0x44,0x1F,0xC8,0x20,0x00,0x47,0xFC,0x42,0x04,0x41,0x02,0x40,0x82,0x7F,0xFC,0x40,0x04,0x42,0x04,0x44,0x04,0x63,0xFE,0x20,0x04,0x00,0x00},// 迎{0x40,0x40,0x30,0x20,0x00,0x10,0x77,0xFC,0x80,0x23,0x81,0x10,0x88,0x8C,0x92,0x67,0xB4,0x04,0x83,0xF4,0x80,0x04,0xE0,0x44,0x00,0x94,0x11,0x8C,0x60,0x00,0x00,0x00} // 您 }; /**************************自右向左滚屏***************************/ uchar code table1[][32]={                        {0xFE,0xFF,0xF8,0x1F,0xF0,0x0F,0xE0,0x0F,0xEF,0xE7,0xCF,0xE7,0xDF,0xF7,0xDF,0xF7,0xDF,0xF7,0xDF,0xF7,0xDF,0xF7,0xC0,0x07,0xC0,0x07,0xDF,0xF7,0xDF,0xF7,0xFF,0xFF},//                                                                            Y {0xFF,0xFF,0xDF,0xF7,0xCD,0xB3,0xDC,0x97,0xDD,0xB7,0xC0,0x05,0xDD,0xB6,0xDD,0xB7,0xDD,0xB0,0x00,0x07,0xFF,0xEF,0xFF,0x5F,0xFE,0xF9,0x01,0x 9D,0xFB,0xDE,0xFB,0xEF},// {0xFF,0xFF,0x8F,0xFF,0xBF,0xFF,0xBF,0xF3,0xBF,0xF7,0xBF,0xEF,0xBF,0xDF,0xC0,0x00,0xFF,0xFF,0xFF,0xFF,0x80,0x00,0xEF,0xDF,0xEF,0xDF,0xDF,0xDF,0x9F,0xDF,0xDF,0xFF},// {0xFF,0xFF,0xFF,0xED,0xE0,0x04,0xDF,0xED,0xEF,0xED,0x00,0x01,0xFF,0xED,0xFF,0xED,0xC0,0x0D,0xFF,0xFD,0xFF,0xFF,0xF0,0x00,0xCF,0xFF,0xBF,0xFF,0x70,0x03,0xFF,0xFF},// {0xFF,0xFF,0x8F,0xFB,0xBF,0xF9,0xBF,0xDB,0xBC,0x0B,0xBB,0xD0,0xBD,0xDB,0xBF,0xDB,0xBF,0xDB,0xC0,0x1B,0xFF,0xFB,0xFD,0x90,0xFB,0xDB,0x02,0x6B,0xFB,0xBB,0xFB,0xFB},//     {0xFF,0xFF,0xDF,0xDF,0x9F,0xCF,0xDF,0xDF,0xEF,0xDF,0xF7,0xDF,0xF9,0xDF,0xFE,0x5F,0xFF,0x80,0xFC,0x5F,0xF3,0xDF,0xEF,0xDF,0xDF,0xDF,0xBF,0xDF,0xBF,0xDF,0xFF,0xDF},// {0xFF,0xFF,0xFB,0xCF,0xF9,0xAF,0xFB,0xEC,0xFB,0xEB,0xFB,0x67,0xFA,0x6F,0xF9,0x6F,0x81,0x69,0x7B,0x6E,0xBB,0x6F,0xFB,0x6F,0xFB,0x69,0xFB,0xEE,0xFB,0xCF,0xFB,0xBF},// {0xFF,0xFF,0xBF,0xFF,0x3F,0xE7,0x9F,0xD7,0xEF,0xF7,0xF3,0xF7,0xFC,0x17,0xF3,0xF0,0xCF,0xEF,0xBF,0xDF,0x73,0xC3,0x7D,0x3B,0xFE,0xFB,0xF9,0x3B,0xF7,0xCB,0xEF,0xFB},// 欢{0xff,0xff,0xdf,0xff,0xbc,0x03,0xbb,0xfb,0xbd,0xfb,0xbf,0xfb,0x80,0x03,0xbf,0x7d,0xbe,0xfd,0xbd,0xfb,0xb8,0x03,0xdf,0xff,0xe0,0x37,0xdf,0xbb,0xbf,0xfb,0xff,0xbf},// 迎 {0xff,0xff,0x9f,0xff,0xee,0xe3,0xff,0x6b,0x1f,0xbb,0x7f,0xfb,0x7c,0x0b,0x5b,0xfb,0x6d,0x98,0x77,0x73,0x7e,0xef,0x7f,0xdc,0x88,0x03,0xff,0xef,0xcf,0xdf,0xbf,0xbf},// 您  }; uchar coed  gate[]={0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7, 0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfe,0xff}; void delay(uint t) { uchar x,y; for(x=t;x>0;x--) for(y=110;y>0;y--); } void in_595(uchar dat) { uchar i;                   for(i=0;i<8;i++) { SH_CP=0; DS=dat&0x80; SH_CP=1;//上升沿读取数据下降沿数据不变 dat<<=1; } } void out_595() { ST_CP=0; ST_CP=1;//上升沿数据输出下降沿数据不变 } void send_data() { OE=1;//禁止数据输出 EN_154=1;//译码器禁止 in_595(table[hang][30-lie]);//送入高字节 in_595(table[hang][31-lie]);//送入低字节 out_595(); OE=0;//数据输出 P1=gate[15-a]; // EN_154=0; delay(10); EN_154=1; OE=1; } void send_data1() {  OE=1;//禁止数据输出 EN_154=1;//译码器禁止 in_595(table1[hang][30-lie]);//送入高字节 in_595(table1[hang][31-lie]);//送入低字节 out_595(); OE=0;//数据输出 P1=gate[a]; // EN_154=0; delay(10); EN_154=1; OE=1; } /******************滚动程序******************/ void wordmove() { for(b=0;b<320;b+=2) { for(speed=0;speed<13;speed++)//设置滚动速度 { for(a=0;a<16;a++)//一个字分辨率16x16,一帧显示一个字 { lie=(2*a+b)%32; hang=((2*a+b)/32)%10;//计算 坐标 send_data();  //发送数据 } } } } void wordmove1() {led2=0; for(b=0;b<320;b+=2) { for(speed=0;speed<13;speed++)//设置滚动速度 { for(a=0;a<16;a++)//一个字分辨率16x16,一帧显示一个字 { lie=(2*a+b)%32; hang=((2*a+b)/32)%10;//计算坐标 send_data1(); //发送数据    } } } } void main() { EA=1; EX0=1; EX1=1; while(1) { led1=0; wordmove(); led1=1; bull=0; delay(5000); bull=1; delay(5000); bull=0; delay(1000); } } /****************************外部中断0*********************/ void exter0() interrupt 0 { while(1) { bull=1; delay(1000); bull=0; led2=0; led1=1; wordmove1(); led2=1; } } void exter1() interrupt 1 { //led1=0; // wordmove(); } 下载本文