#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uint z);
int i , j ;
//2013年4月5日9:42:28
//用途:尝试交替闪。控制不同延缓时间
void main()
{
uint temp = 0x7f;
P1 = temp ;
for(j = 3; j > 0 ;j--)
{
for( i = 8 ; i > 0 ; i--)
{ //temp = _iror_(P1,1);//写成P1就不能闪了,写temp能闪。
temp = _iror_(temp ,i );
delay(60);
P1 = temp ;
}
}
//向上闪完,向下闪
for(j = 3 ; j > 0 ; j--)
{
for(i = 8 ; i > 0 ; i--)
{ //调用_crol_函数进行左移位操作
temp = _crol_(temp , i);
//控制延缓时间
delay(600);
P1 = temp ;
}
}
//P1 = 0xff;这句本想控制能跳出循环,试验了这样控制不行。刚接触单片机,再看看怎么把灯关了
//改进后的写法
while(1)
{
P1 = 0xff; //现在可以关灯了。
}
}
void delay(uint z)
{
uint x ,y;
for(x = 100 ; x > 0; x--)
{
for(y = z ; y > 0 ; y--)
{
};
};
}
交替控制流水灯闪亮
最新推荐文章于 2023-11-01 19:08:20 发布