基于单片机的门禁系统的设计word格式内容摘要:

禁系统 控制 部分采用 89C52 单片机作为控制核心,其内部组成包括:一个 8 位的微处理器 CPU 及片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接;片内数据存储器 8KB RAM 低 128 字节,存放读 /写数据; 高 128 字节被特殊功能寄存器占用;片内程序存储器 ROM;四个 8 位并行 I/O(输入 /输出)接口 P3 P0,每个口可以用作输入,也可以用作输出;两个定时 /计数器,每个定时 /计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制;五个中断源的中断控制系统;一个全双工 UART(通用异步接收发送器)的串行 I/O 口。 在 89C52 单片机的基础上,外围增加蜂鸣器控制电路、开门指示灯电路、电控锁控制电路以及 1602 显示电路等,构成了门禁系统的控制电路。 其原理 图如图 23。 洛阳理工学院毕业设计(论文) 12 第 3 章 硬件电路的设计 门控锁电路 设计 电路图如下: 图 31 控制锁电路图 其 工作原理: 当 口输 出高电平时 Q2 导通 , Q3 截止,此时继电器的控制线圈为开路,继电器不动作。 门锁接于继电器常闭端,门锁闭合,门处于锁死状态。 当 口输出低电平时 Q2 截止, Q3导通,此时继电器的控制线圈闭合,继电器动作。 继电器常闭端断开,门锁打开,门处于打开状态。 显示模块 设计 1602 液晶也叫 1602 字符型液晶它是一种专门用来显示字母、数字、洛阳理工学院毕业设计(论文) 13 符号等点阵晶模块它有若干个 5 7 或者 5 11 等点阵字符位组成,每个点阵字符位都可以显示一个字符。 每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。 1602LCD 是指显示的内容为 16 2,即可以显示两行,每行 16 个字符液晶模块(显示字符和数字)。 目前市面上字符液晶绝大多数是基于 HD44780 液晶芯片的,控制原理是完全相同的,因此基于 HD44780 写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 图 32 1602 液晶显示模块 1602 主要技术参数 :162 个字符 :— :() : : (W H)mm 引脚功能说明 1602 采用标准的 16 脚接口, 如图 33 所示, 其中: 第 1 脚: VSS 为电源地。 第 2 脚: VDD 接 5V 电源正极。 洛阳理工学院毕业设计(论文) 14 图 33 1602 引脚示意图 第 3 脚: V0 为液晶显示器对比度调整端。 接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生 “鬼影 ”,使用时可以通过一个10K 的电位器调整对比度)。 表 31 1602 引脚功能 编号 符号 引脚说明 编号 符号 引脚说明 1 VSS 电源地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 液晶显示偏压 11 D4 数据 4 RS 数据 /命令选择 12 D5 数据 5 R/W 读 /写选择 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背光源正极 8 D1 数据 16 BLK 背光源负极 第 4 脚: RS 为寄存器选择。 高电平 1 时选择数据寄存器、低电平 0时选择指 令寄存器。 第 5 脚: RW 为读写信号线。 高电平 (1)时进行读操作,低电平 (0)时进行写操作。 第 6 脚: E(或 EN)端为使能 (Enable)端。 第 7~ 14脚: D0~ D7 为 8 位双向数据端。 第 15~ 16脚:空脚或背灯电源。 15脚背光正极, 16 脚背光负极。 洛阳理工学院毕业设计(论文) 15 1602 指令集 1602 液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的 , 指令表如表 32。 (说明 1 为高电平, 0 为低电平) 表 32 1602 指令集 序号 指令 R/S R/W D7 D6 D5 D4 D3 D2 D1 D0 1 清显示 0 0 0 0 0 0 0 0 0 1 2 光标返回 0 0 0 0 0 0 0 0 1 * 3 置输入模式 0 0 0 0 0 0 0 1 I/D S 4 显示开 /关控制 0 0 0 0 0 0 1 D C B 5 光标或字符移位 0 0 0 0 0 1 S/C R/L * * 6 置功能 0 0 0 0 1 DL N F * * 7 置字符发生存储器地址 0 0 0 1 字符发生存储器地址 8 置数据存储器地址 0 0 1 显示数据存储器地址 9 读忙标志或地址 0 1 BF 计数器地址 1 10 写数到 DDRM 1 0 要写的数据内容 11 从 DDRM 读数 1 1 读出的数据内容 指令 1:清显示。 指令码 01H,光标复位到地址 00H 位置。 指令 2:光标复位。 光标返回到地址 00H。 指令 3:光标和显示位置设置。 I/D:光标移动方向,高电平右移,低电平左移。 S:屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效。 指令 4:显示开关控制。 D:控制整体的显示开与关,高电平表示开显示,低电平表示关显示。 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。 指令 5:光标或显示移位。 S/C :高电平时显示移动的文字,低电平时移动光标。 指令 6:功能设置命令。 DL:高电平时为 4 位总线,低电平时为 8 位洛阳理工学院毕业设计(论文) 16 总线。 N:低电平时为单行显示,高电平时为双行显示。 F:低电平时显示 5X7 的点阵字符,高电平时显示 5X10 的显示字符。 指令 7:字符发生器 RAM 地址设置。 指令 8: DDRAM 地址设置 指令 9:读忙信号和光标地 址 BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙。 与 HD4478 相兼容的芯片时序表 芯片时序表如表 33 所示: 表 33 基本操作时序表 读状态 输入 RS=H,R/W=H,E=H 输出 D0D7=状态字 写指令 输入 RS=L,R/W=H,D0D7=指令码,E=高脉冲 输出 无 读数据 输入 RS=H,R/W=H,E=H 输出 D0D7=数据 写数据 输入 RS=H,R/W=L,D0D7= 数据, E=高脉冲 输出 无 读操作时序如图 34 示: 图 34 读操作时序图 洛阳理工学院毕业设计(论文) 17 写操作时序如图 35 示: 图 35 写操作时序图 显示模块电路图 图 36 LCD1602 显示电路 LCD1602 的数据口 D0D7 与单片机的 PO口相连,实现数据通信, 进而显示开、关门 的 状态信息以及刷卡信息 等。 4 4 矩阵键盘电路设计 洛阳理工学院毕业设计(论文) 18 电路图如下: 图 37 4 4 矩阵键盘电路图 其 工作原理: P1 口高四位为低电平,低四位为高电平。 当有键按下时, 给 口输入低电平,触发 INT0 中断,程序作出相 应处理。 蜂鸣器电路设计 电路图如下: 图 38 蜂鸣器电路图 洛阳理工学院毕业设计(论文) 19 其 工作原理: 当 输出 高 电平时, Q4 导通, Q5 截止,蜂鸣器回路开路,蜂鸣器不响。 当 输出低 电平时, Q4 截止, Q5 导通,蜂鸣器回路闭合,蜂鸣器发出响声。 读卡模块设计 设计上我们采用 ID 射频卡读卡器。 EM9913BF 125KHz 感应式读卡模组是针对 125KHz 非接触式 RFID 晶片而设计的读卡模组,它能针对目前市面上 125KHz 非接触式 RFID 晶片如凌航科技 GK4001 晶片或其它规格现相近产品进行资料 读取与资料判断,使用者可以一次开发感应式读卡及相关应用系统,该模块主要范围为互动式玩具、门禁管制系统、人员考勤管理、动物或物品辨识及产品管理,此读卡模组主要优缺点叙述如下: 优点 : ( 1) 独立性高, ( 2) 二次开发容易,安装简单资料读取稳定性高 ( 3) 统安全性高, RFID 资料不重复且难以复制 ( 4) 可选择数据输出格式 缺点: 电脑必须 24 小时开机,便于数据传送。 硬件 /软件功能: 125KHz 感应式读卡机系统如图 39 示: 洛阳理工学院毕业设计(论文) 20 图 39 读卡器示意图 读卡模块: 读卡器引脚连接图 如 310 示: 图 310 读卡器引脚连接示意图 非接触式射频卡的基本原理: 每个卡片内部有一个小芯片和感应线圈,价格低廉,国内最普及的 EM ID 卡,大多为瑞士 nEM或台湾 GK 公司的 4100、 4102 系列芯片 +线圈 +卡基封装而成。 每张卡有且只有一个唯一的,不可更改和复制的 ID 内码( 64位 2 进制机密的永不重复的卡号),因其安全可靠,价格低廉而大量应用于身份识别、产品防伪等领域。 感应线圈 读卡器模组 RS232outpu 接 洛阳理工学院毕业设计(论文) 21 读卡器卡号输出格式的说明: 由于历史的原因,或者不同领域习惯的原因,最常见到的有五种读卡方式, 我们采用的读卡格式如下 : 将 10位十六进制的 ASCⅡ字符串,即 10Hex 格式的倒数第 第 6 位,转换为 3 位十进制卡号,在将后 4 位,转换为 5 位十进制卡号,中间用“,”分开,即“ 2H+4H”,即将 2H“ 6F”转换为“ 111”, 4H“ 6C3A”转换为“ 27706”,最终将 2 段连在一起输出为“ 111, 27706”。 控制指示灯电路设计 电路图如下: 图 311 工作指示灯电路图 其 工作原理: 当 口输出高电平时, Q1 截止,发光二极管熄灭。 当 口输出低电平时, Q1 导通,发光二极管点亮。 洛阳理工学院毕业设计(论文) 22 第 4 章 门禁系统的软件设计 KeilC51 的概述 Keil 是德国 Keil 公司开发的单片机编译器,是目前最好的 51 单片机开发工具之一。 KeilC51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统。 KeilC51 标准 C 编译器为 8051 微控制器的软件开发提供了 C 语言环境 ,同时保留了汇编代码高效 ,快速的特点。 C51 编译器的功能不断增强, 使你可以更加贴近 CPU 本身,及其它的衍生产品。 KEILC51 编译器在遵循 ANSI标准的同时,为 8051微控制器系列特别设计。 语言上 的扩展能让用户使用应用中的所有资源。 一、存储器和特殊功能寄存器的存取 C51 编译器可以实现对 8051 系列所有资源的操作。 SFR 的存取由 sfr 和 sbit 两个关键字来提供。 变量可旋转到任一个地址空间。 用关键字- at-还能把变量放入固定的存储器.存储模式(大,中,小)决定了变量的存储类型。 连接定位器支持的代码区可达 32 个,这就允许用户在原有 64K ROM 的 8015 基础上扩展程序。 在 V2 的编译器和许多高性能仿真器中,可以支持应用程序的调试。 二、中断功能 C51 允许用户使用C 语言编写中断服务程序,快速进、出代码和 寄存器区的转换功能使 C 语言中断功能更加高效。 可再入功能是用关键字来定义的。 多任务,中断或非中断的代码要求必须具备可再入功能。 三、灵活的指针 C51 提供了灵活高效的指针。 系统主程序 及 流程图 主程序 如下: include include include include include 洛阳理工学院毕业设计(论文) 23 图 41 主程序流程图 include include include include /***********************主程序 *************************/ void main() { LED = 0。 //LED 亮 BUZZER = 0。 //蜂鸣器 响 EA = 1。 //开所有中断 INT0_init()。 T。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。