#include<reg52.h> #define uc unsigned char sbit KEY1 = P3^1; void delay(uc c) { uc a,b; for(;c>0;c--) for(a=38;a>0;a--) for(b=130;b>0;b--); } void main() { uc i=1,dir=0; P2 = ~i; while(1) { if(KEY1 == 0) { delay(1); while(KEY1 == 0); delay(1); while(1) { if(dir==0) { i<<=1; if(i==0) { i=0x80; dir=1; } } if(dir==1) { i>>=1; if(i==0) { i=1; dir=0; } } P2=~i; delay(20); } } } }
- 接线:key1接P3^1