📄 按键控制开关灯.c
字号:
/*************************************************************
* 程序名 * 按键控制开关灯
* 编写人 * 杜 洋
* 日 期 * 2007-8-25
* 日 志 * 2007-8-25 开始编写
/*************************************************************/
/*************************************************************
* 头文件定义 *
/*************************************************************/
#include <AT89X52.h>
/*************************************************************
* IO定义 *
/*************************************************************/
sbit LED = P1 ^ 0; //定义P1.0为LED控制口,低电平使能
sbit KEY = P2 ^ 0; //定义P2.0为按键输入接口
/*************************************************************
* 毫秒级延时函数 *
调用函数必须给延时函数一个0~65535的延时值对应0MS到65535MS
/*************************************************************/
void Delay (unsigned int a){ //需要输入变量值0~65535
unsigned char i;
while( --a != 0){ //i 从0加到125,CPU大概就耗时1毫秒
for(i = 0; i < 125; i++); //空指令循环125次
}
}
/*************************************************************
* 主函数 *
实验板上连接到P2.0上的按键按下,连接在P1.0上的LED点亮或熄灭
/*************************************************************/
void main (void){ //
LED = 0; //复位后LED点亮
while(1){ //无限循环以下程序
if(KEY == 0){ //当按键读到低电平时执行下面程序
Delay(20); //延时去除按键时的抖动
if(KEY == 0){//再当按键读到低电平时执行下面程序
LED = ~LED; //取LED向反状态
while(KEY == 0);//读到低电平时在此等待按键放开
}
}
}
}
/*************************************************************
* DoYoung.net 电子技术 -- 创造独立资源 * www.doyoung.net *
/*************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -