按键控制继电器通断程序设计
时间:11-30 11:02 阅读:1388次
*温馨提示:点击图片可以放大观看高清大图
简介:实现功能:按键控制继电器通断
使用芯片: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();
}
}
/********************************************************************
结束
*********************************************************************/