基于单片机实现的密码锁程序电路设计毕业设计(论文).doc

基于单片机实现的密码锁程序电路设计毕业设计(论文).doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
引 言 随着科技的发展,安全已成为人们关注的焦点之一,于是各种安全产品相继问世(如指纹防盗、红外防盗、GPS等)。虽然这类产品安全性高,但因其生产成本高,携带安装使用不方便,在一定程度上限制了这类产品的普及和推广。本文介绍的是一种基于MCS一51智能锁的硬件和软件设计及实现方法。这种电路设计具有按键有效提示,输入错误提示,控制开锁电平,控制报警电路,修改密码等多种功能。可在意外泄密的情况下随时修改密码。8位数密码共一亿组不重复,必威体育官网网址性强,灵活性高,特别适用于家庭、办公室、学生宿舍及宾馆等场所。 2芯片介绍: MCs~51系列中的各种芯片的引脚是相互兼容的,其中8051单片机是高性能的单片机,它具有8位的微处理器,128B片内RAM ,4K 的片内ROM,4个八位的并行I/O 接口PO~P3,两个定时/计数器,及五个中断源的中断控制系统。在不接任何外围电路的情况下可以实现大部分较为复杂的逻辑控制功能,进行外部RAM 扩展还可以用于数据采集,点阵显示屏控制等方面的应用。对于存储容量要求不高的实际应用,8051是一种不可多得的高性能的单片机,被广泛应用于各个领域 芯片引脚排列如图1所示,8051单片机的每个端口都是8位准双向口,每一条I/O线都能独立的用作输人或输出。每个端口都包括一个锁存器,一个输出驱动器和输人缓冲器。在无片外扩展存储器的系统中,这四个端口都可以作为准双向通用的I/O口使用。在具有片外扩展存储器的系统中,P2口送出高8位地址;P0口为双向总线,分时送出低8位地址和数据的输人/输出。P3口是一个多功能端口,各个引脚具有第二功能。(P3.0为串行口输入,P3.1为串行口输出,P3.2为外部中断0输入,P3.3为外部中断1输入,P3.4为定时器0的外部输入,P3.5为定时器1的外部输入,P3.6为片外数据存储器“写选通控制”输出,P3.7为片外数据存储器“读选通控制”输出)。 3 工作原理及硬件设计 为实现密码锁的多种功能,其控制电路如图2所示。其中P1.0一P1.6用于键盘输入端口;LOCK(39脚)为密码正确条件下输出开锁电平,控制电控锁的开启;ALARM(38脚)为五次误码输入时产生的报警电平;START(37脚)为开门关门时的控制信号;WARN(36脚)为输入错误时的提示信号,产生外部中断信号(与外部中断0相接)并控制与P0.5相接的发光二极管;REVISE(35脚)为密码修改提示的信号,用户可自 由的修改密码。该电路通过进一步的扩展和改进,还可以和其他报警电路配合完成功能更加强大的防盗报警功能。 配合以上的硬件电路,软件的流程图如图3所示。 根据工作流程结构,对单片机编程,实现程序及简要说明如下: ;主程序: ORG 0000H SJMP START ORG 0003H AJMP INTERROR ORG O100H START: MOV SP, #60H MOV P0, #3FH SETB EXO SETB ITO SETB EA ACALL INITIAL;调用密码初始化子程序 BEG:MOV R7,#00H;设定R7为错误次数累加器 L0: MOV R6, #O8H MOV RO, #5OH LOOP1:ACALL INPUT MOV @RO,A INC RO DJNZ R6,LOOP1;将输入的8位密码存人50H开始的内存单元 ACALL INPUT ACALL ENTER ;必须输入回车键才能确认 部分 JB ACC.0,L1 ACALL FULL;输入密码位数不对则报错 、 L1:CALL CHECK;调用核对密码子程序 JB ACC.0,L2 ACALL FULL;若密码不对,报错 AJMP L0 L2:ACALL LIGHT-MOD ;调用子程序,是否要更改密码,显示 灯亮 ACALL INPUT ACALL ENTER JNB L4 ACALL MODIFY ;调用修改密码子程序 L4:ACALL UNLOCK ;调用解锁子程序 JB PO.2,$ ;等待关锁后下次输入 LJMP BEG ;初始化密码子程序 INITIAL:MOV R6,#O8H MOV RO,#40H MOV A,#O1H LOOP:MOV @R0,A INC RO DJNZ R6,LOOP2 RET ;键盘输入子程序,包含去抖动部分 INPUT:PUSH R7 PUSH R6 KEY1:ACALL KS1 JNZ LK1 AJMP KEY1 LK1:ACALL T12MS ACALL KS1 JNZ LK2 AJMP KET1 LK2:MOV A,#OEH MOV R2,A MOV R4,# OOH LK4:MOV A,R2 MOV P1,A MOV A ,Pl JB ACC.6 LONE MOV A ,#0OH AJMP

文档评论(0)

2749166188 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档