仿真文件和完整源码下载地址:http://www.51hei.com/bbs/dpj-22586-1.html
论文下载地址:http://www.51hei.com/f/电子密码锁论文最终稿.docx
下面是mima.c子程序:
#include
#include "mima.h"
#include "1602.h"
#include "矩阵键盘.h"
#include "delay_ms.h"
/*比较密码函数,密码正确返回1,不正确返回0*/
bit mimaduibi(unsigned char *string1,unsigned char *string2)
{
unsigned char count;
for(count = 0; count < 6; count++)
{
if(string1[count] != string2[count])
return 0;
}
return 1;
}
/*选择输入密码或修改密码函数,输入密码返回A,修改密码返回B*/
unsigned char step_choose(void)//选择输入密码或修改密码处理函数
{
uchar key;
key = 0xff;
write_com(0x06);//写一个字符后地址指针加 1
write_com(0x01);//显示清零,数据指针清零
lcd_pos(0,0);
write_n_char(" Input password ");
lcd_pos(1,0);
write_n_char(" Press key A ");
while((key != A) && (key != B))
key = keyscan();
return key;
}
/*输入密码函数,密码正确返回1,错误返回0*/
bit input_mima(uchar * mima)//输入密码函数
{
unsigned char count,key;
lcd_pos(1,0);
for(count = 0; count < 7; count++)
{
delay_ms(100);
if(count < 6)
{
do{key = keyscan();}//扫描键盘
while(key == 0xff);
if((key != backspace) && (key != A) && (key != enter))//不是退格也不是确认键
{
write_data('*');//是数字键显示*
mima[count] = key;
// continue;
}
if(key == backspace)//是退格键
{
if(count > 0)
{
lcd_pos(1,--count);//光标前移一位
write_data(' ');//清空一位
mima[count] = ' ';//写空
lcd_pos(1,count);
count--;//密码计数器减一 ,因为循环后会+1,所以在这里要加1
}
}
if(key == enter)//没完成密码输入返回错误信息
{
lcd_pos(0,0);
return(0);
}
}
if(count==6)
{
do{key = keyscan();}
while((key != backspace)&&(key != enter));
if(key == backspace)
{
lcd_pos(1,--count);
write_data(' ');
mima[count]=' ';
lcd_pos(1,count);
count--;
}
if(key == enter)//密码位数正确
{
return(1);//返回1正确信号
}
}
}
}
关键字:单片机 电子密码锁
引用地址:
单片机电子密码锁子程序
推荐阅读最新更新时间:2024-03-16 14:04
Energy Micro推出世界最高能效微控制器
节能型微控制器公司Energy Micro今日宣布其第一个产品系列开始供货,推出了32位EFM32 Gecko(壁虎) 微控制器系列。以超高效的ARM® Cortex™-M3微控制器架构为基础,EFM32G已被证实可将电池寿命延长到原来的4倍,仅消耗现有的8位、16位或32位微控制器所需能量的四分之一。 经验证,由于在执行来自Flash的实际代码时每兆赫所耗电量低于180µA,因此EFM32G与任一微控制器相比,实现了其活动模式电流消耗最低。它的待机电流消耗也是最低,在运行实时时钟、上电复位、掉电检测电路、以及全RAM和CPU保留时的典型值为900nA,在最深度睡眠模式时则低于20nA。此外,该微控制器以低于2
[汽车电子]
低频扫频仪的三种设计方案介绍
1 引言 当今世界,电子科技飞速发展,数字化、网络化、信息化,影响着人们的衣、食、住、行。但现有电子科研实验室缺少频率在1MHz以下的扫频仪器,严重阻碍了科研人员的创作速度。语音信号要进行数字处理时,首先必须经过采样、量化、编码,由Nyquist采样定理可知,若要无失真地重建原始信号,采样频率必须大于或等于原始信号最高频率的两倍(Ws≥2Wh),否则采样信号的频谱将会发生混叠,此时,无法恢复原始信号,显然原始信号的频率Wh越低,采样频率Ws也越低,数码率也就越低,并可大大减少存储空间和信息传输速率,于是,可以在采样之前使原始信号通过一个低通滤波器,只允许低于Ws/2的频率分量通过,而将更高的频率分量滤除。由语音信号的标准可知,在采
[测试测量]
单片机入门程序五
;*****************************************; ;实验名称:两位数码管动态显示0-99实验 ; ;作者: 龙谊 ; ;版本: VER 1.0 ; ;说明: 采用共阴极数码管 ; ;修改: 无 ; ;编程语言: 汇编语言 ; ;*****************************************; ORG 00H ST
[单片机]
电容式二维烟箱缺条检测设计
针对烟草流水线上装箱时出现的烟箱缺条现象,提出了采用微电容检测芯片AD7746构成的电容传感器对烟箱进行二维检测。该系统分上位机和下位机两部分,上位机和下位机之间采用RS485通讯。上位机采用LabVIEW编写的烟箱管理软件;下位机系统采用主从单片机结构,主机采用一片P89C51RD2单片机,从机则由十片P89C669单片机构成。测量结果表明,系统检测效果可靠,具有很好的应用前景。 卷烟生产中,在烟条装箱打包时,装箱打包机在烟条生产流量很大或来料不足时工作不正常,常出现烟箱中缺条现象。为了能有效地识别出缺条箱烟,许多卷烟厂在生产线上设有缺条检测装置,目前烟箱缺条检测方法包括射线检测法、称重法、电容检测法等。这些方法能检测出缺条箱
[测试测量]
STM32CubeMX配置工具 轻松优化MCU配置参数
使用意法半导体最新版的STM32CubeMX配置工具创建STM32 微控制器(MCU)项目,将会更直观,更高效。STM32CubeMX v.5.0的最新设计的多面板GUI界面在不改变屏幕视图的情况下,能够让用户查看更多参数,完成更多任务,从而让优化MCU配置参数变得更加轻松自如,得心应手。 STM32CubeMX帮助用户从800多款STM32产品中选择最适合的产品,配置基本硬件功能,自动生成MCU初始化代码,开启嵌入式项目开发之旅。 用户可以利用功能强大的器件配置实用工具配置微控制器参数,包括可解决冲突的引脚选择器和时钟树设置的辅助,以及能够在早期准确评估能耗需求和节能机会的功耗计算器,还有用于配置外围设备和
[单片机]
车规MCU的软件开发套件
Non-AUTOSAR软件 虽然AUTOSAR是一个开发软件架构,在代码重用性、可维护性、开发效率和代码质量方面有诸多优势,但是使用AUTOSAR标准需要一定的授权费用且大多数AUTOSAR软件和配置工具都是商用付费软件,需要额外购买license授权。因此,只有量大的平台化项目,Car OEM和Tier-1才会完全采用AUTOSAR架构软件进行开发 , 以cover上百万的AUTOSAR软件费用。 对于项目预算有限、非平台化的小项目,非AUTOSAR(Non-AUTOSAR)软件开发是一个不错的选择。虽然很多大客户有自己在某个/多个应用开发方面多年积累的软件库可以使用,但是面对更新换代越来越快且越来越复杂的车规MCU硬件和日
[嵌入式]
MCS-51单片机P0口扩展技术研究
0 引言 在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术、高可靠性和高性价比,占领了工业测控和自动化工程应用的主要市场,并成为国内单片机应用领域中的主流机型。 MCS-51单片机的并行口有P0、P1、P2和P3,由于P0口是地址/数据总线口,P2口是高8位地址线,P3口具有第二功能,这样,真正可以作为双向I/O口应用的就只有P1口了。这在大多数应用中是不够的,因此,大部分MCS-51单片机应用系统设计都不可避免的需要对P0口进行扩展。 由于MCS-51单片机的外部RAM和I/O口是统一编址的,因此,可以把单片机外部64K字节RAM空间的一部分作为扩展外围I/O口的地址空间。这样,单片机就可以像访问
[单片机]
8051单片机的历史_8051单片机的应用领域
目前,有关8051单片机的说法很多:8051单片机是Intel发明的,可与8位系列处理器一起使用。现在,8051单片机已广泛应用于各个行业以及家庭的各种家用电器上。 一、8051单片机的历史 如果我们回顾历史,8051单片机是由微处理器巨头Intel于1980年首次发明的,并且逐渐被全世界所接受,并且随着未来的每一天,8051单片机的重要性正在不断提高。当它由英特尔发明时,它是通过NMOS技术开发的,但作为NMOS技术却不是很有效。 为了提高效率和生产率,英特尔通过实施CMOS技术对它进行了改型,并出现了一个新版本,名称中带有字母“C”,比如:“80C51”。新版8051单片机具有两条总线,一条总线用于程序
[单片机]