国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

51單片機學習--矩陣鍵盤、電子密碼鎖

這篇具有很好參考價值的文章主要介紹了51單片機學習--矩陣鍵盤、電子密碼鎖。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

矩陣鍵盤的模塊原理圖:
51單片機學習--矩陣鍵盤、電子密碼鎖,51單片機,51單片機,學習,單片機
功能:按下矩陣按鍵,在LCD上顯示對應的數(shù)值。
采用模塊化編程,在此只給出MatrixKey.c 和 main.c 兩部分代碼

#include <REGX52.H>
#include "Delay.h"

/*
	矩陣鍵盤讀取鍵碼
	按下不放,會停留在此函數(shù),松開時返回數(shù)值,不按返回零
*/
unsigned char Matrixkey()
{
	unsigned char KeyNum = 0;
	
	P1 = 0xFF;
	P1_3 = 0;
	if(P1_7 == 0) {Delay(20); while(P1_7 == 0); Delay(20); KeyNum = 1;}
	if(P1_6 == 0) {Delay(20); while(P1_6 == 0); Delay(20); KeyNum = 5;}
	if(P1_5 == 0) {Delay(20); while(P1_5 == 0); Delay(20); KeyNum = 9;}
	if(P1_4 == 0) {Delay(20); while(P1_4 == 0); Delay(20); KeyNum = 13;}
	
	P1 = 0xFF;
	P1_2 = 0;
	if(P1_7 == 0) {Delay(20); while(P1_7 == 0); Delay(20); KeyNum = 2;}
	if(P1_6 == 0) {Delay(20); while(P1_6 == 0); Delay(20); KeyNum = 6;}
	if(P1_5 == 0) {Delay(20); while(P1_5 == 0); Delay(20); KeyNum = 10;}
	if(P1_4 == 0) {Delay(20); while(P1_4 == 0); Delay(20); KeyNum = 14;}
	
	P1 = 0xFF;
	P1_1 = 0;
	if(P1_7 == 0) {Delay(20); while(P1_7 == 0); Delay(20); KeyNum = 3;}
	if(P1_6 == 0) {Delay(20); while(P1_6 == 0); Delay(20); KeyNum = 7;}
	if(P1_5 == 0) {Delay(20); while(P1_5 == 0); Delay(20); KeyNum = 11;}
	if(P1_4 == 0) {Delay(20); while(P1_4 == 0); Delay(20); KeyNum = 15;}
	
	P1 = 0xFF;
	P1_0 = 0;
	if(P1_7 == 0) {Delay(20); while(P1_7 == 0); Delay(20); KeyNum = 4;}
	if(P1_6 == 0) {Delay(20); while(P1_6 == 0); Delay(20); KeyNum = 8;}
	if(P1_5 == 0) {Delay(20); while(P1_5 == 0); Delay(20); KeyNum = 12;}
	if(P1_4 == 0) {Delay(20); while(P1_4 == 0); Delay(20); KeyNum = 16;}
	
	return KeyNum;
}

這里要注意必須先判斷KeyNum是否為0,否則while不斷循環(huán)會不斷顯示0,導致看不到按下按鈕顯示的數(shù)字

#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "MatrixKey.h"

unsigned char KeyNum;

void main()
{
	LCD_Init();
	LCD_ShowString(1, 1, "HelloWorld");
	
	while(1)
	{
		KeyNum = MatrixKey();
		if(KeyNum) LCD_ShowNum(2, 1, KeyNum, 2);
	}
}

51單片機學習--矩陣鍵盤、電子密碼鎖,51單片機,51單片機,學習,單片機
要利用寫好的矩陣鍵盤來制作一個密碼鎖,只需要調(diào)用MatrixKey文件來直接使用即可,以下是一個簡單的密碼鎖,還有一些bug,不過可以滿足基本需求文章來源地址http://www.zghlxwxcb.cn/news/detail-599173.html

#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "MatrixKey.h"

unsigned char KeyNum;
unsigned int Password, Count;

void main()
{
	LCD_Init();
	LCD_ShowString(1, 1, "PassWord");
	
	while(1)
	{
		KeyNum = MatrixKey();
		if(KeyNum)
		{
			if(KeyNum <= 10) //數(shù)字
			{
				if(Count < 4)
				{
					Password *= 10;
					Password += (KeyNum % 10);
					Count ++; //輸入次數(shù),最多為4
				}
				LCD_ShowNum(2, 1, Password, 4); //更新顯示
			}
			if(KeyNum == 11) //確認鍵
			{
				if(Password == 1234) //如果等于正確密碼
				{
					LCD_ShowString(1, 14, "OK"); //密碼正確
					Password = 0;
					Count = 0;
					LCD_ShowNum(2, 1, Password, 4); //更新顯示
				}
				else
				{
					LCD_ShowString(1, 14, "ERR"); //密碼錯誤
					Password = 0;
					Count = 0;
					LCD_ShowNum(2, 1, Password, 4); //更新顯示
				}
			}
			if(KeyNum == 12) //取消鍵
			{
				Password = 0;
				Count = 0;
				LCD_ShowNum(2, 1, Password, 4); //更新顯示
			}
		}
	}
}

