第二章-按键、蜂鸣器、灯

简述

本文主要介绍了三点

  • 蜂鸣器
  • 按键

1 LED灯

第二章-按键、蜂鸣器、灯只有当引脚P2.0为低电平时,LED灯亮。

因为在main.h 中定义引脚时名称写的是大写的,所以LED亮的单句程序为

LED = 0;

2 蜂鸣器

第二章-按键、蜂鸣器、灯和LED灯一样,只有当引脚P2.1为低电平时,蜂鸣器响,所以单句程序为

BEEP = 0;

3 按键

第二章-按键、蜂鸣器、灯看出可知按键右边连接的是低电平,而单片机引脚默认的是高电平,所以按键按下后按键两边都是低电平第二章-按键、蜂鸣器、灯(蓝色表示低电平)

按键按下的单句程序为

K1 = 0;

判断按键是否按下的程序

key.c

/**********************************
作者:特纳斯电子
网站:https://www.mcude.com
联系方式:46580829(QQ)
淘宝店铺:特纳斯电子
**********************************/

/**********************************
包含头文件
**********************************/
#include "key.h"


/**********************************
变量定义
**********************************/
#if  chiclet_keyboard
uchar key_Flag = 0;				//独立按键标志位
#endif/**********************************
函数定义
**********************************/
#if  chiclet_keyboard				//独立按键
/****
*******独立按键扫描函数
*******返回值:键值
*****/
uchar Chiclet_Keyboard_Scan(void)
{
        if(K1==1 && K2==1 && K3==1) key_Flag = 1;

	if(K1==0 && key_Flag==1)				//K1是否按下
	{
		Delay_function(2);				//消抖
		if(K1==0 && key_Flag==1)			//再次判断K1是否按下
		{
			key_Flag = 0;
			return 1;				//返回1
		}
	}

	if(K2==0 && key_Flag==1)
	{
		Delay_function(2);
		if(K2==0 && key_Flag==1)
		{
			key_Flag = 0;
			return 2;
		}
	}

	if(K3==0 && key_Flag==1)
	{
		Delay_function(2);
		if(K3==0 && key_Flag==1)
		{
			key_Flag = 0;
			return 3;
		}
	}

	return 0;														//没有按键按下,返回0
}
#endif

4 按键控制LED灯和蜂鸣器

首先在main.h中定义引脚

/**********************************
PIN口定义
**********************************/
sbit LED = P2^0;
sbit BEEP = P2^1;

然后把头文件卸载main.c中

/**********************************
包含头文件
**********************************/
#include "main.h"
#include "key.h"k

控制LED灯和蜂鸣器的程序

/****
*******按键函数
*****/
void Key_function(void)
{
	key_num = Chiclet_Keyboard_Scan();				//键盘扫描
	if(key_num != 0)						//有按键按下
	{
		switch(key_num)
		{
			case 1:						//按键1,灯亮
				LED = 0;
			break;

			case 2:						//按键2,灯灭
				LED = 1;
			break;

			case 3:						//按键3,按下蜂鸣器响,再按下蜂鸣器不响
				BEEP = ~BEEP;
			break;
		}
	}
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索