|
電路:p2上面接8個按鍵 p1上面接8個led
- #include<reg52.h>
- #define uchar unsigned char
- #define uint unsigned int
- uchar flag;
- //===============
- void delay(uint k)
- {
- uint data i,j;
- for(i=0;i<k;i++){
- for(j=0;j<121;j++)
- {;}}
- }
- //==============
- uchar scan_key(void)
- {
- uchar temp;
- temp=P2;
- return temp;
- }
- //===============
- void main(void)
- {
- while(1)
- {
- P2=0xff;
- if(P2!=0xff)
- {delay(20);
- P2=0xff;
- if(P2!=0xff)flag=scan_key();
- }
- else flag=0;
- switch(flag)
- {
- case 0xef:P1=0xfb;break;
- case 0xdf:P1=0xf0;break;
- case 0xbf:P1=0xc0;break;
- case 0x7f:P1=0x00;break;
- default:P1=0xff;break;
- }
- }
- }
復制代碼
|
|