流水灯
实验现象:led灯来回闪烁
#include <reg52.h> #include <intrins.h> #define u8 unsigned char #define u16 unsigned int // 定义位 #define led P2 // 延迟函数,i=1000时,延迟1ms void delay(u16 i) { while(i--); } void main() { u16 i; // 第一盏灯默认是亮的 led = 0xfe; // 1111 1110 delay(500000); while(1) { for(i=0; i<7; i++) { led = _crol_(led, 1); // 左移一位 delay(500000); } // led = 0111 1111 for(i=0; i<7; i++) { led = _cror_(led, 1); // 右移一位 delay(500000); } } }