欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
如何在按鍵程序去控制單片機花樣彩燈暫停和啟動?
[打印本頁]
作者:
笙北向陽
時間:
2021-4-17 16:02
標題:
如何在按鍵程序去控制單片機花樣彩燈暫停和啟動?
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
uchar tab2[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};
uchar tab3[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe} ;
uchar tab4[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f} ;
void delay (uint i)
{
uchar t;
while(i--)
{
for(t=0;t<120;t++);
}
}
void main()
{
char k;
uchar i,temp1,temp2;
delay(500);
P0=0x00;
P2=0x00;
delay(500);
P0=0xff;
P2=0xff;
delay(500);
while(1)
{
for(k=0;k<8;k++)
{
P0=tab1[k];
delay(500);
}
P0=0xff;
for(k=0;k<8;k++)
{
P2=tab1[k];
delay(500);
}
P2=0xff;
for(k=7;k>-1;k--)
{
P2=tab1[k];
delay(500);
}
P2=0xff;
for(k=7;k>-1;k--)
{
P0=tab1[k];
delay(500);
}
P0=0xff;
temp1=0x01;
temp2=0x01;
for(i=0;i<4;i++)
{
P0=~temp1;
temp1=temp1<<2;
delay(500);
}
P0=0xff;
for(i=0;i<4;i++)
{
P2=~temp2;
temp2=temp2<<2;
delay(500);
}
for(k=0;k<16;k++)
{
P0=tab3[k];
P2=tab4[k];
delay(500);
}
delay(500);
P0=0x00;
P2=0x00;
delay(500);
P0=0xff;
P2=0xff;
delay(500);
}
}
作者:
18701931930
時間:
2021-4-17 23:38
可以設置標志位,1-執行彩燈代碼,0不執行彩燈代碼。
代碼里用了太多的delay,效率太低了。
而且流水燈的代碼這樣寫也不太好,可以改為:
for(k=0;k<8;k++)
{
P2=~(1<<k);
delay(500);
}
特殊的數據變化再用數組的方式
作者:
笙北向陽
時間:
2021-4-18 08:47
18701931930 發表于 2021-4-17 23:38
可以設置標志位,1-執行彩燈代碼,0不執行彩燈代碼。
代碼里用了太多的delay,效率太低了。
而且流水燈的 ...
可以幫忙改一下嗎,我是個初學者,我在網上找了好多方法,你講的這個應該也試了都沒成功,我要廢了
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1