資源簡介
文件內含完整代碼與Proteus仿真圖,通過4×4矩陣鍵盤輸入密碼,密碼將在LDC1602液晶顯示屏上顯示,按下輸入鍵將輸入密碼與預設密碼校對

代碼片段和文件信息
/*************************************************??
*文件名稱:?keyscan.c
*作?者:????
*版?本:????V1.00
*環?境:????Keil?uVision4
*說?明:????矩陣鍵盤掃描實驗
*修改記錄:?2020.5??
--------------------------------------------------
/*********************引腳定義********************/
#include?“reg51.h“
#include?“intrins.h“
#define?uchar?unsigned?char //數據類型宏定義
#define?uint?unsigned?int??//數據類型宏定義
#define?outk??P1
/*********************延時函數********************/
void?delayms1(uint?j)
?{
??uchar?i;
??for(;j>0;j--)
???{
i=250;
????while(--i);
??? i=249;
??? while(--i);
???}
?}
/*********************鍵盤處理********************/
uchar?KeyScan(void)
?{
???uchar?cord_hcord_l;//行列值中間變量
???outk=0x0f; ???//行線輸出全為0
???cord_h=outk&0x0f;???//讀入列線值
???if(cord_h!=0x0f)????//先檢測有無按鍵按下
? {
? ?delayms1(10);????????//去抖
??if((outk&0x0f)!=0x0f)
?? {
????cord_h=outk&0x0f;??//讀入列線值
????outk=cord_h|0xf0;??//輸出當前列線值
????cord_l=outk&0xf0;??//讀入行線值
????while((outk&0xf0)!=0xf0);//等待松開并輸出
????return(cord_h+cord_l);//鍵盤最后組合碼值
???}
??}return(0xff);?????//返回該值
}
/*------------------------------------------------
按鍵值處理函數,返回掃鍵值
------------------------------------------------*/
unsigned?char?KeyPro(void)
{
?switch(KeyScan())
?{
??case?0x7e:return?0;break;//0?按下相應的鍵顯示相對應的碼值
??case?0x7d:return?1;break;//1
??case?0x7b:return?2;break;//2
??case?0x77:return?3;break;//3
??case?0xbe:return?4;break;//4
??case?0xbd:return?5;break;//5
??case?0xbb:return?6;break;//6
??case?0xb7:return?7;break;//7
??case?0xde:return?8;break;//8
??case?0xdd:return?9;break;//9
??case?0xdb:return?‘A‘;break;//a
??case?0xd7:return?‘B‘;break;//b
??case?0xee:return?‘C‘;break;//c
??case?0xed:return?‘D‘;break;//d
??case?0xeb:return?‘E‘;break;//e
??case?0xe7:return?‘F‘;break;//f
??default:return?0xff;break;
?}
}??
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????1962??2020-07-14?00:06??密碼鎖\密碼鎖\keyscan.c
?????文件????????127??2020-07-13?13:03??密碼鎖\密碼鎖\KEYSCAN.H
?????文件???????3890??2020-07-21?12:10??密碼鎖\密碼鎖\keyscan.LST
?????文件???????2900??2020-07-21?12:10??密碼鎖\密碼鎖\keyscan.OBJ
?????文件?????133179??2020-07-21?12:10??密碼鎖\密碼鎖\Last?Loaded?密碼鎖.DBK
?????文件???????1708??2020-07-13?21:44??密碼鎖\密碼鎖\LCD1602.C
?????文件????????377??2020-07-13?14:38??密碼鎖\密碼鎖\LCD1602.H
?????文件???????4430??2020-07-21?12:10??密碼鎖\密碼鎖\LCD1602.LST
?????文件???????5499??2020-07-21?12:10??密碼鎖\密碼鎖\LCD1602.OBJ
?????文件???????3147??2020-07-27?19:43??密碼鎖\密碼鎖\main.c
?????文件???????7011??2020-07-21?12:10??密碼鎖\密碼鎖\main.LST
?????文件???????5196??2020-07-21?12:10??密碼鎖\密碼鎖\main.OBJ
?????文件???????6160??2020-07-10?11:14??密碼鎖\密碼鎖\mima.c
?????文件??????12068??2020-07-10?11:14??密碼鎖\密碼鎖\mima.LST
?????文件???????1484??2020-07-10?00:11??密碼鎖\密碼鎖\uart.c
?????文件????????242??2020-05-08?23:31??密碼鎖\密碼鎖\UART.H
?????文件???????3137??2020-07-13?23:19??密碼鎖\密碼鎖\uart.LST
?????文件???????2660??2020-07-13?23:19??密碼鎖\密碼鎖\uart.OBJ
?????文件??????11674??2020-07-21?12:10??密碼鎖\密碼鎖\密碼箱
?????文件???????2522??2020-07-21?12:10??密碼鎖\密碼鎖\密碼箱.hex
?????文件?????????74??2020-07-21?12:10??密碼鎖\密碼鎖\密碼箱.lnp
?????文件??????14668??2020-07-21?12:10??密碼鎖\密碼鎖\密碼箱.M51
?????文件???????2631??2020-07-21?12:10??密碼鎖\密碼鎖\密碼箱.plg
????.......?????91746??2020-07-27?19:43??密碼鎖\密碼鎖\密碼箱.uvgui.茂名余文樂
????.......??????6104??2020-07-27?19:43??密碼鎖\密碼鎖\密碼箱.uvopt
????.......?????14595??2020-07-27?19:34??密碼鎖\密碼鎖\密碼箱.uvproj
????.......?????58675??2020-07-20?14:52??密碼鎖\密碼鎖\密碼箱_uvopt.bak
????.......?????13729??2020-07-13?14:41??密碼鎖\密碼鎖\密碼箱_uvproj.bak
?????文件?????133056??2020-07-27?19:45??密碼鎖\密碼鎖\密碼鎖.DSN
?????文件????????768??2020-07-27?19:45??密碼鎖\密碼鎖\密碼鎖.PWI
............此處省略5個文件信息
評論
共有 條評論