基于单片机的红外线遥控电子密码锁的设计内容摘要:

但 8751 片内有 4K 的 EPROM,用户可以将自己编写的程序写入单片机的 EPROM 中进行现场实验与应用, EPROM 的改写同样需要用紫外线灯照射一定时间擦除后再烧写。 AT89C5 AT89S51 的比较 AT89C51 是 ATMEL公司推出的一种带 4K 字节闪速可编程 、 可擦除 、 只读存储器的低电压、高 性能 CMOS 8 位微控制器。 器件 用 ATMEL公司高密度、非易失性技术生产,与标准的 MSC51 指令系统和 8051 引脚兼容。 由于将多功能 8 位 CPU 和闪速存储器组合在单个芯片中, ATMEL的 AT89C51 是一种高效微控制器。 与 8051 相比其最大的特点是: 4KB 可编程 Flash存储器,可进行 1000 次擦写;全静态时钟 024MHz;三级程序加密;低功耗支持 Idle(空闲)工作模式和 PowerDown(断电)工作模式。 AT89S51是 ATMEL公司新推出 AT89C51升级产品,全面兼容 AT89C51。 与 AT89C51相比,新增加了以下几个主要功能:①可以通过数据下载线进行在线编程下载,使程序 8 写入更加方便简捷;②工作晶振可以达到 33MHz,提高了运行速度;③新增了看门狗电路,提高了电路抗干扰性。 由上可知, 8031 片内不带程序存储器 ROM, 8051 与 8751 在程序烧写上很不方便而且 8051的 ROM只能用一次,使用它们很不方便。 而 AT89C51和 AT89S51不但和 8051指令、管脚完全兼容,而且其片内的 4K 程序存储器是 Flash 工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,写入单片机内的程序还可以进行加 密,这又很好地保护了你的劳动成果。 这种单片机对开发设备的要求很低,开发时间也大大缩短。 何况, AT89C5 AT89S51 目前的售价比 8031 还低,市场供应也很充足, 显然可见,AT89C51 和 AT89S51 更实用。 因为在沈阳电子城中 AT89C51 比较容易购买,所以在此设计中 选用 AT89C51。 键盘的选择 键盘是计算机不可缺少的输入设备,是实现人机对话的纽带,借助键盘可以向计算机系统输入程序、置数、送 数等 操作命令、控制程序的执行走向等。 在本设计中,使用者可通过键盘向单片机输入密码,从而达到开锁的目 的。 独立式键盘 独立式按键是指直接用 I/O 接口线构成的单个按键电路。 每个独立式按键单独占有一根 I/O 接口线,每根 I/O 接口线的工作状态不会影响其它 I/O 接口线的工作状态。 独立键盘如图 所示 AT89C51 5V 1K 4 图 独立式键盘电路 R 9 上拉电阻 一般选用 1K 或 计算见公式( ): R = V / Im =5V / 800uA = 公式中 V —— AT89C51 正常工作电压; Im —— AT89C51 的最小工作 电流; R —— 上拉电阻的最大值 ( ) 独立式按键电路配置灵活、软件结构简单,但每个按键必须占用一根 I/O 口线,在按键数量较多时, I/O 口线浪费较大,故只在按键数量不多时采用这种按键电路。 此电路中,按键输入都采用低电平有效,上拉电阻保证了按键断开时, I/O 口线上有确定的高电平。 当 I/O 口内部有上拉电阻时,外电路可以不配置上拉电阻。 矩阵式键盘 将 I/O 接口线的一部分作为行线,另一部分作为列线,按 键设置在行线和列线的交叉点上,这就构成了行列式键盘。 行列式键盘中按键的数量可达行线数 n乘以列线数 m,如 4 行、 4 列行列式键盘的按键数可以达到 4 4= 16 个。 由此可以看到行列式键盘在按键较多时,可以节省 I/O 口线。 一个 4 4 行列式键盘的电路原理图如图 所示。 上拉电阻计算见公式( ) 8 条 I/O 口线分为 4 条行线和 4 条列线,按键设置在行线和列线交点上,即按键开关的两端分别接在行线和列线上。 行线通过一个上拉电阻接到 +5V 电源上,在没 有键按图 矩阵式键盘电路 AT89C51 1K 4 R 5V 10 下时,行线处于高电平状态。 若向所有的列线 I/O 口输出低电平,然后将行线的电平状态读入累加器 A 中,若无键按下,行线仍保持高电平状态,若有键按下,行线至少应有一条为低电平。 若确定有键按下后,即可进行求键码的过程。 其方法是:依次从一条列线上输出低电平,然后检查各行线的状态,若全为高电平,说明闭合键不在该列,若不全为 1,则说明闭合键在该列,且在变为低电平的行的交点的行的交点上。 若在键盘处理程序中,给每个键都赋予一个键号,由从列线 I/O 口输出的数据和从行线 I/O 口读入的数据即可求出闭合键的键号,完成对键盘的扫描 工作。 在本设计中,由于条件限制,对键盘的要求不高,而应用独立式键盘相对比较简单,电路配置灵活,软件结构简单 ,故采用独立式键盘。 显示方式的选择 LED 显示器是单片机应用系统中最常用的输出器件。 它是由若干个发光二极管组成 的,控制不同组合的二极管导通,就能显示出各种字符。 常用的 LED 显示器有 7 段和“米”字段之分, 在此显示数字 用 7 段显示管即可, 这种显示器有共阳极和共阴极两种 ,如图 所示, 共阴极 LED 显示器的发光二极管的 阴极连接在一起,通常此共阴极 接地,当某个发光二极管的阳极为高电平时,发光二极管 点亮,相应的段被显示。 同样,共阳极 LED 显示器的发光二极管的阳极连接在一起,通常此共阳极接正电压,当某 个发光二极 管的阴极接低电平时,发光二极管被点亮,相应的段被显示。 其实设计选用共阴或共阳都是一样的只是个人喜欢问题。 本设计选用了共阳极数码管。 LED 数码管显示器有两 种工作方式,即动态显示方式和静态显示方式。 在动态显示COM COM 共 阳 极 共 阴 极 A B G F E C D 图 LED 的共阴、共阳接法 11 方式中,各位数码管的各个端并连在一起,与单片机系统的一个 I/O 口相连,从该 I/O口输出显示代码。 每只数码管的共阳极 端 或共阴极 端 则与另 一 I/O 口相连,控制被点亮的位。 动态显示的特点是:每一时刻只能有 1 位数码管被点亮,各位依次轮流被 点亮;对于每一位来说,每隔一段时间点亮一次。 为了每位数码管 能够充分被点亮,二极管应持续发光一段时间, 利用发光二极管的余辉和人眼的驻留效应,通过适当地调整每位数码管被点亮的时间间隔(一般为 1ms) ,可以观察到稳定的显示输出。 在静态显示方式下,每位数码管的各个端与一个 8 位的 I/O 口相连。 要在某一位数码管上显示字符时,只要从对应的 I/O 口输出并锁存其显示代码即可。 其特点为:各数码管同时点亮,数码管中的发光二极管恒定地 导通或截止,直到显示字符改变为止。 相比而言,静态显示占用机时少 ,显示可靠 ,在本次设计中被应用 . 采用 AT89C51 实现红外线遥控方案的分析 由于 设计 条件 限制 ,许多元器件欠缺, 在红外线 遥控方案上 ,直接采用 AT89C51 来实现 红外遥控 ,没有考虑其方案。 通用红外遥控系统由发射和接收两大部分组成,应用编 /解码专用集成电路芯片来进行控制操作,如图 所示。 发射部分包括键盘、编码调制、红外发射器;接收部分包括 接收器 、解码、 数据处理。 在实际设计中, 遥控开关是在通用红外遥控系统的基础上加以改进实现的。 其实质就是将红外遥控部分采用单片机 AT89C51 来控制。 即当 发射部分经编码调制后发射出光或电信号 ,然后接收部分 一体化红外接收 头 接收到红外遥控信号后,将光信号转变成电信号,经放大、解调、滤波后,将原编码信号送入单片机 AT89C51 中进行信号识别、解码,然后进行相应的处理,达到控制电器的目的。 图 红外遥控发射 /接收框图 编码调制 键盘 红外发射器 接收器 解码 数据处理 12 总体方案的确定 系统构成框图 经过上述文字对红外线遥控 电子 密码锁各部分的简单讨论选择后, 所设计系统的方案可以初步确定, 其结构简图如图 所示 ,其具有本机开锁、遥控开锁、按键指示、密码有效提示、错误报警 等功能。 基本功能设计 选择密码 将编好的密码程序存储在 EPROM 中,用户通过密码选择键上的按键进行选择。 具体操作过程如下:首先按一下密码选择键,然后再逐渐输入号码,最后按“ ”号确认即可。 比如现在用户要是选择了 57618 这组数只作为密码,则用户只有首先按一下 上的按键,接着在本机键盘上一一输入 8 之后再按“ ”号确认即表示密码被设置好了,那么下次用户只要键入这组数据即可开锁。 密码 显示 为了帮助用户确认是否有键按下,特地在电路中设置了模拟显示电路;而为了防止密码外 XIE;显示时,并不是显示用户按下的数字符号 ,而是以特定的字母符号提醒用户是否有键按下。 有键按下 ,就会显示出字符―-“ ” ,没有按下,则不会显示字符。 这样既巧妙地提醒了用户又保护了用户密码,此是本设计可靠性优点之一。 图 遥控密码锁的基本结构 红外线发射器 AT89C51 CPU 红外接收头 显示 复位 晶振 键盘 报警器 电磁锁 13 本机键开 当用户键入正确密码后,再按确定键--“ ”,便会自动开锁。 但用户键入密码时应注意:数字与数字之间的间隔时间为 3 秒,例如密码为 57618,当键入第一个数字5 后 应在 3 秒内键入第二数字 7,否则,就会视为 无效。 如果键入完密码后不按“ ”号,系统会当做放弃开锁处理。 密码错误报警 当用户键入错误密码时,系统就会报警,由蜂鸣器发出 5 秒报警声。 当连续三次出现密码错误时,则系统会长期报警不止。 这时必须按复位键方可停止。 遥控开锁 当此锁用于私家车库或仓库时,用户可以不上车,只要手执遥控器,键入正确密码,便会自动开锁;如果错误密码,同样也会报警 [ 6]。 14 3 硬件电路的设计 本设计采用单片机 AT89C51 作为核心元件 , 整个系统是由本机开锁电路、红外遥控电路等硬件电路及相应的软件部分组成。 本 机开锁电路设计 本机开锁电路 本机开锁电路 (见附录 A图 ) , AT89C51 作为本电路的核心, P0 口 和 、 外接本机键盘。 口外接遥控接收头, 口外接报警信号放大器,用来放大报警信号,驱动蜂鸣器, 口外接开锁电磁驱动电路, 外接密码选择键,EPROM 内存有两套密码, P2 口接数码管,用来显示按键是否按下, 口外接驱动控制电路用来控制 LM386 的电源,也就是说只有报警时, LM386 才供电源,平常断电,这样大大减小了耗电流。 开 锁的工作原理 本电路由键盘、显示器 、报警器、电磁锁 组成,本机有 10个按键,作为密码输入键。 具有以下功能: 当没有接收到遥控信号时,由键盘输入密码, 本设计设定两套密码,分别为 8和 5, 当 5位有效密码输入正确时按下 “ ” 号确认, 电平使电磁锁动作,完成开锁,同时,电 路进入延时状态,延时 5秒种后,电路将自动恢复到初始的闭锁状态。 当 5位有效密码输入正确,但没有按下“ ”号键确认时,这时电路将自动放弃,恢复到初始和闭锁状态。 在输入 5位有效密码时,必须按照先后顺序输入,如 顺序错误或密码不对时,这时若不按“ ”号确定,将无法开锁,并同时发出 5秒钟的报警信号,用以提醒用户。 若连续 3次输入错误,系统会长时间报警,这时必须按复位键恢复到初始状态。 输入密码时,首位密码正确输入后,电路将开始自动计时,每位密码数之间的输入间隔在 3秒内。 否则将作为输入超时处理,系统自动放弃,恢复到初始状态。 15 红外线遥控电路的设计 红外线发射 /接收控制电路均采用 AT89C51 单片机来实现 ,电路简单、输出控制方式可选择、实用性强。 遥控发射 /接收电路 遥控发射电路(见附录 A图 )利用了通用的红外发射管,发射时:首先将串行发射口 送出的数据反馈到 口进行内部调制,再从 口送出,再经过红外发射二极管发射出去,发射距离为 10m。 接收电路(见附录 A图 )采用配套的外线接收头,将发射的数据接收后送到串行口 中,再由系统进行确认接收数据是否与发送数据是否相符,相符则开锁,不相符则放弃。 遥控电路的工作原理 当选择遥控开锁时,本机键便会被开锁。 这时,用户收执遥控器按下 AT89C51 上的 口上的按键时,便有数字从 AT89C51 的 口发出, 发送的过程如下:。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。