我現在學習標志位,所以用標志位,在你原有程序上加入了a,b兩個標志位。IF語句檢測b的狀態流水燈循環,每循環一次讓a自加一。IF語句檢測a的狀態,加到四變更b狀態,b變更流水燈不在循環。
#include <reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar temp,k,a,b;
void delay(uint);
void aaaa();
void bbbb();
void main()
{
b=1; //標志位賦初值
while(1)
{
bbbb();
aaaa();
}
}
void delay(uint x)
{
uint i,j;
for(i=0;i<x;i++)
for(j=0;j<110;j++);
}
void aaaa()
{
if(b==1) //檢測標志位狀態
{
temp=0Xfe;
for(k=0;k<3;k++)
{
P1=temp;
delay(200);
temp=_crol_(temp,3);
}
temp=0X7f;
for(k=0;k<8;k++)
{
P1=temp;
delay(300);
temp=_cror_(temp,1);
}
}
a++; //標志位自加一
}
void bbbb()
{
if(a==4) //檢測標志位狀態
b=0; //標志位變更
P1=0xff; //熄滅
}
|