电子信息工程毕业设计(论文)-基于单片机的十位数字密码锁电路设计.doc_第1页
电子信息工程毕业设计(论文)-基于单片机的十位数字密码锁电路设计.doc_第2页
电子信息工程毕业设计(论文)-基于单片机的十位数字密码锁电路设计.doc_第3页
电子信息工程毕业设计(论文)-基于单片机的十位数字密码锁电路设计.doc_第4页
电子信息工程毕业设计(论文)-基于单片机的十位数字密码锁电路设计.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)题 目 十位数字密码锁电路 学院(部) 电子信息工程学院 专 业 电子信息工程 学生姓名 学 号 级 2007级 指导教师 2011年 6 月 6 日38成都大学学士学位论文(设计)十位数字密码锁电路摘要:随着电子技术和计算机术的飞速发展和人们生活水平的不断提高,各种各样的智能化、微型化的电子产品已广泛地应用于日常生活的各个领域,电子密码锁就是这样一个为实现防盗而诞生的电子产品,它安全性更高,使用方便灵活,其性能远远优于传统的机械锁,能更好的满足人们的需要。单片机广泛应用于生活生产中的各个自动控制领域,单片机的应用有利于产品的小型化、智能化、多功能化,有助于提高效率,提高质量,减少能源材料消耗,保证安全等,是微控技术的发展和体现。本文从经济实用的角度出发,从加深对单片机理论的理解和熟练电子设计过程的角度出发,采用intel公司的8051ah单片机为主控芯片加上键盘输入电路和由逻辑元器件、发光二极管等电子元件组成的简单外围电路,用汇编语言编写单片机控制程序,设计了一款可以更改密码具有错误警报提示的十位数字密码锁。经实验证明,该密码锁具有设计合理,简单易行,成本低,安全实用等特点,适合居家住宅、办公用锁等要求,具有较高实用价值。也是单片机产品开发和应用的一种体现。关键词:电子密码锁;单片机;矩阵键盘;液晶显示器。ten-digit code lock circuitabstract:as electronic technology and the rapid development of computer technique and the continuous improvement of living standards, a variety of intelligent, miniaturized electronic products have been widely used in all areas of daily life, electronic locks is to achieve a the birth of the electronic security products, it is more secure, easy to use and flexible, its performance is far superior to traditional mechanical locks, to better meet peoples needs. scm is widely used in the production of life in all areas of automatic control, microcontroller applications, facilitating product miniaturization, intelligent, multi-function, which contributes to increase efficiency, improve quality, reduce energy consumption of materials, ensuring safety, is a micro- control technology development and expression. from the economical point of view, from the theory to deepen understanding of scm and skilled electronic design process point of view, the use of intel 8051ah microcontroller for the companys main chip with keyboard input circuit and by the logic components, light emitting diodes and other electronic components the simple external circuit, microcontroller assembly language program, designed a false alarm can be prompted to change your password with the ten-digit combination lock. the experiment proved that the locks with reasonable design, simple, low cost, safe and practical features, suitable for home residential, office locks, etc., with high practical value. product development and application of scm is a reflection.key words:electronic cipher lock;mcu;matrix keyboard;lcd monitor.目录绪论 1第1章 系统设计方案选择21.1 系统设计方案21.2 设计方案选择2第2章 单片机概述32.1 单片机的基本概念3 2.2 单片机的主要特点及应用32.3 8051芯片介绍5 2.3.1 51单片机简介5 2.3.2 51单片机的基本组成及引脚相关功能5 2.3.3 51单片机存储器及中断系统6第3章 系统硬件设计83.1 系统总体设计原理83.2 键盘电路93.3 开锁电路103.4 显示电路123.5 硬件设计原理图14第4章 系统软件设计164.1 主程序164.2 密码删除和密码修改程序174.3 键盘扫描和按键识别程序184.4 密码比较和显示程序19第5章 调试仿真205.1 用keil软件进行编译连接205.2 用proteus软件进行仿真21结论26致谢27参考文献28附录 汇编语言程序29绪论在生活和生产的各个领域中,越来越多小型化、智能化、多功能化的电子产品的出现,电子密码锁就是一个服务于人们生活中很常见的小型智能化电子产品。电子密码锁是通过输入正确的秘密来控制电路或者芯片工作,从而控制机械开关完成开锁的电子产品。目前的电子密码锁产品中,它的种类很多,有简易电路的产品,也有基于芯片控制的性价比高的产品。现在计算机技术如此发达,大多电子密码锁也广泛以芯片为核心,通过编程来实现各种各样的功能。电子密码锁的性能和安全性都大大优于传统机械锁,主要有以下几个特点:1) 保密性好,密码越长保密性更高,随机开锁几率几乎为零,不像传统机械锁可能被钥匙以外的东西打开。2) 密码可变,用户可以随时改变密码,大大提高了安全性。防止密码被盗和不同人员使用。3) 电子密码锁轻巧方便不同于机械锁的磨损等使用弊端,因此寿命更长。4) 使用灵活性好,不像机械锁需要佩带钥匙,大大提高效率和使用方便性。5) 电子密码锁简单易用,操作方便。6) 电子密码锁使用程序来实现功能,还可以很方便的针对不同需要进行有针对性的改变,发展潜力大,应用领域广。在日常生活和工作中,住宅和单位的安全防范、单位文件、个人资料等重要东西大多用加锁的方法来解决其安全问题。门锁主要用弹子锁,钥匙容易遗失且不方便,保险箱用的机械密码锁结构复杂,对制作要求精度很高,成本高而且易出现故障。针对这些使用机械钥匙开锁的锁具的不便,为满足人们要求,增加安全性,电子密码锁应运而生。它可以为人们日常生活和工作带来很大方便,有广阔的使用和发展前景。并且随着电子技术和电子元件的不断发展,电子密码锁也出现了很多种类,功能不断完善和强大,使用更加方便,安全保密性更强。比如由密码输入加电子感应元件的密码锁,只有其中一样是不能打开锁的,这样实现了双层加密,保密性能更强。随着电子元件、电子技术的发展,各种各样的电子密码锁相应出现而满足各种使用需求。有许多安全兼以方便的电子密码锁已经出现在生活中,比如针对有效卡、指纹、声音等的电子密码锁,这些密码锁可以用于安全性要求高的个人使用的箱、柜、房间等。由于数字、字符、图形图像、人体生物特征和时间等因素均可以成为电子信息,这些信息可以单独作为密码使用与密码锁,也可以组合使用作为密码而获得高度的安全性和保密性,组合使用这些信息能够使电子密码锁的安全性能获得无穷扩展,是产品多元化,更好地应用于各个方面。相信使用各种电子信息作为密码是电子密码锁的发展趋势。纵观我们生活的各个领域,凡有自动控制有智能化的地方都会有单片机的身影,单片机的应用有广大的空间。因为单片机的应用有利于产品的小型化、智能化、简单化、多功能化,有助于提高劳动效率,减轻劳动强度,提高产品质量,改善劳动环境,减少能源和材料的消耗,保证安全等。在计算机技术广泛应用的今天,可以看到,单片机的应用的意义绝不仅限于它的广阔范围以及带来的经济效益,更重要的意义在于单片机的应用从根本上改变了传统控制系统的设计思想和设计方法,把必须有模拟电路和数字电路实现的大部分功能变成使用单片机通过软件程序实现了。这就是微控制技术,这是现在也是以后控制技术的发展方向。本文从经济实用的角度出发,从加深对单片机理论的理解和熟练电子设计过程的角度出发,采用intel公司的8051ah单片机为主控芯片加上键盘输入电路和由逻辑元器件、发光二极管等电子元件组成的简单外围电路,用汇编语言编写单片机控制程序,设计一款可以更改密码具有错误警报提示的十位数字密码锁。该密码锁具有设计合理,简单易行,成本低,安全实用等特点,适合居家住宅、办公用锁等要求,具有较高实用价值。产品体积小,成本低,而且容易升级改善。第1章 设计总体方案选择1.1 系统设计方案 利用所学的电子技术知识和电子设计方法,设计出一个电子密码锁有以下两种基本方案可以选择:方案一:利用数字逻辑电路,运用各种门电路,计数器,触发器,锁存器,编/译码器等数字逻辑器件实现电子控制。从而实现想要设计的电子密码锁的功能。此方法设计简单,但硬件电路比较多,操作起来比较复杂。方案二:使用mcs-51系列单片机为核心控制附加一些简单的外围电路,利用单片机的一个i/o端口组成44键盘作为输入电路,采用汇编语言编写程序来实现电子密码锁的各项功能,程序语言功能强大,调试较为简单。具有很强的实用性。1.2 设计方案选择综上提出的两种方案,方案一给出的采用数字逻辑电路的设计方法的好处就是设计简单,因为采用数字逻辑电路可以分成各个功能模块来设计,每个模块实现各自的一个功能。这钟方法设计的密码锁电路大致包含:按键输入、密码核对、密码修改、开锁电路、错误提示电路等功能模块。采用数字电路虽然设计简单但是操作繁琐,要运用很多数字逻辑器件,硬件电路复杂,而且可能会出现较多器件故障,同时难以检查和维护。方案二提出的使用单片机为核心控制的方案,利用单片机丰富的i/o端口和灵活的编程设计,不但能实现密码锁的功能,而且控制准确性高,外围电路少硬件电路简单,方便灵活,调试简单不易出错,体积小成本低也利于现实中实现,具有较高的实际意义和实用价值。这个设计方案的最关键的地方就在于编程,利用程序的执行来实现密码锁的基本功能,因此单片机方案还有较大活动空间,能在很大程度上扩展功能,方便对系统进行升级。综上所诉,通过比较两种方案,本次设计拟采用以intel公司的8051单片机为核心的单片机控制方案,利用单片机丰富的i/o端口和灵活的编程设计及其控制的准确性,实现基本密码锁功能。设计方框图如图1-1:开锁控制电路8051单片机复位时钟电路44矩阵键盘输入错误提示显示图1-1 单片机控制方案第2章 单片机概述2.1 单片机的基本概念单片机是把微型计算机中的微处理器、存储器、i/o接口、定时器/计数器、串行接口、中断系统等电路集成到一片集成电路芯片上形成的微型计算机。因而被称为单片微型计算机,简称为单片机。单片机属于微型计算机的一种,它集成了微型计算机中的大部分功能部件,工作的基本原理一样,但具体结构和处理方法不同。我们知道,微型计算机由微处理器cpu、存储器、i/o接口三大部分通过总线有机连接而成,各种外部设备通过i/o接口与微型计算机链接。各个功能部件分开,功能强大。单片机是应测控领域的需要而诞生的,用以实现各种测试和控制。它的组成结构既包含通用微型计算机中的基本组成部分,又增加了具有实施测控功能的一些部件。在主芯片上集成了大部分功能部件,另外,可在外部扩展a/d转换器、d/a转换器、脉冲调制器等用于测控的部件,现在一部分单片机已经把a/d、d/a转换器及hso、his等外设集成在单片机中以增强处理能力。单片机按照用途可分为通用型和专用型两大类。(1)通用型单片机的内部资源丰富,性能全面,适应能力强。用户可以根据需要设计各种不同的应用系统。(2)专用型单片机是针对各种特殊场合专门设计的芯片。这种单片机的针对性强,设计时根据需要来设计部件。因此,他能实现系统的最简化和资源的最优化,可靠性高、成本低、在应用中有很明显的优势。 2.2 单片机的主要特点及应用 单片机的基本组成和基本工作原理与一般微型计算机相同,但在具体结构和处理过程上又有自己的特点,其主要特点如下。(1)在存储器结构上,单片机的存储器采用哈佛结构 rom和ram是严格分开的。rom称为程序存储器,只存放程序、固定常数和数据表格。ram则为数据存储器,用作工作区及存放数据。两者的访问方式也不同,即使用不同的寻址方式,通过不同的地址指针访问。程序存储器的存储空间较大,数据存储器的存储空间小,这样主要是考虑单片机用于控制系统中的特点。程序存储器和数据存储器又有片内和片外之分,而且访问方式也不相同。所以,单片机的存储器在操作时可分为片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。(2)在芯片引脚上,大部分采用分时复用技术 单片机芯片内基础了较多的功能部件,需要的引脚信号较多。但由于工艺和应用场合的限制,芯片上的引脚数目又不能太多。为解决实际的引脚数和需要的引脚数之间的矛盾,一根引脚往往涉及了两个或多个功能。每条引脚在当前起什么作用,由指令和当前机器状态来决定。(3)在内部资源的访问上,采用特殊功能寄存器(sfr)的形式 单片机中集成了微型计算机的微处理器、存储器、i/o接口、定时器/计数器、串行接口、中断系统等电路。用户对这些资源的访问是通过对对应的特殊功能寄存器(sfr)进行访问来实现的。(4)在指令系统上,采用面向控制的指令系统 为了满足控制系统的要求,单片机有很强的逻辑控制能力。在单片机内部一般都设置有一个独立的位处理器,又称为布尔处理器,专门用于位运算。(5)内部一般都集成一个全双工的串行接口 通过这个串行接口可以很方便地和其他外设进行通信,也可以与另外的单片机或微型计算机通信,组成计算机分布式控制系统。(6)单片机有很强的外部扩展能力 在内部的各功能部件不能满足应用系统要求时,单片机可以很方便地在外部扩展各种电路,它能与许多通用的微机接口芯片兼容。目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能ic卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。 单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴: (1)在智能仪器仪表上的应用 单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 (2)在工业控制中的应用 用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。 (3)家用电器中的应用 可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。 (4)在计算机网络和通信领域中的应用 现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。 (5)单片机在医用设备领域中的应用 单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 (6)在各种大型电器中的模块化应用 某些专用单片机设计用于实现特定功能,从而在各种电路中进行模块化应用,而不要求使用人员了解其内部结构。如音乐集成单片机,看似简单的功能,微缩在纯电子芯片中(有别于磁带机的原理),就需要复杂的类似于计算机的原理。如:音乐信号以数字的形式存于存储器中(类似于rom),由微控制器读出,转化为模拟音乐电信号(类似于声卡)。 在大型电路中,这种模块化应用极大地缩小了体积,简化了电路,降低了损坏、错误率,也方便于更换。 (7)单片机在汽车设备领域中的应用 单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于can总线的汽车发动机智能电子控制器,gps导航系统,abs防抱死系统,制动系统等等。 此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。2.3 8051芯片介绍2.3.1 51单片机简介8051单片机是美国intel公司的mcs-51系列单片机中的一种高性能8位单片机。mcs51系列单片机包含51和52两个子系列,对于51子系列,主要有8031、8051、8751三种机型,它们的指令系统与芯片引脚完全兼容,仅片内程序存储器有所不同,8031芯片不带rom,8051芯片带4kb的rom,8751芯片带4kb的eprom。51子系列单片机的主要特点如下:(1) 一个8位cpu。(2) 片内带振荡器,频率范围1.2mhz12mhz。(3) 片内带128b的数据存储器。(4) 片内带4kb的程序存储器。(5) 程序存储器的寻址空间为64kb。(6) 片外数据存储器的寻址空间为64kb。(7) 128个用户位寻址空间。(8) 21个字节特殊功能寄存器。(9) 4个8位的并行i/o接口:p0、p1、p2、p3.(10) 两个16位定时/计数器。(11) 两个优先级别的5个中断源。(12) 1个全双工的串行i/o接口,可多机通信。(13) 111条指令,含乘法指令和除法指令。(14) 片内采用单总线结构。(15) 有较强的位处理能力。(16) 采用单一+5v电源。 2.3.2 51单片机的基本组成及引脚相关功能mcs-51系列单片机虽然有多种芯片类型,但它们的基本组成相同。单片机的基本结构如图2-1。时钟电路cpurom/epromram定时/计数器并行接口串行接口中断系统图2-1 mcs-51的基本结构 mcs-51系列单片机有40个引脚,用hmos工艺制造的芯片采用双列直插式封装。引脚图如图2-2所示。40个引脚按引脚功能大致可分为四个种类:电源、时钟、控制和i/o引脚。1. 电源。 vcc - 芯片电源,接+5v; vss - 接地端; 注:用万用表测试单片机引脚电压一般为0v或者5v,这是标准的ttl电平。但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。 2. 时钟:xtal1、xtal2 - 晶体振荡电路反相输入端和输出端。 3. 控制线:控制线共有4根。 ale/prog:地址锁存允许/片内eprom编程脉冲。 ale功能:用来锁存p0口送出的低8位地址。 prog功能:片内有eprom的芯片,在eprom编程期间,此引脚输入编程脉冲。 图2-2 mcs-51单片机引脚图 psen:外rom读选通信号。 rst/vpd:复位/备用电源。 rst(reset)功能:复位信号输入端。 vpd功能:在vcc掉电情况下,接备用电源。 ea/vpp:内外rom选择/片内eprom编程电源。 ea功能:内外rom选择端。 vpp功能:片内有eprom的芯片,在eprom编程期间,施加编程电源vpp。 4. i/o线。 图2-2 单片机引脚图80c51共有4个8位并行i/o端口:p0、p1、p2、p3口,共32个引脚。 p3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。 5. p3口第二功能。 p30(rxd):串行输入口。p31(txd):串行输出口。 p32(int0):外部中断0(低电平有效)。 p33(int1):外部中断1(低电平有效)。 p34(t0):定时计数器0。 p35(t1):定时计数器1。 p36(wr):外部数据存储器写选通(低电平有效)。 p37(rd):外部数据存储器读选通(低电平有效)。2.3.3 51单片机存储器及中断系统mcs-51单片机的存储器结构与一般微机的存储器结构不同,分为程序存储器rom和数据计数器ram。程序存储器存放程序、固定常数和数据表格,数据存储器用作工作区及存放数据,两者完全分开。程序存储器和数据存储器都有各自的寻址方式、寻址空间和控制系统。程序存储器和数据存储器从物理结构上分为片内和片外两种。它们的寻址空间和访问方式也不相同。数据存储器在单片机中用于存取程序执行时所需的数据。mcs-51系列单片机的片内数据存储器除了ram块外,还有特殊功能寄存器(sfr)块。对于51子系列,前者有128字节,编址为00h-7fh;后者也占128字节,编址为80h-ffh;二者连续不重叠。片内数据存储器按功能可以分成以下几个部分:工作寄存器组区、位寻址区、一般ram区和特殊功能寄存器区,其中还包含堆栈区。00h-1fh单元为工作寄存器组区,共32个字节。工作寄存器也称为通用寄存器,用于临时存放8位信息。工作寄存器共有4组,称为0组、1组、2组、3组、每组8个寄存器,依次用r0-r7表示。也就是说,r0可能表示0组的第一个寄存器,也可能表示1组的第一个寄存器,还可能表示2组、3组的第一个寄存器。使用哪一组当中的寄存器由程序状态寄存器psw中的rs0和rs1两位来选择。20h-2fh为位寻址区,共16字节,128位。这128位每位都可以按位方式使用,每一位都有一个位地址,位地址范围为00-7fh。30h-7fh是一般ram区,也称为用户ram区,共80字节,对于52子系列,一般ram区从30h-ffh单元。另外,对于前两区中未使用的单元也可以作为用户ram单元来使用。堆栈是按先入后出、后入先出的原则进行管理的一段存储器区域。在mcs-51单片机中,堆栈占用片内数据存储器的一段区域,在具体使用时应避开工作寄存器、位寻址区,一般在2fh以后的单元,为实现堆栈的先入后出、后入先出的数据处理,单片机中专门设置了一个堆栈指针sp。堆栈指针sp是一个8位特殊功能寄存器。它指向当前堆栈段得位置,mcs-51单片机的堆栈是向上生长型的,存入数据是从低端向高端延伸,取出数据则相反。入栈和出栈数据是以字节为单位。入栈时先把sp指针的内容加1,然后把数据存入sp指向的单元,出栈时先把sp指针指向单元的数据取出,然后把sp的内容减1.复位时,sp的初值为07h,因此堆栈实际上是从08h开始存放数据。用户也可以通过给sp赋值来改变堆栈的初始位置。特殊功能寄存器(sfr)也称为专用寄存器,专门用于控制、管理片内算术逻辑部件、并行i/o接口、串行口、定时/计数器、中断系统等功能模块工作。用户在编程时可以给其设定值,但不能移作他用。sfr分布在80h-ffh的地址空间,与片内数据存储器统一编址。mcs-51单片机提供5个硬件中断源:两个外部中断源int0(p3.2)和int1(p3.3),两个定时/计数器t0和t1的溢出中断tf0和tf1;一个串行口发送t1和接收r1中断。设计中用了两个外部中断。外部中断源int0和int1的中断请求信号从外部引脚p3.2和p3.3输入,主要用于自动控制、实时处理、单片机掉电等。外部中断请求有两种触发方式:电平触发及边沿触发。这两种触发方式可以通过对特殊功能寄存器tcon编程来选择。tcon的高四位用于定时/计数器控制,低四位用于外部中断控制,it0和it1位为外部中断0和外部中断1的触发方式控制位。设置0选择为电平触发方式;设置1选择为边沿触发方式。边沿触发方式时,cpu响应中断后能够由硬件自动将ie0(或ie1)清零。对于电平触发方式,cpu响应中断后不能够由硬件自动将标志位清零。mcs-51单片机中没有专门的开中断和关中断指令,对各个中断源的允许和屏蔽是由内部的中断允许寄存器ie的各位来控制的。ie的最高位(ea)为中断允许控制位。ea=0屏蔽所有中断请求,ea=1开放中断。ie的最低位(ex0)为外部中断0的中断允许控制位,ex0=0禁止外部中断0中断,ex0=1允许外部中断0中断;ie的第三位(ex1)为外部中断1的中断允许位。ex1=0禁止外部中断1中断,ex1=1允许外部中断1中断。mcs-51单片机5个中断源可以通过内部的中断优先级寄存器ip来设置,中断优先级寄存器ip的字节地址为b8h,可以进行位寻址,如果某位被置1,则对应的中断源被置为高优先级,对于同级中断源,系统有默认的优先权顺序,默认优先权顺序下外部中断0优先级高于外部中断1。通过中断优先级寄存器ip改变中断源的优先级顺序可以实现两个方面的功能:改变系统中断源的优先级顺序和实现二级中断嵌套。通过中断优先级寄存器组成的两级优先级实现二级中断嵌套有以下三条规定:第一,正在进行的中断过程不能被新的同级或低优先级的中断请求所中断,直到该中断服务程序结束,返回了主程序且执行了主程序中的一条指令后,cpu才响应新的中断请求。第二,正在进行的低优先级中断服务程序能被高优先级中断请求所中断,实现两级中断嵌套。第三,cpu同时接收到几个中断请求时,首先响应优先级最高的中断请求。这是此次设计中要用到的。外部中断0的入口地址为0003h,外部中断1的入口地址为0013h。第3章 系统硬件设计3.1 系统总体设计原理 本设计利用所学电路知识,单片机知识和eda方面的知识设计一电子密码锁。目的是要有较高的安全性, 密码位数高,错误提示,使用方便,显示界面友好等特点。确定方案与原理框图,设计出硬件线路,给出软件程序。根据设计目的,本设计以单片机8051ah为核心,用单片机的通用i/o接口p1口组成一个44键盘作为输入电路,用发光二极管和蜂鸣器作为指示和警报提示设计一个十位数字电子密码锁电路。密码锁的开锁密码应是(0-9)中的十位数字,密码输入完全正才确能控制开锁装置打开密码锁,并且指示灯亮;输入的密码错误则不能打开密码锁,并且发出声音警报提示。采用单片机来完成此电路设计,硬件电路简单,但是需要编程序来实现相应功能。完成此密码锁设计主要有几个方面问题需要解决:1、输入的问题,输入键中包含0-9十位数字键、一个删除键(删除上一个输入的数字)、开锁键、确认键、改密码键和复位键;2、开锁和改密码的问题,密码输入正确了怎样控制电路开锁,密码输入不正确则不能开锁,如何实现修改密码,必须输入了正确的密码后才能修改密码;3、设计出电路图,编出程序,然后仿真,看是否能实现相应功能。综上所述,决定采用以下思路来完成十位数字密码锁电路的设计。用单片机的p1口8根i/o接口线组成44键盘有16个按键,本设计用到其中11个键,这11个键包括0-9十个数字键和a(十)键,将a键用作确认键。此外,拟用单片机的外中断0来用作删除(删除上一位输入值),利用单片机的外中断1来修改密码,通过中断优先级寄存器ip把外中断0的中断优先级顺序设为高,这样外中断0优先级高于外中断1,所以即使在执行外中断1的中断服务程序时可以利用中断嵌套来响应外中断0,即当用户修改密码时一样可以使用删除键。这样以来,删除(删除上一位输入)程序和改密码程序只需要写作单片机的外中断0和1的中断服务程序即可。另外要注意的是,改密码只能在输入正确密码后进行改密码,所以外中断1在输入正确的密码时才允许中断,也就是说必须先输入正确的密码后改密码键才能有效,这时按改密码键就可以进行密码修改。如果在输入了正确的十位密码后的十秒时间内没有其他任何动作,那么密码锁将自动结束本次运转,回到程序初始位置执行等待输入密码,即用户需在输入正确密码后的十秒时间内执行需要的操作开锁或者修改密码。最后,由于此设计的为十位数字密码锁,有十位密码,密码位数较多,所以使用一般的数码管显示电路已不能满足要求,这里选用1602lcd显示器作为显示电路,这样不仅能方便的显示密码,而且显示界面更加友好,显示内容也可以更加丰富。本设计中设有复位键,实际运用中可以将复位键设在锁内,即开锁后才能按到复位键,因为按了复位键单片机将恢复默认设置,密码也将恢复为默认密码。当然复位键也可以不设,可以将单片机复位方式设为上电复位。总体设计框图如第一章的图1-1所示。单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。整个系统由单片机、时钟电路、复位电路等组成。本系统采用的8051ah单片机,它是一款mcs-51系列中的高性能单片机内部自带有4kb的flash存储器及256kb ram单元的芯片,因此可以不需另外扩展eeprom及静态ram就可以实现所需功能。单片机最小系统是软硬件系统连接的桥梁。其中单片机最小系统的电路图如图3-1所示。单片机的时钟信号用来提供单片机片内各种微操作的时间基准,时钟信号通常用两种电路形式得到:内部振荡和外部振荡。mcs-51单片机内部有一个用于构成振荡器的高增益反向放大器,引脚xtal1和xtal2分别是此放大电器的输入端和输出端,由于采用内部方式时,电路简单,所得的时钟信号比较稳定,实际使用中常采用这种方式,如图3-1所示在其外接晶体振荡器(简称晶振)或陶瓷谐振器就构成了内部振荡方式,片内高增益反向放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起可构成一个自激振荡器并产生振荡时钟脉冲。图3-1中c1和c2构成并联谐振电路,它们起稳定振荡频率、快速起振的作用,其值均为30pf左右,晶振频率选12mhz。为了初始化单片机内部的某些特殊功能寄存器,必须采用复位的方式,复位后可使cpu及系统各部件处于确定的初始状态,并从初始状态开始正常工作。单片机的复位是靠外电路来实现的,在正常运行情况下,只要rst引脚上出现两个机器周期时间以上的高电平,即可引起系统复位,但如果rst引脚上持续为高电平,单片机就处于循环复位状态。复位后系统将输入/输出(i/o)端口寄存器置为ffh,堆栈指针sp置为07h, sbuf内置为不定值,其余的寄存器全部清0,内部ram的状态不受复位的影响,在系统上电时ram的内容是不定的。复位操作有两种情况,即上电复位和手动(开关)复位。图3-1中就是上电复位方式, r2和c3组成上电复位电路,其值r取为1k,c取为22f。图3-1 单片机最小系统3.2 键盘电路本设计用的按键较多,所以这里采用矩阵键盘,用了44矩阵键盘的16个键中的11个。矩阵键盘又叫行列式键盘,行列式键盘的特点是能减少键盘与单片机接口时所占用的i/o线的数目,使硬件资源得到合理利用,但判键速度慢,在按键比较多时,往往采用矩阵式键盘。矩阵式键盘的链接方法有多种,可以利用扩展的并行i/o接口线;可以利用可编程的键盘、显示接口芯片进行连接、也可以直接连接于单片机的i/o接口线;利用扩展的并行i/o接口连接方便灵活,在单片机应用系统中比较常用。这里直接用单片机的p1口连接,p1的低四位作为行线,高四位作为列线。第一行的首键码就是0,第二行的首键码是4,第三行的首键码是8,第四行首键码是12。编码情况如图3-2所示。矩阵键盘的每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要n条行线和m条列线,即可组成具有nm个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。矩阵键盘的工作过程可分为两步;第一步是cpu首先检测键盘上是否有键按下;第二步是识别哪一个键按下。对照图3-2的44矩阵键盘,说明键盘的工作原理。判断键盘中有无键按下的处理方法是:由单片机i/o口向键盘送全扫描字,然后读入行线状态来判断。其具体过程如下:先向p1口输出#0f0h,把全部行线置为低电平,然后将列线电平状态读入累加器a中。如果有键按下,总会有一根列线电平被拉至低电平,从而使列输入状态不全为“1”否则则可判定无键按下。本设计中还用类似的方法将列线置为低电平,读行线状态,这样用两次读得的结果判断是否有键按下。具体设计方法在第四章中详细介绍,这里先说明原理。辨别键盘中哪一个键被按下的处理方法是:将列线逐列置低电平后,检查行输入状态来实现的,称为逐列扫描。其具体过程如下:从p1.4开始,依次给列线送低电平(通过向p1口写入扫描字实现,然后读入所有行线状态,如果全为1,则所按下的键不在此列;如果不全为1,则所按下的键必在此列,而且是在此列与零电平行线相交的交点上的那个键。为求取键码,在逐列扫描时,可用计数器或寄存器记录下当前扫描的列号,检测到第几行有键按下,就用该行的首键码加列号得到当前按键的编码。本设计用到44矩阵键盘的16个键中的11个,这11个键如图3-2中所示,图3-2中还有5个键的另一端未连线,表示这5个键未被使用,为了方便理解键盘的组成原理于是将所有按键全部画出,这样更清楚地看到p1口被用作矩阵键盘的连接状况。图3-2 44矩阵键盘3.3 开锁电路当密码输入后并经过与约定的密码对比后,如果输入的密码正确,那么单片机将输出开锁信号给开锁执行机构,才能开锁。实际运用中,开锁机构一般就是利用电磁吸合原理构成的电磁锁,单片机输出的微弱信号需要经过驱动电路的放大处理后才能驱动电磁锁吸合,从而达到开锁的目的。开锁电路如图3-3所示。开锁电路由驱动电路和开锁两级组成。由d5、r1、t10组成驱动电路,其中t10可以选择普通的小功率三极管如9014、9018都可以满足要求。发光二极管d5作为开锁的提示,亮表示开锁;开锁电路由d6、c24、t11和电磁锁组成。其中d6、c24是为了消除电磁锁可能产生的反向高电压以及可能产生的电磁干扰。t11可选用中功率的三极管如8050,电磁锁的选用要视情况而定,但是吸合力要足够且有一定的余量。在本次设计中,着重于密码锁的核心部分的设计,为了简明的讲清设计原理和方便仿真调试,暂时用发光二极管和蜂鸣器来代替此部分电路,发光二极管亮时蜂鸣器不会响,表示开锁;灭,表示没有开锁,并且蜂鸣器鸣响。 图3-3 开锁电路本设计中用发光二极管d1代替以上开锁电路。电路中有两个指示灯通过p0口的p0.0和p0.1驱动点亮,p0.0和p0.1在正常情况下均输出高电平,p0.0口接开锁键后接蜂鸣器并且通过反相器(非门)发光二极管d1,当密码输入正确时,会将p0.0口置为低电平,这样按下开锁键后d1会点亮,蜂鸣器不会鸣响,表示密码输入正确,开锁;如果密码输入错误,p0.0口不会动作(继续输出高电平),这样,按下开锁键后d1不会点亮并且蜂鸣器会鸣响。表示密码错误不能开锁。p0.1口接发光二极管d2并通过反相器(非门)接蜂鸣器,一般情况下,p0.1做电源指示灯作用,是常亮的,蜂鸣器也不会响,只有在改密码错误时,p0.1会被置为低电平,指示灯d2熄灭,并且蜂鸣器会鸣响,表示修改密码不成功。此部分电路图如图3-4所示。图3-4 开锁指示电路由于p0口在用作通用i/o接口输出使用时需要外接上拉电阻才能使“1”信号正常输出,所以图3-5中的电阻r3和r4为上拉电阻,u2:a和u2:b是两个非门,d3和d4两个二极管起单向导通作用,buz1是蜂鸣器,kp为开锁键。图中左边部分由电阻r1、r2、电容器c1和复位按键ks组成按键复位电路。为了使用proteus进行仿真时方便,所以使用了按键复位方式,当然复位电路也可以设计成为上电复位方式,上电复位方式的电路如图3-2中所示。3.4 显示电路由于密码位数较多,所以显示电路选用字符型液晶显示模块rt-1602来显示,设计中lcd的8位双向数据口连接单片机的p2口,rs连接单片机的p0.5,rw连接单片机的p0.6,使能端e连接单片机的p0.7。需要注意的就是p0口需要外接上拉电阻。连接情况如图3-6中所示。下面简单介绍下rt-1602的功能及使用方法。液晶显示器型号为1602,意思是每行显示16个字符,一共可以显示两行。1602液晶模块内部的字符发生存储器(rom)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“a”的代码是01000001b(41h),显示时模块把地址41h中的点阵字符图形显示出来,我们就能看到字母“a”。 因为1602识别的是ascii码,试验可以用ascii码直接赋值。1602液晶的引脚图如图3-5所示。图3-5 1602液晶显示器引脚图接口说明如下:1、液晶1,2端为电源;vss,电源地;vdd,+5v电源。2、液晶3端为液晶对比度调节端,通过一个10k欧姆电位器接地来调节液晶

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论