电子信息工程毕业设计(论文):基于MCS-51单片机电子密码锁的设计.doc

上传人:文****钱 文档编号:43002 上传时间:2018-05-09 格式:DOC 页数:55 大小:1.61MB
下载 相关 举报
电子信息工程毕业设计(论文):基于MCS-51单片机电子密码锁的设计.doc_第1页
第1页 / 共55页
电子信息工程毕业设计(论文):基于MCS-51单片机电子密码锁的设计.doc_第2页
第2页 / 共55页
电子信息工程毕业设计(论文):基于MCS-51单片机电子密码锁的设计.doc_第3页
第3页 / 共55页
电子信息工程毕业设计(论文):基于MCS-51单片机电子密码锁的设计.doc_第4页
第4页 / 共55页
电子信息工程毕业设计(论文):基于MCS-51单片机电子密码锁的设计.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、2013届毕业设计(论文)材料院、部学生姓名指导教师职称讲师专业电子信息工程班级学号2013年6月材料清单1、毕业设计(论文)课题任务书2、开题报告3、工作进度检查表4、指导教师评阅表5、评阅评语表6、答辩资格审查表7、答辩及最终成绩评定表8、毕业设计说明书湖南工学院毕业设计论文开题报告题目基于MCS51单片机电子密码锁的设计学生姓名班级学号专业电子信息工程一、文献综述电子防盗锁应用于金融业,其根本的作用是“授权”,即被“授权”的人才可以存取钱、物。广义上讲,金融业的“授权”主要包括以下三种层次的内容1、授予保管权,如使用保管箱、保险箱和保险柜;2、授予出入权,如出入金库、运钞车和保管室;3、

2、授予流通权,如自动存取款。目前,金融行业电子防盗锁的应用主要集中在前两个层面上。下面将介绍几种在金融行业中使用较多的电子防盗锁以及它们的技术发展方向。当然,以上所说的授权技术再高超,都必须由精良的“锁具”担当承载结构部件,实现开启、闭锁的功能,而且承担实体防护作用,抵抗住或尽量延迟破坏行为,让电子防盗锁“软、硬不吃”。一般情况下,锁具防盗的关键是锁身外壳、闭锁的部件的强度、锁止型式、配合间隙和布局。提高电子防盗锁之防护能力的必然途径是报警,在金融业的许多场所有人值守、有电视监控,具有报警功能,可以综合物理防范和人力防范两种作用。报警的前提是具备探测功能,根据电子防盗锁的使用场所和防护要求,可选

3、择多种多样的探测手段。在中国的城市金融业中,实现联网报警已经成为对各金融网点的基本要求。根据国内外的实践经验,金融业实行安全防范风险等级很有必要,即依据使用的防盗报警器材的性能、安装布局和人员值守状况等,可以评估被防护物或区域的防护能力,得出风险等级,其中,电子防盗锁的性能至关重要。由于数字、字符、图形图像、人体生物特征和时间等要素均可成为钥匙的电子信息,组合使用这些信息能够使电子防盗锁获得高度的保密性,如防范森严的金库,需要使用复合信息密码的电子防盗锁,这样对盗贼而言是“道高一尺、魔高一丈”。组合使用信息也能够使电子防盗锁获得无穷扩展的可能,使产品多样化,对用户而言是“千挑百选、自得其所”。

4、二、课题发展现状和发展趋势在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。目前门锁主要用弹子锁其钥匙容易丢失,保险箱主要用机械密码锁,其结构较为复杂、制造精度要求高、成本高且钥匙丢失后安全性即大打折扣。由于电子器件所限,以前开发的电子密码锁其种类不多、保密性差,最基本的就是只依靠最简单的模拟电子开关来实现的。制作简单但很不安全,在后为多是基于EDA来实现的,其电路结构复杂、电子元件繁多,但密码简单易破解。随着电子元件的进一步发展,电子密码锁也出现了很多的种类,功能日益强大,使用更加方便、安全保密性更强。由以前的单密码输入发展到现在的

5、密码加感应元件。实现了真正的电子加密。用户只有密码或电子钥匙中的一样是打不开锁的。随着电子元件的发展及人们对保密性需求的提高出现了越来越多的电子密码锁。三、主要内容拟在此电子密码锁的系统中设计主要由三部分组成44矩阵键盘接口电路、密码锁的控制电路、输出八段显示电路。另外系统还有LED提示灯,报警蜂鸣器等。系统能完成本机超次锁定、修改用户密码基本的密码锁的功能。本设计的任务拟采用单片机(C51)作为单片机的核心单元,利用单片机串行发射、接收等功能而设计的一款具有本机开锁和报警功能的电子密码锁。本系统成本低廉,功能实用。主要分为以下几个部分(1)设置密码及修改设置6位密码,密码可以由用户自己修改设

