|
制作出來的實物圖如下:
747031386526062067.jpg (675 KB, 下載次數(shù): 36)
下載附件
視頻不知道怎么上傳
2022-5-18 09:05 上傳
單片機源程序如下:
bdata unsigned char Side_Data;
sbit bit0=Side_Data^0; //被發(fā)送數(shù)據(jù)的各位定義
sbit bit1=Side_Data^1;
sbit bit2=Side_Data^2;
sbit bit3=Side_Data^3;
sbit bit4=Side_Data^4;
sbit bit5=Side_Data^5;
sbit bit6=Side_Data^6;
sbit bit7=Side_Data^7;
code unsigned char Mode_table[21]=
{
0x80,0x00,0x00,
0x00,0x80,0x00,
0x00,0x00,0x80,
0x80,0x80,0x00,
0x80,0x00,0x80,
0x00,0x80,0x80,
0x80,0x80,0x80,
};
unsigned char Side_BufD[3]={0x00};
unsigned char Interval00,kw,iw;
//====位0發(fā)送=====
void TX0(void) // 發(fā)送0
{
P1_7=1; //通信IO
_nop_(); _nop_(); _nop_(); _nop_(); _nop_();
P1_7=0;
}
//====位1發(fā)送=====
void TX1(void) // 發(fā)送1
{
P1_7=1;
_nop_(); _nop_(); _nop_(); _nop_(); _nop_();
_nop_(); _nop_(); _nop_(); _nop_(); _nop_();
_nop_(); _nop_(); _nop_(); _nop_(); _nop_();
_nop_(); _nop_(); _nop_(); //_nop_(); _nop_();
P1_7=0;
}
//一字節(jié)發(fā)送
void SideSend_Byte (unsigned char *Side_Buf,unsigned char NumLed)
{
unsigned char idata y,k;
for(k=0;k<NumLed;k++)
{
for(y=0;y<3;y++)
{
if(bit7==1){TX1();} else{TX0();}
if(bit6==1){TX1();} else{TX0();}
if(bit5==1){TX1();} else{TX0();}
if(bit4==1){TX1();} else{TX0();}
if(bit3==1){TX1();} else{TX0();}
if(bit2==1){TX1();} else{TX0();}
if(bit1==1){TX1();} else{TX0();}
if(bit0==1){TX1();} else{TX0();}
}
}
}
void main(void)
{
CfgFsys( ); //時鐘選擇配置
mDelaymS(5);
init_global_value(); //寄存器 IO初始化
while(1)
{
Interval00++;
if(Interval00>10) //間隔50MS
{
Interval00=0;
for(kw=0;kw<120;kw++) //120個LED
{
memset(Side_BufD,0,3);
for(iw=0;iw<3;iw++)
{
Side_BufD[iw]= *(Mode_table+iw+tw);
}
tw=tw+3;
if(tw==21)
tw=0;
SideSend_Byte(Side_BufD,1);
}
P1_7=0;
}
}
}
|
評分
-
查看全部評分
|