当前位置: 首页 > news >正文

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博客》

六,效果

http://www.lryc.cn/news/373449.html

相关文章:

  • 系统架构师考点--计算机硬件
  • vite-plugin-mock前端自行模拟接口返回数据的插件
  • 网络安全知识全景地图V1.0 - 20240616更新
  • 力扣19. 删除链表的倒数第N个节点
  • 电脑找不到vcruntime140_1.dll的原因分析及5种解决方法分享
  • 洗地机哪个牌子质量好,性价比高?一文盘点市场热门选择
  • MySQL 之 JSON 支持(三)—— JSON 函数
  • 《华为项目管理之道》第1章笔记
  • C# —— 算数运算符
  • 去掉eslint
  • 【代码随想录算法训练Day38】LeetCode 509.斐波纳契数、LeetCode 76.爬楼梯、LeetCode 746. 使用最小花费爬楼梯
  • Rust 的编译时间过长
  • 19C之前恢复drop 掉的PDB 创建另一个实例
  • 实用软件下载:BetterZip 5最新安装包及详细安装教程
  • 实拆一个风扇
  • Android 蓝牙配对Settings应用里面的简要流程记录
  • shell编程基础(第18篇:更多的文件操作命令介绍)
  • java如何提取字符串的每一个字符
  • LVS负载均衡:理解IPVS和IPVSADM的内部工作原理
  • c语言回顾-结构体
  • stable diffusion最全插件大全,新手必备指南
  • 大模型开发LangChain简介
  • Camtasia Studio 2024软件最新版下载【安装详细图文教程】
  • 抖音视频素材在哪找无版权?免版权可以剪辑视频素材网站分享
  • Dubbo-使用zookeeper作为注册中心时节点的概述
  • 秋招突击——第四弹——Java的SSN框架快速入门——Maven
  • 【Python】数据处理:CSV文件操作
  • SpringBoot集成Elasticsearch实例
  • 2024.ZCPC.M题 计算三角形个数
  • Java常见设计模式入门与实践