基于单片机AT8989SS5151的电子密码锁系统第1节引言

作为单片1机的核心单元,利用单片机串行发射、接收等功能而设计的一款具有本机开锁和报警功能的电子密码锁。作为本设计的核心元件,利用单片机灵活的编程设计和丰富单片机设计原理本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。

2、价格便宜。 但在使用过程中暴露出很多缺点:一是机械锁依靠金属钥匙和锁芯上不同齿形的配合来工作。 据统计,每4000把锁中就有两把钥匙齿相同或相似,安全性较低。 据国外统计,配备电子防盗装置的商业区或住宅区的盗窃犯罪率平均下降了30%。 关于。 其次,一旦钥匙丢失,谁找到钥匙就可以开锁。 第三,大多数机械锁都是由黄铜制成的,黄铜质软,容易损坏。 第四,机械锁钥匙容易被复制,不适合在酒店等公共场所使用。 由于安全性和便捷性的需求,多种智能锁(如指纹识别、IC卡识别)相继推出。 但此类产品的特点是针对特定的指纹或有效卡,只能适用于保密性要求较高的锁具以及个人使用的箱、柜、房间等。此外,卡式IC卡片很容易丢失,而且它们

3、成本普遍较高,一定程度上限制了此类产品的普及和推广。 随着人们生活水平的提高,电子密码防盗锁作为防盗卫士的作用越来越重要。 电子密码防盗锁采用密码代替钥匙,不仅省去了您佩戴钥匙的麻烦,而且从根本上解决了普通门锁保密性差的缺点。 从经济实用的角度出发,本系统采用美国Atmel公司的单片机AT89S51和低功耗CMOS E2PROM AT24C02作为主控芯片和数据存储单元,结合外围键盘输入、显示、报警、开锁等功能。其它电路,采用汇编语言为主控芯片编写控制程序,设计一种可多次修改密码并具有报警功能的电子密码锁。实验证明,该密码锁具有设计方法合理、简单的特点。具有成本低、安全实用等特点,满足住宅、办公用锁的要求,具有推广潜力。

4.价值。 1.2 设计任务及主要内容电子密码锁是通过输入密码来控制电路或芯片运行,从而控制机械开关的闭合,完成开锁和上锁任务的电子产品。 本系统的任务采用单片机C51作为单片机的核心单元。 利用单片机的串行发送和接收功能,设计了一种具有本地开锁和报警功能的电子密码锁。 主要分为以下几个部分: 1)选择密码。 将编译好的密码程序存储在EPROM中,用户通过密码选择键进行选择。 具体操作过程如下:先按密码选择键,然后逐渐输入数字,最后按确认键。 2)密码显示 为了帮助用户确认按键是否被按下,电路中设置了模拟显示电路; 以防止密码泄露; 显示时,不显示用户按下的数字符号,而是显示特定的字符

5. 母符号提醒用户是否有按键被按下。 如果按下某个键,将显示字符“*”。 如果没有按下任何键,则不会显示任何字符。 这不仅巧妙地提醒了用户,还保护了用户密码,这也是这种设计的可靠性优势之一。 3)本地按键开锁:用户输入正确的密码并按确认键后,锁将自动开锁。 但用户在输入密码时要注意:数字之间的间隔为2分钟。 例如,密码为32796。输入第一个数字3后,应在2分钟内输入第二个数字2。 否则,视为无效。 如果输入密码后不按确认键,系统将视为放弃解锁。 4)密码错误报警 当用户输入错误的密码时,系统将报警,扬声器将发出5秒的报警声。 当连续3次出现密码错误时,系统将长时间报警。 这时候必须按复位键才能停止,这样才安全可靠

6. 一。 需要解决的问题是实现远程开锁。 当该锁用于私人车库或仓库时,用户无需上车。 只要他拿着遥控器,输入正确的密码,锁就会自动开锁。 如果密码错误,也会发出警报。 还有语音激活解锁。 这种解锁方式比遥控器更加方便、快捷。 等待遥控器不方便,还担心丢失遥控器。 但声控方式很容易被别人模仿。 有一定的保密性。 第二节 主要器件介绍 2.1 主控芯片 AT89S512AT89S51 是一款低功耗、高性能的 CMOS 8 位单片机。 它包含一个 4k 字节 ISP(系统内可编程)Flash 只读程序存储器,可重复擦除和写入 1000 次。 ,该器件采用 ATMEL 的高密度、非易失性存储器技术制造,并与标准兼容

