d=60000;
dd=60000;
while(dd--)
{
while(d--)
{
sta
tic uchar layer=0;
for(j=0;j<8;j++) //LED正极驱动循环扫描8层
{
for (i=0;i<8;i++) //循环8次,每一次将光立方的一层动画数据装入buffer[]数组
{
buffer
=display[layer]; //调用层暂存数组将用于光立方显示的二维数组里的一层显示数据装入其中
}
xiansi1(); //单片机发送数据给74HC595
cheng=0x01<<layer; //层移位,
DS2 = ~cheng&0x01; //发送层扫描数据
SH_CP2 = 1;
SH_CP2 = 0; //移位寄存器移位
ST_CP=1;
ST_CP=0; //控制显示列
ST_CP2=1;
ST_CP2=0; //控制显示层
if (layer<7)
layer++; //为扫面上一层 做准备(光立方一个静止图形是从最底层开始扫描)
else
layer=0;
delay(2);
}
}
}
layer对0x1进行位移。。
按程序来看,位移8次(0~7)只有7次有效,就只能点亮7层led.
这样看话,完全可以不用层扫描。想列扫描那样实现
程序 这样写是想实现什么功能啊!? 谁帮我看看...
一周热门 更多>