单片机电子密码锁说明书

合集下载

电子密码锁使用说明

电子密码锁使用说明

基于51单片机的简易电子密码锁使用说明一、实现功能:1、设置6位密码,密码通过键盘输入,若密码正确,则将锁打开。

2、密码可以由用户自己修改设定(只支持6位密码),锁打开后才能修改密码。

修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。

3、报警、锁定键盘功能。

密码输入错误显示器会出现错误提示,若密码输入错误次数超过3次,蜂鸣器报警并且锁定键盘。

4、AT24C02保存密码,支持复位保存,掉电保存功能。

二、按键说明按键定义图如图示:采用4X4键盘输入,键盘对应名称如下:1 2 3 A4 5 6 B7 8 9 C* 0 # D其中,【0—9】为数字键,用于输入相应的密码,【*】号键为取消当前操作【#】号键为确认【D】键为修改密码其它键无功能及定义三、作用说明:密码锁初始密码为:000000.1、开锁:插上电源后,程序自动调入初始密码,此时依次输入:000000,然后按【#】(确认)键,此时锁会打开,可以看到显示open,密码锁打开。

(如为自己焊接,请首次使用输入:131420,对密码进行初始化,当显示出现:initpassword,证明密码初始化完成,此时初始密码即为:000000)。

2、退出并关锁:按下【*】(取消)键,此时锁关闭,所有输入清除。

3、修改密码:在开锁状态下,再次输入正确的密码并按下【#】(确认)键,此时听到两声提示,输入新的六位密码并按【D】(重设)键,再重复输入一次新密码并按【D】,会听到两声提示音,表示重设密码成功,内部保存新密码并存储到AT24C02。

(如两次输入的新密码不一样,则重设密码失败)。

4、报警并锁定键盘:当输入密码错误后,报警并锁定键盘3秒,如3秒内又有按键,3秒再启动。

5、当重置新密码时,新密码会保存于AT24C02存储器里。

有任何问题请与我联系:QQ:331091810E_mail:331091810@旺旺ID:j_yongchao2008淘宝店址:/。

基于AT89C52单片机电子密码锁的设计说明

基于AT89C52单片机电子密码锁的设计说明

题目:基于AT89C52单片机的电子密码锁设计学院(系):年级专业:电子信息工程学号:学生:指导教师:教师职称:成绩:完成日期 2012年11月29日目录摘要2第0章引言2第1章硬件设计31.1 要求与方案41.1.1 设计要求41.1.2 方案设计41.2 系统方框图41.3 工作原理51.4 键盘输入模块61.6 电路复位部分71.7 LED显示部分71.8 晶振部分71.9 开锁部分8第2章主要元器件介绍92.1 主控芯片AT89C5292.1.2 AT89C52引脚功能说明102.1.3 AT89C52芯片部结构122.2 LCD1602显示器142.2.1 接口信号说明142.2.2 主要技术参数142.2.3 基本操作程序15第3章系统软件设计15第4章调试19第5章总结22第6章致语 (22)参考文献23附录24基于单片机的电子密码锁设计摘要:随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其性高,使用灵活性好,安全系数高,受到了广大用户的青睐。

本设计以单片机AT89C52作为密码锁监控装置的检测和控制核心,分为主机控制和从机执行机构(本设重点介绍主机设计) ,实现钥匙信息在主机上的初步认证注册,密码信息的加密,钥匙丢失报废等功能。

根据51单片机之间的串行通信原理,这便于对密码信息的随机加密和保护。

而且采用键盘输入的电子密码锁具有较高的优势。

采用数字信号编码和二次调制方式,不仅可以实现多路信息的控制,提高信号传输的抗干扰性,减少错误动作,而且功率消耗低;反应速度快,传输效率高,工作稳定可靠等。

软件设计采用自上而下的模块化设计思想,以使系统朝着分布式,小型化方向发展,增强系统的可扩展性和运行的稳定性.测试结果表明,本系统各项功能已达到本设计的所有要求。

