标题:
基于51单片机密码锁设计LCD1602显示(原理图+程序)
[打印本页]
作者:
刘志超
时间:
2019-3-26 10:09
标题:
基于51单片机密码锁设计LCD1602显示(原理图+程序)
兄弟们加油!
电路原理图如下:
0.png
(86.37 KB, 下载次数: 54)
下载附件
2019-3-29 04:47 上传
单片机源程序如下:
#include <reg52.h>
#include <stdio.h>
#include <intrins.h>
#include "uart.h"
#include "fpmxx.h"
#include "lcd.h"
#include "keyboard.h"
#include "main.h"
#include "eeprom.h"
#include "12864.h"
#include "led.h"
#include "font.h"
#include "password.h"
sbit UART_RXD = P3^0;
sbit UART_TXD = P3^1;
sbit JIDIANQI = P3^7;
volatile unsigned char Menu_Max_Item = 4;
volatile unsigned char Menu_Select = 1;
//测试继电器开工并关闭一次
void Jidianqi_Test()
{
JIDIANQI = 0;
Delay_Ms(100);
JIDIANQI = 1;
}
void main()
{
unsigned char first = 1;
unsigned char ucKey = 0xFF;
Buzzer_On();
LED_Blink();
Jidianqi_Test();
LCD_Init();
UART_Init_57600();
Password_Init();
while(1)
{
if(first == 1)
{
FPMXX_Find_Fingerprint();
LCD_Main_Menu(1);
Menu_Select = 1;
first =2;
}
ucKey = getKeyPressed(); //扫描键盘输入
if(ucKey == 11) //#
{
do
{
ucKey = getKeyPressed();
}
while(ucKey != 11); //等待松开按键
switch(Menu_Select)
{
//查找指纹
case 1:
FPMXX_Find_Fingerprint();
LCD_Main_Menu(1);
Menu_Select = 1;
first =2;
break;
//添加指纹
case 2:
FPMXX_Add_Fingerprint();
break;
//清空指纹
case 3:
FPMXX_Delete_All_Fingerprint();
break;
case 4:
Change_Password();
break;
}
}
if(ucKey == 8) //下
{
// Delay_Ms(100);
do
{
ucKey = getKeyPressed();
}
while(ucKey != 8); //等待松开按键
//当前箭头+1
if(Menu_Select!=Menu_Max_Item)
{
Menu_Select++;
}
LCD_Main_Menu(Menu_Select);
}
if(ucKey == 2) //上
{
do
{
ucKey = getKeyPressed();
}
while(ucKey != 2); //等待松开按键
//当前箭头+1
if(Menu_Select!=1)
{
Menu_Select--;
}
LCD_Main_Menu(Menu_Select);
}
Delay_Ms(100); //延时判断100MS检测一次
}
}
复制代码
所有资料51hei提供下载:
FPMXX_89C52RC_演示版资料.zip
(197.02 KB, 下载次数: 48)
2019-3-26 10:08 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
顾天羽
时间:
2019-6-2 18:04
谢谢大佬
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1