矩阵键盘
#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "MatrixKey.h"
unsigned char KeyNum;
void main()
{
LCD_Init();
while(1)
{
KeyNum=MatrixKey();
if(KeyNum)
{
LCD_ShowNum(1,1,KeyNum,2);
}
}
}
矩阵键盘密码锁(主函数)
#include <REGX52.H>
#include "Delay.h"
#include "LCD1602.h"
#include "MatrixKey.h"
unsigned char KeyNum;
unsigned int Password;
unsigned int Count=0;
void main()
{
LCD_Init();
LCD_ShowString(1,1,"Password:");
while(1)
{
KeyNum=MatrixKey();
if(KeyNum)
{
if(Count<4)
{
if(KeyNum<=10)//ÃÜÂëÇøs1~s10
{
Password*=10;//ÃÜÂë×óÒÆһλ
Password+=KeyNum%10;//»ñȡһλÃÜÂë
Count++;//¼Æ´Î¼ÓÒ»
}
LCD_ShowNum(2,1,Password,4);//¸üÐÂÏÔʾ
}
if(KeyNum==11)//È¡ÏûһλÊý×Ö
{
if(Count>0)
{
Count--;
}
Password/=10;
LCD_ShowNum(2,1,Password,4);//¸üÐÂÏÔʾ
}
if(KeyNum==12)//ÊäÈëÍê³ÉÑéÖ¤¶Ô´í
{
if(Password == 2496)
{
LCD_ShowString(2,14,"YES");
Password = 0;
Count=0;
LCD_ShowNum(2,1,Password,4);//¸üÐÂÏÔʾ
}
else
{
LCD_ShowString(2,14,"NO ");
Password = 0;
Count=0;
LCD_ShowNum(2,1,Password,4);//¸üÐÂÏÔÊ
}
}
}
}
}