亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版
標題:
51單片機+LCD1602+4*4矩陣鍵盤做的密碼鎖代碼
[打印本頁]
作者:
1842559923
時間:
2023-4-14 14:14
標題:
51單片機+LCD1602+4*4矩陣鍵盤做的密碼鎖代碼
51單片機+LCD1602+4*4矩陣鍵盤做的密碼鎖
密碼可以輸入10位數
#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "MatrixKey.h"
unsigned char KeyNum;
unsigned long Password,Count;
void main()
{
LCD_Init();
LCD_ShowString(1,1,"Password:");
while(1)
{
KeyNum=MatrixKey();
if(KeyNum)
{
if(KeyNum<=10) //如果S1~S10按鍵按下,輸入密碼
{
if(Count<4) //如果輸入次數小于4
{
Password*=10; //密碼左移一位
Password+=KeyNum%10; //獲取一位密碼
Count++; //計次加一
}
LCD_ShowNum(2,1,Password,4); //更新顯示
}
if(KeyNum==11) //如果S11按鍵按下,確認
{
if(Password==2345) //如果密碼等于正確密碼
{
LCD_ShowString(1,14,"OK "); //顯示OK
Password=0; //密碼清零
Count=0; //計次清零
LCD_ShowNum(2,1,Password,4); //更新顯示
}
else //否則
{
LCD_ShowString(1,14,"ERR"); //顯示ERR
Password=0; //密碼清零
Count=0; //計次清零
LCD_ShowNum(2,1,Password,4); //更新顯示
}
}
if(KeyNum==12) //如果S12按鍵按下,取消
{
Password=0; //密碼清零
Count=0; //計次清零
LCD_ShowNum(2,1,Password,4); //更新顯示
}
}
}
}
復制代碼
#include <REGX52.H>
#include "Delay.h"
/**
* @brief 矩陣鍵盤讀取按鍵鍵碼
* @param 無
* @retval KeyNumber 按下按鍵的鍵碼值
如果按鍵按下不放,程序會停留在此函數,松手的一瞬間,返回按鍵鍵碼,沒有按鍵按下時,返回0
*/
unsigned char MatrixKey()
{
unsigned char KeyNumber=0;
P1=0xFF;
P1_3=0;
if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=1;}
if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=5;}
if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=9;}
if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=13;}
P1=0xFF;
P1_2=0;
if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=2;}
if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=6;}
if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=10;}
if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=14;}
P1=0xFF;
P1_1=0;
if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=3;}
if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=7;}
if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=11;}
if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=15;}
P1=0xFF;
P1_0=0;
if(P1_7==0){Delay(20);while(P1_7==0);Delay(20);KeyNumber=4;}
if(P1_6==0){Delay(20);while(P1_6==0);Delay(20);KeyNumber=8;}
if(P1_5==0){Delay(20);while(P1_5==0);Delay(20);KeyNumber=12;}
if(P1_4==0){Delay(20);while(P1_4==0);Delay(20);KeyNumber=16;}
return KeyNumber;
}
復制代碼
矩陣鍵盤密碼鎖.rar
2023-4-14 14:13 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
43.54 KB, 下載次數: 17, 下載積分: 黑幣 -5
代碼
作者:
heicad
時間:
2023-4-14 23:42
樓主能分享一下原理圖嗎?
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1