6、定(只支持6位密码),密码通过键盘输入,若密码正确,则将锁打开。锁打开后才能修改密码。修改密码之前必须再次输入密码,在输入新密码时候需要二次确认,以防止误操作。2)密码显示为了帮助用户确认是否有键按下,特在电路中设置了模拟显示电路;而为了防止密码外泄;显示时,并不是显示用户按下的数字符号,而是以一个特定的字母符号提醒用户是否有键按下。有键按下,就会显示出字符“”,没键按下,则不会显示字符。这样既巧妙的提醒了用户又保护了用户密码,此乃本设计可靠性优点之一。3)密码错误报警当用户键入错误密码时,密码输入错误数码显示器会出现错误提示。当连续三次出现密码错误时,系统就会报警,由蜂鸣器发出报警声,锁定键

7、盘且系统会长期报警不止。这时必须按复位方可停止。此乃安全可靠性之一。四、设计的重点与难点1、设计的重点(1)设计密码及修改。密码通过键盘输入,锁打开后才能修改密码,修改密码前需输入密码,且修改新密码需要二次输入,以防出错。(2)密码显示,为了防止密码泄露,每按下一个键均以“”代替。(3)密码出错的报警。按了确认键,如果密码出错,则显示密码错误,密码连续三次输入错误,则发出警报声。2、设计难点(1)软件的设计,程序编辑贯穿整个设计,程序是本次设计的基础。(2)密码按键的实现,以及对密码的存储。五、设计方法和实施方案决定采用一种是用以(AT89C52)为核心的单片机控制方案。选用单片机(AT89C

8、52)作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现基本的密码锁功能。初步方案设计原理如下图所示键盘输入电路单片机芯片外围显示电路单片机时钟电路存储芯片AT24C02图1设计方案六、设计进程1、2013年3月份完成开题报告2、2013年3月份到2013年4月份查阅相关资料,熟悉单片机的编程及原理3、2013年4月份到5月份完成对原理图的绘制4、2013年5月上旬到5月中旬完成软件的编写和仿真5、2013年5月下旬到2013年6月初论文定稿,完成答辩七、参考文献1曹巧媛,单片机原理及应用M北京电子工业出版社,19977;2赵秀珍,单永磊,单片微型计算机原理

9、及其应用M北京中国水利水电出版社,20018;3张洪润,兰清华,单片机应用技术教程M北京清华大学出版社,199711;4李华,MCS51系列单片机实用接口技术M北京北京航空航天大学出版社,19938;5马忠梅,单片机的C语言WINDOWS环境编程宝典M北京北京航空航天大学出版社,20036;6李广弟,单片机基础M北京北京航空航天大学出版社,20076;7王千实用电子电路大全M北京电子工业出版社,20012;8童诗白模拟电子技术基础M北京高等教育出版社,20006;9阎石数字电子技术基础M北京高等教育出版社,19982;10彭伟单片机C语言程序设计实训100例M北京电子工业出版社,20102;指

10、导教师批阅意见指导教师签名年月日2013届毕业设计说明书基于MCS51单片机电子密码锁的设计院、部学生姓名指导教师职称专业电子信息工程班级完成时间2013年5月25日摘要本设计采用的是AT89C52作为主控芯片与数据存储器单元所设计的电子密码锁。通过单片机与外围的矩阵键盘输入、LCD液晶显示、报警等电路相结合,利用单片机的灵活性和丰富的I/O口线资源,用C语言编写的主控芯片控制程序与EEPROMAT24C02读写程序相结合,并用KEIL软件进行编译,设计了一款简单、实用、方便的电子密码控制系统。在本次设计中,能够实现密码输入正确及错误的不同显示,在密码泄露后,合法用户能够修改并存储密码,当输入

11、密码错误次数超过三次时,系统会自动报警,并且键盘被锁定2分钟,防止被非法用户无限制的套取密码。在设计的过程中,采用矩阵键盘减少了对I/O口线的占用,优化了系统。采用的显示元件是LCD1602液晶显示,使得显示更加清楚,用户使用时也更明白。存储芯片采用的是AT24C02芯片,具有掉电保护的作用。通过在PROTEUS中仿真测试,能够很好的实现密码锁的所有功能,达到了设计的要求。关键词单片机;密码锁;AT24C02ABSTRACTTHISDESIGNISUSEDASTHEMASTERCHIPAT89C52DATAMEMORYUNITDESIGNEDELECTRONICLOCKSTHROUGHTHEM