关键词:单片机;电子密码锁;A T89C52;显示;设计第0章引言在日常生活和工作中,住宅与部门的安全防、单位的文件档案、财务报表以与一些个人资料的保存多以加锁的办法来解决。

单片机密码锁(掉电可记忆密码)

单片机密码锁(掉电可记忆密码)

/***************************************************** ***************************程序功能:本程序结合了24C02存储器的存储功能,可以掉电保存密码。

第一次运行时,若输入000000原始密码后无反应,可以试验着将主程序中前面的一小段被注释线屏蔽的程序前的注释线删掉,然后从头编译下载(可以将密码还功能键S1---S10数字键0-9S12---更改密码完毕后确认S11---更改密码S13---重试密码、从头设定S14---关闭密码锁初始密码:000000密码位数:6位原为000000)。

此后,再将这小段程序屏蔽掉,再编译下载。

方可正常使用。

1、开锁:下载程序后,直接按六次S1(即代表数字1),8位LED亮,锁被打开,输入密码时,六位数码管依次显示小横杠。

2、更改密码:只有当开锁(LED亮)后,该功能方可使用。

首先按下更改密码键S11,然后设置相应密码,此时六位数码管会显示设置密码对应的数字。

最后设置完六位后,按下S12确认密码更改,此后新密码即生效。

3、重试密码:当输入密码时,密码输错后按下键S13,可从头输入六位密码。

当设置密码时,设置中途想更改密码,也可按下此键从头设置。

4、关闭密码锁:按下S14即可将打开的密码锁关闭。

推荐初级演示步骤:输入原始密码000000---按下更改密码按键S11---按0到9设置密码---按S12确认密码更改---按S14关闭密码锁---输入新的密码打开密码锁***************************************************************** **************/#include<>#include <>#define uint unsigned int#define uchar unsigned charuchar old1,old2,old3,old4,old5,old6; //原始密码000000uchar new1,new2,new3,new4,new5,new6;//每次MCU采集到的密码输入uchar a=16,b=16,c=16,d=16,e=16,f=16; //送入数码管显示的变量uchar wei,key,temp;bit allow,genggai,ok,wanbi,retry,close;//各个状态位sbit dula=P2^6;sbit wela=P2^7;sbit beep=P2^3;sbit sda=P2^0;//IO口定义sbit scl=P2^1;unsigned char code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00,0x40};/*****************IIC芯片24C02存储器驱动程序************************************/void nop(){}/////////24C02读写驱动程序////////////////////void delay1(unsigned int m){unsigned int n;_nop_();_nop_();for(n=0;n<m;n++);}void init()//24c02初始化子程序{}void start()//启动I2C总线{sda=1;scl=1;nop();sda=1;nop();}nop();scl=1;nop();sda=0;nop();scl=0;nop();void stop()//停止I2C总线{}void writebyte(unsigned char j)//写一个字节{unsigned char i,temp;sda=0;nop();scl=1;nop();sda=1;nop();temp=j;for (i=0;i<8;i++){}temp=temp<<1;scl=0;nop();sda=CY;nop();scl=1;nop();//待sda线上的数据安定后,将scl拉高//temp左移时,移出的值放入了CY中scl=0;nop();sda=1;nop();}unsigned char readbyte()//读一个字节{unsigned char i,j,k=0;scl=0; nop(); sda=1;for (i=0;i<8;i++){nop(); scl=1; nop();if(sda==1)j=1;elsej=0;k=(k<<1)|j;scl=0;}nop();}void clock()//I2C总线时钟{unsigned char i=0;scl=1;nop();while((sda==1)&&(i<255))i++;scl=0;nop();}////////从24c02的地址address中读取一个字节数据/////unsigned char read24c02(unsigned char address){unsigned char i;start();writebyte(0xa0);clock();return(k);writebyte(address);clock();start();writebyte(0xa1);clock();i=readbyte();stop();delay1(100);return(i);}//////向24c02的address地址中写入一字节数据info///// void write24c02(unsigned char address,unsigned char info) {start();writebyte(0xa0);clock();writebyte(address);clock();writebyte(info);clock();stop();delay1(5000); //这个延时一定要足够长,否则会出错。

