当前位置:文档之家› 独立按键实验

独立按键实验

51单片机独立按键控制LED灯实验
独立按键实验
• • • • • • • • • • • • • • • • /************************************************************************************** * 独立按键实验 * 实现现象:下载程序后按下K1按键可以对LED小灯状态取反。 注意事项:无 ***************************************************************************************/ #include "reg52.h" typedef unsigned int u16; typedef unsigned char u8; sbit k1=P1^0; sbit led=P1^1; sbit led1=P1^2; sbit led2=P1^3; /******************************************************************************* *函数名 * 函数功能 : delay : 延时函数,i=1时,大约延时10us //定义P10口是k1 //定义P11口是led //此文件中定义了单片机的一些特殊功能寄存器 //对数据类型进行声明定义

• • • • • • • • • }
while(i--);
/******************************************************************************* *函数名 * 函数功能 void keypros() { if(k1==0) { //检测按键K1是否按下 : keypros : 按键处理函数,判断按键K1是否按下
*******************************************************************************/
• • •
*******************************************************************************/ void delay(u16 i) {

/*******************************************************************************
/******************************************************* ************************ *函数名 : main * 函数功能 : 主函数 *输 入 :无 *输 出 :无 ******************************************************** ***********************/ void main() { led=0; led1=1; led2=0; while(1) { keypros(); //按键处理函数 } }

*******************************************************************************/

• • • • • • • • • } }
delay(1000); //消除抖动 一般大约10ms
if(k1==0) { led=~led; led1=~led1; led2=~led2; } while(!k1); //检测按键是否松开 //led状态取反 //再次判断按键是否按下
相关主题