7.准MCS-51指令系统和80C51引脚结构。 该芯片集成了通用8位中央处理器和ISP Flash存储单元。 功能强大的微机AT89S51可以为许多嵌入式控制应用系统提供高性价比的解决方案。 AT89S51 芯片引脚图如图 2-1 所示: 图 2-1 AT89S51 芯片引脚图 其主要功能特点: 兼容 MCS-51 命令系统 4k 可重复擦除(1000 次) ISP Flash ROM 32 个双向 I/O端口 4.5-5.5V 工作电压 2 个 16 位可编程定时器/计数器 时钟频率 0-33MHz 全双工 UART 串​​行中断线 128×8 位内部 RAM 2 个外部中断源 低功耗 空

8. 空闲和省电模式 中断唤醒 省电模式 三级加密位 看门狗(WDT)电路 软件设置 空闲和省电功能 灵活的 ISP 字节和页编程 双数据寄存器指针 可以看出,AT89S51 提供了标准功能如下:4K字节Flash存储器,128字节内部RAM,32条I/O线,看门狗(WDT),两个数据指针,两个16位定时器/计数器,一个5向量二级中断结构,一个完整的-双工串行通信端口、片上振荡器和时钟。 同时,3AT89S51可将静态逻辑运算降低至0HZ,并支持两种软件可选的省电工作模式。 空闲模式停止CPU,但允许RAM定时器/计数器、串行通信端口和中断系统继续工作。RAM中的掉电方法是什么?

9. 内容,但振荡器停止工作并直接禁用所有其他组件,直到硬件复位。 2.1.1 AT89S51 芯片内部结构特殊功能寄存器: 特殊功能寄存器的片内空间分配如下图2-2 所示。 这些地址并非全部被占用,未被占用的地址无法使用。 读取这些地址将产生一个随机数值。 写入这些地址位置不会产生预期的结果。 中断寄存器:每个中断使能控制位于IE寄存器,五个中断源的中断优先级控制位于IP寄存器。 图 2-2 显示了 AUXR 辅助寄存器。 图 2-2 AUXR 辅助寄存器 双时钟指针寄存器:为了方便访问内部和外部数据存储器,提供了两个 16 位数据指针寄存器:PD0 位于 SFR 块中的地址 82H 和 83H,DP1 位于地址84H、85H,当 SFR 中的位 D 时

10. 当PS=0时,选择DP0,当DPS=1时,选择DP1。 使用前初始化DPS。 双时钟指针寄存器如图2-3 所示: 4 图2-3 双时钟指针寄存器 2.2 存储芯片AT24C02AT24C02 是美国Atmel 公司的低功耗CMOS E2PROM。 包含2568位存储空间,工作电压宽(2.55 .5 V),擦写次数多(10000次以上),写入速度快(小于10 ms),抗干扰能力强,数据丢失少不容易,而且体积小。 而且它是串口设备,使用I2C总线进行数据读写,占用资源和IO线极少,并且支持在线编程,实时数据访问非常方便。 AT24C02包含片内地址寄存器。每次写入或读取一条数据

11、字节结束后,地址寄存器自动加1,实现下一个存储单元的读写。 所有字节均在一次操作中读取。 为了减少总体写入时间,一次操作最多可以写入 8 字节数据。 I2C总线是一种两线总线,用于IC器件之间的连接。 它通过两条线:SDA(串行数据线)和SCL(串行时钟线)在连接到总线的设备之间传输信息,并根据设备的地址来识别每个设备。 AT24C02应用I2C协议,采用主从双向通信。 主机(通常是微控制器)和从机(AT24C02)都可以工作在接收器和发送器状态。 主机产生串行时钟信号(通过SCL引脚)并发出控制字来控制总线传输方向并产生启动和停止条件。无论是主机还是从机,接收到一个字节后,必须发送一个