PIC单片机电子密码锁

PIC单片机电子密码锁

一、系统主要功能1)基本要求1.硬件设计要求:(1)CPU使用PIC16F877A。

(2)用4x4矩阵键盘作为操作信息输入。

(3)用LCD1602或六位数码管作为信息输出。

(建议使用LCD1602)(4)用蜂鸣器及发光二极管作为错误报警及状态显示。

2.系统功能要求:(1)输入密码功能。

输入密码时用“*”号或“-”显示。

在输入密码时,具有清除前一位密码功能(用CLR键)。

密码输入完毕,按(ENTER键)确认并生效。

(2)上锁功能。

在锁开状态下,通过(LOCK键)上锁。

(3)在锁合的状态下,通过密码开锁功能。

开锁时,直接在键盘上输入六位密码,按(ENTER键)确认,如果密码正确,转入锁开状态。

(4)在锁开状态下,修改密码功能。

在键盘上输入六位新的密码,按(ENTER键)确认,代替旧密码,并保存在RAM中。

(4)在开锁时,如果输入密码三次错误,产生声、光报警功能。

(5)0~9为密码键数字键,E为ENTER键,C为清除键CLR键,D作为上锁键LOCK键,如果用到其他键时,可自行定义。

2)进阶要求密码保存在PIC16F877A内部的EEPROM中,以防断电密码丢失。

(不使用外挂的EEPROM,如:AT24C02等)二、系统设计要求1)根据系统的功能和目标,画出系统功能框图。

2)根据系统功能框图用Proteus画出仿真电路图。

3)根据系统的功能要求,画出程序流程图。

4)根据程序流程图,用PIC C语言编写系统源程序。

5)进行编译、调试建立目标代码。

6)在Proteus环境下进行仿真。

三、设计报告报告内容包括系统设计思路、方案选择、器件选择及电路元器件明细表、系统功能框图、程序流程图、源程序清单、系统工作原理和设计心得等。

四、评分标准:1、完成《基本要求》者,得分80~89分;2、完成《基本要求》及《进阶要求》者,得分90~100分;五、设计时间安排十九周的星期一至星期五(2011年6月27日至7月1日)1)周一:布置任务,进行方案选择、器件选择。

51单片机简易密码锁

51单片机简易密码锁

学号:单片机课程设计说明书设计题目:简易电子密码锁成绩评定表摘要在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。

若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。

随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。

为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。

密码锁具有安全性高、成本低、功耗低、易操作等优点。

在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。

随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。

本课程设计介绍了基于单片机电子密码锁的设计,该设计硬件主要由AT89C52最小系统、矩阵电路、1602LCD显示电路、电源电路和报警电路等几部分组成。

软件主要由C语言编程。

该密码锁由单片机技术,通过矩阵电路设置、修改密码、保护密码,并由LCD显示密码输入,从而实现对密码的设置、保护。

关键词:单片机,密码锁, 1602,最小系统,矩阵键盘AbstractIn daily life and work, the department of housing and security, unit documents, financial statements and some personal information to save more in order to lock the ways to solve. If use the traditional mechanical key to open the lock, people often need to carry multiple keys, use very convenient, and the key missing after security is compromised. With the continuous development of science and technology, people in daily life the demand is higher and higher safety insurance device. To meet the requirements of people on the use of the lock, increase its safety, use the password instead of the key combination lock arises at the historic moment. Combination lock with high safety, low cost, low power consumption, easy operation, etc.In the field of security technology to guard against, with electronic combination lock anti-theft alarm function gradually replace the traditional mechanical combination lock, overcoming the mechanical combination lock password quantity is little, the shortcomings of poor safety performance, make the combination lock both in technology and step in performance are improved greatly. With the development of large scale integrated circuit technology, especially the single chip microcomputer, appeared with the intelligent combination of the microprocessor, it besides has the function of electronic combination lock, also introduced the intelligent management, expert analysis system, and other functions, so that the combination lock of high security, reliability, and increasingly widely used.The course design of electronic combination lock based on MCU is introduced, the design of the hardware is mainly composed of AT89C52 minimum system, matrix circuit, 1602 LCD display circuit, power circuit and alarm circuit and so on several parts. Software is mainly composed of C language programming. The combination lock by the single chip microcomputer technology, through the matrix circuit setting, change passwords, password protection, and by the LCD display password input, so as to realize the password Settings, protection.Key words: single chip microcomputer, trick lock, the 1602, the smallest system, matrix keyboard目录摘要 ......................................................................................................................... I II ABSTRACT .. (4)第1章绪论 (7)1.1电子密码锁的现状与发展 (7)1.1.1电子密码锁的现状 (7)1.1.2电子密码锁的发展 (7)1.2电子密码锁的特色 (7)第2章电子密码锁的工作原理及总体设计 (8)2.1电子密码锁的工作原理 (8)2.2总体结构的设计 (8)第3章硬件系统设计 ............................................................... 错误!未定义书签。

