一、扫描

1、数码管扫描

原理:显示第一位->显示第二位->显示第三位->......然后快速循环这个过程,最终实现所有数码管同时显示的效果

2、矩形键盘扫描

原理:读取第一行(列)->读取第二行(列)->读取第三行(列)->......然后快速循环这个过程,最终实现所有按键同时检测的效果

3、最大的益处就是减少了I/O口的占用

二、Templates

Templates可以填入相应的模板快速写代码,用管理者身份打开软件,右键即可自行添加模板

三、矩形键盘键码显示

四、矩形键盘密码锁

#include <REGX52.H>
#include"Delay.h"
#include"MatrixKey.h"
#include"LCD1602.h"
unsigned int KeyNum;
unsigned int Password,count;
void main(){
    LCD_Init();
    while(1){
        KeyNum=MatrixKey();
        if(KeyNum){
            if(KeyNum<=10){
                if(count<4){
                    Password*=10;
                    Password+=KeyNum%10;
                    count++;
                }
                LCD_ShowNum(2,1,Password,4);
            }
            if(KeyNum==11){
                if(Password==2345){
                    LCD_ShowString(1,14,"OK ");
                    Password=0;
                    count=0;
                }else{
                    LCD_ShowString(1,14,"ERR");
                    Password=0;
                    count=0;
                }
            }
            if(KeyNum==12){
                Password=0;
                count=0;
            }
        }
    }
}

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