STM32 (基于HAL库)4×4矩阵按键驱动程序
2024-05-22 12:04:21 4.49MB stm32
1
本文介绍的是PIC单片机人机接口模块4×4行列式键盘的电路设计。
2024-02-29 18:26:54 189KB PIC单片机 人机接口 4×4行列式
1
本文介绍的是PIC单片机人机接口模块4×4行列式键盘的程序设计
2024-02-29 18:25:07 2.31MB PIC单片机 人机接口 4×4行列式
1
#include #define uchar unsigned char #define uint unsigned int uchar buff,times,j; unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f, //0,1,2,3 0x66,0x6d,0x7d,0x07, //4,5,6,7 0x7f,0x6f,0x77,0x7c, //8,9,A,B 0x39,0x5e,0x79,0x71,0x00}; //C,D,E,F,null unsigned char idata value[8]; void delay1ms(void) //消抖动 { uchar i; for(i=200;i>0;i--); } void delay5ms(void) //延时5ms { unsigned char i,j; for(i=5;i>0;i--) for(j=248;j>0;j--); } void key_scan(void) //键盘输入扫描函数 { uchar hang,lie,key; P3=0xf0; if((P3&0xf0)!=0xf0) //行码为0,列码为1 { delay1ms(); if((P3&0xf0)!=0xf0) //有键按下,列码变为0 { hang=0xfe; //逐行扫描 times++; if(times==2) times=1; while((hang&0x10)!=0) //扫描完4行后跳出 { P3=hang; if((P3&0xf0)!=0xf0) //本行有键按下 { lie=(P3&0xf0)|0x0f; buff=((~hang)+(~lie)); switch(buff) { case 0x11: key=0;break; case 0x21: key=1;break; case 0x41: key=2;break; case 0x81: key=3;break; case 0x12: key=4;break; case 0x22: key=5;break; case 0x42: key=6;break; case 0x82: key=7;break; case 0x14: key=8;break; case 0x24: key=9;break; case 0x44: key=10;break; case 0x84: key=11;break; case 0x18: key=12;break; case 0x28: key=13;break; case 0x48: key=14;break; case 0x88: key=15;break; } value[times-1]=key; //按下的键值 } else hang=(hang<<1)|0x01; //下一行扫描 } } } } void main(void) { uchar key; while(1) { key_scan(); P0=0; for(j=times;j>0;j--) { P2=j-1; //数码管列扫描 P0=dispcode[value[times-j]]; //A-G数据 delay5ms(); } } }
2023-04-04 03:08:28 84KB 51单片机 键盘 数码管
1
用8位数码管组成显示电路提示信息,当输入密码时,只显示“8.”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码正确,则门开,此处用LED发光二极管亮一秒钟做为提示,同时发出“叮咚”声;若密码不正确,禁止按键输入3秒,同时发出“嘀、嘀”报警声;若在3秒之内仍有按键按下,则禁止按键输入3秒被重新禁止。
1
详细的设计过程,完全可用,C语言编写,有图,喜欢的朋友可以下载,下载后希望评论,你的满意就是我的满意
1
4×4原码阵列乘法器的multisim仿真
2022-12-22 10:02:52 1.35MB 综合资源
1
本文向大家推荐一个精简IO接口的4×4键盘电路,该键盘电路仅仅使用4条IO接口引线,即可完成一般需要8位接口才能完成的功能。 在51单片机系统中,经常使用4×4键盘,一般情况下,都是使用一个8位的接口,外接16个按键。 下图就是一个常规的4×4键盘电路图。 这种常规的矩阵键盘电路,相信大家都司空见惯了,好多人都会编写它的驱动程序。 图中使用了P0口的8个引脚(P0.0~P0.7),分别驱动键盘的行和列。按键的编号,在图中分别标注了0~F。 检测按键的一般的思路是在四个列线,分别输出一个低电平,然后输入行线,逐行检测是否存在低电平。 如果在某行有低电平出现,就说明该行、列的交叉点上的按键,被按下了。 其实,这些行、列引线,是“分时”工作的,当在某一列输出低电平的时候,其它的列,输出的就是高电平。如果利用这些输出高电平的列,进行输入,那么就可以极大的节省IO接口的引线数量。基于这个道理,在上图中,下面的四个列驱动引线(P0.4~P0.7),就完全可以省去,只是使用行驱动的引脚(P0.0~P0.3)来分时输出低电平即可。电路见下图。 为了对引脚之间进行
2022-11-16 20:54:48 213KB 矩阵键盘 电路图 基础知识 文章
1
4×4键盘矩阵控制条形LED显示,经典的矩阵键盘程序设计,使用protues进行仿真分析。
1
本文介绍如何在ME300B型51/AVR单片机学习开发系统上使用数码管显示4×4矩阵键盘的键值。
2022-10-26 23:12:11 654KB 矩阵键盘 原理 编程
1