新闻中心

EEPW首页 > 物联网与传感器 > 设计应用 > 采用AT89C51的电子密码锁的设计

采用AT89C51的电子密码锁的设计

——
作者:戴文雯时间:2013-09-23来源:电子产品世界收藏

  数码管有静态显示和动态显示两种显示方式,相比于静态显示方式,动态显示在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示画面,不会有闪烁感,在显示效果上和静态显示是一致的,但动态显示能节省大量的I/O口,降低硬件电路的复杂性,而且功耗更低。在本设计中采用的是动态显示方式。

本文引用地址:http://www.eepw.com.cn/article/170168.htm

  蜂鸣器报警模块

  密码输入错误次数超过3次时可通过蜂鸣器鸣叫报警。蜂鸣器报警电路如图4所示。本设计中采用压电式蜂鸣器,利用 P1.7端口外接的三极管的电流放大作用驱动蜂鸣器实现发声提示。

  软件设计

  软件设计主要包括以下几个模块:主程序模块,数码管显示模块,矩阵扫描模块,键功能程序模块,密码重设模块,延时模块,蜂鸣器报警模块。

  主程序流程图如图5所示。包括扫描和键功能程序两部分。

  系统启动后不断进行扫描,判断是否有键按下。若无键按下则

  继续扫描,有键按下则转入键功能模块判别按下的是什么功能键,然后转入相应的功能程序,功能程序执行完毕后转到键盘扫描程序循环操作。

  矩阵键盘扫描模块

  本设计中采用行扫描法进行按键识别。由于采用机械式的按键,在按键过程中会产生抖动现象,为避免误判为多次输入同一按键,必须进行消抖处理。设计中采用软件延时的方法进行消抖。在检测出有键按下后执行延时程序,前沿抖动消失后,再次检测按键状态。相关程序段如下:

  LSCAN: MOV P3,#0F0H;扫描行码
  L1: JNB P3.0,L2
  LCALL DLY_S
  JNB P3.0,L2
  MOV LINE,#00H
  LJMP RSCAN
  L2: JNB P3.1,L3
  LCALL DLY_S
  JNB P3.1,L3 MOV LINE,#01H
  LJMP RSCAN
  L3: JNB P3.2,L4 LCALL DLY_S
  JNB P3.2,L4
  MOV LINE,#02H
  LJMP RSCAN
  L4: JNB P3.3,A0
  LCALL DLY_S
  JNB P3.3,A0
  MOV LINE,#03H
  RSCAN:MOV P3,#0FH;扫描列码
  C1: JNB P3.4,C2
  MOV ROW,#00H
  LJMP CALCU
  C2: JNB P3.5,C3
  MOV ROW,#01H
  LJMP CALCU
  C3: JNB P3.6,C1
  MOV ROW,#02H
  CALCU: MOV A,LINE ;计算键值
  MOV B,#03H
  MUL AB
  ADD A,ROW
  MOV VAL,A ;键值存入VAL中

DIY机械键盘相关社区:机械键盘DIY


蜂鸣器相关文章:蜂鸣器原理


评论


相关推荐

技术专区

关闭