⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 按键控制开关灯.c

📁 单片机入门制作专题_配套光盘 [1]
💻 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 + -