资源简介
程序烧录到单片机后,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个文件信息
相关资源
- 基于STC15F2K60S2单片机的温湿度+CO2测量
- 基于51单片机的电子密码锁keil源码电
- MSP430F6638编程实现5按键密码锁
- 51单片机频率计包括占空比1602显示
- verilog-------数字密码锁
- 基于24C02和LCD液晶显示的电子密码锁
- 89C52单片机通过LCD1602显示任意长度字
- DSP2812的LCD1602显示程序
- STC12C5A60S2内部AD+LCD1602显示
- 单片机程序DS18B20-液晶1602显示温度和
- 密码锁Verilog设计程序
- 基于51单片机1602显示 实时时钟
- 基于单片机的红外遥控电子密码锁.
- 密码锁的verilog代码
- c51单片机的经典密码锁keil c
- 数字电子密码锁课程设计
- 基于89c51的等精度频率计lcd1602显示
- 电子密码锁电子密码锁
- MSP430芯片的密码锁软件设计.pdf
- 用FPGA的电子密码锁
- 5Kg电子秤程序LCD1602显示
- 51单片机的步进电机控制,lcd1602显示
- 电子密码Proteus锁仿真
- 基于FPGA的数字密码锁的设计
- LCD1602显示实时温度代码
- C51单片机密码锁4×4矩阵键盘+LCD1602液
- lcd1602显示时分秒
- 基于51单片机的 4×4键盘及8位数码管显
- 51串口接收字符串1602显示
- 温湿度传感器DHT11+1602显示+串口
评论
共有 条评论