C51单片机学习笔记之矩阵键盘
简介
矩阵键盘一般为4×4或4×3的。矩阵键盘的判断方式分按行扫描和按列扫描。
简单说就是给全体一个高电平,然后给一个按键的一端附上低电平,再判断另一端是否为低电平。
原理图
代码部分
#include <REGX52.H>
void delay()//延时函数
{unsigned int i;for(i=0;i<30000;i++);
}
unsigned char MatrixKey()
{unsigned char KeyNumber;//定义一个返回值P1=0xFF;//全体给高电平P1_0=0;//一端给低电平if(P1_4==0)//判断另一端是否为低电平
{delay();while(P1_4==0);delay();KeyNumber=1;//返回第一个按键}if(P1_5==0){delay();while(P1_4==0);delay();KeyNumber=2;}if(P1_6==0){delay();while(P1_4==0);delay();KeyNumber=3;}P1=0xFF;P1_1=0;if(P1_4==0){delay();while(P1_4==0);delay();KeyNumber=4;}if(P1_5==0){delay();while(P1_4==0);delay();KeyNumber=5;}if(P1_6==0){delay();while(P1_4==0);delay();KeyNumber=6;}P1=0xFF;P1_2=0;if(P1_4==0){delay();while(P1_4==0);delay();KeyNumber=7;}if(P1_5==0){delay();while(P1_4==0);delay();KeyNumber=8;}if(P1_6==0){delay();while(P1_4==0);delay();KeyNumber=9;}P1=0xFF;P1_3=0;if(P1_4==0){delay();while(P1_4==0);delay();KeyNumber=10;}if(P1_5==0){delay();while(P1_4==0);delay();KeyNumber=11;}if(P1_6==0){delay();while(P1_4==0);delay();KeyNumber=12;}return KeyNumber;//返回值
}
结论
代码我只给了矩阵键盘这部分。矩阵键盘这方面知识很简单但也很重要,到后面的学习一般都会用得到。
C51单片机学习笔记之矩阵键盘相关推荐
- 【C51单片机学习笔记--DS1302时钟芯片蜂鸣器I2C总线AT24C02存储器】
C51单片机学习笔记–DS1302时钟芯片&&蜂鸣器&&I2C总线&&AT24C02存储器 文章目录 一.DS1302时钟芯片介绍 二.DS1302时钟 ...
- C51单片机学习笔记之定时器
简介 "定时器/计数器"说的是一个东西,因为它既能计时也能计数.是存在于单片机内部的一个独立的硬件部分,依赖晶振产生固定的时间间隔,产生了一定量的固定时间间隔后会引发定时器中断从而 ...
- c51单片机学习笔记-LED流水灯实验
目的:实现 LED 流水灯,只需循环让 D1-D8 指示灯逐个点亮. 方法:点亮 D1 且把 D2-D8 熄灭,延时一段时间后再点亮 D2 且把 D1. D3-D8 熄灭,延时一段时间后再点亮 D3 ...
- C51单片机学习笔记(一)——搭建开发环境及烧写工具
C51单片机学习笔记(一)--搭建开发环境及烧写工具 文章目录 C51单片机学习笔记(一)--搭建开发环境及烧写工具 1.搭建软件开发环境及使用(Keil uVision) 2.将程序下载到单片机(烧 ...
- 【C51单片机学习笔记----DS18B20温度传感器LCD1602液晶屏直流电机调速与呼吸灯AD模数转换红外外部中断】
文章目录 一.DS18B20温度传感器 1.DS18B20温度传感器连接原理图 2.DS18B20温度传感器单总线通信时序 3.DS18B20温度传感器代码模块 二.LCD1602液晶屏 1.LCD1 ...
- C51单片机学习笔记之串口通信
简介 串口通信就是单片机和pc之间的一种通信方式. 通信方式:并行,串行,同步,异步(最常用的) 传输方向:单工,半双工(不同时间),全双工 基本结构 相关寄存器 SCON串口控制寄存器(主要用方 ...
- 【蓝桥杯-单片机学习笔记(六)】矩阵键盘控制数码管显示0~F
一.要求 在CT107D单片机训练平台上,首先将J5处的跳线帽接到1~2引脚,使按键S4~S19组成4*4的矩阵键盘.在扫描按键的过程中,发现有按键触发信号后,待按键松开后,数码管显示相应的数字.按键 ...
- AutoLeaders控制组—51单片机学习笔记
文章目录 AutoLeaders控制组-51单片机学习笔记 1.1单片机及开发板介绍 单片机介绍 单片机应用领域 STC89C52单片机 内部结构 开发板介绍 2.1点亮一个Led 新建工程 编程 认 ...
- 51单片机学习笔记-1简介及点灯
51单片机学习笔记 文章目录 51单片机学习笔记 1. 51单片机简介 1.1 安装软件 1.2 单片机简介 2. LED灯 2.1点亮一个LED 2.1.1原理分析 2.1.2 创建工程 2.2LE ...
最新文章
- 项目中WebService使用Spring容器的配置
- 小而美的个人博客——前端——blog
- ansible(6)——模块命令command、shell详细用法
- 智能手机计步算法c语言实现,【转载】智能手机计步器算法的实现
- 解决安卓TextView高度和textSize大小不一致问题
- PHP中的方形按钮怎么敲,php 魔术方法使用说明
- Spring Cloud Consul
- python3可视化窗口操作_Python3.x+PyQtChart实现数据可视化界面(PyQtChart绘图;还有保存图片)和业务逻辑分离案例01_自己写的,有UI界面源代码...
- 重磅发布|主机安全联动蜜罐解决方案助力大型攻防演练
- IPtables中SNAT、DNAT和MASQUERADE的含义
- 基于SSM实现水果蔬菜商城管理系统
- Depsolving loop limit reached
- 【神经网络务实:Deepin Linux 安装使用yolov5】
- win7麦克风没声音怎么设置
- ARM体系结构与编程(更)
- 求解矩阵A的满秩分解的一般方法
- 二叉树的四种遍历方式(前序遍历、中序遍历、后序遍历、测层序遍历)
- c 语言实现多线程排序,在c中使用多线程快速排序
- 笔记:论文摘要和引言的写法
- Codec2类的解析