单色光立方4源程序.docx

上传人:b****4 文档编号:11949439 上传时间:2023-04-16 格式:DOCX 页数:65 大小:24.37KB
下载 相关 举报
单色光立方4源程序.docx_第1页
第1页 / 共65页
单色光立方4源程序.docx_第2页
第2页 / 共65页
单色光立方4源程序.docx_第3页
第3页 / 共65页
单色光立方4源程序.docx_第4页
第4页 / 共65页
单色光立方4源程序.docx_第5页
第5页 / 共65页
点击查看更多>>
下载资源
资源描述

单色光立方4源程序.docx

《单色光立方4源程序.docx》由会员分享,可在线阅读,更多相关《单色光立方4源程序.docx(65页珍藏版)》请在冰豆网上搜索。

单色光立方4源程序.docx

单色光立方4源程序

#include

#include

#defineuintunsignedint

#defineucharunsignedchar

unsignedintscale;//占空比控制变量

unsignedcharcodetabP0[38][8]={0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x00};

unsignedcharcodetabP2[]={0xFE,0xFD,0xFB,0xF7,0xEF,0xDF,0xBF,0x7F};//扫描

unsignedcharcodePWMsz[8]={0x00,0x60,0x60,0x00,0x00,0x60,0x60,0x00};//中间四个

/********************************************************************

*名称:

Delay_1ms()

*功能:

延时子程序,延时时间为1ms*x

*输入:

x(延时一毫秒的个数)

*输出:

***********************************************************************/

/************************************************************************/

//结束呼吸灯专用

ucharcodetable[]={

0,0,1,2,3,4,5,6,7,8,9,10,

11,12,13,14,15,16,17,18,

19,20,21,22,23,24,25,26,27,

28,29,30,31,32,33,34,35,36,

37,38,39,40,41,42,43,44,45,

46,47,48,49,50,51,52,53,54,

55,56,57,58,59,60,61,62,63,

64,65,66,67,68,69,70,71,72,

73,74,75,76,77,78,79,80,81,82,

83,84,85,86,87,88,89,90,91,

92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,

110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150};

voiddelay(uintz)

{

uintx,y;

for(x=80;x>0;x--)

for(y=z;y>0;y--);

}

voidlight1(ucharnum1)

{

ucharj;

P0=0x00;

P2=0x00;

j=table[num1];

delay(j);

P0=0xff;

P2=0x00;

delay(150-j);

}

voidlight2(ucharnum2)

{

ucharj;

P0=0xff;

P2=0x00;

j=table[num2];

delay(j);

P0=0x00;

P2=0x00;

delay(150-j);

}

/*******************************************************************/

voidys(uchari)//1ms延时

{

ucharx,j;

for(j=0;j

for(x=0;x<=148;x++);

}

voidinit()//初始化函数

{

TMOD=0x02;//定时器0,工作模式2(0000,0010),8位定时模式

TH0=0x06;//写入预置初值6到定时器0,使250微秒溢出一次(12MHz)

TL0=0x06;//写入预置值

ET0=1;//允许定时器0中断

EA=1;//允许总中断

}

voidalllighttooff()//闪动4下最后关闭

{

unsignedcharcodetabP0[8][8]={

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}

};

intj,k,i;

for(j=0;j<8;j++)

{

for(k=0;k<25;k++)

{

for(i=0;i<8;i++)

{

P0=0;

P2=tabP2[i];

P0=tabP0[j][i];

ys(10);

}

}

}

}

voidrandomlight()//随机亮完

