网站大量收购独家精品文档,联系QQ:2885784924

单片机密码锁设计(汇编语言)带原理图电路图附详图参考.docx

单片机密码锁设计(汇编语言)带原理图电路图附详图参考.docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机密码锁设计 (汇编语言 )带原理 图电路图 什么是密码锁 电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合, 完成开锁、闭锁任务的电子产品。 硬件设计 基于 AT89C51为核心的单片机控制的电子密码锁设计。本设计能完成开锁,修改密码, 密码错误报警, LCD显示密码等基本的密码锁功能。设计的电路框如图 1。 图一 电路的功能单元设计 单片机 AT89C51组成基本框图 单片机引脚介绍 P0:P0 口是一个漏极开路的 8 位双向 I/O 口。在访问片外存储器时 P0 分时提供低 8 位地址线和 8 位双向数据线。当不接片外存储器或不扩展 I/O 口时, P0 可作为一个通用输入 / 输出口。 P0 口作输入口使用时,应先向口锁存器写“ 1”,P0 口作输出口时,需接上拉电阻。 P1: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,因此它作为输出口使用时,无需再外接上拉电阻,当作为输入口使用时,同样也需先向其锁存器写“ 1”。 P2: P2 口也是一个内部提供上拉电阻的 8 位 双向 I/O 口,在访问片外存储器时,输出高 8 位地址。 P3: P3 口除了一般的准双向通用 I/O 口外,还有第二功能。 VCC: +5V 电源 VSS:接地 ALE :地址锁存器控制信号。在系统扩展时, ALE用于控制把 P0 口输出的低 8 位地址锁存起来,以实现低位地址和数据的隔离。此外,由于 ALE是以晶振 1/6 的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。 /PSEN :外部程序存储器读选通信号。在读外部 ROM时, /PSEN 有效(低电平) ,以实现外部 ROM单元的读操作。 /EA :访问程序存储控制信号。当 /EA 信号为低电平时,对 ROM的读操作限定在外部程序存储器;当 /EA 信号为高电平时,对 ROM的读操作是从内部程序存储器开始,并可延至 外部程序存储器。 RST :复位信号。 当输入的复位信号延续两个机器周期以上的高电平时即为有效, 用完 成单片机的复位初始化操作。 XTAL1和 XTAL2:外接晶体引线端。 当使用芯片内部时钟时, 此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。 单片机外围电路设计 单片机复位电路: 采用按键手动复位方式中的电平复位方式,复位电平是通过使 RST 端经电阻与 VCC电源接通而实现的。 单片机时钟电路: AT89C51内部有时钟电路,需外接石英晶体和微调电容,本设计的晶振频率为 11.0592MHz。 矩阵键盘的设计 本设计中用到 4*4 的键盘。键盘扫描方式,键盘的列线与 P1 口的低 4 位相接 , 行线与 P1 口的高 3 位相接。 首先使 P1.0 为低电平“ 0”,其余三根列线为高电平“ 1”,读行线状态。如果行线都为高电平状态,则 P1.0 这列上没键按下,如果读出的行线不全为高电平状态,则为低电平的行 线与 P1.0 相交的键处于闭合状态。如果 P1.0 上没有键闭合,接着使 P1.1 为低电平,其余列线为高电平, 用同样的方法检查 P1.1 这列上有没有按键闭合。 一直到使 P1.3 为低电平扫描完成。这一过程称为一次扫描过程。 由于按键是利用机械触电的合、断原理,存在弹性的影响,机械触点在闭合及断开瞬间 均有抖动过程,从而使电压信号波动,为了保证 CPU对键的稳定闭合仅作一次键输入处理, 必须采用消除抖动影响。 本设计采用软件办法, 在检测到有键按下时, 执行一个延时程序后, 确认该键是否保持闭合状态电平。 若仍保持闭合状态电平, 则确认该键处于闭合状态, 从而消除抖动影响。 若有按键被按下时, 就将该按键译码出来, 本设计采用双重循环做计数编号, 当某一按 键按下时, 其按键编号便是计数编号, 有关按键编号, 扫描信号及读取按键数据返回码整理如表 1。 P1.7 P1.6 P1.5 P1.3 P1.2 P1.1 按键 P1.4 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

文档评论(0)

wss1979 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档