资源简介
4*4按键完成输入,LCD1602显示,24C04掉电存储
代码片段和文件信息
//----------main.c
#include
#include
#include <24C04.h>
#include “LCD1602.h“
#define uchar unsigned char
#define uint unsigned int
uchar Pre_KeyNo = 16 KeyNo = 16;
uchar code title_Text[] = “Your Password...“;
uchar DSY_BUFFER[10] = ““;
uchar UserPassword[10] = ““;
sbit LED_OPEN = P2^7;
sbit Psaaword_Error = P2^6;
sbit BEEP = P3^7;
sbit LOCK =P3^0;
void Beep()
{
uchar i;
for(i = 0; i < 100; i++)
{
DelayMS(1);
BEEP = ~BEEP;
}
BEEP=0;
}
void Clear_Password()
{
UserPassword[0] = ‘\0‘;
DSY_BUFFER[0] = ‘\0‘;
}
// 主程序
//-----------------------------------------------------------------
void main()
{
uchar i = 0;
uchar IIC_Password[10];
uchar IS_Valid_User = 0;
P0 = 0xFF;
P1 = 0xFF;
P2 = 0xFF;
// TMOD = 0x02; //T0设置为8位自动重装模式
// TH0 = 175;
// TL0 = 175;
// TR0 = 1; //启动T0
DelayMS(10);
LCD_Init(); //初始化LCD
IIC_24C04_Init(); //初始化24C04
Display_String(title_Text0x00); //在第1行显示标题
//24C04的内容已由初始化BIN文件导入
//将24C04中预先写入的密码读入pass
RecString(0xa0 0 IIC_Password 6);
IIC_Password[6] = ‘\0‘;
while(1)
{
P1 = 0xF0;
if(P1 != 0xF0) KeyNo = Key_Scan(); //扫描键盘获取键序号KeyNo
switch ( KeyNo )
{
case 0: case 1: case 2: case 3: case 4:
case 5: case 6: case 7: case 8: case 9:
if ( i<= 5 ) //密码限制在6位以内
{
//如果i为0则执行一次清屏
if (i ==0) Display_String(“ “0x40);
UserPassword[i] = KeyNo + ‘0‘;
UserPassword[i+1] = ‘\0‘;
DSY_BUFFER[i] = ‘*‘;
DSY_BUFFER[i+1] = ‘\0‘;
Display_String(DSY_BUFFER0x40);
i++;
}
break;
case 10: //按A键开锁
if (strcmp(UserPasswordIIC_Password) == 0)
{
LED_OPEN = 0; //点亮LED
Clear_Password();
Display_String(“Unlock OK! “0x40);
IS_Valid_User = 1;
LOCK = 0;
DelayMS(2500);
LOCK = 1;
}
else
{
LED_OPEN =1; //关闭LED
while(i--){
LOCK=1;
Psaaword_Error = 0;
DelayMS(100);
Psaaword_Error = 1;
DelayMS(100);
}
Clear_Password();
Display_String(“ERROR ! “0x40);
IS_Val
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6056 2020-11-02 12:11 111.hex
目录 0 2020-11-02 19:07 24C04 BIN 文件\
文件 126 2009-02-27 16:28 24C04 BIN 文件\24c04-bin.cpp
文件 6 2008-08-20 10:14 24C04 BIN 文件\24C04.BIN
文件 32 2020-11-02 19:10 24C04 BIN 文件\说明.txt
文件 1757 2020-11-02 12:07 24C04.h
文件 108221 2009-06-04 22:02 Backup Of 用24C04与1602LCD设计电子密码锁.DBK
文件 637 2020-11-01 14:30 KeyPAD.h
文件 140085 2020-11-02 19:08 Last Loaded 用24C04与1602LCD设计电子密码锁.DBK
文件 1415 2020-10-31 14:10 LCD1602.h
文件 5331 2020-11-02 12:11 main.c
文件 140067 2020-11-02 19:09 用24C04与1602LCD设计电子密码锁.DSN
文件 1054 2020-11-02 19:11 用24C04与1602LCD设计电子密码锁.PWI
相关资源
- 汽车电子编程规范(Unlock-MISRA C 2012)
- 密码学 重合指数计算(IC.cpp)
- 转 VC++ 实现电子邮件(Email)发送
- 仿射密码-Affine cipher
- 电子宠物C++完整代码可直接运行
- VC源码获取WINDOWS系统所有的用户密码
- Effective C++(第三版中文版) - Scott
- 仿射密码C语言程序代码
- 基于C51与1602液晶显示屏的万年历电子
- 扩展欧几里德算法c++代码
- 串口通信数据库:基于RFID的电子票证
- 多表代换 加密解密 C语言实现
- MFC编程凯撒密码
- C++primer第四版清晰版电子书及全部答
- MH背包密码算法算法原理与实现
- the Art & Science of C电子版PDF+DOC 带目录
- hill密码的加密、解密以及破译.zip
- RAR密码暴力破解(含源码 C语言实现)
- 精通VC++指纹模式识别系统算法(源码
- 新概念51单片机C语言教程第2版郭天祥
- C++ Primer习题集 第5版-Stanley B. Lippman
- 基于MFC的无线串口调试工具-哈工大威
- DES算法C++实现.rar
- Effective C++ 中文mobi格式
- DES文件加密解密系统 密码学课设
- 数据结构英文版电子书
- QT小项目-电子词典
- 电子科大12-17年计算机复试-笔试试题
- C语言发送电子邮件正文和附件
- 《软件测试方法和技术》电子书之三
评论
共有 条评论