資源簡介
程序燒錄到單片機后,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個文件信息
評論
共有 條評論