LCD遥控密码锁的设计与制作.docx
- 文档编号:11623007
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:39
- 大小:460.15KB
LCD遥控密码锁的设计与制作.docx
《LCD遥控密码锁的设计与制作.docx》由会员分享,可在线阅读,更多相关《LCD遥控密码锁的设计与制作.docx(39页珍藏版)》请在冰豆网上搜索。
LCD遥控密码锁的设计与制作
湖南机电职业技术学院
HUNAN
MECHANICAL&ELCTRICAL
POLYTECHNIC
毕业设计论文
设计题目LCD遥控密码锁的设计与制作
姓名黄成林
班级
指导老师
系主任
评阅人
2012年5月8日
摘要
【摘要】
随着科技的日益发展,电子密码控制系统已越来越符合人们的要求。
本文介绍了基于单片机和串行EEPROM的智能密码控制系统,对系统硬件设计和软件实现进行了详细的描述。
该系统采用AT89C51单片机和AT24C01串行EEPROM,通过AT89C51模拟I2C总线和AT24C02通讯,实现密码控制的功能。
本文从经济实用的角度出发,采用美国Atmel公司的单片机AT89C51作为主控芯片与数据存储器单元,结合外围的矩阵键盘输入、LCD液晶显示、报警、开锁等,用C语言编写主控芯片的控制程序与EEPROM读写程序相结合,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。
这种电路设计具有防试探按键输入、智能控制上锁、开锁、报警、修改密码等多种功能。
密码长度可变、保密性强、灵活性高。
经实验证明,该密码控制系统具有设计方法合理,简单易行,成本低,安全使用等特点,符合车辆、办公室用锁要求,具有推广价值。
关键词:
单片机;密码锁;遥控;EEPROM读写程序
LCD遥控密码锁的设计与制作
1引言
1.1选题背景
在安全技术防范领域,具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码控制系统,克服了机械式密码控制的密码量少、安全性能差的缺点,使电子密码控制系统无论在技术上还是在性能上都大大提高了一步。
随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码控制系统,它除具有传统电子密码控制系统的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码控制系统具有很高的安全性、可靠性,应用日益广泛。
1.2电子密码控制简介
电子密码控制是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
电子密码控制不论性能还是安全性都已大大超过了机械类。
其特点如下:
1)保密性好,编码量多,远远大于机械控制。
随机开锁成功率几乎为零。
2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使控制的保密性下降。
3)误码输入保护,当输入密码多次错误时,报警系统自动启动。
4)无活动零件,不会磨损,寿命长。
5)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。
6)电子密码控制系统具有操作简单易行,一学即会的特点。
2系统设计
2.1选题论证
制作无线遥控密码锁可以用一片AT89S52,以单片机为核心通过编程来实现密码部分使用一片EEPROM实现掉电处理,遥控部分可以采用PT2262和PT2272之所以选择单片机编程是因为编程的灵活性可以弥补硬件电路的不足,EEPROM存储密码使整个系统更安全稳定。
2.2方案选择
方案一:
用以74LS112双JK触发器构成的数字逻辑电路作为密码控制系统的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作。
采用数字电路设计方案时设计虽然简单,但控制的准确性和灵活性差。
故不采用。
方案二:
由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。
一般来说在选取单片机时从下面几个方面考虑:
性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些还有一些最基本的,比如:
中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。
在开发过程中单片机还受到:
开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。
基于以上因素本设计选用单片机AT89S52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码控制功能。
在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD1602显示器用于显示作用。
当用户需要开锁时,先按键盘的数字键0-3输入密码。
密码输完系统会自动判断密码正确与否,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误系统自动锁定并不接收任何输入;当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。
新密码输入无误后按确认键使新密码将得到存储,密码修改成功。
可以看出方案二的控制灵活,准确性好,且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案。
3硬件电路的设计
3.1主控芯片AT89S52简介
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
3.1.1AT89S52芯片简介
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
其主要功能特性:
兼容MCS-51指令系统4k可反复擦写(>1000次)FlashROM
32个双向I/O口4.5-5.5V工作电压
2个16位可编程定时/计数器时钟频率0-33MHz
全双工UART串行中断口线128x8bit内部RAM
2个外部中断源低功耗空闲和省电模式
中断唤醒省电模式3级加密
软件设置空闲和省电功能双数据寄存器指针
可以看出AT89C51提供以下标准功能:
4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个数据指针,两个16位定时器/计数器,一个5向量两级中断结构,一个全双工串行通信口,以及片内振荡器和时钟。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式时停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式是在RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到一个硬件复位。
3.1.2AT89S52引脚功能说明
VCC:
电源电压
GND:
地
P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,P1接收低8位地址。
P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流I。
在访问8位地址的外部数据存储器(如执行:
MOVX@Ri指令)时,P2口线上的内(也即特殊功能寄存器,在整个访问期间不改变。
Flash编程或校验时,P2也接收高位地址和其它控制信号。
P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
作输入端口时,被外部拉低的P3口将用上拉电阻输出电流I。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,P3口的第二功能如下表2。
表2为P3口的第二功能
端口功能
第二功能
端口引脚
第二功能
RXD(P3.0)
串行输入口
T0(P3.4)
定时/计数器0外部输入
TXD(P3.1)
串行输出口
T1(P3.5)
定时/计数器1外部输入
INT0(P3.2)
外中断0
WR(P3.6)
外部数据存储器写选通
INT1(P3.3)
外中断1
RD(P3.7)
外部数据存储器读选通
表2
RST:
复位输入。
当振荡工作时,RST引脚出现两个机器周期上高电平将使单片机复位。
ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
即使不再访问外部存储器,ALE仍以时钟振荡频率的1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要注意的是:
当访问外部数据存储器时将跳过一个ALE脉冲。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置禁位后,只有一条MOVX和MOVC指令ALE才会被激活。
此外,该引脚伎被微弱拉高,单片机执行外部程序时,应设置ALE无效。
PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
当访问外部数据存储器,高有两次有效的PSEN信号。
EA/VPP:
外部访问允许。
欲使CPU访问外部程序存储器(地址0000H-FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程电压VPP。
XTAL1:
振荡器反相放大器及内部时钟发生器的输入端。
XTAL2:
振荡器反相放大器的输出端。
3.2各部分电路元件介绍
3.2.1LCD1602液晶显示器
1602型LCD的接口信号说明如表:
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
DataI/O
2
VDD
电源正极
10
D3
DataI/O
3
V0
液晶显示偏压信号
11
D4
DataI/O
4
RS
数据/命令选择端(H/L)
12
D5
DataI/O
5
R/W
读写选择端(H/L)
13
D6
DataI/O
6
E
使能信号
14
D7
DataI/O
7
D0
DataI/O
15
BLA
背光源正极
8
D1
DataI/O
16
BLK
背光源负极
3.2.21602主要技术参数
1602型LCD的主要技术参数如表3所示
表3-6为1602型LCD的主要技术参数
显示容量
芯片工作电压
工作电流
模块最佳工作电压
字符尺寸
16X2个字符
4.5~5.5
2.0mA(5.0V)
5.0V
2.95X4.35(WXH)mm
表3
3.2.3LCD1602基本操作程序
读状态:
输入:
RS=L,RW=L,E=H输出:
D0-D7=状态字
读数据:
输入:
RS=H,RW=H,E=H输出:
无
写指令:
输入:
RS=L,RW=L,D0-D7=指令码,E=高脉冲输出:
D0-D7=数据
写数据:
输入:
RS=H,RW=L,D0-D7=数据,E=高脉冲输出:
无
3.2.4晶体振荡器
晶体振荡器,简称晶振,其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或缩小后就成了电脑中各种不同的总线频率。
以声卡为例,要实现对模拟信号44.1kHz或48kHz的采样,频率发生器就必须提供一个44.1kHz或48kHz的时钟频率。
如果需要对这两种音频同时支持的话,声卡就需要有两颗晶振。
但是现在的娱乐级声卡为了降低成本,通常都采用SCR将输出的采样频率固定在48kHz,但是SRC会对音质带来损害,而且现在的娱乐级声卡都没有很好地解决这个问题。
现在应用最广泛的是石英晶体振荡器。
石英晶体振荡器是一种高精度和高稳定度的振荡器,石英晶体振荡器也称石英晶体谐振器,它用来稳定频率和选择频率,是一种可以取代LC谐振回路的晶体谐振元件。
石英晶体振荡器广泛地应用在电视机、影碟机、录像机、无线通讯设备、电子钟表、单片机、数字仪器仪表等电子设备中。
为数据处理设备产生时钟信号和为特定系统提供基准信号。
在单片机中为其提供时钟频率。
石英晶体振荡器是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,它的基本构成大致是:
从一块石英晶体上按一定方位角切下薄片(简称为晶片,它可以是正方形、矩形或圆形等),在它的两个对应面上涂敷上银层用作电极使用,在每个电极上各焊一根引线接到管脚上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振。
其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。
只要在晶体振子板极上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压电效应。
当外加电压频率等于晶体谐振器的固有频率时,就会发生压电谐振,从而导致机械变形的振幅突然增大。
本设计中采用12MHZ做系统的外部晶振。
电容取值为20pF。
3.2.5AT24C01串行EEPROM
如图1为AT24C02的芯片引脚图。
图1AT24C02的芯片引脚图
AT24C02提供电可擦除的串行1024位存储或可编程只读存储器(EEPROM)128字(8位/字)。
芯片在低压的工业与商业应用中进行了最优化。
AT24C01的封装为8脚PDIP、8脚JEDEC
SOIC、8脚TSSOP,通过2线制串行接口进行数据传输。
另外,整个系列有2.7V(2.7V至5.5V)和1.8V(1.8V至5.5V)两个版本。
设备操作:
CLOCK和DATA变化:
SDA管脚通常外部要拉高。
SDA管脚上的数据只能在SCL低期间改变。
数据在SCL高期间改变定义为一个开始或停止信号。
开始状态:
在任何操作之前必须有一个开始信号----在SCL为高时SDA上产生一个下降沿。
停止状态:
SCL为高时SDA产生一个上升沿是停止信号,停止信号后将停止所有通信。
在一个读的序列之后,停止信号将让EEPROM进入备用电源模式。
3.2.6I2C总线说明
I2C(Inter-IntegratedCircuit)总线是一种由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。
I2C总线产生于在80年代,最初为音频和视频设备开发,如今主要在服务器管理中使用,其中包括单个组件状态的通信。
例如管理员可对各个组件进行查询,以管理系统的配置或掌握组件的功能状态,如电源和系统风扇。
可随时监控内存、硬盘、网络、系统温度等多个参数,增加了系统的安全性,方便了管理。
1I2C总线的硬件结构
I2C串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。
所有接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。
为了避免总线信号的混乱,要求各设备连接到总线的输出端时必须是开漏输出或集电极开路输出。
设备上的串行数据线SDA接口电路应该是双向的,输出电路用于向总线上发送数据,输入电路用于接收总线上的数据。
而串行时钟线也应是双向的,作为控制总线数据传送的主机,一方面要通过SCL输出电路发送时钟信号,另一方面还要检测总线上的SCL电平,以决定什么时候发送下一个时钟脉冲电平;作为接受主机命令的从机,要按总线上的SCL信号发出或接收SDA上的信号,也可以向SCL线发出低电平信号以延长总线时钟信号周期。
总线空闲时,因各设备都是开漏输出,上拉电阻RP使SDA和SCL线都保持高电平。
任一设备输出的低电平都将使相应的总线信号线变低,也就是说:
各设备的SDA是“与”关系,SCL也是“与”关系。
总线对设备接口电路的制造工艺和电平都没有特殊的要求(NMOS、CMOS都可以兼容)。
在I2C总线上的数据传送率可高达每秒十万位,高速方式时在每秒四十万位以上。
另外,总线上允许连接的设备数以其电容量不超过400pF为限。
总线的运行(数据传输)由主机控制。
所谓主机是指启动数据的传送(发出启动信号)、发出时钟信号以及传送结束时发出停止信号的设备,通常主机都是微处理器。
被主机寻访的设备称为从机。
为了进行通讯,每个接到I2C总线的设备都有一个唯一的地址,以便于主机寻访。
主机和从机的数据传送,可以由主机发送数据到从机,也可以由从机发到主机。
凡是发送数据到总线的设备称为发送器,从总线上接收数据的设备被称为接受器。
I2C总线在传送数据过程中共有三种类型信号,它们分别是:
开始信号、结束信号和应答信号。
开始信号:
SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。
结束信号:
SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。
应答信号:
接收数据的IC在接收到8bit数据后,向发送数据的IC发出特定的低电平脉冲,表示已收到数据。
CPU向受控单元发出一个信号后,等待受控单元发出一个应答信号,CPU接收到应答信号后,根据实际情况作出是否继续传递信号的判断。
若未收到应答信号,由判断为受控单元出现故障。
如图3-3所示:
图2开始、结束信号图
目前有很多半导体集成电路上都集成了I2C接口。
带有I2C接口的单片机有:
CYGNAL的C8051F0XX系列,PHILIPSP87LPC7XX系列,MICROCHIP的PIC16C6XX系列等。
很多外围器件如存储器、监控芯片等也提供I2C接口。
总线基本操作:
I2C规程运用主/从双向通讯。
器件发送数据到总线上,则定义为发送器,器件接收数据则定义为接收器。
主器件和从器件都可以工作于接收和发送状态。
总线必须由主器件(通常为微控制器)控制,主器件产生串行时钟(SCL)控制总线的传输方向,并产生起始和停止条件。
SDA线上的数据状态仅在SCL为低电平的期间才能改变,SCL为高电平的期间,SDA状态的改变被用来表示起始和停止条件。
控制字节:
在起始条件之后,必须是器件的控制字节,其中高四位为器件类型识别符(不同的芯片类型有不同的定义,EEPROM一般应为1010),接着三位为片选,最后一位为读写位,当为1时为读操作,为0时为写操作。
写操作:
写操作分为字节写和页面写两种操作,对于页面写根据芯片的一次装载的字节不同有所不同。
读操作:
读操作有三种基本操作:
当前地址读、随机读和顺序读。
图4给出的是顺序读的时序图。
应当注意的是:
最后一个读操作的第9个时钟周期不是“不关心”。
为了结束读操作,主机必须在第9个周期时发出停止条件或者在第9个时钟周期内保持SDA为高电平、然后发出停止条件。
3.3硬件电路设计
3.3.1硬件系统框架设计
本设计主要由单片机、独立式键盘、遥控模块、液晶显示器和密码存储等部分组成。
其中独立式键盘用于输入数字密码和进行各种功能的实现。
由用户通过连接单片机的独立式键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,判断开锁系统开锁与否。
本系统共有两部分构成,即硬件部分与软件部分。
其中硬件部分由电源输入部分、键盘输入部分、复位部分、晶振部分、显示部分、遥控部分组成,软件部分对应的由主程序、初始化程序、LCD显示程序、键盘扫描程序、启动程序、关闭程序、键功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。
其原理框图如图4所示。
图4电子密码锁原理框图
3.3.2晶振电路
CPU工作时都必须有一个时钟脉冲。
有两种方式可以向89S52提供时钟脉冲:
一是外部时钟方式,即使用外部电路向89S52提供始终脉冲,;二是内部时钟方式,本设计采用了内部时钟方式,即使用晶振由89S52内部电路产生时钟脉冲。
其电路见图3所示。
图389S52的时钟脉冲
图3中:
C3一般为石英晶体,其频率由系统需要和器件决定,在频率稳定度要求不高时也可以使用陶瓷滤波器。
3.3.3复位电路
使CPU开始工作的方法就是给CPU一个复位信号,CPU收到复位信号后将内部特殊功能寄存器设置为规定值,并将程序计数器设置为“0000H”。
复位信号结束后,CPU从程序存储器“0000H”处开始执行程序。
89S52为高电平复位,一般有2种复位方法。
图4为最简单的上电复位和手动复位方法。
89S51
图489S52的复位电路
3.3.4LCD液晶显示电路
为了提高密码锁的密码显示效果能力。
本设计的显示部分由液晶显示器LCD1602取代普通的数码管来完成。
通过LCD显示屏,可以清楚的判断出密码锁所处的状态。
其显示部分引脚接口如图5所示:
图5LCD显示电路
3.3.5遥控部分电路
编码解码芯片PT2262/PT2272芯片原理简介:
PT2262/2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。
编码芯片PT2262发出的编码信号由:
地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。
当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHz的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHz的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHz的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100%的调幅。
PT2262/2272特点:
CMOS工艺制造,低功耗,外部元器件少,RC振荡电阻,工作电压范围宽:
2.6~15v,数据最多可达6位,地址码最多可达531441种。
图6为发射机等效电路:
图6发射机等效电路
图7为接收机等效电路:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LCD 遥控 密码锁 设计 制作