先點亮一個LED小燈
#include "reg52.h" sbit led = P2^0; void main(){ while(1){ led = 0; } }
點亮一個LED 帶有 延時函數 x是幾,就延時幾秒
#include <reg52.h> #define uint unsigned int sbit led = P2^0; void sleep(uint); void main(){ led = 0; sleep(1); led = 1; sleep(1); P2 = 0xf0; //11110000 后四個全亮 然后滅 sleep(1); P2 = 0xff; //若采用二進制 11111111 會出錯 sleep(1); } void sleep(uint x){ uint i,j; for(i = x * 1000;i>0;i--) for(j = 110;j>0;j--); }
流水燈
#include <reg52.h> #include <intrins.h> //包含_crol_ 函數的頭文件 #define uint unsigned int #define uchar unsigned char void sleep(uint); uchar aa; //賦值用 void main(){ aa = 0xfe;//11111110 while(1){ P2 = aa; sleep(500);//延時500ms aa = _crol_(aa,1); //左移 _crol__ 右移 _cror_ } } void sleep(uint x){ uint i,j; for(i = x * 1;i>0;i--) for(j = 110;j>0;j--); }
循環 流水燈 ————> 左移到頭然后右移,右移到頭繼續左移
#include <reg52.h> #include <intrins.h> //包含_crol_ _cror_ 函數的頭文件 #define uint unsigned int #define uchar unsigned char void sleep(uint); uchar aa; //賦值用 void main(){ uint i = 0; aa = 0xfe;//11111110 while(1){ if(i < 7){ P2 = aa; sleep(500);//延時500ms aa = _crol_(aa,1); i++; }else{ P2 = aa; sleep(500);//延時500ms aa = _cror_(aa,1); i++; if(i == 14){ i = 0; } } } } void sleep(uint x){ uint i,j; for(i = x * 1;i>0;i--) for(j = 110;j>0;j--); }