{

unsignedcharcodetabP0[38][8]={

{0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00},

{0x00,0x20,0x00,0x00,0x00,0x00,0x10,0x00},

{0x00,0x20,0x00,0x00,0x00,0x02,0x10,0x00},

{0x00,0x20,0x04,0x00,0x00,0x02,0x10,0x00},

{0x00,0xA0,0x04,0x00,0x00,0x02,0x10,0x00},

{0x00,0xA0,0x24,0x10,0x00,0x02,0x10,0x00},

{0x40,0xA0,0x24,0x10,0x00,0x02,0x10,0x00},

{0x40,0xA0,0x24,0x10,0x20,0x02,0x10,0x00},

{0x40,0xA0,0x24,0x10,0x20,0x22,0x10,0x00},

{0x40,0xA0,0x24,0x10,0x20,0x22,0x14,0x42},

{0x40,0xA0,0x24,0x10,0x20,0x26,0x14,0x42},

{0x40,0xA0,0x25,0x10,0x20,0x26,0x14,0x42},

{0x44,0xA0,0x25,0x10,0x20,0x26,0x14,0x42},

{0x44,0xA0,0x25,0x50,0x20,0x26,0x14,0x42},

{0x44,0xA0,0x25,0x50,0xA0,0x26,0x14,0x42},

{0x44,0xA0,0x25,0x50,0xA0,0x27,0x14,0x43},

{0x44,0xA0,0x25,0x50,0xA0,0x27,0x14,0x53},

{0x44,0xA0,0x65,0x50,0xA0,0x27,0x54,0x53},

{0x44,0xA0,0x65,0x50,0xA0,0xA7,0x54,0x53},

{0x44,0xA0,0x65,0x50,0xA8,0xA7,0x54,0x53},

{0x44,0xA0,0x65,0x50,0xA8,0xA7,0x56,0x5B},

{0x46,0xA0,0x67,0x52,0xA8,0xA7,0x56,0x5B},

{0x46,0xA1,0x67,0x52,0xA8,0xA7,0x56,0x5B},

{0x46,0xB1,0x67,0x52,0xA8,0xA7,0x56,0x5B},

{0x46,0xB1,0x67,0x5A,0xA8,0xA7,0x56,0x5B},

{0x56,0xB1,0x67,0x5A,0xA8,0xA7,0x56,0x5B},

{0x56,0xB1,0x67,0x5A,0xA8,0xE7,0x56,0x5B},

{0x56,0xB1,0x67,0x5A,0xAA,0xE7,0x56,0x5F},

{0x56,0xB1,0x67,0x5A,0xAA,0xE7,0x56,0x7F},

{0x56,0xF9,0x67,0x7A,0xAA,0xE7,0x56,0x7F},

{0x56,0xF9,0x67,0x7A,0xAE,0xE7,0x5E,0x7F},

{0x5E,0xFD,0x67,0x7B,0xAE,0xE7,0x5E,0x7F},

{0x5E,0xFD,0x67,0x7B,0xEE,0xE7,0xDE,0xFF},

{0xDE,0xFD,0xE7,0xFB,0xEF,0xE7,0xFF,0xFF},

{0xDE,0xFD,0xF7,0xFB,0xFF,0xF7,0xFF,0xFF},

{0xDE,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}

};

intj,k,i;

for(j=0;j<38;j++)

{

for(k=0;k<10;k++)

{

for(i=0;i<8;i++)

{

P0=0;

P2=tabP2[i];

P0=tabP0[j][i];

ys(10);

}

}

}

}

voidrandomoff()//随机灭完

