工具
硬件:普中科技AT89C52系列单片机
编程软件:Keil5
烧录软件:STC-ISP
原理图
教学视频
实验代码
//main.c文件
#include <REGX52.H>
#include "LCD1602.h"
#include "Delay.h"
#include "MatrixKey.h"
#define DEL 10 //矩阵键盘键值为10的键表示删除键
#define SURE 11 //矩阵键盘键值为11的键表示确认键
#define TRUE 1 //真值
#define FALSE 0 //假值
#define NONE 20 //初始化键值,用非0-9数字表示无效值
unsigned char value = NONE; //键值,并初始化为无效值NONE
unsigned char times; //输入有效的密码位数
unsigned char password[] = {
0,1,0,0,7}; //密码“1007”,第0位不用
unsigned char identify = TRUE; //用于判断密码是否输入正确
unsigned char input[5]={
0,0,0,0,0}; //用于存放输入的密码
void main()
{
LCD_Init(); //初始化LCD屏幕
LCD_ShowString(1,1,"Password:");
LCD_ShowString(2,1,"XXXX");
while(1)
{
MatrixKey(&value,×); //获得输入的键值和输入密码位数
if(value>=0 && value <=9){
//判断是否为有效键值(密码)
LCD_ShowNum(2,times,value