二、51单片机 使用Proteus仿真掌握矩阵键盘(仿真及代码)

您所在的位置:网站首页 单片机3*3矩阵按键原理图及代码 二、51单片机 使用Proteus仿真掌握矩阵键盘(仿真及代码)

二、51单片机 使用Proteus仿真掌握矩阵键盘(仿真及代码)

2024-07-07 21:14| 来源: 网络整理| 查看: 265

学习内容:通过proteus实现对51单片机矩阵的掌握

1、键盘接口设计。键盘——向单片机输入数据、命令等功能,是人机对话的主要手段。由若干按键按照一定规则组成。每一个按键实质上是一个按键开关,按构造可分为有触点开关按键和无触点按键。有触点开关按键常见的有:触摸式键盘、薄膜键盘、导电橡胶、按键式键盘等,最常用按键式键盘。无触点开关按键有电容式按键、光电式按键和磁感应按键等。键盘的任务。任务3项。(1)判别是否有键按下?若有,进入第(2)步。(2)识别哪一个键被按下,并求出相应的键值。(3)根据键值,找到相应键值处理程序入口。

两种去抖动方法。一种是用软件延时来消除按键抖动,基本思想:在检测到有键按下时,该键所对应的行线为低电平,执行一段延时10ms的子程序后,确认该行线电平是否仍为低电平,如果仍为低电平,则确认该行确实有键按下。当按键松开时,行线的低电平变为高电平,执行一段延时10ms的子程序后,检测该行线为高电平,说明按键确实已经松开。采取以上措施,可消除两个抖动期t1和t3的影响。另一种去除按键抖动的方法是采用专用的键盘/显示器接口芯片,这类芯片中都有自动去抖动的硬件电路。

2、独立式键盘接口设计案例。独立式键盘特点各键相互独立,每个按键各接一条I/O口线,通过检测I/O输入线的电平状态,易判断哪个按键被按下,图中上拉电阻保证按键未按下时,保证对应I/O口线为稳定高电平。当某一按键按下时,对应I/O口线就变成低电平,与其他按键相连的I/O口线仍为高电平。

本设计案例矩阵键盘十六个按键分别对应0~F, Proteus仿真图如下

源码如下:

#include #include #define uchar unsigned char sbit L0=P1^0; sbit L1=P1^1; sbit L2=P1^2; sbit L3=P1^3; // 定义列 // uchar jyw[16]={0xc0,0xf9,0xa4,0xb0, //数码管显示值0-F对应的段码值// 0x99,0x92,0x82,0xf8, 0x80,0x90,0x88,0x83, 0xc6,0xa1,0x86,0x8e}; void delay(unsigned int time) //延时子程序// { unsigned int i; for(i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3