• 大小: 452KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-15
  • 语言: 其他
  • 标签: 光立方  4*4*4  

资源简介

这个是我自己写的4*4*4的光立方代码,以及取模软件。现在全部共享出来,方便大家学习。博客里面有具体的项目讲解。

资源截图

代码片段和文件信息

#include						 //P1为黄色,P2为红色。	 P0为阴极
#include
#define uint unsigned int
#define uchar unsigned char
unsigned char code tabP0[]={0xFE0xFD0xFB0xF70xEF0xDF0xBF0x7F};  //低电平扫描 ,每次只让亮一排(一个P0口)

 uchar code table[]={    //呼吸灯专用
0012345678910
1112131415161718
192021222324252627
282930313233343536
373839404142434445
464748495051525354
555657585960616263
646566676869707172
73747576777879808182
838485868788899091
9293949596979899100101102103104105106107108109
110111112113114115116117118119120121122123124125
126127128129130131132133134135136137138139140141
142143144145146147148149150};


void ys(uint xms)//1ms延时
{
uint xy;
for(x=xms;x>0;x--)
  for(y=110;y>0;y--);
}






void delay(uint z)
{
        uint xy;
        for(x=5;x>0;x--)    //11的时候即可完全没有闪烁呼吸灯模式 (11一下效果都可以接受自己调整)
        for(y=z;y>0;y--);
}
//红呼吸灯


void honglight1(uchar num1)
{
        uchar j;
        P0=0x00;
        P2=0x00;
        j = table[num1];
        delay(j);
        P0=0xff;
        P2=0x00;
        delay(150-j);
}

void honglight2(uchar num2) //由亮到灭  (可以理解为亮的时间由长到短。灭的时间由短到长)
{
        uchar j;
        P0=0xff;  //首先关闭P0
        P2=0x00;   //打开P2
        j = table[num2];
        delay(j);   //延时   (由短到长的)
        P0=0x00;   //打开P0叫它亮
        P2=0x00;
        delay(150-j);   //延时由长到短
}
void hongbegin()  //全亮 呼吸灭
{
int i;
for(i=0;i<140;i++)
{
honglight2(i);

P0=0x00;   //保持亮的状态
P2=0xff; 
P1=0xff;  
    
}

void hongend()   //全灭  呼吸亮
{
int i;
P0=0xff;
P2=0x00;
delay(100);
for(i=0;i<140;i++)
{
honglight1(i);

P0=0x00;  
}  
//下面是黄呼吸



void huanglight1(uchar num1)
{
        uchar j;
        P0=0x00;
        P1=0x00;
        j = table[num1];
        delay(j);
        P0=0xff;
        P1=0x00;
        delay(150-j);
}

void huanglight2(uchar num2) //由亮到灭  (可以理解为亮的时间由长到短。灭的时间由短到长)
{
        uchar j;
        P0=0xff;  //首先关闭P0
        P1=0x00;   //打开P2
        j = table[num2];
        delay(j);   //延时   (由短到长的)
        P0=0x00;   //打开P0叫它亮
        P1=0x00;
        delay(150-j);   //延时由长到短
}
void huangbegin()  //全亮 呼吸灭
{
int i;
for(i=0;i<140;i++)
{
huanglight2(i);

P0=0x00;   //保持亮的状态
P1=0x00;  
P1=0x00;      
}

void huangend()   //全灭  呼吸亮
{
int i;
P0=0xff;
P1=0x00;
delay(100);
for(i=0;i<140;i++)
{
huanglight1(i);

P0=0x00;  
}
// 黄色变红色


void huangsebianhongse()
{
  int a;
  for(a=60;a>0;a--  )
  {   
     P2=0xff;
  P0=0x00;
  P1=0x00;
  ys(a);
  P2=0x00;
  ys(4);
  }


}

//橙色灯


void  chengsedeng()    //黄色和红色的比例大概为1比15左右会出现橙色
{
  int b;
  for(b=150;b>0;b--  )
  {   
     P2=0xff;
  P0=0x0

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-07-17 14:32  444光立方\
     文件       24580  2013-08-28 02:47  444光立方\guanglifang
     文件       22503  2013-08-28 02:47  444光立方\guanglifang.c
     文件       13902  2013-08-28 02:47  444光立方\guanglifang.hex
     文件          70  2013-08-28 02:47  444光立方\guanglifang.lnp
     文件       50699  2013-08-28 02:47  444光立方\guanglifang.LST
     文件       38754  2013-08-28 02:47  444光立方\guanglifang.M51
     文件       31053  2013-08-28 02:47  444光立方\guanglifang.OBJ
     文件         191  2014-07-17 11:44  444光立方\guanglifang.plg
     文件       67325  2013-10-09 21:35  444光立方\guanglifang.uvopt
     文件       13419  2013-08-27 03:48  444光立方\guanglifang.uvproj
     文件          41  2013-08-28 02:47  444光立方\guanglifang.__i
     文件       60719  2013-10-09 00:00  444光立方\guanglifang_uvopt.bak
     文件           0  2013-08-26 22:34  444光立方\guanglifang_uvproj.bak
     文件        6376  2009-05-07 14:37  444光立方\STARTUP.A51
     文件       14053  2013-08-28 00:21  444光立方\STARTUP.LST
     文件         749  2013-08-28 00:21  444光立方\STARTUP.OBJ
     文件      745472  2013-08-14 12:51  小杰光立方取模软件.exe

评论

共有 条评论