用矩形键盘和LCD1602设置一个单片机
这是做完后所有所需要的文件,模板。具体模板以及功能参考我之前发的文章
51单片机常用的一些模块(模块化编程)延时函数模块(delay)独立按键模块(key)数码管模块(Nixie)LCD1602模块矩形键盘模块定时器模块_Dream_begin_的博客-CSDN博客
主函数:
#include <REGX52.H>
#include "Delay.h" //包含Delay头文件
#include "LCD1602.h" //包含LCD1602头文件
#include "MatrixKey.h" //包含矩阵键盘头文件
unsigned char KeyNum;
unsigned int Password,Cout;
void main()
{
LCD_Init(); //LCD初始化
LCD_ShowString(1,1,"Password:"); //LCD显示字符串
while(1)
{
KeyNum=MatrixKey(); //获取矩阵键盘键码
if(KeyNum) //如果有按键按下
{
if(KeyNum<=10) //如果s1到s10按键按下,输入密码
{
if(Cout<4)
{
Password*=10; //密码左移
Password+=KeyNum%10; //使s10按键按下,输出0
Cout++;//加一
}
}
LCD_ShowNum(2,1,Password,4); //更新显示
}
if(KeyNum==11)
{
if(Password==2345)
{
LCD_ShowString(1,14,"ok ");
Password=0;//密码清零
Cout=0; //计次清零
LCD_ShowNum(2,1,Password,4);//更新显示
}
else
{
LCD_ShowString(1,14,"err");
Password=0;//密码清零
Cout=0; //计次清零
LCD_ShowNum(2,1,Password,4);//更新显示
}
}
if(KeyNum==12)
{
Password=0;//密码清零
Cout=0; //计次清零
LCD_ShowNum(2,1,Password,4);//更新显示
}
}
}