单片机之独立按键处理情况
单片机源程序如下:
- #include "STC15F2K60S2.h"
- #include <intrins.h>
- sbit buzzer = P0^6;
- void keycan(void);
- void delayms(unsigned int xms);
- void main()
- {
- P2=0xa0;buzzer=0;P2=0x00;// close the buzzer
- while(1)
- {
- keycan();
- }
- }
- void keycan()
- {
- if(P30==0)
- {
- delayms(5);
- if(P30==0)
- {
- P2=0X80;P0=0XFE;P2=0X00;
- }
- while(!P30);//松手检测
- }
- if(P31==0)
- {
- delayms(5);
- if(P31==0)
- {
- P2=0X80;P0=0XFD;P2=0X00;
- }
- while(!P31);//松手检测
- }
- if(P32==0)
- {
- delayms(5);
- if(P32==0)
- {
- P2=0X80;P0=0X00;P2=0X00;
- }
- while(!P32);//松手检测
- }
- if(P33==0)
- {
- delayms(5);
- if(P33==0)
- {
- P2=0X80;P0=0XFF;P2=0X00;
- }
- while(!P33);//松手检测
- }
- }
- void delayms(int xms)
- {
- unsigned char i,j;
- for(i=xms;i>0;i--) //b=200; 199; 198
- for (j=500;j>0;j--);
- }
复制代码
所有资料51hei提供下载:
独立按键.rar
(37.23 KB, 下载次数: 11)
|