到了這里,關于51單片機學習--矩陣鍵盤、電子密碼鎖的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 使用51單片機的矩陣鍵盤和LCD1602做一個密碼鎖

    使用51單片機的矩陣鍵盤和LCD1602做一個密碼鎖

    文章目錄 前言 一、工具準備 工具一:51單片機 工具二:LCD1602液晶顯示屏 工具三:Keil軟件 二、開始操作 1.LCD1602的程序調(diào)試 2.矩陣鍵盤的程序調(diào)試 3.密碼鎖程序設計 總結(jié) 51單片機是一種8位的可編程控制元件,廣泛應用于各種工業(yè)生產(chǎn)、家電中。51單片機的廠家有很多,如

    2023年04月09日
    瀏覽(28)
  • 51單片機-電子密碼鎖

    51單片機-電子密碼鎖

    實物演示效果: https://www.bilibili.com/video/BV1xh4y1K7uV/?vd_source=6ff7cd03af95cd504b60511ef9373a1d 電子密碼鎖的主要功能 1.按鍵設置6位密碼,輸入密碼若密碼正確,則鎖打開。顯示open! 2.密碼可以自己修改(6位密碼),必須是鎖打開時才能改密。為防止誤操作,修改密碼得輸入兩次。

    2024年01月17日
    瀏覽(30)
  • 51單片機簡易電子密碼鎖

    51單片機簡易電子密碼鎖

    由于作業(yè)需求,在昨天天晚上寫了一個通過lcd1602,i2c,eeprom,按鍵,實現(xiàn)的可以設置密碼的簡易電子鎖, ? ?首先點擊k15(回車鍵)進入 ?進入后可以點擊0-9按鍵輸入6位密碼,錯誤則顯示error,5s后重新顯示密碼輸入頁面,密碼正確則進入。 ? ?進入后可以點擊Esc鍵設置密碼,進入設

    2024年02月02日
    瀏覽(28)
  • 基于51單片機的電子密碼鎖

    基于51單片機的電子密碼鎖

    主要功能: 1、6位密碼開鎖 可以修改用戶密碼和管理員密碼 斷電記憶 3次錯誤報警鎖住鍵盤

    2024年02月11日
    瀏覽(26)
  • 基于51單片機的電子密碼鎖設計

    基于51單片機的電子密碼鎖設計

    一.硬件方案 ????????本系統(tǒng)由STC89C52單片機、4*4矩陣鍵盤,蜂鳴器,復位電路和晶振電路、繼電器等組成,4*4鍵盤主要用于密碼的輸入和修改,蜂鳴器報警,復位電路和晶振電路與STC89C52單片機組成單片機最小系統(tǒng)。它具有設置、修改6位用戶密碼、輸錯報警、密碼錯誤報

    2024年02月16日
    瀏覽(27)
  • 【Proteus仿真】【51單片機】電子密碼鎖設計

    【Proteus仿真】【51單片機】電子密碼鎖設計

    本項目使用Proteus8仿真51單片機控制器,使用LCD1602液晶、矩陣按鍵、蜂鳴器、EEPROM模塊、繼電器模塊等。 系統(tǒng)運行后,LCD1602顯示密碼輸入提示界面,系統(tǒng)存儲在EEPROM的初始密碼為123456, 用戶可通過矩陣按鍵S1-S10輸入數(shù)值0-9,當在密碼輸入過程中有誤,可按S11鍵回刪并重新輸

    2024年02月13日
    瀏覽(21)
  • (含代碼)基于51單片機電子密碼鎖設計

    (含代碼)基于51單片機電子密碼鎖設計

    一.硬件說明 采用STC89C51作為主控芯片,結(jié)合矩陣按鍵輸入模塊、數(shù)碼管顯示模塊、LCD1602液晶顯示、LED、蜂鳴器報警器等電路模塊實現(xiàn)開鎖、上鎖、報警、密碼更改等功能,設計一款可修改密碼且具有報警功能的液晶顯示電子密碼鎖。 主要由STM32單片機+最小系統(tǒng)+LCD1602液晶顯

    2024年01月16日
    瀏覽(30)
  • 基于51單片機的帶矩陣鍵盤指紋密碼電子鎖原理圖PCB

    基于51單片機的帶矩陣鍵盤指紋密碼電子鎖原理圖PCB

    功能: 0.本系統(tǒng)采用STC89C52作為單片機 1.LCD1602液晶顯示功能界面 2.支持添加/刪除/搜索指紋,更改密碼 3.支持指紋和密碼開鎖 4.采用DC002作為電源接口可直接輸入5V給整個系統(tǒng)供電 原理圖: PCB : 主程序: 實物演示視頻: https://www.bilibili.com/video/BV1b3411j7DF/

    2024年02月13日
    瀏覽(21)
  • 基于AT89C51單片機的電子密碼鎖設計與仿真

    基于AT89C51單片機的電子密碼鎖設計與仿真

    點擊鏈接獲取Keil源碼與Project Backups仿真圖: https://download.csdn.net/download/qq_64505944/87760996?spm=1001.2014.3001.5503 源碼獲取 主要內(nèi)容: (1)本設計為了防止密碼被竊取要求在輸入密碼時在LCD屏幕上顯示*號。 (2)設計開鎖密碼位六位密碼的電子密碼鎖。 (3)能夠LCD顯示在密碼正確

    2024年02月03日
    瀏覽(29)
  • 51單片機學習筆記-4矩陣鍵盤

    51單片機學習筆記-4矩陣鍵盤

    [toc] 注:筆記主要參考B站江科大自化協(xié)教學視頻“51單片機入門教程-2020版 程序全程純手打 從零開始入門”。 注:工程及代碼文件放在了本人的Github倉庫。 在鍵盤中按鍵數(shù)量較多時,為了減少I/O口的占用,通常將按鍵排列成矩陣形式。采用逐行或逐列的“掃描”,就可以讀

    2024年02月06日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包