51单片机100例实例之19例

//项目19:继电器控制照明设备
//项目再创作者:科技小宅神
//说明: 按下K1键灯点亮,再次按下时灯熄灭
//资源来自网络,由小宅神收集,整理,注释,讲解,说明,修正。
仿真图:

代码:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
//位定义
sbit K1=P1^0; //控制按键接口
sbit RELAY=P2^4;//继电器接口
sbit led=P2^2; //开启指示灯接口
//1毫秒延时子程序
void DelayMS(uint ms)
{
uchar t;
while(ms--)
{
for(t=0;t<120;t++);
}
}
//主程序
void main()
{
P1 = 0xff;//初始化或者接通P1口
RELAY = 1;//接通PNP晶体管
while(1)//死循环
{
if(K1==0)//如果按键按下
{
while(K1==0);//按键按下时
RELAY =~RELAY;//取反,就是输出0低电压,亮
led=~led;//取反,就是输出1高电压,灭
DelayMS(20);//延时
}
}
}
祝大家学(白)习(嫖)愉快!喜欢可以关注,三连up主一波!