12、ICROCONTROLLERANDPERIPHERALMATRIXKEYBOARD,LCDLIQUIDCRYSTALDISPLAY,ALARMANDOTHERCIRCUITSCOMBINETHEFLEXIBILITYOFTHEUSEOFSINGLEANDRICHI/OPORTLINERESOURCES,USINGCLANGUAGEMASTERCHIPCONTROLPROCEDURESANDEEPROMAT24C02LITERACYPROGRAMCOMBINEDANDCOMPILEDUSINGKEILSOFTWARE,DESIGNEDASIMPLE,PRACTICALANDCONVENIENTE

13、LECTRONICCODECONTROLSYSTEMINTHISDESIGN,ENABLINGTHEWRONGPASSWORDISENTEREDCORRECTLYANDTHEDIFFERENTDISPLAY,THEPASSWORDISLEAKED,THELEGITIMATEUSERCANMODIFYANDSTORETHEPASSWORD,ENTERTHEPASSWORDWHENMORETHANTHREETIMESTHENUMBEROFERRORS,THESYSTEMWILLAUTOMATICALLYALARM,TOPREVENTUNAUTHORIZEDUSERSUNLIMITEDTHETAKI

14、NGOFPASSWORDSINTHEDESIGNPROCESS,USINGMATRIXKEYBOARDREDUCESTHEI/OPORTLINESOCCUPIED,OPTIMIZESYSTEMLCD1602DISPLAYELEMENTISUSEDINALIQUIDCRYSTALDISPLAY,MAKINGTHEDISPLAYMORECLEARLY,THEUSERISALSOGREATERMEMORYCHIPISAT24C02CHIPWITHPOWERDOWNPROTECTIONTHROUGHSIMULATIONTESTINGINPROTEUS,CANACHIEVEGOODLOCKSALLFUN

15、CTIONSTOACHIEVETHEDESIGNREQUIREMENTSKEYWORDSMICROCONTROLLERLOCKSAT24C02目录1绪论111引言112课题背景和意义12总体设计方案的确定321电子密码锁设计的具体要求322总体设计方案选定33主要元器件介绍531主控芯片AT89C525311主要特性5312引脚功能说明632存储芯片AT24C027321管脚的描述8322功能的描述833LCD1602显示器9331LCD1602的引脚功能说明9332LCD1602的指令说明104硬件电路的设计1241最小系统的设计12411单片机的复位电路12412单片机的时钟电路1342键

16、盘电路1443显示电路1544密码锁存电路1645报警电路165软件系统的设计1751主函数模块1752键盘扫描及识别子函数1753延时子函数1954LCD1602初始化函数1955AT24C02的初始化函数206在PROTEUS中的仿真2161仿真原理图2162仿真结果21结束语25参考文献26致谢28附录2911绪论11引言随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用的灵活性和安全系数都很高,受到了广大用户的喜爱。锁是置于可启闭的器物上,用以关住某个确定的空间范围或某种器具的,必须以钥匙或暗码

17、打开的扣件。锁具发展到现在已有若干年的历史了,人们对它的结构、机理也研究得很透彻,因此,不用钥匙就能打开的方法和工具也层出不穷。现代人类文明社会里,由于社会中各种矛盾冲突十分剧烈,人们的思想道德观念,价值观念,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自已的行为,“非礼不为”,虽无钥匙亦不会乱闯。然而,那些毫无道德观念的盗贼却想方设法利用高科技手段撬门开锁,使广大居民防不胜防。为什么会出现这种情况呢因为传统锁具都存在致命的弱点第一、锁芯采用常见的铜、铝、锌等材料,抵抗不了强力破坏;第二、锁具制作工艺,技术落后,无法阻止技术手段的开启。目前,市场上很多国内外的锁具,实际上都不具备

18、真正的防盗功能。在惯偷面前,两根钢丝或几件简单的工具就可以把这些锁打开,有的惯偷甚至公开扬言“没有我打不开的锁。”其实,不是他们多高明,而是一般锁具技术原理太过简单。面对这一残酷的现状,新时代提出了锁具必须革命的迫切的要求。12课题背景和意义随着电子技术和计算机技术的飞速发展,单片机性能不断完善,性能价格比显著提高,技术日趋完善。由于单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,因而在国民经济建设、军事及家用电器等各个领域均得到了广泛的应用。本设计利用单片机及附加电子元器件实现数据采集和控制算法,来完成某一实际功能,检验并提高对整体电路设计和把握的能力,了解单片机系