基于单片机的电子密码锁设计说明

基于单片机的电子密码锁设计说明

xx科技大学单片机课程设计题目基于单片机的电子密码锁设计学生 XXX专业班级 11级通信工程学号 201100000 院(系)信息工程学院指导老师 XX完成时间 2015年01月16日XX科技xx单片机课程设计任务书专业11级通信工程班级 2班学号 201100000 XXX一、设计题目基于单片机的电子密码锁设计二、设计任务与要求(1)本设计为防止密码被窃取在输入密码时屏幕上显示8。

(2)设计开锁密码位为六位密码的电子密码锁。

(3)能够在密码正确时显示“1HELLO”,密码错误时显示“2ERROR”,输入密码的位数时显示为8的个数。

(4)4×4的矩阵键盘中包括0-9的数字键确认键和消除键的功能键。

(5)本产品具备报警功能,当输入密码错误时蜂鸣器响(6)在密码输入过程中,若输入错误,可以利用“C”键删除刚才输入的错误的数字。

在输入密码的过程中可以随时对输入的密码进行修改。

三、主要参考文献[1] 何宏主编.单片机原理与接口技术. [M]:国防工业. 2006. 07[2] 益、徐晓林、周振峰. 电子密码锁的系统原理.[M]:清华大学. 2003.[3] 培仁.基于C语言编程 MCS- 51单片机原理与应用.:清华大学. 2002.12四、设计时间2015 年01月 16日至 2015 年 01月 16 日指导教师签名:年月日目录1 电子密码锁的背景 (1)2 总体设计方案的确定 (1)2.1 电子密码锁设计要求 (1)2.2 总体设计方案选定 (2)3 系统硬件设计 (2)3.1 设计原理 (2)3.2 单片机STC89C52简介 (3)3.4七段数码管显示器部分 (6)3.5 键盘设计 (7)3.6 蜂鸣器模块 (7)4 系统软件设计 (8)4.1 主程序模块 (8)5 系统制作及调试 (9)5.1 焊接注意事项 (9)5.2 硬件调试问题及解决方法 (9)6 结论 (10)参考文献 (11)附录1:实物图 (12)附录2:元件清单 (13)附录3:电路原理图 (14)附录4:程序 (15)1 电子密码锁的背景随着社会物质财富的日益增长,如何实现家庭防盗这一问题也变的尤其的突出,而锁自古以来就是把守门户的铁将军,人们对它要求甚高,即要安全可靠地防盗,又要使用方便。

密码锁控制说明书

密码锁控制说明书

一、题目:密码锁控制二、任务要求:1、密码锁由4x4键盘和LCD显示器组成。

2、其基本功能为:(1)使用LCD显示器来显示密码输入的相关信息(2)可以设置4位数字(0-9)密码;(3)内定另一组4位数字密码为‘1234’;(4)密码输入正确则继电器启动2s,密码输入错误则发出警报声。

程序执行后工作指示灯LED亮,表示程序开始执行,LCD 显示“PASSWORD A OR B KEY”,按下操作键A或B动作如下:操作键A:设置新的4位数字密码,操作键B:输入4位数字密码并做检查。

三、组内成员:绪论单片机自二十世纪七十年代问世以来,以其极高的性能价格比受到人们的重视和关注,应用广泛,发展快。

由于其的优点多而突出,所以其的应用领域极广,几乎到了无孔不入的地步。

在我国广泛的应用于工业自动化控制、自动检测、智能仪表、智能家用电器、航空航天系统和国防军事、尖端武器等各个方面。

可以采用软硬件结合的办法提高系统的性能的控制技术为微控技术。

LCD 液晶显示器是Liquid Crystal Display 的简称,是20世纪70年代初发展起来的一种液晶显示器。

随着技术的发展其的分辨率、屏幕发光颜色等进入批量化合实用化。

随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。

本系统由单片机系统、矩阵键盘、LCD显示和报警系统组成。

系统能完成开锁、报警、修改用户密码基本的密码锁的功能。

本文详细阐述了个模块的功能以及它们之间的联系。

一、单片机概述采用以8051为核心的单片机控制方案。

利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。

其原理如图所示。

图2-2单片机控制方案2、单片机80511>、芯片8051有40条引脚,共分为端口线、电源线和控制线三类·4并行I/O端口,每个端口有8条端口线,用于传送数据、地址。

单片机课设密码锁

单片机课设密码锁

1 设计课题任务、功能要求说明及方案介绍1.1设计课题任务与要求设计一个具有特定功能的密码锁。

该密码锁上电或按键复位后能自动显示系统提示符“0”,进入准备工作状态。

该密码锁具有系统原始密码也是万能密码为12345678,用户可以在原始密码输入正确后,即开锁后才可以设定并存储用户密码,当用户设置密时,万能密码仍可以解锁,输入的新密码并按下设定时回到系统初始状态。

密码锁锁定时,密码输入应处于显示状态,显示“0”,密码输入正确时应显示密码输入正确提示信息8个“8.”,即数码管全亮,否则,显示密码输入错误提示信息:8个“-”并且蜂鸣器响一会,当输入错误3次时,蜂鸣器报警一直报警,显示错误信息8个“-”,并且锁死系统。

1.2设计课题总体方案及工作原理此密码锁主要由单片机芯片AT89S52、4X4矩阵键盘、8位数码管显示电路和复位电路构成,设计课题的系统框图如图1.1 所示:图1.1系统框图实现密码锁功能的软件程序存放在AT89S52的ROM中。

2 设计课题硬件系统的设计2.1 设计课题硬件系统各模块介绍本设计的硬件系统主要采用以下基本模块来实现,单片机最小系统模块,输入模块、输出模块、电源模块(1)单片机最小系统模块:AT89S52单片机芯片;复位电路;晶振电路。

本模块AT89S52系统控制核心,单片机系统复位由按键电平复位电路完成,通过按键S1来控制,单片机通过芯片引脚XTAL1、XTAL2,外并接石英晶体振荡器和两只电容。

这样就为能为单片机提供频率为12MHz的晶振。

(2)4X4矩阵键盘模块:四条列线接P1.7-P1.4;四行线接P1.3-P1.0 (3)显示模块:本次设计显示为8位,采用两个四位一体数码管(共阳极)作为显示窗口,既可以节约成本又能简化电路。

数码管用8个PNP三极管驱动。

(4)电源模块:直接由PC的USB接口提供。

2.2 各功能模块详细介绍2.2.1 AT89S52介绍(1) 具有8KB可改写的Flash 部程序存储器,可写/擦1000次;(2) 256字节部RAM;(3) 32根可编程I/O口;(4) 3个16位定时器/计数器。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机课程设计说明书设计题目—基于AT89C51的电子密码锁设计专业机械设计制造及其自动化班级学生姓名学号指导教师完成日期摘要:在日常的生活和工作中, 住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。

若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。

随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。

为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。

密码锁具有安全性高、成本低、功耗低、易操作等优点。

在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。

随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的智能密码锁,它除具有电子密码锁的功能外,还引入了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。

随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。

但是这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。

而且指纹识识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。

加上其成本较高,一定程度上限制了这类产品的普及和推广。

鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。

基于以上思路,本次设计使用 ATMEL公司的 AT89C51 实现一基于单片机的电子密码锁的设计,其主要具有如下功能:(1)密码通过键盘输入,若密码正确,则将锁打开。

(2)报警、锁定键盘功能。

密码输入错误数码显示器会出现错误提示,若密码输入错误次数超过 3 次,蜂鸣器报警并且锁定键盘。

电子密码锁的设计主要由三部分组成:4×4 矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。

另外系统还有 LED 提示灯,报警蜂鸣器等。

密码锁设计的关键问题是实现密码的输入、清除、更改、开锁等功能:(1)密码输入功能:按下一个数字键,一个“-”就显示在最右边的数码管上,同时将先前输入的所有“-”向左移动一位。

(2)密码清除功能:当按下清除键时,清除前面输入的所有值,并清除所有显示。

(3)开锁功能:当按下开锁键,系统将输入与密码进行检查核对,如果正确锁打开,否则不打开。

主要的设计实施过程:首先,选用 ATMEL公司的单片机 AT89C51,以及选购其他电子元器件。

第二步,使用 DXP 2004设计硬件电路原理图,并设计 PCB图完成人工布线(后因 PCB 板损坏决定采用万能板焊接的方法)。

第三步,使用 Keil uVision3 软件编写单片机的 C 语言程序、仿真、软件调试。

第四部,使用 PROTEUS 软件进行模拟软、硬件调试。

最后,联合软、硬件调试电路板,完成本次毕业设计。

关键词:4×4矩阵键盘;AT89C51;密码锁;密码二次确认目录摘要……………………………………………………………… - 1 -目录…………………………………………………………………… - 4 -第1章概述………………………………………………………..- 5 -第2章系统总体方案设计…………………………………………… - 6 -第3章硬件电路设计……………………………………………….- 9 -第4章软件设计……………………………………………………..- 12 -第5章系统调试……………………………………………………..错误!未定义书签。

第6章心得体会............................................................... - 16 -源程序清单. (19)第1章概述随着科技的发展,单片机已不是一个陌生的名词,它的出现是近代计算机技术发展史上的一个重要里程碑,因为单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。

单片机单芯片的微小体积和低的成本,可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统、舰船、个人信息终端及通讯产品中,成为现代电子系统中最重要的智能化工具。

本文所涉及的是市场占有率最高的是MCS—51系列,因为世界上很多知名的IC生产厂家都生产51兼容的芯片。

到目前为止,MCS—51单片机已有数百个品种,还在不断推出功能更强的新产品。

本设计是基于单片机的密码锁设计方案,根据要求,给出了该单片机密码锁的硬件电路和软件程序,同时给出了单片机型号的选择、硬件设计、软件流程图、单片机存储单元的分配、汇编语言源程序及详细注释等内容。

第2章系统总体方案设计方案一:采用数字电路控制。

其原理方框图如图1-1所示。

图2-1 数字密码锁电路方案采用数字密码锁电路的好处就是设计简单。

用以74LS112双JK触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定键盘5分钟,防止他人的非法操作。

电路由两大部分组成:密码锁电路和备用电源(UPS),其中设置UPS 电源是为了防止因为停电造成的密码锁电路失效,使用户免遭麻烦。

密码锁电路包含:键盘输入、密码修改、密码检测、开锁电路、执行电路、报警电路、键盘输入次数锁定电路。

方案二:采用一种是用以AT89S51为核心的单片机控制方案。

利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,不但能实现基本的密码锁功能,还能添加调电存储、声光提示甚至添加遥控控制功能。

其原理如图1-2所示。

图2-2单片机控制方案通过比较以上两种方案,单片机方案有较大的活动空间,不但能实现所要求的功能而且能在很大的程度上扩展功能,而且还可以方便的对系统进行升级,所以我们采用后一种方案。

本方案采用一种是用以89S51为核心的单片机控制方案。

利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。

初步设计思路如下:输入密码用矩形键盘,包括数字键和功能键。

