(完整版)单片机6位密码锁设计(汇编语言源程序配Proteus电路图).docxVIP

  • 78
  • 0
  • 约1.45千字
  • 约 16页
  • 2021-03-14 发布于山东
  • 举报

(完整版)单片机6位密码锁设计(汇编语言源程序配Proteus电路图).docx

单片机 6 位密码锁设计(汇编语言源程序配 Proteus 电路图) 硬件设计 基于 AT89C51 为核心的单片机控制的电子密码锁设计。本设计能完成开锁,修改密码,密码错误报警,示密码等基本的密码锁功能。设计的电路框如图 1。  LCD显 LCD显示电路 矩阵 键盘 AT89C51 报警控制电路 控制 单片机 开锁控制电路 指示电路 图一 电路的功能单元设计 单片机 AT89C51组成基本框图 T0 T1 时钟电路 程序存储器 数据存储器 定时器 /计数器 ROM RAM AT89C51 CPU 并行接口 串行接口 中断系统 内中断 外中断 P0 P1 P2 P3 TxD RxD INT0 INT1 单片机引脚 介绍 单片机外围电路设计 (1)单片机复位电路:  采用按键手动复位方式中的电平复位方式,复位电平是通过使  RST端经电阻与  VCC电源接通而 实现的。 (2)单片机时钟电路:  AT89C51 内部有时钟电路,需外接石英晶体和微调电容,本设计的晶振频率为  11.0592MHz。 3. 矩阵键盘的设计 本设计中用到 首先使 P1.0  4*4 的键盘。键盘扫描方式,键盘的列线与为低电平“ 0”,其余三根列线为高电平“  P1 口的低 4 位相接 , 行线与 P1 口的高 3 位相接。 1”,读行线状态。如果行线都为高电平状态,则 P1.0  这列上 没键按下,如果读出的行线不全为高电平状态,则为低电平的行线与  P1.0  相交的键处于闭合状态。如果  P1.0  上没有键 闭合,接着使  P1.1  为低电平,其余列线为高电平,用同样的方法检查  P1.1  这列上有没有按键闭合。一直到使  P1.3  为低 电平扫描完成。这一过程称为一次扫描过程。 由于按键是利用机械触电的合、断原理,存在弹性的影响,机械触点在闭合及断开瞬间均有抖动过程,从而使电压 信号波动,为了保证 CPU对键的稳定闭合仅作一次键输入处理,必须采用消除抖动影响。本设计采用软件办法,在检测 到有键按下时,执行一个延时程序后,确认该键是否保持闭合状态电平。若仍保持闭合状态电平,则确认该键处于闭合状态,从而消除抖动影响。 若有按键被按下时,就将该按键译码出来,本设计采用双重循环做计数编号,当某一按键按下时,其按键编号 便是计数编号,有关按键编号,扫描信号及读取按键数据返回码整理如表 1。 编号 按键数据输入码 扫描输出信号 所侦测的 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 按键 0 1 1 1 0 1 1 1 0 K0 键 1 1 1 0 1 1 1 1 0 K1 键 2 1 0 1 1 1 1 1 0 K2 键 3 0 1 1 1 1 1 1 0 K3 键 4 1 1 1 0 1 1 0 1 K4 键 5 1 1 0 1 1 1 0 1 K5 键 6 1 0 1 1 1 1 0 1 K6 键 7 0 1 1 1 1 1 0 1 K7 键 8 1 1 1 0 1 0 1 1 K8 键 9 1 1 0 1 1 0 1 1 K9 键 10 1 0 1 1 1 0 1 1 K10 键 11 0 1 1 1 1 0 1 1 K11 键 表 1 电路总体设计 下面是本次实验的程序 ;*******************************************************

文档评论(0)

1亿VIP精品文档

相关文档