标题:
求16*16LED点阵循环滚动的程序
[打印本页]
作者:
我要做学霸
时间:
2017-1-11 09:49
标题:
求16*16LED点阵循环滚动的程序
求16*16LED点阵循环滚动的程序
作者:
angmall
时间:
2017-1-19 00:11
/*************************************************************/
/********************** 16*16 阵列LED显示实验 *******************/
/*************************************************************/
/************************* 作者:XHCH ************************/
/*************************************************************/
/******************* 修改日期:2015年5月1日 ******************/
/*************************************************************/
#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uint code Tab[][32] = {
{0x18,0x0C,0x18,0x0C,0x98,0x7F,0x18,0x0C,0x7F,0x0C,0x18,0x0C,0xDC,0xFF,0x3C,0x00,
0x7E,0x0C,0x7E,0x0C,0x9B,0x7F,0x18,0x0C,0x18,0x0C,0x18,0x0C,0xD8,0xFF,0x18,0x00},/*"桂",0*/
{0x18,0x0C,0x18,0x0C,0x18,0x0C,0x18,0x0C,0xFF,0xFF,0x18,0x0C,0x1C,0x1E,0x3C,0x1E,
0x7E,0x3F,0x1E,0x3F,0x9B,0x6D,0xD8,0xCC,0x78,0x0C,0x18,0x0C,0x18,0x0C,0x18,0x0C},/*"林",1*/
{0x80,0x01,0x80,0x01,0x80,0x01,0xFC,0x3F,0x8C,0x31,0x8C,0x31,0x8C,0x31,0xFC,0x3F,
0x8C,0x31,0x8C,0x31,0x8C,0x31,0xFC,0x3F,0x8C,0xF1,0x80,0xC1,0x80,0xC1,0x00,0xFF},/*"电",2*/
{0x00,0x00,0xFE,0x3F,0x00,0x18,0x00,0x0C,0x00,0x06,0x80,0x03,0x80,0x01,0xFF,0xFF,
0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xE0,0x01,0xC0,0x00},/*"子",3*/
{0x30,0x18,0xF8,0x19,0x1F,0x1B,0x18,0x1B,0x18,0x18,0xFF,0x19,0x18,0x1B,0x3C,0x1B,
0x7C,0x18,0x1E,0xF8,0xDE,0x1F,0x1B,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18},/*"科",4*/
{0x18,0x0C,0x18,0x0C,0x18,0x0C,0xD8,0xFF,0x7F,0x0C,0x18,0x0C,0x18,0x0C,0xF8,0x7F,
0x38,0x63,0x1C,0x33,0x1F,0x36,0x18,0x1E,0x18,0x0C,0x18,0x1E,0x9E,0x33,0xEC,0xE0},/*"技",5*/
{0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0xFF,0xFF,0x80,0x01,0x80,0x01,
0xC0,0x03,0xC0,0x03,0x60,0x06,0x60,0x06,0x30,0x0C,0x18,0x18,0x0C,0x30,0x07,0xE0},/*"大",6*/
{0xCC,0x30,0x98,0x31,0x98,0x19,0x00,0x0C,0xFE,0xFF,0x06,0xC0,0x03,0x60,0xF8,0x0F,
0x00,0x06,0x80,0x03,0xFF,0xFF,0x80,0x01,0x80,0x01,0x80,0x01,0xE0,0x01,0xC0,0x00},/*"学",7*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x7F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"—",8*/
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x7F,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"—",9*/
{0x00,0x06,0x3E,0x06,0x36,0x06,0xFE,0xFF,0x1E,0x03,0x8E,0x0D,0x9E,0x0D,0xF6,0x0C,
0xF6,0x7F,0x36,0x0C,0xBE,0x3D,0x9E,0x6D,0xC6,0xCC,0x66,0xCC,0x06,0x0F,0x06,0x06},/*"陈",10*/
{0x80,0x01,0xC0,0x03,0x60,0x06,0x30,0x0C,0x1C,0x38,0xF7,0xEF,0x00,0x00,0xFC,0x30,
0xCC,0x36,0xFC,0x36,0xCC,0x36,0xFC,0x36,0xCC,0x36,0xCC,0x30,0xFC,0x3C,0x6C,0x18},/*"俞",11*/
{0x80,0x01,0x80,0x01,0xC0,0x03,0x60,0x06,0x30,0x0C,0x18,0x18,0xFC,0x3F,0x87,0xE1,
0x80,0x01,0x80,0x01,0xF8,0x1F,0x80,0x01,0x80,0x01,0x80,0x01,0xFE,0x7F,0x00,0x00},/*"全",12*/
{0x60,0x60,0x6C,0x60,0x6C,0x60,0xFC,0x6F,0x66,0x6C,0x60,0x6C,0xFF,0x6F,0x60,0x6C,
0x60,0x6C,0xFC,0x6F,0x6C,0x6F,0x6C,0x6F,0xEC,0x63,0xEC,0x61,0x60,0x78,0x60,0x30},/*"制",13*/
{0xB0,0x01,0xB0,0x01,0xB0,0x01,0x98,0xFF,0xD8,0x03,0xDC,0x03,0x7C,0x03,0x1E,0x3F,
0x1B,0x03,0x18,0x03,0x18,0x03,0x18,0x7F,0x18,0x03,0x18,0x03,0x18,0x03,0x18,0x03},/*"作",14*/
};
void mDelay(uint Delay) //延时
{ uchar i;
for(;Delay > 0;Delay--)
for(i = 0;i < 110;i++);
}
void main() //主函数
{
uchar i,j,a,b;
uint k,p;
while(1)
{
for(i = 0;i < 14;i++) //显示15个字
{
P0=0;
P2=0;
for(p=0;p<16;p++) //每个字移动16次
{
for(k = 0;k < 20;k++) //每一个字扫描显示20次
{
a = 1;
b = 1;
for(j = 0;j < 16;j++) //扫描16行点阵
{
P1 = Tab[i][j*2+2*p]; //列数据传输
P3 = Tab[i][j*2+(p*2+1)];
if(j < 8) //前八行设置哪一行显示
{
P0 = P0|a; //当前显示的那一行置高
mDelay(1);
P0 = P0&0;
a *= 2;
}
else //后八行设置哪一行显示
{
P2 = P2|b; //当前显示的那一行置高
mDelay(1);
P2 = P2&0;
b *= 2;
}
}
}
}
}
}
}
复制代码
c程序.docx
2017-1-19 00:11 上传
点击文件名下载附件
44.87 KB, 下载次数: 13
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1