×
单片机 > 单片机程序设计 > 详情

51例程---流水灯改进版

发布时间:2024-05-18 发布时间:
|

(1)首先定义变量unsigned char a,初值等于0x80(10000000)

(2)8个状态,其实就是a依次右移0-7位

(3)利用C语言中移位运算符实现移位

C语言中的移位运算符,>>可以右移,<


例如:12345678---右移 = 01234567


例程1:


#include


void delay(void)

{

unsigned char i = 100;

unsigned char j = 100;

while(i--)

{

while(j--);

}

} //延时函数



void main(void)

{

unsigned char i = 0;

unsigned char initial_value = 0x80;


while(1)

{

for(i = 0; i < 8; i++)

{

P0 = (initial_value >> i); // 这儿的initial_value的值在整个循环中一直是0x80

delay();

}

}

}


例程2:


void main(void)

{

unsigned char i = 0;


while(1)

{

unsigned char initial_value = 0x80;

for(i = 0; i < 8; i++)

{

initial_value = (initial_value >> i); //initial_value的值在每次循环中都会改变

P0 = initial_value;

delay();

}

}

}


差别在于变量的作用域(请学习c语言)


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析