12.确认信号ACK。 AT24C02的控制字,启动信号发送后,主机会发送控制字来选择从机并控制总线传输方向。 AT24C02 的引脚图和电路接线图分别如图 2-4 和图 2-5 所示: 图 2-4 AT24C02 的两个引脚图 51 234 5 6 7 8 AT24C02 VCC AT89S51 P3.5 P3.6 5.1 K R1 5.1K R2 图2-5 AT24C02 电路接线图。 图中,AT24C02的引脚1、2、3是三根地址线,用于确定芯片的硬件地址。 在AT89C51测试开发板上,它们都接地,引脚8和引脚4分别为正负电源。引脚5 SDA为串行数据输入/输出,数据通过此

13、双向I2C总线串行传输连接到AT89C51测试开发板上单片机的P3.5。 第6脚SCL为串行时钟输入线,连接AT89C51测试开发板上单片机的P3.6。 SDA和SCL都需要在正电源和正电源之间加一个5.1K的电阻上拉。 7 脚需要接地。 2.3 LCD1602显示 目前字符型液晶模块已经是单片机应用设计中最常用的信息显示器件。 1602型液晶显示模块具有体积小、功耗低、显示内容丰富的特点。 1602型液晶屏可显示2行16个字符。 它有一个8位数据总线D0D7和三个控制端口:RS、R/W和EN。 工作电压5V,具有字符对比度。

14.调节及背光功能。 2.3.1 接口信号说明 1602 型液晶屏接口信号说明如表 2-1 所示: 表 2-1 1602 型液晶屏接口信号说明 序号 符号 引脚说明 序号 符号 引脚说明 1 VSS 电源地 9 D2 数据I /O2 VDD 电源正端 10 D3 Data I/O3 V0 LCD 偏置信号 11 D4 Data I/O4 RS 数据/命令选择端(H/L) 12 D5 Data I/O5 R/W 读写选择端(H) /L) 13 D6 Data I/O6 E 使能信号 14 D7 Data I/O67 D0 Data I/O 15 BLA 背光正极 8 D1 Data I/O 16 B

15. LK 背光阴极 2.3.2 主要技术参数 1602 型液晶屏主要技术参数如下表所示: 表 2-2 1602 型液晶屏主要技术参数 显示容量 16X2 个字符 芯片工作电压 4.55.5V 工作电流 2.0 mA (5.0V) 模块最佳工作电压为5.0V。 字符大小为 2.95: 输入:RS=H、RW=H、E=H 输出:无写命令: 输入:RS=L、RW=L、D0D7=命令代码、E=高电平脉冲 输出:D0D7=数据写入数据:输入:RS =H,RW=L,D0D7=数据,E=高脉冲输出:无第三个

16.系统主要硬件电路设计 3.1 设计方案1:采用数字电路控制。 采用74LS112双JK触发器组成的数字逻辑电路作为密码锁的控制核心。 共有9个用户输入键,其中只有4个是有效密码按钮,其余都是干扰按钮。 如果按下干扰按钮,键盘输入电路自动清除,原来输入的密码无效,需要重新输入; 如果用户输入密码超过10秒(一般情况下)用户不会超过10秒。 如果用户觉得不方便,可以修改7。)电路会报警20秒。 如果电路连续报警3次,电路将锁定键盘2分钟,防止他人非法操作。 采用数字电路设计的优点是设计简单,但控制精度和灵活性较差,所以不采用。方案二:采用以单片机为核心的控制方案

17、由于单片机的种类很多,每种型号都有自己的应用环境。 因此,在选择时,需要多进行比较,做出合理的选择,才能获得最佳的性价比。 一般来说,选择单片机时要考虑以下几个方面:性能、内存、运行速度、I/O端口、定时器/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰等,保密,除了上述之外,还有一些最基本的比如:中断源的数量和优先级、工作温度范围、是否有低电压检测功能、单片机中是否有时钟振荡器、以及是否有上电复位功能等待。 单片机在开发过程中,还受到开发工具、编程器、开发成本、开发人员适应性、技术支持和服务等因素的影响。基于以上因素,本设计采用单片机AT89S51作为本设计的核心部件,利用单片机灵活的编程设计和丰富性。

