单片机电子密码锁子程序

发布者:TP9111最新更新时间:2015-06-24 来源: 51hei关键字:单片机  电子密码锁 手机看文章 扫描二维码
随时随地手机看文章

仿真文件和完整源码下载地址: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正确信号
   }
  }
 }
 
}

关键字:单片机  电子密码锁 引用地址:单片机电子密码锁子程序

上一篇:单片机电子密码锁程序(2)
下一篇:基于单片机的超声波语音测距拐杖的设计

推荐阅读最新更新时间: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
[汽车电子]
Energy Micro推出世界最高能效<font color='red'>微控制器</font>
低频扫频仪的三种设计方案介绍
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硬件和日
[嵌入式]
车规<font color='red'>MCU</font>的软件开发套件
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单片机具有两条总线,一条总线用于程序
[单片机]
8051<font color='red'>单片机</font>的历史_8051<font color='red'>单片机</font>的应用领域
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved