/;*标题: 嘉乐电子JL51开发板演示程序--继电器吸合分断实验
//;*文件: relayCrl.c
//;*版本: 1.0
//;*作者: 嘉乐电子
//;*****************************************************************************
//;*: 描述:
//;*: 按K1吸合,按K2停止,数码管显示0表示分断,显示1表示吸合。
//;*:
//;******************************************************************************
//;* 【版权】 Copyright(C)嘉乐电子 All Rights Reserved
//;* 【声明】 此程序仅用于学习与参考,引用请注明版权和作者信息!
//;******************************************************************************
//继电器控制程序
#include <reg52.h>
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
sbit P20 =P2^0; /* 数码管位控制 */
sbit K1 =P3^2; /* 启动键 */
sbit K2 =P3^3; /* 停止键 */
sbit relay =P3^7; /* 继电器控制引脚 */
bit flag; /* 继电器吸合分断标志 */
uchar code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; /* 数码管显示段表*/
/* 延时函数 */
void Delay(uint m)//延时函数
{ uchar i;
for(;m>0;m--)
{for(i=0;i<125;i++)
{;}
}
}
/* 按键检测程序*/
key()
{ if(K1==0)
{ Delay(10);
if(K1==0)
{ while(!K1==1);
flag=1;
}
}
else if(K2==0)
{ Delay(10);
if(K2==0)
{ while(!K2==1);
flag=0;
}
}
return(flag);
}
/* 主程序 */
void main()
{ while(1)
{ key();
if(flag==1)
{ relay=0;
P20=0;
P0=seg[1];
}
else
{ relay=1;
P20=0;
P0=seg[0];
}
}
}
|