51单片机STC89C52RC——2.1 独立按键控制LED亮灭

目录

目的

一,STC单片机模块

二,独立按键 

2.1 独立按键位置

2.2 独立按键电路图

三,创建Keil项目

四,代码 

五,代码编译、下载到51单片机

六,效果


目的

当独立K1按键按下时LED   D1 点亮,松开D1熄灭。

一,STC单片机模块

二,独立按键 

2.1 独立按键位置

2.2 独立按键电路图

 

这里要注意一个设计的bug

P3_1 引脚对应是K1

P3_0 引脚对应是K2

 我们也不用把按键的构造想太复杂 ,就当成一个普通的开关就好。

轻触(还是要多用点力,不是手机屏幕那种轻触)按下就导通,引脚P30就是高电平0(比如:按下按键K1,此时电路就接通GND接地了)。

松开时电路就断开,引脚P30是底电平1。

为什么这里设计成高电平0,低电平1呢?

芯片的每个引脚  都有寄存器 可读也可写。

也就是说我们既能让程序主动让每个引脚处于高电平或者低电平; 同时 引脚上处于高电平或低电平程序也能获取到。

比如:

我们用程序让引脚P3_0处于高电平,可以用 P3_0=0;

如果我们要检查P3_0 处于高电平还是电平。我们可以用 一个变量将其获取出来并打印出来

int P3_0_status=P3_0;//取引脚状态

printf("%d",P3_0_status);//打印状态值。

这里我们一直去检测这个引脚的状态就可以了。


		if(P3_1==0)	    //检测按键K1的状态;如果K1按键按下
		{
			P2_0=0;		//D1输出0,点亮
		}
		else
		{
			P2_0=1;		//D1输出1,熄灭
		}

三,创建Keil项目

详细参考:51单片机STC89C52RC——创建Keil项目-CSDN博客

四,代码 

#include <REGX52.H>
/**
 * 函    数:主函数
 * 参    数:无
 * 返 回 值:无
 */
void main()
{
	while(1)
	{
		if(P3_1==0)	    //检测按键K1的状态;如果K1按键按下
		{
			P2_0=0;		//D1输出0,点亮
		}
		else			//如果K1按键松开
		{
			P2_0=1;		//D1输出1,熄灭
		}
	}
}

 

五,代码编译、下载到51单片机

代码编译请参考

51单片机STC89C52RC——代码编译-CSDN博客

代码下载请参考

《51单片机STC89C52RC——STCAI-ISP代码下载-CSDN博客

六,效果

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-15 22:14:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-15 22:14:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-15 22:14:01       82 阅读
  4. Python语言-面向对象

    2024-06-15 22:14:01       91 阅读

热门阅读

  1. 计算机类期刊含金量横纵向对比(二)

    2024-06-15 22:14:01       35 阅读
  2. ubuntu20.0.4下安装PyTorch

    2024-06-15 22:14:01       30 阅读
  3. 钉钉Stream模式推送程序环境部署

    2024-06-15 22:14:01       26 阅读
  4. 图神经网络工具篇

    2024-06-15 22:14:01       25 阅读
  5. C#多线程与函数对象的实例

    2024-06-15 22:14:01       22 阅读
  6. Elasticsearch与Kafka集成:实现数据流处理

    2024-06-15 22:14:01       30 阅读
  7. 代码随想录Day59

    2024-06-15 22:14:01       28 阅读
  8. lvgl手势事件判断为点击事件问题

    2024-06-15 22:14:01       27 阅读
  9. 解决测试类Class not found报错

    2024-06-15 22:14:01       31 阅读
  10. 区块链之快照

    2024-06-15 22:14:01       28 阅读
  11. web开发的尽头是servlet

    2024-06-15 22:14:01       32 阅读
  12. 反射,枚举以及lambda表达式

    2024-06-15 22:14:01       21 阅读