{

unsignedcharcodetabP0[23][8]={

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xFF,0xDF},

{0xFF,0xFF,0xDF,0xFF,0xFF,0xFF,0xED,0xDF},

{0xFF,0xF7,0xDD,0xFF,0xFF,0xFF,0xED,0xDF},

{0xFF,0xF7,0xDD,0xEF,0xFF,0xDF,0xED,0xDF},

{0xFF,0xF7,0x5D,0xAF,0xFD,0xDF,0xED,0xDF},

{0xFF,0xF7,0x5C,0xAF,0xDD,0xDF,0xED,0xDF},

{0xFF,0xE7,0x5C,0xAF,0xDD,0xDF,0x6D,0xDD},

{0xFF,0xE7,0x5C,0x2F,0xDD,0xD7,0x6D,0x9D},

{0xFF,0xE5,0x5C,0x2F,0xDD,0xD7,0x69,0x9D},

{0xFF,0xA5,0x5C,0x2B,0xDD,0x57,0x69,0x9D},

{0xFF,0xA5,0x5C,0x29,0xDD,0x57,0x69,0x8D},

{0xBD,0x85,0x5C,0x29,0xDD,0x57,0x69,0x8D},

{0xBD,0x85,0x54,0x29,0xDD,0x53,0x48,0x8D},

{0x9D,0x85,0x54,0x29,0xDD,0x53,0x08,0x8D},

{0x9D,0x81,0x54,0x09,0xDD,0x13,0x08,0x8D},

{0x95,0x81,0x54,0x09,0xDD,0x12,0x08,0x85},

{0x95,0x01,0x54,0x09,0xC9,0x12,0x08,0x85},

{0x95,0x01,0x54,0x01,0x89,0x12,0x08,0x84},

{0x95,0x01,0x40,0x01,0x89,0x02,0x08,0x80},

{0x95,0x00,0x40,0x01,0x88,0x02,0x08,0x00},

{0x94,0x00,0x00,0x00,0x88,0x00,0x08,0x00},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},

};

intj,k,i;

for(j=0;j<23;j++)

{

for(k=0;k<10;k++)

{

for(i=0;i<8;i++)

{

P0=0;

P2=tabP2[i];

P0=tabP0[j][i];

ys(10);

}

}

}

}

voidallfalloff()//由全亮到下落关闭只剩一排

{

unsignedcharcodetabP0[4][8]={

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},

{0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF},

{0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF}

};

intj,k,i;

for(j=0;j<4;j++)

{

for(k=0;k<15;k++)

{

for(i=0;i<8;i++)

{

P0=0;

P2=tabP2[i];

P0=tabP0[j][i];

ys(10);

}

}

}

}

voidturnR()//由下面一排转到右面

{

unsignedcharcodetabP0[6][8]={

{0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0xFF},

{0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0xFF},

{0x0F,0xF0,0x00,0x00,0x00,0x00,0xF0,0x0F},

{0xF0,0x00,0x00,0x00,0x00,0xF0,0x0F,0x0F},

{0x00,0x00,0x00,0x00,0xF0,0x0F,0x0F,0x0F},

{0x00,0x00,0x00,0x00,0x0F,0x0F,0x0F,0x0F}

};

intj,k,i;

for(j=0;j<6;j++)

{

for(k=0;k<10;k++)

{

for(i=0;i<8;i++)

{

P0=0;

P2=tabP2[i];

P0=tabP0[j][i];

ys(6);

}

}

}

}

voidrighttoleft()//右面平移到左面

{

unsignedcharcodetabP0[4][8]={

{0x00,0x00,0x00,0x00,0x0F,0x0F,0x0F,0x0F},

{0x00,0x00,0x00,0x00,0xF0,0xF0,0xF0,0xF0},

{0xF0,0xF0,0xF0,0xF0,0x00,0x00,0x00,0x00},

{0x0F,0x0F,0x0F,0x0F,0x00,0x00,0x00,0x00}

};

intj,k,i;

for(j=0;j<4;j++)

{

for(k=0;k<10;k++)

{

for(i=0;i<8;i++)

{

P0=0;

P2=tabP2[i];

P0=tabP0[j][i];

ys(10);

}

}

}

}

voidlefttoright()//左面平移到右面

{

unsignedcharcodetabP0[4][8]={

{0x0F,0x0F,0x0F,0x0F,0x00,0x00,0x00,0x00},

{0xF0,0xF0,0xF0,0xF0,0x00,0x00,0x00,0x00},

{0x00,0x00,0x00,0x00,0xF0,0xF0,0xF0,0xF0},

{0x00,0x00,0x00,0x00,0x0F,0x0F,0x0F,0x0F}

};

intj,k,i;

for(j=0;j<4;j++)

{

for(k=0;k<10;k++)

{

for(i=0;i<8;i++)

{

P0=0;

P2=tabP2[i];

P0=tabP0[j][i];

ys(10);

}

}

}

}