19、统设计流程,以及仿真和调试能力。同时也加强对数字电路、单片机和微机原理等课程知识的实际应用能力,也为同类产品的进一步发展奠定理论和实践基础。随着人们生活水平的提高和安全意识的加强,对安全的要求也就越来越高。锁自古以来就是把守护门的铁将军,人们对它要求甚高,既要安全可靠的防盗,又要使用方便,这也是制锁者长期以来研制的主题。随着电子技术的发展,各类2电子产品应运而生,电子密码锁就是其中之一。据有关资料介绍,电子密码锁的研究从20世纪30年代就开始了,在一些特殊场所早就有所应用。这把锁是通过键盘的输入密码就可以完成解锁的过程。之所以要研究这种锁,就是为提高锁的安全性。由于电子密码锁的密码量很大,可以

20、配合机械锁一起使用,还可以防止由于钥匙被仿制而留下的安全隐患。电子密码锁只需要记住一组密码,不用携带一般的金属钥匙,去除了用户携带钥匙的麻烦,从而受到很多人的赞赏。电子锁的种类繁多,例如数码锁,指纹锁,磁卡锁,IC卡锁,生物锁等。但较实用的还是按键式电子密码锁。20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,可靠性提高,成本较高,是适合使用在安全性要求较高的场合,且需要有电源提供能量,使用仍局限于一定的范围内,难以普及到广大人民群众,因此研究它没有得到一定的显著进展。目前,在西方发达国家的电子密码锁的技术相对比较先进的,种类比较齐全,电子密码锁已被广泛应用于智能门禁系统中通

21、过多种更安全,更可靠的技术来实现对大门的管理。在我国电子锁整体水平尚处于国际上70年代左右,电子密码锁的成本还很高,市场上仍以按键电子锁为主,按键式和卡片钥匙式电子锁已引进国际先进水平,现国内有几个厂生产供应市场。但国内自行研制开发的电子锁,其市场结构尚未形成,应用还不广泛。国内的不少企业也引进了世界上先进的技术,发展前景非常可观。希望通过不断的努力,使电子密码锁在我国也能得到广泛应用。32总体设计方案的确定21电子密码锁设计的具体要求(1)、本设计为了防止密码被窃取要求在输入密码时在LCD屏幕上显示号。(2)、设计开锁密码为六位密码的电子密码锁。(3)、密码输入正确时LCD显示UNLOCKO

22、K,密码错误时显示ERROR,输入密码时显示YOURPASSWORD。(4)、当密码锁输入正确时,LED指示灯亮,开锁成功。(5)、44的矩阵键盘其中包括09的数字键和AF的功能键。(6)、本产品具备报警功能,当输入密码错误的次数超过3次时蜂鸣器响。(7)、密码可以由用户自己修改设定,修改密码之前必须输入原来的密码,在输入新密码时候需要二次确认,才能修改成功,以防止误操作。22总体设计方案选定方案一采用数字电路控制。74LS112双JK触发器所构成的数字逻辑电路作为电子密码锁控制的核心,共设置了9个用户输入键,其中只有4个按键是作为密码按键,其它的都是作为干扰按键而设置的,如果是按下干扰按键,

23、键盘输入电路自动清零,开始输入的密码变为无效,需要再次输入;如果用户在输入密码的时候超过了20秒(在一般情况下,用户不会超过20秒)电路就会报警十几秒,如果电路报警超过了三次,键盘将被锁定1分钟,防止他人的非法操作。采用数字电路设计方案的好处就是设计简单,但控制的准确性和灵活性差。故不采用。方案二采用以AT89C52为核心的单片机控制方案。选用单片机AT89C52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的IO端口,及其控制的准确性,实现密码锁的功能。在单片机的外围电路接入输入键盘用于密码的输入和一些功能的控制,外接LCD1602显示器用于显示作用。其原理如下图1所示4键盘输入电路单