18、I/O口及其控制精度实现基本密码锁功能。 单片机外围电路连接外部输入键盘,用于密码输入和部分功能控制,外部AT24C02芯片用于密码存储,外部LCD1602显示器用于显示。 当用户需要开锁时,先按键盘上的开锁键,然后按键盘上的数字键09输入密码。 输入密码后,按确认键。 如果密码输入正确,锁就会被解锁。 如果密码不正确,将再次显示密码。 如果密码不正确,请重新输入密码。 当密码错误3次时,将发出警报。 当用户需要更改密码时,先按键盘设置键,然后输入原密码。 密码,只有输入的原密码正确才能设置新密码。 正确输入新密码后,按确认按钮,新密码将被存储,密码修改成功。可见,控制方案2控制灵活,准确性好,保密性强,且具有扩展功能。 根据实际生活情况

19. 此设计需要此解决方案。 3.2 单片机设计原理 本设计主要由单片机、矩阵键盘、液晶显示屏和密码存储器组成。 矩阵键盘用于输入数字密码并实现各种功能。 用户通过与单片机连接的矩阵键盘输入密码,然后单片机将用户输入的密码与用户保存的密码进行比较,判断密码是否正确,然后控制高低电平引脚传送到开锁电路或报警电路来控制开锁。 或者报警,实际使用时只需将单片机的负载从继电器改为电子密码锁的电磁铁吸合线圈即可。 当然,也可以用继电器的常开触点来控制电磁铁拾波线圈。 本系统由硬件部分和软件部分两部分组成。硬件部分由电源输入部分、8键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分组成

20、解锁部分由主程序对应的软件部分、初始化程序、液晶显示程序、键盘扫描程序、启动程序、关机程序、功能构建程序、密码设置程序、EEPROM读写程序和延时程序组成, ETC。 。 其原理框图如图3-1所示: 图3-1 电子密码锁原理框图 3.3 单片机电路的总体组成 确定使用何种类型的单片机后,确定外围电路,包括电源输入部分,由键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、解锁部分组成。 根据实际情况,键盘输入部分选用4*4矩阵键盘,显示部分选用字符型液晶显示器LCD1602,密码存储部分选用AT24C02芯片完成。原理图如图3-2所示:AT89C51密钥

21、磁盘输入复位电路 密码存储电路 晶振电路 电源输入显示电路 报警电路 解锁电路 9EA/VPP 31 XTAL1 19 XTAL2 18 RST/VPD 9 P3.7/RD 17 P3.6/WR 16 P3.2/INT0 12 P3 .3/INT1 13 P3.4/T0 14 P3.5/T1 15 P1.0/T 1 P1.1/T 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1 .7 8 P0.0 39 P0.1 38 P0.2 37 P0.3 36 P0.4 35 P0.5 34 P0.6 33 P0.7 32 P2.0 21 P2.1 22 P2.2 23 P2. 3 24 P2

22.4 25 P2.5 26 P2.6 27 P2.7 28 PSEN 29 ALE/PROG 30 P3.1/TXD 11 P3.0/RXD 10 Vcc 40 接地 20 AT89S5X AT89S51 K1 470 R5 10K R6 20uF C1 20pF C2 20pF C3 1 2 12MHz S1 K3 4.7K R9 VCC VCC 5 WP 6 SCL 7 SDL 8 接地 4 A2 3 A1 2 A0 1 AT24C02 5.1K R8 VCC T2 8550 VCC 4.7K R11 接地 1 VCC 2 VO 3 RS 4 RW 5 E 6 DB0 7 DB1 8

23. DB2 9 DB3 10 DB4 11 DB5 12 DB6 13 DB7 14 BG VCC 15 BG GND 16 LCD 1602 LCD? LCD1602 VCC VCC 1K R1 1K R2 1K R3 1K R4 VCC VCC 0? ? 1 2 3 4 5 6 7 8 9 ? ? ? ? VCC VCC 5.1K R7 D1 T3 8550 图 3-2 单片机电路原理图 3.4 键盘输入电路 由于本设计使用大量按键,不适合独立按键键盘。采用矩阵按键键盘,由行线和列线。 也称为柱键盘。 键位于行和列的交叉点。 密码锁的密码是通过键盘输入的,与独立钥匙按键不同。

