這裏沒有電路圖。以P1口的8位陽極LED為例。
初始化:
sbit p1_0=p1^0;
sbit p1_1=p1^1;
sbit p1_2=p1^2;
sbit p1_3=p1^3;
sbit p1_4=p1^4;
sbit p1_5=p1^5;
sbit p1_6=p1^6;
sbit p1_7=p1^7;
延遲功能:
無效延遲(int x)
{
int a,b;
for(a = 0;a & ltx;a++)
{
for(b = 0;b & lt10000;b++);
}
}
主程序
void main()
while(1)
{
p 1 _ 0 = 1;
延時(1000);
p 1 _ 0 = 0;
延時(1000);
p 1 _ 1 = 1;
延時(1000);
p 1 _ 1 = 0;
延時(1000);
...//以此類推到P1_7,實現單燈循環右移,第壹個問題可以到此為止。
p 1 _ 7 = 1;
延時(1000);
p 1 _ 7 = 0;
延時(1000);
p 1 _ 7 = 1;//現在開始單光循環向左移動。
延時(1000);
p 1 _ 7 = 0;
延時(1000);
p 1 _ 6 = 1;
延時(1000);
p 1 _ 6 = 0;
延時(1000);
//以此類推到P1_0,實現左移。
//為此,單燈左移,單燈右移。
}