求光立方全亮的简单程序
电路都没有,怎么怎知道你
上图。。
我也不懂写,,,嘻嘻嘻
用动态点亮,我的是逐层的动态扫面,建议用定时器中断函数来做扫描,静态点亮,硬件电路的驱动能力恐怕不够,这是我用延时子函数写的全亮程序,试试看
#include<reg52.h> //51头文件
#define uint unsigned int //宏定义
#define uchar unsigned char //宏定义
uchar nubm; //定义数组变量
uchar code table[]={ //数组,将数依次赋值给ULN2803,进行逐层点亮
0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80//八个数分别点亮每一层
};
void delay(uint z) //延时子函数
{
uint x,y;
for(x=z;x>0;x--)
for(y=80;y>0;y--);
}
void main() //主函数
{
nubm=0;
P2=0xff; //打开573锁存器
P0=0xff; //给573锁存器输入口高电平
P2=0x00; //关闭573
while(1) //大循环
{
P1=table[nubm]; //给2803输入数组的数
nubm++;
delay(1); //延时子函数扫描
if(nubm==8) //数组只有8个数,八个数赋值完毕后,nubm清零
nubm=0;//nubm清零
}
}
//~~~^_^~~~墨玉麒麟 瑍~^_^~~~