使用芯片:STC15F104E
晶振:12MHZ
波特率:9600
编译环境:Keil
/********************************************************************实现功能:按键控制继电器通断使用芯片:STC15F104E晶振:12MHZ波特率:9600编译环境:Keil *********************************************************************//********************************************************************/#include<reg52.h> //库文件#define uchar unsigned char//宏定义无符号字符型#define uint unsigned int //宏定义无符号整型/******************************************************************** I/O定义*********************************************************************/sbit P33=P3^3; //定义单片机P3口的第3位 (即P3.3)sbit P3_5=P3^5;uchar keycnt=0;//按下次数值/******************************************************************** 延时函数*********************************************************************/void delay(uchar t){ uchar i,j; for(i=0;i<t;i++) { for(j=13;j>0;j--); { ; } }}/******************************************************************** 按键扫描函数*********************************************************************/void KEY() //按键扫描程序{uchar i,j;if(P3_5==0) { delay(20); if(P3_5==0) { keycnt++;/******************************************************************** 按下次数判断函数*********************************************************************/switch(keycnt) //按下次数判断 { case 1: //第一次按下 P33=0; break; case 2: //第二次按下 P33=1; keycnt=0; break; } while(P3_5==0); } }}/******************************************************************** 主函数*********************************************************************/void main(){ while(1) { KEY(); }} /******************************************************************** 结束*********************************************************************/