24、与磁盘相比,需要节省大量的I/O端口。 本设计采用的4*4键盘不仅可以完成密码的输入,还可以作为特殊功能键,如清除显示功能等,键盘上各个按键的功能在程序中设置设计。 其一般功能(见键盘按键上的标记)以及与单片机的引脚连接如图3-3所示: 101K R1 1K R2 1K R3 1K R4 VCC P1.0 P1.1 P1.2 P1.3 P1。 4 P1.5 P1.6 P1.7 0 1 2 3 4 5 6 7 8 9 ? 图3-3 键盘输入原理图 3.5 电源输入部分电路 密码锁主控部分需要采用5V 直流电源供电。 电路如图3-4所示,将频率为50Hz、有效值为220V的单相交流电压变换为幅值稳定的5V直流电压。

25、主要原理是通过电源变压器、整流电路、滤波电路、稳压电路将单向交流电压转换成稳定的直流电压。 由于输入电压为电网电压,一般所需直流电压的值与电网电压的有效值相差较大,因此电源变压器起到降压的作用。 电压降低后,仍然是交流电压,因此需要整流电路将交流电压转换为直流电压。 由于整流电路整流后的电压含有较大的交流成分,会影响负载电路的正常工作。 需要经过低通滤波电路进行滤波,使输出电压平滑。 本电路采用集成稳压芯片7805解决电源稳压问题。 D1 T1 220uF C5 220uF C8 0.1uF C6 0.1uF C7 7805 1 2 3 220V 5V 5V 470 R3 Res2 D2 VCC

26、图3-4 电源输入电路原理图 3.6 复位部分电路 11 单片机复位就是将CPU 和系统中的其他功能部件置于某种初始状态,并从该状态开始工作。 例如,复位后,PC0000H单片机从第h单元取指令。 无论单片机何时第一次接通电源,在断电或发生故障后都必须复位。 复位期间(即RST为高电平期间),P0口为高电平配置,P1P3口输出高电平; 外部程序存储器读选通信号PSEN无效。 地址锁存信号ALE也为高电平。 根据实际情况选择如图3-6所示的复位电路。该电路在最简单的复位电路上增加了一个手动复位按钮。 上电瞬间,电容C1上的电压很小,复位下拉电阻上的电压接近电源电压,即RST为高电平,当电容正在充电过程中

27、RST端电压逐渐下降。 当RST端电压小于一定值时,CPU离开复位状态。 由于电容C1足够大,可以保证RST高电平有效时间大于24个振荡周期,CPU能够可靠复位。 增加手动复位按钮,避免死机时无法可靠复位。 当按下复位按钮时,电容器C1通过R5放电。 当电容C1放电时,RST端的电位由R5和R6的分压比决定。 因为R53? 报警程序 NY NY 返回确认程序并再次输入新密码? 输入两次新密码还是一样吗? NY19 图4-3 开锁流程图 4-4 开锁流程图 4.4 延时程序:T10MSD:SETB RS0 初始化 按开锁键输入密码,确认程序中输入的密码是否正确? Y 解锁成功。 解锁程序输入次数增加1倍、3倍? 报警程序返回 NYN20MOV R4、#12TM:MOV R3、#128TM6:DJNZ R3、TM6DJNZ R4、TMCLR RS0RETT100MSD:MOV R3、#200D11:MOV R4、#125D12:DJNZ R4、D12DJNZ R3、D11RETT500MSD:LCALL T100MSDLCALL T100MSDLCALL T100MSDLCALL T100MSDLCALL T100MSDNOPRETSEC:SETB RS1MOV R7, #0AHSEC_LP:LCALL T100MSDDJNZ R7,SEC_LPNOPCLR RS1RETENDB5 s

单片机

单片机可以做什么?单片机的集成电路芯片,你知道吗?

2024-1-27 0:04:44

单片机

西安电子科技大学出版社,2010-51单片机原理及应用

2024-1-27 1:03:49

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索