24、片机芯片外围显示电路单片机时钟电路存储芯片AT24C02图1系统总设计结构图经过对比,可知采用单片机控制更容易实现,更简易。所以本次设计采用的是此方案。本设计由主控芯片51单片机,单片机时钟电路,键盘,和开锁电路组成。单片机负责控制整个系统的执行过程。53主要元器件介绍31主控芯片AT89C52美国ATMEL公司生产的AT89C52是一种低功耗,高性能的CMOS8位微控制器,可以被读取的闪存程序存储器占了4KBYTES,该设备采用ATMEL公司的高密度非易失性内存技术生产兼容标准8051指令集和指针。它集闪存程序存储器,无论是在线编程(ISP)也可以用来编程的传统方法和一般片上8位微处理器芯片

25、中,ATMEL公司的AT89C52功能强大,低成本的微控制器可以提供你许多高性价的应用程序,可以灵活应用于各种控制领域。311主要特性AT89C52具有如下特点40个引脚,4KBYTESFLASH片内程序存储器,128BYTES的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89C52设计和配置了振荡频率可为0HZ并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数

26、据,停止芯片其它功能直至外中断激活或者有硬件来复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。其主要的功能特性有(1)兼容MCS51指令系统(2)8KB可反复擦写大于1000次)FLASHROM;(3)32个双向I/O口;(4)256X8BIT内部RAM;(5)3个16位可编程定时/计数器中断;(6)时钟频率024MHZ;(7)2个串行中断,可编程UART串行通道;(8)2个外部中断源,共8个中断源;(9)2个读写中断口线,3级加密位;6312引脚功能说明图2单片机引脚图VCC电源电压GND接地P0口P0口是8位双向的数据口线,由于P0内部是高阻抗的输入

27、状态,当外接电路时,需要接上拉电阻。P1口和P2口是双向的数据口线,可直接外接电路。P3口P3口是一组带有内部上拉电阻的8位双向I0口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。P3口除了作为一般的I0口线外,更重要的用途是它的第二功能,P3口的第二功能如下表1所示。表1P3口的第二功能端口引脚第二功能端口引脚第二功能RXD(P30)串行输入口T0(P34)定时/计数器0外部输入TXD(P31)串行输出口T1(P35)定时/计数器1外部输入INT0(P32)外中断0WR(P36)外部数据存储器写选通INT1(P33)外中断1RD(P37)外部数据存储器读选通7RST复位输入

28、。当输入的复位信号延续2个机器周期以上高电平时即为有效,用于完成单片机的复位操作。ALEPROG在系统扩展时,ALE用于控制把P0口输出的低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ALE是以1/6晶振频率的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉使用。PSEN在读外部ROM时PSEN有效(低电平),以实现外部ROM单元的读操作。EAVPP外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA必须保持低电平(接地)。而当EA信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延续至外部程序存储器。XTAL1和XTAL2当

29、使用芯片内部时钟时,XTAL1和XTAL2用于外接石英晶体谐振器和微调电容;当使用外部时钟时,用于接入外部时钟脉冲信号。32存储芯片AT24C02美国ATMEL公司生产的AT24C02是一种低功耗的CMOS型的E2PROM,内含2568位的存储的空间,其工作电压的宽度为2555V、擦写次数多大于10000次、抵抗干扰的能力很强、不容易丢失数据、体积小、写入的速度快小于10MS等特点。并用它来读取和写入I2C总线串行数据设备,占用很少的资源和I/O口线,支持在线编程,实时数据访问是非常方便的。AT24C02芯片的地址寄存器。每次读或者写一个字节的数据,地址寄存器会自动的加1,用来读写下一个存储单

30、元。每一个字节都是用单一的操作方式来读取的。为了达到降低写入时间的目的,每一次操作所写入的数据都可以达到8个字节。I2C总线是一种用来连接两个或多个IC器件的二线制总线。它通过SDA及SCL两根口线连到总线上的器件之间来传送数据,根据不同的地址识别不同的器件。AT24C02就是运用了这种I2C的规程,从而使得主/从机之间能够实现双向通信,主机和从机都可以工作在接收器和发送器的状态上。串行时钟信号通过SCL引脚由主机产生并发送控制字和控制总线的传送方向,还会产生起始和终止的条件。不管是主机(单片机)还是从机(AT24C02),每次接收到一个字节都需要发送一个确认信号ACK。AT24C02的控制字

31、是由8位的二进制数构成的,在起始信号发送后,主机会立马发送其控制字,来选择从机和传送控制总线的方向。图3为AT24C02的两种引脚图。8图3AT24C02的两种引脚图321管脚的描述SCL串行时钟。AT24C02的串行时钟输入管脚用于产生器件,所有数据的发送或接收的时钟都是一个输入管脚输入的。SDA串行数据/地址。A0、A1、A2器件地址输入引脚。当需要多个器件级联时,地址可由这些引脚来设置。当这些脚悬空时默认值为0。AT24C02最大可级联8个器件WP写保护。如果该管脚连接到5V,24C02的内容都被写保护(只能读)。当该管脚接到VSS或悬空,允许器件进行正常的读/写操作。322功能的描述I

32、IC总线协议IIC总线协议定义如下,(1)只有在总线空闲时才允许启动数据传送。(2)在数据传送过程中,当时钟线为高电平,数据线必须保持稳定状态,不允许有跳变。时钟线为高电平时,数据线的任何电平变化将被看作总线的起始或停止信号。起始信号时钟线保持高电平期间,数据线电平从高到低的跳变作为IIC总线的起始信号。停止信号时钟线保持高电平期间,数据线电平从低到高的跳变作为IIC总线的停止信号。应答信号IIC总线数据传送时,每成功地传送一个字节数据后,接收器都必须产生一个应答信号。应答的器件在第9个时钟周期时将SDA线拉低,表示其已收到一个8位数据。AT24C02在接收到起始信号和从器件地址之后响应一个应

33、答信号,如果器件已选择了写操作,则在每接收一个8位字节之后响应一个应答信号。器件寻址主器件通过发送一个起始信号启动发送过程然后发送它所要寻址的从器件的地址。它的址由图4上的地址位来决定。AT24C02监视总线时,当其地址与发送的从地址相符合时就响应一个应答信号(通过SDA线)。AT24C02再通过读写控制位(R/W)的状态来进行读或写操作。9图4从器件地址位写保护当WP管脚接的是高电平时,整个寄存器区域的内容全都被保护了,用户不能对里面的数据进行操作,但是可以从中读取内容。立即地址读AT24C02的地址计数器里面的内容是最后操作字节的地址加1。即如果上一次读或写的操作地址为M则立即读的地址从地

34、址M1开始。主器件不需要发送一个应答信号,但需要产生一个停止信号。33LCD1602显示器在现代日常生活中,字符型液晶模块已经运用到很多的显示器件中了,如计算器、万用表、电子表等,显示的主要是专用符号和图形。在单片机系统中,使用液晶显示器作为显示器件具有显示质量高、体积小、功耗低等优点。331LCD1602的引脚功能说明1602型LCD的引脚如下表2所示。表21602型LCD的接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2DATAI/O2VDD电源正极10D3DATAI/O3V0液晶偏压信号端11D4DATAI/O4RS数据/命令选择端(H/L)12D5DATAI/O5R/W

35、读写选择端(H/L)13D6DATAI/O6E使能信号14D7DATAI/O7D0DATAI/O15BLA正极背光源8D1DATAI/O16BLK负极背光源第1脚VSS接地。第2脚VDD接5V。第3脚VL可以接10K的滑动变阻器,用来调节液晶显示的亮度。第4脚RS脚。用来选择寄存器,当需要选择数据寄存器时,RS脚接的是高电平、当选择指令寄存器时,接的是低电平。10第5脚R/W为信号线,当接高电平时进行读的操作,当接低电平时进行写的操作。当RS和R/W共同为低电平时写入指令或者显示地址,当RS为低电平R/W为高电平时读忙信号,当RS为高电平R/W为低电平时写入数据。第6脚E端为使能端,当E端由高

36、电平跳变成低电平时,液晶模块执行命令。第714脚D0D7为8位双向数据线。332LCD1602的指令说明在1602型LCD中,一共有11条控制指令,如表3所示。表3LCD1602的指令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回0000000013置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L6置功能00001DLNF7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数

37、据内容11从CGRAM或DDRAM读数11读出的数据内容LCD1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。LCD1602共有11条指令,在初始化的时候主要使用的是前6条指令。这里主要介绍第三条到第六条指令。第三条指令是设置光标和显示模式,当D1为高电平是,光标右移,当为低电平时,光标左移。当D0为高电平时,液晶显示的全部文字均左移或者右移,当D0为低电平时,文字不移动。第四条指令是控制显示的开或关,D2为高电平时显示打开,为低电平时显示关闭;D1为高电平时显示光标,为低电平时关闭光标;D0为高电平时光标闪烁,为低电平时光标不闪烁。第五条指令控制光标或显示的移位,D3为

38、高电平时移动显示的文字,为低电平时移动光标。第六条指令功能设置命令,当D4为高电平时,连接的是4位总线,为低电平时,连接的是八位总线;当D3为高电平时显示两行,为低电平时显示一行;当D2为高电平时显示的是5X10点阵字符,为低电平时显示的是5X7点阵字符。11基本的操作程序读状态输入RSL,RWL,EH输出D0D7状态字读数据输入RSH,RWH,EH输出无写指令输入RSL,RWL,D0D7指令码,E高脉冲输出D0D7数据写数据输入RSH,RWL,D0D7数据,E高脉冲输出无124硬件电路的设计41最小系统的设计单片机所有的电路设计和应用都是基于它的最小系统的,或者称为最小应用系统的。单片机的最

39、小系统是指用最少的元件组成的单片机可以工作的系统。对于系列单片机来说,一般的最小系统应该包括单片机芯片、时钟电路以及复位电路。如图6所示,就是单片机的最常见的最小系统。图6单片机的最小系统电路图411单片机的复位电路复位电路的作用是使单片机能够在死机状态时重新回到程序的起始段。单片机的复位方式一般有两种。一种是上电复位,在系统一上电时利用电容两端电压不能突变的原理给系统一个短时的低电平;手动复位,通过按钮接通低电平给系13统复位。手动按键复位电路如图7所示。图7单片机的复位电路412单片机的时钟电路单片机的时钟电路由振荡电路和分频电路组成。其中振荡电路由反相器以及并联外接的石英晶体和电容构成,

40、用于产生振荡脉冲。而分频电路则用于把振荡脉冲分频,以得到所需要的时钟信号。振荡电路单片机芯片中的高增益反相放大器,其输入端为引脚XTAL1,输出端为引脚XTAL2。通过这两个引脚在芯片外并接石英晶体振荡器和两只电容器(电容的容量一般取30PF)。石英晶体为一感性元件,与电容构成振荡回路,为片内放大器提供正反馈和振荡所需的相移条件,从而构成一个稳定的自激振荡器,如图8所示。14图8单片机的晶振电路42键盘电路由于本次设计需要用到10个数字键和其它的一些功能键,按键较多,为了不增加I/O的使用数目,因此本设计采用的是44的矩阵键盘。当在使用较多数量的按键时,为了减少对单片机数据口线的的占用,通常要

41、把按键排列成矩阵形式。在矩阵式键盘中,分为行和列。每个按键分别接行线和列线,每一行接一个根数据口,每一列也接一根数据口。所以,单片机的每一个I/O口都可以接16个按键。而直接与单片机相接的话就要多出一倍多。这样就节约了很多的口线资源。在本次设计中,由于需要16个按键,所以就把P1口外接了距阵键盘。把单片机P1口的高四位接了键盘的四行,把P1口的低四位接了键盘的四列。在键盘扫描之前,先给P1口赋初值0X0F,当有键按下的时候P1口的值就会发生变化,这样就可以判断按键是发生在哪一列,再通过给P1口赋值0XF0,就可以确定按键发生在哪一行。再通过计算得到具体的按键键值。本设计键盘电路的接法如图9所示

42、。15图9矩阵式键盘的接法43显示电路显示设计采用字符型液晶屏设计,由单片机的P0口控制显示,由P20P22控制LCD的控制端口。图10为显示电路的电路图。图10LCD显示电路1644密码锁存电路在本次设计中,密码的保存采用的是串行CMOSEEPROM的AT24C02芯片,它和单片机的接法如图11所示。图11密码锁存电路图45报警电路当有键按下时,“叮”一声,每按一下,发声一次,密码输入正确时,蜂鸣器不响直接开锁,当输入错误密码的次数有三次时,蜂鸣器报警10秒。蜂鸣器电路如图12所示。图12蜂鸣器电路175软件系统的设计51主函数模块本设计的主函数主要是完成系统初始化、调用键扫函数、调用显示函

43、数等。主函流程图如图12所示。开始初始化调显示查询是否有键按下N执行相应的键功能程序返回Y图12主函数流程图52键盘扫描及识别子函数键盘扫描是采用查询的方式,在主程序中进行调用,在没有键按下的时候,进行循环查询,只要有键按下,立即执行相应的功能键函数,处理结束后再返回。键盘扫描函数流程图如图13所示。18开始给P1口赋值0FH查询是否有键按下查看发生在哪一列给P1口赋值F0H查看发生在哪一行计算键值返回键值Y返回键值16N图13键盘扫描函数流程图键盘扫描子函数如下UCHARKEYS_SCANUCHARTMP,KEYNO0P10X0F/高四位置0,放入四行DELAY_MS1/按键后0000111

44、1将变成0000XXXX,X中1个为0,3个仍为1/异或操作会把3个1变成0,唯一的0变成1TMPP10X0FSWITCHTMP/判断发生于03列中的哪一列19CASE1KEYNO0BREAKCASE2KEYNO1BREAKCASE4KEYNO2BREAKCASE8KEYNO3BREAKDEFAULTKEYNO16/无键按下P10XF0/低四位置0,放入四列DELAY_MS1/按键后11110000将变成XXXX0000,X中1个为0,3个仍为1/将高四位移至低四位,并将其中的唯一的0变为1,其余为0TMPP140X0FSWITCHTMPCASE1KEYNO0BREAKCASE2KEYNO4B

45、REAKCASE4KEYNO8BREAKCASE8KEYNO12BREAKRETURNKEYNO53延时子函数本次设计采用的延时函数为语句循环延时。通过预设循环变量来得到不同的延时时间,既方便、又准确。延时子函数如下VOIDDELAY_MSUINTXUINTI,JFORI0IINCLUDEINCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTUCHARCODETITLE_TEXT“YOURPASSWORD“/标题字符串UCHARDSY_BUFFER16“/显示缓冲UCHARUSERPASSWORD16“/用户输入的密码UCHARUSERPASSW

46、ORD116“UCHARAA/输入密码错误的次数,够三次报警SBITRSP20/LCD的数据命令选择SBITRWP21/LCD的读写控制SBITENP22/LCD的使能控制SBITSCKP23/中行时钟SBITSDAP24/串行数据SBITBEEPP26/蜂鸣器的接口SBITLED_OPENP27/LED灯的接口,开锁信号/延时/VOIDDELAY_MSUINTXUINTI,JFORI0I40X0F/将高四位移至低四位,并将其中的唯一的0变为1,其余为0SWITCHTMPCASE1KEYNO0BREAKCASE2KEYNO4BREAKCASE4KEYNO8BREAKCASE8KEYNO12BR

47、EAKRETURNKEYNO/主函数/VOIDMAINUCHARI0,B0,KEYNO16UCHARXUCHARRIGHT_USER0UCHARIIC_PASSWORD10P00XFFP10XFFP20XFFDELAY_MS10LCD_INIT/初始化LCDI2CINIT/初始化24C0239DISPLAY_STRINGTITLE_TEXT,0X00/在第1行显示标题/24C02的内容已由初始化BIN文件导入/将24C02中预先写入的密码读入PASSREAD_N_ADDIIC_PASSWORD,0X00,6IIC_PASSWORD60WHILE1P10XF0IFP10XF0KEYNOKEYS_

48、SCAN/扫描键盘获取键序号KEYNOSWITCHKEYNOCASE0CASE1CASE2CASE3CASE4CASE5CASE6CASE7CASE8CASE9IFI5/密码限制在6位以内/如果I为0则执行一次清屏IFI0DISPLAY_STRING“,0X40USERPASSWORDIKEYNO0USERPASSWORDI10DSY_BUFFERIDSY_BUFFERI10DSY_BUFFERI20DSY_BUFFERI30DSY_BUFFERI40DSY_BUFFERI50DISPLAY_STRINGDSY_BUFFER,0X40IBREAK40CASE10/按A键开锁IFSTRCMPUS

49、ERPASSWORD,IIC_PASSWORD0LED_OPEN0/点亮LEDCLEAR_PASSWORDDISPLAY_STRING“UNLOCKOK“,0X40RIGHT_USER1AA0ELSELED_OPEN1/关闭LEDCLEAR_PASSWORDDISPLAY_STRING“ERROR“,0X40RIGHT_USER0AAIFAA3AA0I5DISPLAY_STRING“LOCKED2MINUTES“,0X40WHILEIBEEP1FORI0I120IDELAY_MS1000DISPLAY_STRING“,0X40I0BREAK41CASE11/按B键上锁LED_OPEN1CLEAR_PASSWORDDISPLAY_STRINGTITLE_TEXT,0X00DISPLAY_STRING“,0X40I0RIGHT_USER0BREAKCASE12/按C键设置新密码/如果是合法用户则提示输入新密码IFRIGHT_USERDISPLAY_STRING“NORIGHTS“,0X40ELSEI0LED_OPEN1DISPLAY_ST

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。