• 大小: 88KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-29
  • 语言: 其他
  • 标签: 1602显示  密码锁  

资源简介

程序烧录到单片机后,1602会显示:“welocme! Input password!”,这时按键11,进入功能选择界面,1602会显示:“0:enter mima 13:alter mima” 如果按按键0,1602会显示:“password:”,这时需要输入密码12345678(输密码过程中不小心按错,可以按按键14撤回按错的这位密码),如果密码正确1602会显示:“password right!”,否则,显示:“password error!”。这时按按键0,进入重新输入密码状态。在1602显示:“password right!”或“password error!”时, 按按键13,1602会显示:“old password:”,这时输入密码12345678,然后按按键15,如果密码正确1602会快速显示“oldpassword right”,接着显示:“new password:”这时随意输入8位密码(如98765432)这时1602会显示:“alter success!”。这时按按键11,返回功能选择界面。

资源截图

代码片段和文件信息

/*-----------------------------------------------
  名称:LCD1602
  引脚定义如下:1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E 7-14 DB0-DB7 15-BLA 16-BLK
------------------------------------------------*/
#include “1602.h“
#include “delay.h“

#define CHECK_BUSY

sbit RS = P5^4;   //定义端口 
sbit RW = P5^5;
sbit EN = P4^0;

#define RS_CLR RS=0 
#define RS_SET RS=1

#define RW_CLR RW=0 
#define RW_SET RW=1 

#define EN_CLR EN=0
#define EN_SET EN=1

#define DataPort P6

void Delay5ms() //@12.000MHz
{
unsigned char i j;

_nop_();
_nop_();
i = 78;
j = 233;
do
{
while (--j);
} while (--i);
}

/*------------------------------------------------
              判忙函数
------------------------------------------------*/
//bit LCD_Check_Busy(void) 
//{ 
//#ifdef CHECK_BUSY
// DataPort= 0xFF; 
// RS_CLR; 
// RW_SET; 
// EN_CLR; 
// Delay5ms();
// EN_SET;
// return (bit)(DataPort & 0x80);
//#else
// return 0;
//#endif
//}
/*------------------------------------------------
              写入命令函数
------------------------------------------------*/
void LCD_Write_Com(unsigned char com) 
{  
// while(LCD_Check_Busy()); //忙则等待
RS_CLR; 
RW_CLR; 
DataPort= com;
Delay5ms();
EN_SET;
Delay5ms(); 
EN_CLR;
}
/*------------------------------------------------
              写入数据函数
------------------------------------------------*/
void LCD_Write_Data(unsigned char Data) 

// while(LCD_Check_Busy()); //忙则等待
RS_SET; 
RW_CLR;   
DataPort= Data; 
Delay5ms();
EN_SET;
Delay5ms();
EN_CLR;
}

/*------------------------------------------------
                清屏函数
------------------------------------------------*/
void LCD_Clear(void) 

LCD_Write_Com(0x01); 
Delay5ms();
}
/*------------------------------------------------
              写入字符串函数
------------------------------------------------*/
void LCD_Write_String(unsigned char xunsigned char yunsigned char *s) 
{     
   
while (*s) 
{     
LCD_Write_Char(xy*s);     
s++;  
x++;   
}
}
/*------------------------------------------------
              写入字符函数
------------------------------------------------*/
void LCD_Write_Char(unsigned char xunsigned char yunsigned char Data) 
{     
if (y == 0)     
LCD_Write_Com(0x80 + x);       
else     
LCD_Write_Com(0x80 + 0x40 + x);             
LCD_Write_Data(Data);  
}
/*------------------------------------------------
              初始化函数
------------------------------------------------*/
void LCD_Init(void) 
{
// LCD_Write_Com(0x38);    /*显示模式设置*/ 
// DelayMs(5); 
// LCD_Write_Com(0x38); 
// DelayMs(5); 
// LCD_Write_Com(0x38); 
// DelayMs(5); 
// LCD_Write_Com(0x38);  
// LCD_Write_Com(0x08);    /*显示关闭*/ 
// LCD_Write_Com(0x01);    /*显示清屏*/ 
// LCD_Write_Com(0x06);    /*显示光标移动设置*/ 
// DelayMs(5); 
// LCD_Write_Com(0x0C);    /*显示开及光标设置*/
LCD_Write_Com(0x38);
LCD_Write_Com(0x0c);
LCD_Write_Com(0x06);
LCD_Write_Com(0x01);
}
   


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       3091  2019-04-25 17:06  基于1602的电子密码锁源码\1602.c

     文件        693  2019-04-25 17:06  基于1602的电子密码锁源码\1602.h

     文件       3871  2019-05-13 13:04  基于1602的电子密码锁源码\AT24C04\AT24C0X.c

     文件        511  2019-04-18 16:20  基于1602的电子密码锁源码\AT24C04\AT24C0X.h

     文件        853  2019-05-13 13:37  基于1602的电子密码锁源码\delay.c

     文件        667  2019-05-13 13:37  基于1602的电子密码锁源码\delay.h

     文件        844  2019-05-13 12:01  基于1602的电子密码锁源码\key\key.c

     文件        174  2019-04-22 12:37  基于1602的电子密码锁源码\key\key.h

     文件       1744  2019-04-22 10:47  基于1602的电子密码锁源码\keyboard.c

     文件        550  2018-12-15 11:05  基于1602的电子密码锁源码\keyboard.h

     文件       8069  2019-05-13 18:54  基于1602的电子密码锁源码\main.c

     文件       6578  2019-05-13 13:37  基于1602的电子密码锁源码\obj\1602.lst

     文件      22769  2019-05-13 13:37  基于1602的电子密码锁源码\obj\1602.obj

     文件        122  2019-05-13 13:37  基于1602的电子密码锁源码\obj\1602.__i

     文件       7032  2019-05-13 13:04  基于1602的电子密码锁源码\obj\AT24C0X.lst

     文件      25262  2019-05-13 13:04  基于1602的电子密码锁源码\obj\AT24C0X.obj

     文件        139  2019-05-13 13:04  基于1602的电子密码锁源码\obj\AT24C0X.__i

     文件       2311  2019-05-13 13:37  基于1602的电子密码锁源码\obj\delay.lst

     文件       1640  2019-05-13 13:37  基于1602的电子密码锁源码\obj\delay.obj

     文件        125  2019-05-13 13:37  基于1602的电子密码锁源码\obj\delay.__i

     文件       2968  2019-05-13 12:40  基于1602的电子密码锁源码\obj\key.lst

     文件      19504  2019-05-13 12:40  基于1602的电子密码锁源码\obj\key.obj

     文件       3510  2019-04-22 11:00  基于1602的电子密码锁源码\obj\keyboard.lst

     文件      19178  2019-04-22 11:00  基于1602的电子密码锁源码\obj\keyboard.obj

     文件      23093  2019-05-13 18:54  基于1602的电子密码锁源码\obj\main.lst

     文件      33442  2019-05-13 18:54  基于1602的电子密码锁源码\obj\main.obj

     文件        122  2019-05-13 18:54  基于1602的电子密码锁源码\obj\main.__i

     文件      97546  2019-05-13 18:54  基于1602的电子密码锁源码\obj\实用密码锁

     文件       1015  2019-05-13 18:54  基于1602的电子密码锁源码\obj\实用密码锁.build_log.htm

     文件       6647  2019-05-13 18:54  基于1602的电子密码锁源码\obj\实用密码锁.hex

............此处省略16个文件信息

评论

共有 条评论