voidturnD()//从右面到下面

{

unsignedcharcodetabP0[6][8]={

{0x00,0x00,0x00,0x00,0xF0,0x0F,0x0F,0x0F},

{0xF0,0x00,0x00,0x00,0x00,0xF0,0x0F,0x0F},

{0x0F,0xF0,0x00,0x00,0x00,0x00,0xF0,0x0F},

{0x00,0x0F,0xF0,0x00,0x00,0x00,0x00,0xFF},

{0x00,0x00,0x0F,0xF0,0x00,0x00,0x00,0xFF},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF}

};

intj,k,i;

for(j=0;j<6;j++)

{

for(k=0;k<10;k++)

{

for(i=0;i<8;i++)

{

P0=0;

P2=tabP2[i];

P0=tabP0[j][i];

ys(10);

}

}

}

}

voidtoptofollowing()//上面平移到下面

{

unsignedcharcodetabP0[4][8]={

{0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},

{0x00,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00},

{0x00,0x00,0xFF,0x00,0x00,0x00,0xFF,0x00},

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF},

};

intj,k,i;

for(j=0;j<4;j++)

{

for(k=0;k<10;k++)

{

for(i=0;i<8;i++)

{

P0=0;

P2=tabP2[i];

P0=tabP0[j][i];

ys(8);

}

}

}

}

voidfollowingtotop()//下面平移到上面

{

unsignedcharcodetabP0[4][8]={

{0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF},

{0x00,0x00,0xFF,0x00,0x00,0x00,0xFF,0x00},

{0x00,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00},

{0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},

};

intj,k,i;

for(j=0;j<4;j++)

{

for(k=0;k<10;k++)

{

for(i=0;i<8;i++)

{

P0=0;

P2=tabP2[i];

P0=tabP0[j][i];

ys(8);

}

}

}

}

voidalllight()//右到左全亮

{

unsignedcharcodetabP0[4][8]={

{0x00,0x00,0x00,0x00,0x0F,0x0F,0x0F,0x0F},

{0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF},

{0xF0,0xF0,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF},

{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}

};

intj,k,i;

for(j=0;j<4;j++)

{

for(k=0;k<10;k++)

{

for(i=0;i<8;i++)

{

P0=0;

P2=tabP2[i];

P0=tabP0[j][i];

ys(10);

}

}

}

}

voidevel()//斜面亮

{

unsignedcharcodetabP0[7][8]={

{0x00,0x00,0x00,0xFE,0x00,0x00,0x00,0xF7},

{0x00,0x00,0x00,0xEC,0x00,0x00,0x00,0x73},

{0x00,0x00,0x00,0x4C,0x00,0x00,0x00,0x23},

{0x00,0x00,0x00,0x48,0x00,0x00,0x00,0x21},

{0x00,0x00,0x48,0x48,0x00,0x00,0x21,0x21},

{0x00,0x48,0x48,0x48,0x00,0x21,0x21,0x21},

{0x48,0x48,0x48,0x48,0x21,0x21,0x21,0x21},

};

intj,k,i;

for(j=0;j<7;j++)

{

for(k=0;k<10;k++)

{

for(i=0;i<8;i++)

{

P0=0;

P2=tabP2[i];

P0=tabP0[j][i];

ys(7);

}

}

}

}

voidfollowtotop()//上面转移到后面可以接旋转

{

unsignedcharcodetabP0[10][8]={

{0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00},

{0xEE,0x11,0x00,0x00,0xFF,0x00,0x00,0x00},

{0xEC,0x12,0x01,0x00,0xFF,0x00,0x00,0x00},

{0xC8,0x24,0x12,0x01,0xEF,0x10,0x00,0x00},

{0x88,0x48,0x24,0x1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 城乡园林规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1