基于单片机LED显示屏系统程序

  • 格式:txt
  • 大小:6.77 KB
  • 文档页数:3

/*******************************************************************************列扫描 行低电平选中 行共阴 列高电平输出点亮上行下列
*******************************************************************************/
#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();
}

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

相关主题