- #include<reg52.h>
- #define unit unsigned int
- #define uchar unsigned char
- sbit k1=P2^1;
- sbit led1=P2^2;
- sbit led2=P2^3;
- sbit led3=P2^4;
- sbit t1=P2^5;
-
- uchar numk;
- void delay(unit z)
- {
- unit x,y;
- for(x=z;x>0;x--)
- for(y=110;y>0;y--);
- }
- void main()
- {
- while(1)
- {
- delay(50);
- if(k1==0)
- {
- numk++;
- if(numk>4)numk=1;
- }
- while(!k1)
- switch(numk)
- {
- case 1:led1=0;break;
- case 2:led2=0;t1=0;break; //k1計數為2時,led2點亮, t1 npn輸出
- case 3:led3=0;t1=1;break; //k1計數為3時,led3點亮, t1 pnp輸出
- case 4:led3=1;led2=1;led1=1;break;
- }
- }
- }
復制代碼 |