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

📄 1key2.c

📁 《爱上单片机》配书光盘(书本的制作作品所要的程序)
💻 C
字号:
/*********************************************************************************************
程序名:    一键锁定开关
编写人:    杜洋 
编写时间:  2009年5月15日
硬件支持:  STC12C2052 内部RC或外部12MHZ晶振
接口说明:    
修改日志:  
  NO.1-								
/*********************************************************************************************
说明:
按键按下时灯亮,松开后灯灭。

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

#include <REG51.h> //51头文件

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

#define DY_PORT		P1 //设置LED连接的I/O组
sbit 	DY_KEY 	= 	P3 ^ 7; //设置按键接在P3.7

/*********************************************************************************************
bit [自定义名] ; //定义一个位(位的值只能是0或1)例:bit LED
#define [代替名]	[原名]  //用代替名代替原名(可以方便修改常改或调试的值)例:#define LED P1
sbit  [自定义名] = [系统位名] ; //自定义系统位名。例:sbit Add_Key = P3 ^ 1;
unsigned char [自定义名] ; //定义一个0~255的整数变量.例:unsigned char a;
unsigned int [自定义名] ; //定义一个0~65535的整数变量
/*********************************************************************************************/
void delay (unsigned int a){ // 1ms延时程序
	unsigned int i;
	while( --a != 0){
		for(i = 0; i < 600; i++);//STC单片机在外部晶振为12MHz时i值上限为600  
	}   				   		 //AT89C51单片机在外部晶振为12MHz时i值上限为125
}
/*********************************************************************************************/
void main(void){
	DY_KEY = 1;
	DY_PORT = 0xff;
	while(1){
		if(DY_KEY == 0){ //如果按键按下则继续
			delay(20); //延时20mS
			if(DY_KEY == 0){ //如果按键按下则继续
				DY_PORT = ~DY_PORT; //变化灯的状态
				while(DY_KEY == 0); //等待按键松开
			}
		}
	}
}
/*********************************************************************************************/
/*************************************************************
* 杜洋工作室 DoYoung Studio
* 与电子爱好者同行 www.DoYoung.net
/*************************************************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -