资源简介
程序烧录到单片机后,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个文件信息
相关资源
- PIC单片机完成的电子密码锁
- EDA课程设计_密码锁
- [免费]msp430f149控制PS2键盘并用1602显示
- ADC0809数字电压表 LCD1602显示 汇编程序
- CPLD Verilog数字密码锁 源码
- STM32 电子密码锁设计,LCD12864显示
- LCD1602显示程序
- 基于51单片机射频密码锁设计门禁刷卡
- 关于电子密码锁的毕业设计
- stc8单片机12位ad程序查询模式
- EDA电子密码锁的设计与实现
- 密码+指纹锁资料包.rar
- DS18B20-液晶1602显示温度和控制(代码
- 数字密码锁(完整报告)-课程设计
- 单片机红外遥控密码锁
- STM32+ZE08-CH2O甲醛传感器+LCD1602显示.r
- STM32f103电压采样并用LCD1602显示
- 电子密码锁详细设计文档
- 基于8086的多功能电子密码锁的设计
- 基于FPGA的数字密码锁设计(VHDl代码全
- 基于单片机的指纹识别电子密码锁设
- 基于stm32 和LCD1602的电子密码锁课程设
- STM32-串口能显示-超声波测距SR04 - LC
- multisim 实现四位二进制密码锁功能密
- 汇编51单片机密码锁含论文、程序、
- 基于verilog HDL的四位密码锁程序
- 基于stm32的蓝牙密码锁
- STM32F407VET6_SMART_LCD1602显示
- STM32 LCD12864带日历时钟功能的电子密
- 哈工大数字逻辑电子密码锁设计2020
评论
共有 条评论