LED数码管显示输入密码,用74JS247驱动数码管发光显示数码,用74LS138控制各位显示器分时进行显示。

用发光二极管代替开锁的电路,发光表示开锁。

输入密码错误次数超过3次,系统报警。

打开电源后,显示器显示“000000”,设原始密码为“123456”,只要输入此密码便了开门。

这样可预防停电后再来电时无密码可用。

按“C”键,清除显示器为“000000”。

欲重新设定密码,先输入密码在案“*”。

输入密码,再按“D”键。

若密码与设定密码相同,则开门。

否则显示器清为“000000”。

软件的设计主要包括键盘键值的读取,LED显示程序,密码比较程序和报警程序。

第3章硬件电路设计3.1 键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的I/O线的数目,在按键比较多的时候,通常采用这样方法。

其原理如图3.1。

图3.1 矩阵键盘每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N条行线和M条列线,即可组成具有N×M个按键的键盘。

在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。

当确认有按键按下后,下一步就要识别哪一个按键按下。

对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。

对照图3.1所示的4×4键盘,说明线反转个工作原理。

首先辨别键盘中有无键按下,有单片机I/O口向键盘送全扫描字,然后读入行线状态来判断。

方法是:向行线输出全扫描字00H,把全部列线置为低电平,然后将列线的电平状态读入累加器A中。

如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。

判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。

方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。

具体的功能设计如表3.1:表3.1 按键功能3.2LED显示电路本系统设计的显示电路是为了给使用者以提示而设置的。

本系统的显示采用串行显示的方式,只使用单片机的一个串行口,利用74LS247驱动数码管发光显示数码和74LS138控制位选信号,就可以完成单片机的显示功能,显示电路的电路原理图如图3.2所示。

用P0.0—P0.3接74LS247的A,B,C,D四端口,74LS247的输出口接LED的七段显示;而P0.4—P0.6接74LS138的A,B,C三个输入口,74LS138的输出口接LED的位显示。

通过软件实现数字和位控制。

图3.2 LED显示电路用74LS247可以控制输出什么字型。

74LS247的逻辑功能表如表3.2:表3.2 74LS247的逻辑功能表用74LS138控制位循环显示,其逻辑功能表如表3.3:C B A Y1 Y2 Y0 Y3 Y4 Y5 Y6 Y70 0 0 0 1 1 1 1 1 10 0 1 1 0 1 1 1 1 1 10 1 0 1 1 0 1 1 1 1 10 1 1 1 1 1 0 1 1 1 11 0 0 1 1 1 1 0 1 1 11 0 1 1 1 1 1 1 0 1 11 1 0 1 1 1 1 1 1 0 11 1 1 1 1 1 1 1 1 1 0第四章软件设计4.1软件设计思路电子密码锁工作的主要过程是LED数码管提示开始输入密码,通过键盘输入密码,同时LED显示密码输入情况,按下确认键后判断密码的正确性,作出开锁或报警处理。

当输入密码连续输入错误3次时,系统报警。

密码的设定,在此程序中密码是固定40H—45H 中,假设预设的密码为"123456"共6位密码。

由于采用两个按键来完成密码的输入,那么其中一个按键为功能键,另一个按键为数字键。

在输入过程中,首先输入密码的长度,接着根据密码的长度输入密码的位数,直到所有长度的密码都已经输入完毕;或者输入确认功能键之后,才能完成密码的输入过程。

进入密码的判断比较处理状态并给出相应的处理过程。

4.2 各子程序设计1 键盘扫描子程序键盘扫描流程图如图4.2.1图4.2.1 键盘扫描流程图键盘扫描子程序如下:L2: MOV R3,#0F7HMOV R1,#00HL3: MOV A,R3MOV P1,AMOV A,P1MOV R4,ASETB CMOV R5,#04HL4: RLC AJNC KEYININC R1DJNZ R5,L4CALL DISPMOV A,R3SETB CRRC AMOV R3,AJC L3JMP L22 LED显示子程序LED显示流程图如图4.2.2第6章心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。

相关文档
最新文档