基于单片机密码锁毕业论文[1][1]Word格式.doc.deflateWord格式.doc
《基于单片机密码锁毕业论文[1][1]Word格式.doc.deflateWord格式.doc》由会员分享,可在线阅读,更多相关《基于单片机密码锁毕业论文[1][1]Word格式.doc.deflateWord格式.doc(56页珍藏版)》请在冰豆网上搜索。
日期
1
题目选择
1月
2
整理资料
3
硬件模拟
2月
4
设计计划
5
软件编程
3~4月
6
整理
4月
七、附注
目录
1 引言 1
1.1 选题背景 1
1.2 电子密码控制简介 1
1.3 电子密码控制的发展趋势 1
1.4 本设计所要实现的目标 2
2 设计方案的选择 3
2.1 方案一:
采用数字电路控制 3
2.2 方案二:
采用以单片机为核心的控制方案 3
3 主要元器件介绍及I2C总线说明 4
3.1 主控芯片AT89C51 4
3.1.1 AT89C51性能简介 4
3.1.2 AT89C51引脚功能说明 5
3.1.3 AT89C51芯片内部结构 7
3.2 LCD1602显示器 8
3.2.1接口信号说明 8
3.2.2主要技术参数 9
3.2.3基本操作程序 9
3.3 晶体振荡器 9
3.4 AT24C01串行EEPROM 10
3.5 I2C总线说明 11
4 系统硬件构成 15
4.1 设计原理 15
4.2 电路总图构成 15
4.3 电源输入部分 16
4.4 键盘输入部分 16
4.5 复位部分 17
4.6 晶振部分 18
4.7 显示部分 18
4.8 报警部分 19
5 系统软件设计 20
5.1 主程序流程图 20
5.2 按键功能流程图 21
5.3 密码设置流程图 21
5.4 开锁流程图 22
结论 24
参考文献 25
致谢 26
附录一:
总原理图 27
附录二:
程序 29
附录三:
翻译 44
摘要
随着科技的日益发展,电子密码控制系统已越来越符合人们的要求。
本文介绍了基于单片机和串行EEPROM的智能密码控制系统,对系统硬件设计和软件实现进行了详细的描述。
该系统采用AT89C51单片机和AT24C01串行EEPROM,通过AT89C51模拟I2C总线和AT24C01通讯,实现密码控制的功能。
本文从经济实用的角度出发,采用美国Atmel公司的单片机AT89C51作为主控芯片与数据存储器单元,结合外围的矩阵键盘输入、LCD液晶显示、报警、开锁等,用C语言编写主控芯片的控制程序与EEPROM读写程序相结合,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。
这种电路设计具有防试探按键输入、智能控制上锁、开锁、报警、修改密码等多种功能。
密码长度可变、保密性强、灵活性高。
经实验证明,该密码控制系统具有设计方法合理,简单易行,成本低,安全使用等特点,符合车辆、办公室用锁要求,具有推广价值。
关键词:
密码控制;
单片机;
EEPROM读写程序;
报警
1引言
1.1选题背景
在安全技术防范领域,具有防盗报警功能的电子密码控制系统逐渐代替传统的机械式密码控制系统,克服了机械式密码控制的密码量少、安全性能差的缺点,使电子密码控制系统无论在技术上还是在性能上都大大提高了一步。
随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码控制系统,它除具有传统电子密码控制系统的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码控制系统具有很高的安全性、可靠性,应用日益广泛。
1.2电子密码控制简介
电子密码控制是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。
电子密码控制不论性能还是安全性都已大大超过了机械类。
其特点如下:
1)保密性好,编码量多,远远大于机械控制。
随机开锁成功率几乎为零。
2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使控制的保密性下降。
3)误码输入保护,当输入密码多次错误时,报警系统自动启动。
4)无活动零件,不会磨损,寿命长。
5)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。
6)电子密码控制系统具有操作简单易行,一学即会的特点。
1.3电子密码控制的发展趋势
由于电子器件所限,以前开发的电子密码控制系统,其种类不多,保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的,制作简单但很不安全,后来便是基于EDA来实现的,其电路结构复杂,电子元件繁多,也有使用早先的20引脚的2051系列单片机来实现的,但密码简单,易破解。
随着电子元件的进一步发展,电子密码控制系统也出现了很多的种类,功能日益强大,使用更加方便,安全保密性更强,由以前的单密码输入发展到现在的,密码加感应元件,实现了更为真正的电子加密,用户只有密码或电子钥匙中的一样,是打不开锁的,随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码控制系统。
由于数字、字符、图形图像、人体生物特征和时间等要素均可成为电子信息,组合使用这些信息能够使电子防盗密码控制获得更高的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗密码控制系统。
组合使用信息也能够使电子防盗密码控制系统获得无穷扩展的可能。
可以看出组合使用电子信息是电子密码控制系统今后发展的趋势。
1.4本设计所要实现的目标
本设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警。
密码可以由用户自己修改设定,锁打开后才能修改密码。
修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。
51
2设计方案的选择
2.1方案一:
采用数字电路控制
用以74LS112双JK触发器构成的数字逻辑电路作为密码控制系统的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;
如果用户输入密码的时间超过10秒(一般情况下,用户不会超过10秒,若用户觉得不便,还可以修改)电路将报警20秒,若电路连续报警三次,电路将锁定键盘2分钟,防止他人的非法操作。
采用数字电路设计方案时设计虽然简单,但控制的准确性和灵活性差。
故不采用。
2.2方案二:
采用以单片机为核心的控制方案
由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。
一般来说在选取单片机时从下面几个方面考虑:
性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些还有一些最基本的,比如:
中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。
在开发过程中单片机还受到:
开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。
基于以上因素本设计选用单片机AT89C51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码控制功能。
在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD1602显示器用于显示作用。
当用户需要开锁时,先按键盘开锁键之后按键盘的数字键0-9、A—F输入密码。
密码输完后按下确认键,如果密码输入正确则开锁,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;
当用户需要修改密码时,先按下键盘设置键后输入原来的密码,只有当输入的原密码正确后才能设置新密码。
新密码输入无误后按确认键使新密码将得到存储,密码修改成功。
可以看出方案二的控制灵活,准确性好,且保密性强还具有扩展功能,根据现实生活的需要此次设计采用此方案。
3主要元器件介绍及I2C总线说明
3.1主控芯片AT89C51
AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytes的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及AT80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。
3.1.1AT89C51性能简介
AT89C51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,片内时钟振荡器。
此外,AT89C51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
图3-1AT89C51芯片引脚图
其主要功能特性:
兼容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.2AT89C51引脚功能说明
VCC:
电源电压
GND:
地
P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端口。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:
P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可