毕业设计高可靠性电子锁仿真设计_第1页
毕业设计高可靠性电子锁仿真设计_第2页
毕业设计高可靠性电子锁仿真设计_第3页
毕业设计高可靠性电子锁仿真设计_第4页
毕业设计高可靠性电子锁仿真设计_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、毕业设计说明书高可靠性电子锁仿真设计高可靠性电子锁仿真设计摘要 随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发首选的控制器。随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤其突出,传统的机械锁由于其构造的简单,安全性能低,无法满足人们的需要。本设计从经济实用的角度出发,采用美国atmel公司的单片机at89c51作为主控芯片与数据存储器单元结合外围的键盘输入、显示、报警、开锁等电路,用汇编语言编写主控芯片的控制程序,设计了一款可以多次更改密码具有报警功能的电子密码锁。关键词:密码锁,单片机,报警simulation design of high reliabil

2、ity electronic lockabstractas electronic products are developing towards intelligence and minimization, single-chip computers (scm) have become the first choice for controllers in the development of electronic products. with the improvement of peoples living standards, it has become particularly pro

3、minent about how to achieve anti-theft family. the traditional mechanical lock has such shortcoming as simple structure, low security, it cant meet peoples demands. for practicality, this paper designs a new electronic cipher lock, which has the function of alarm and whose cipher can be changed many

4、 times. this cipher lock uses at89c51 scm as main chip. the author made this cipher lock by use of making controlled program of master cmos with periphery electrocircuit of keyboard input, display, alarm and unlock. key words: cipher lock, scm, alarm目 录1 绪论11.1 研究的目的及意义11.2 电子锁的国内外现状11.3本设计所要实现的目标22

5、 电子锁概览22.1 电子锁的概念22.2 电子锁的分类32.2.1 电子锁按照输入密码方式可以分为以下几类32.2.2 电子锁按照使用元器件的不同可以分为以下几类42.3电子密码锁的特点43设计方案53.1 方案一:采用数字电路控制53.2 方案二:采用以单片机为核心的控制方案53.3 主要元器件介绍53.3.1 主控芯片at89c5153.4晶体振荡器103.5电源的选择114 系统硬件构成124.1 设计原理124.2 电路总体构成134.3 复位部位电路134.4 晶振部分电路144.5 键盘电路设计154.6 led显示电路174.7 开锁电路184.8 报警电路195 系统软件设计

6、2051 软件设计思路205.2 各子程序设计215.2.1 键盘扫描子程序215.2.2 led显示子程序225.2.3 密码比较和报警程序236 keil uvision3编程与proteus仿真256.1 keil uvision3软件简介256.2 keil uvision3程序调试256.2.1 源文件的建立256.2.2 工程的详细设置256.2.3 建立工程文件276.2.3 编译、连接286.3 proteus 仿真296.3.1 proteus软件简介296.3.2 绘制线路图296.3.3 仿真调试307.组态王仿真317.1 组态王软件介绍317.2电子锁的仿真328 结

7、论36附 录37参 考 文 献43致 谢451 绪论1.1 研究的目的及意义随着人们生活质量的提高,科学技术也在飞速的进步,但是高科技盗贼也出现在我们的和谐的社会中,这使如何实现安全有效的防盗这一问题受到越来越多人的关注。在当今富裕的物质生活中,人们私有的物品越来越多,私有的空间越来越多,对自身的权益也越来越关注,自然而然安全就成为了人们非常关注的问题。加之我国目前对于高科技犯罪的刑侦破案率还不是很高,迫使人们不得不想让罪犯在摇篮中就偃旗息鼓,这样既不会丢掉东西,也为社会治安做出了贡献,而这样的话就必须提高锁具的安全可靠性,为此人们自然也是绞尽脑汁。传统的机械锁由于其结构限制而使其安全性得不到

8、大幅度有效提高,被撬的事件屡见不鲜,而电子锁因其保密性强,使用灵活性好,安全系数高,受到广大用户的欢迎。现在市场上就已经出现了各种各样的电子锁,有语音锁,指纹锁,电脑感应锁,录像报警锁等1。这些锁具出现后,它们便成为了我们忠实的电子卫士,成功的把不少盗贼拒之门外了,但少还有少部分高智商的犯罪分子仍然无视他们的存在,成功的骗过这些电子卫士,盗走了人民和国家的财产。究其主要原因是国家要求电子锁必须有可以用机械方法开启的装置,如此的结果就是电子锁无法体现防技术开启的优点,本设计思路通过对电路部分的设计,以提高电子密码锁的可靠性与安全性。如上面提到的,电子锁的种类繁多。这主要是因为大量的研究都是从电路

9、部分入手的,从而电子锁的分类也是按此分类的,机械的部分大体相同,这正是电子锁的软肋,技术开启也因此有了市场。本文将主要从密码电路部分入手,设计密码电路,以增强电子锁的安全性。1.2 电子锁的国内外现状目前,世界经济与高科技的迅猛发展,加之知识经济的到来,促进了锁具行业的讯速发展。随着住宅、洗车、中高档办公楼及酒店等支柱型产业的快速发展以及国防、公安、金融等系统对高防范性锁具产品的需要日益增加,因为高端锁具科技含量高、更加突出人性化、个性化特点,所以高端锁具将逐渐成为锁具市场的主流。欧美、日等经济发达国家电子锁已成为具有规模效益的重要产业,其销量额已占到锁具总销售额的七成以上2。在国外,尤其欧美

10、地区和日本、韩国,电子锁的普及率非常高。在韩国,几乎每个家庭都安装有一把电子锁。德国向市场投入的一种汽车手闸防盗密码锁,具有无声防盗、无误锁烦恼、安装、操作简便,价格低廉,适合所有型号的进口、国产轿车。国外还提出一种新型的无线访问监控系统,该系统基于数字门锁,这是作为一个爆炸性数字消费来设备。我国锁具业近年发展迅速,已经成为世界锁具生产大国。目前我国的锁具产品达20类、100多个系列、8000多个花色规格及品种。我国制锁企业主要集中在广东、山东、浙江一带,以南方生产执手锁、球形门锁为主。北方生产挂锁、各种车辆用锁为主3。在产品分类方面,中国制锁行业以钢铁挂锁、门锁、车锁为主,智慧门锁及其他锁具

11、为辅。整体而言,中国制锁业相对国外先进的技术落后不少,且锁具生产商以中小企业为主,低水平的重复建设严重,而具规模及拥有知名品牌的企业比例较小。据业内人士介绍,高档锁具的核心技术掌握在国外厂家手中,这与中国的其他行业,如表面处理、材料工程、微电子技术的整体水平不高有关。近年生产的高档电子锁具,如 ic卡、tm卡、指纹锁等产品的核心电子元器件均从国外进口,使中国的高档锁具在价格、性能扩展方面受到限制。1.3本设计所要实现的目标本设计采用单片机为主控芯片,结合外围电路,组成电子密码锁,用户想要打开锁,必须先通过提供的键盘输入正确的密码才能将锁打开。为了提高安全性,当密码输入错误三次将报警并自锁键盘2

12、分钟。2 电子锁概览2.1 电子锁的概念 锁,是人们生活的必须品,我国的辞海把它解释为“必须用钥匙方能开脱的封缄器”。随着公共安全防范的需求和现代科技的发展,各国竞相把声、光、点、磁和波等技术应运到锁具上,现代锁具电子锁应运而生,它使辞海对锁的解释成为以偏概全的陈词。 作为一种社会性的产品,每个时代的锁都能在一定的程度上反应出当时的科学技术水平。虽然古代的锁和今天的锁很不一样,将来的锁也完全可能是另外一种样子,然而锁不外乎由两部分构成,即控制部分和执行机构。所谓电子锁,一般指的是采用电子电路控制,以电磁铁(或微型电动机)和锁体作为执行机构的机电一体化保险装置4。现在,电子锁是构成公共安全防范系

13、统的重要电子装置,当然也是家用器具类电子产品,在我国归属于实用新型专利。区别于传统的机械锁,电子锁的特点是:不用金属钥匙,使用方便,工作安全、可靠,保密性极强。可以说,电子锁种类之多,几乎如同其用于开锁的密码数目。区别去电器锁(electric lock),电子锁的特点是:采用电子元器件和机械结构结合,使用低压电源。而电器锁则采用市电作为电源,是由强电信号进行触发的电磁装置。2.2 电子锁的分类 相对于执行机构而言,电子锁的控制电路部分具有极大的灵活性,这是造成电子锁种类繁多的主要原因。 电子锁的分类方法很多。为阐述问题方便,力求条理清晰,本文根据以下两种方式对电子锁进行分类。2.2.1 电子

14、锁按照输入密码方式可以分为以下几类 (1)按键式电子锁:采用键盘(或组合按钮)输入开锁密码,操作方便。内部控制电路常采用电子锁专用集成电路asic。 (2)拨盘式电子锁:采用机械拨盘开关输入开锁密码。许多按键式电子锁可以改造成拨盘式电子锁。 (3)电子钥匙式电子锁:使用电子钥匙输入(或作为)开锁密码。电子钥匙是构成控制电路的重要组成部分。电子钥匙可以由元器件或由元器件构成的单元电路组成,做成小型手持单元形式。电子钥匙和主控电路的联系可以是声、光、电磁等多种形式。 (4)触摸式电子锁:采用触摸方法输入开锁密码,操作简单。相对于按键开关,触摸开关使用寿命长,造价低,因此优化了电子锁控制电路。 (5

15、)生物特征式电子锁:将声音、指纹等人体生物特征作为密码输入,由计算机进行模式识别控制开锁,智能化相当高。2.2.2 电子锁按照使用元器件的不同可以分为以下几类 (1)继电器式电子锁,其特点是采用继电器的触点联动,配合各类开关的串并联组合进行编码控制。 (2)可控硅式电子锁,其特点是采用串、并联的可控硅进行编码控制。 (3)电容记忆式电子锁,其特点是利用电容的充放电进行编码控制。 (4)单结管延迟式电子锁,其特点是利用单结管作开锁延时器。增加了电子锁的保安性能。 (5)电子密码开关,其特点是运用模拟集成开关块,配合组合开关进行编码控制。(6)555电路式电子锁,其特点是将555时基电路接成触发器

16、等形式,配合组合开关进行编码控制。(7)专用保密锁集成电路式电子锁,其特点是作为电子锁控制电路的核心,专用保密锁集成电路的集成度较高、功能很强,所需外围元件很少,安装方便、可靠。目前,在所有采用集成电路进行编码控制的电子锁当中,首推专用保密锁集成电路式电子锁的性能价格为最高。2.3电子密码锁的特点电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品5。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁,主要特点如下:1、保密性好,编码量多,

17、远远大于弹子锁。随机开锁成功率几乎为零。2、密码可变。 用户可以经常更改密码,防止密码被盗,同时也可以因人员的更替而使锁的密级下降。3、误码输入保护。当输入密码多次错误时,报警系统自动启动,防止试探密码。3设计方案3.1 方案一:采用数字电路控制用以74ls112双jk触发器构成的数字逻辑电路作为密码锁的核心控制,共设了9个用户输入键,其中只有4个是有效的密码按键,其它的都是干扰按键,若按下干扰键,键盘输入电路自动清零,原先输入的密码无效,需要重新输入;如果用户输入密码的时间超过40秒(一般情况下,用户不会超过40秒,若用户觉得不便,还可以修改)电路将报警80秒,若电路连续报警三次,电路将锁定

18、键盘5分钟,防止他人的非法操作。采用数字电路设计方案的好处就是设计简单,但控制的准确性和灵活性差,故不采用。3.2 方案二:采用以单片机为核心的控制方案采用一种是用以at89s51为核心的单片机控制方案。利用单片机灵活的编程设计和丰富的io端口,及其控制的准确性,能实现基本的密码锁功能。设计思路如下:输入密码用矩形键盘,包括数字键和功能键。led数码管显示输入密码,用74js247驱动数码管发光显示数码,用74ls138控制各位显示器分时进行显示。用发光二极管代替开锁的电路,发光表示开锁。输入密码错误次数超过3次,系统报警。打开电源后,显示器显示“000000”,设原始密码为“123456”,

19、只要输入此密码便了开门。这样可预防停电后再来电时无密码可用。按“c”键,清除显示器为“000000”。欲重新设定密码,先输入密码再按“*”。输入密码,再按“#”键。若密码与设定密码相同,则开门。否则显示器清为“000000”。 可以看出方案二控制灵活,准确性好且保密性强,根据现实生活的需要,此次设计采用方案二。3.3 主要元器件介绍3.3.1 主控芯片at89c51at89c51是一种低功耗,高性能cmos8位微控制器,具有8k在系统可编程flash存储器。使用atmel公司高密度非易失性存储器技术制造,与工业80c51产品指令和引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常

20、规编程器。在单芯片上,拥有灵巧的8位cpu和系统可编程flash,使得at89sc51为众多嵌入式控制应用系统提供高灵活,超有效地解决方案。at89c51是一种带2k字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪烁存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器, at89c51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案6。芯片引脚如图3.1所示。图3.1 at89c51芯片引脚图1.at89c5

21、1性能简介at89c51具有如下特点:40个引脚,4k字节可编程flash片内程序存储器,1288位随即存取数据存储器(ram) ,32个外部双向输入/输出(i/o)口,5个中断源,两个16位可编程定时计数器,可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路7。可以看出at89c51 提供以下标准功能:4k 字节flash 闪速存储器,128字节内部ram,32个i/o 口线,两个16位定时/计数器,一个5向量两级中7断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,at89c51可降至0hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的工作,但允许

22、ram,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存ram中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。2.at89c51引脚功能说明vcc:电源电压gnd:地p0口:p0口是一组8位漏极开路型双向i/o口,也即地址/数据总线复用口,作为输出口用时,每位能驱动8个ttl逻辑门电路,对端口写“1”可作为高阻抗输入端口。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在flash编程时,p0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。p1口:p1是一个带内部上拉电阻的8位双向

23、i/o口,p1的输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号校验期间,p1接收低8位地址。表3.1为p1口第二功能。表3.1 p1口第二功能端口引脚第二功能p1.5mosi(用于isp编程)p1.6miso(用于isp编程)p1.7sck(用于isp编程)p2口:p2口是一个具有内部上拉电阻的8位双向i/o口,p2输出缓冲器能驱动4个ttl逻辑电平。对p2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电

24、阻的原因,将输出电流(iil)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movx dptr)时,p2口送出高八位地址8。在这种应用中,p2口使用很强的内部上拉发送1。在使用8位地址(如movx ri)访问外部数据存储器时,p2口输出p2锁存器的内容。p3口:p3口是一组带有内部上拉电阻的8位双向i/o口。p3口输出缓冲级可驱动(吸收或输出电流)4个ttl逻辑门电路。对p3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。作输入端口时,被外部拉低的p3口将用上拉电阻输出电流i。p3口除了作为一般的i/o口线外,更重要的用途是它的第二功能,p3口的第二功能如下表3.2。

25、 表3.2 p3口的第二功能端口功能第二功能端口引脚第二功能rxd(p3.0)串行输入口t0(p3.4)定时/计数器0外部输入txd(p3.1)串行输出口t1(p3.5)定时/计数器1外部输入int0(p3.2)外中断0wr(p3.6)外部数据存储器写选通int1(p3.3)外中断1rd(p3.7)外部数据存储器读选通rst:复位输入。当振荡工作时,rst引脚出现两个机器周期上高电平将使单片机复位。wdt溢出将使该引脚输出高电平,设置sfr auxr 的 disrto 位(地址8eh)可打开或关闭该功能。disrto 位缺省为reset输出高电平打开状态9。ale/prog:当访问外部程序存储

26、器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ale仍以时钟振荡频率的1/6输出的正脉冲信号,因此它可对外输出时钟或用于定时目地,要注意的是:当访问外部数据存储器时将跳过一个ale脉冲。如有必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0位置位,可禁止ale操作。该位禁位后,只有一条movx 和movc指令ale才会被激活10。psen:程序储存允许(psen)输出是外部程序存储器的读选通信号,当at89s51由外部程序存储器取指令(或数据)时,每个机器周期两次psen有效,即输出两个脉冲。当访问外部数据存储器,高有两次有效的pse

27、n信号。ea/vpp:外部访问允许。欲使cpu公访问外部程序存储器(地址0000hffffh),ea端必须保持低电平(接地)。需注意的是:如果加密位lb1被编程,复位时内部会锁存ea端状态。如ea端为高电平(接vcc端),cpu则执行内部程序存储器中的指令。flash存储器编程时,该引脚加上12v的编程电压vpp11。xtal1:振荡器反相放大器及内部时钟发生器的输入端。xtal2:振荡器反相放大器的输出端。3. at89c51芯片内部结构特殊功能寄存器:特殊功能寄存器的片内空间分存如下图3-2所示。这些地址并没有全部占用,没有占用的地址不可使用,读这些地址将得到一个随意的数值。而写这些地址单

28、元将不能得到预期的结果。中断寄存器:各中断允许控制位于ie寄存器,5个中断源的中断优先级控制位于ip寄存器12。图3.2为auxr辅助寄存器。图3.2 auxr辅助寄存器双时钟指针寄存器:为方便地访问内部和外部数据存储器,提供了两个16位数据指针寄存储器:pd0位于sfr区块中的地址82h、83h和dp1位于地址84h、85h,当sfr中的位dps=0时选择dp0,而dps=1时选择dp1。在使用前初始化dps。图3.3为双时钟指针寄存器。图3.3 双时钟指针寄存器电源空闲标志:电源空闲标志(pof)在特殊功能寄存储器sfr中pcon的第4位(pcon.4),电源打开时pof置“1”,它可由软

29、件设置睡眠状态并不为复位所影响。存储器结构:mcs-51单片机内核采用程序存储器和数据存储器空间分开的结构,均具有64kb外部程序和数据的寻址空间。程序存储器:如果ea引脚接地(gnd),全部程序均执行外部存储器。在at89s51,假如接至vcc(电源),程序首先执行从地址0000h0fffh(4kb)内部程序存储器,再执行地址为1000hffffh(60kb)的外部程序存储器。数据存储器:在at89s51的具有128字节的内部ram,这128字节可利用直接或间接寻址方式访问,堆栈操作可利用间接寻址方式进行,128字节均可设置为堆栈区空间。看门狗定时器(wdt):wdt是为了解决cpu程序运行

30、时可能进入混乱或死循环而设置,它由一个14bit计数器和看狗复位sfr(wdtrst)构成。外部复位时,wdt默认为关闭状态,要打开wdt,必按顺序将01h和0e1h写到wdtrst寄存器,当启动了wdt,它会随晶体振荡器在每个机器周期计数,除硬件复位或wdt溢出复位外没有其它方法关闭wdt,当wdt溢出,将使rst引脚输出高电平的复位脉冲。3.4晶体振荡器晶体振荡器,简称晶振,其作用在于产生原始的时钟频率,这个频率经过频率发生器的放大或缩小后就成了电脑中各种不同的总线频率。以声卡为例,要实现对模拟信号44.1khz或48khz的采样,频率发生器就必须提供一个44.1khz或48khz的时钟频

31、率。如果需要对这两种音频同时支持的话,声卡就需要有两颗晶振。但是现在的娱乐级声卡为了降低成本,通常都采用scr将输出的采样频率固定在48khz,但是src会对音质带来损害,而且现在的娱乐级声卡都没有很好地解决这个问题。现在应用最广泛的是石英晶体振荡器。石英晶体振荡器是一种高精度和高稳定度的振荡器,石英晶体振荡器也称石英晶体谐振器,它用来稳定频率和选择频率,是一种可以取代lc谐振回路的晶体谐振元件13。石英晶体振荡器广泛地应用在电视机、影碟机、录像机、无线通讯设备、电子钟表、单片机、数字仪器仪表等电子设备中。为数据处理设备产生时钟信号和为特定系统提供基准信号。在单片机中为其提供时钟频率。石英晶体

32、振荡器是利用石英晶体(二氧化硅的结晶体)的压电效应制成的一种谐振器件,它的基本构成大致是:从一块石英晶体上按一定方位角切下薄片(简称为晶片,它可以是正方形、矩形或圆形等),在它的两个对应面上涂敷银层作为电极,在每个电极上各焊一根引线接到管脚上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。只要在晶体振子板极上施加交变电压,就会使晶片产生机械变形振动,此现象即所谓逆压电效应。当外加电压频率等于晶体谐振器的固有频率时,就会发生压电谐振,从而导致机械变形的振幅突然增大14。3.5电源的选择 密码锁主控制部分电源需要用5v直

33、流电源供电,其电路如图3.4所示,把频率为50hz、有效值为220v的单相交流电压转换为幅值稳定的5v直流电压。其主要原理是把单相交流电经过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压15。由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的作用显现出来起到降压作用。降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。需通过低通滤波电路滤波,使输出电压平滑。稳压电路的功能是使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而获得稳定性足够高的直

34、流电压。本电路使用集成稳压芯片7805解决了电源稳压问题。 图3.4 电源输入电路原理图4 系统硬件构成4.1 设计原理本设计主要由单片机、矩阵键盘、led显示电路和密码存储等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警。本系统共有两部分构成,即硬件部分与软件部分。其中硬件部分由键盘输入部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,软件部分对应的由主程序、初始化程序、键盘扫描程序、led显

35、示程序、密码设置程序等组成。其原理框图如图4.1所示。报警控制电路矩阵键盘输入at89c51单片机开锁控制电路复位电路显示电路晶振电路图4.1 电子密码锁原理框图 4.2 电路总体构成在确定了选用什么型号的单片机后,就要确定在外围电路,其外围电路包括键盘输入部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成,根据实际情况键盘输入部分选择4*4矩阵键盘,显示部分选择led显示电路。其线路图如图4.2所示:图4.2 电路线路图4.3 复位部位电路 单片机复位是使cpu和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后pc0000h,使单片机从0000h取指令1

36、6。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。图4.3所示rc复位电路可以实现上述基本功能。图4.3 复位电路线路图4.4 晶振部分电路at89s51引脚xtal1和xtal2与晶体振荡器及电容c2、c1按图4.4所示方式连接。晶振、电容c1c2及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容c1、c2的容量有关,但主要由晶振频率决定,范围在033mhz之间,电容c1

37、、c2取值范围在2030pf之间。根据实际情况,本设计中采用12mhz作为系统的外部晶振17。电容取值为30pf。图4.4为晶振电路图。图4.4 晶振电路线路图4.5 键盘电路设计使用矩阵键盘,所以本设计就采用行列式键盘,同时也能减少键盘与单片机接口时所占用的i/o线的数目,在按键比较多的时候,通常采用这样方法18。其原理如图4.5。图4.5 矩阵键盘线路图每一条水平(行线)与垂直线(列线)的交叉处不相通,而是通过一个按键来连通,利用这种行列式矩阵结构只需要n条行线和m条列线,即可组成具有nm个按键的键盘。在这种行列式矩阵键盘非键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确认有无按键

38、按下的程序段。当确认有按键按下后,下一步就要识别哪一个按键按下。对键的识别通常有两种方法:一种是常用的逐行扫描查询法;另一种是速度较快的线反转法。对照表4.1所示的44键盘,说明线反转个工作原理。首先辨别键盘中有无键按下,有单片机i/o口向键盘送全扫描字,然后读入行线状态来判断。方法是:向行线输出全扫描字00h,把全部列线置为低电平,然后将列线的电平状态读入累加器a中。如果有按键按下,总会有一根行线电平被拉至低电平从而使行线不全为1。判断键盘中哪一个键被按下使通过将列线逐列置低电平后,检查行输入状态来实现的。方法是:依次给列线送低电平,然后查所有行线状态,如果全为1,则所按下的键不在此列;如果

39、不全为1,则所按下的键必在此列,而且是在与零电平行线相交的交点上的那个键。判断哪个键被按下:将p1.0p1.3都置低,检测p1.4p1.7是否有低的,若有,则证明有键按下,记下低的端口。然后,将p1.4p1.7置低,检测p1.0p1.3是否有低的端口,如有,则证明端口与上次的一个为地的端口交叉位置的键被按下。 键盘16个键布局如表4.1,09,on,off,lock,#,c,*。其中on为开启键盘键,按下此键后键盘开启;off为关闭键盘键,按下此键后键盘关闭;09为数字键,进行密码输入以及更改密码时的输入键;lock是上锁键,可以人为主动上锁,也可以等待系统自动上锁;*键用来设置密码,当锁被打

40、开后,此键方可有效工作,按下此键后,可以设置新密码;c为清除键,当输入密码按键错误时可以按此键后退并清除当前字符;#键作为确定键,开锁时,按下此键后进行密码比对,设置密码时,按下此键确定所输入的数字。表4.1 键盘布局123on456off789lock*0c#具体的功能设计如表4.2:表4.2按键功能按 键键 名功 能 说 明09键数 字 键输 入 密 码* 键重 设 密 码 键设 定 新 密 码#键确 定 键比 较 密 码c 键清 除 键使 显 示 器 清 零on键开锁键键盘开启off键闭锁键键盘关闭lock键上锁键系统上锁4.6 led显示电路本系统设计的显示电路是为了给使用者以提示而设

41、置的。本系统的显示采用串行显示的方式,只使用单片机的一个串行口,利用74ls247驱动数码管发光显示数码和74ls138控制位选信号,就可以完成单片机的显示功能18。显示电路的电路原理图如图4.6所示。用p0.0p0.3接74ls247的a,b,c,d四端口,74ls247的输出口接led的七段显示;而p0.4p0.6接74ls138的a,b,c三个输入口,74ls138的输出口接led的位显示。通过软件实现数字和位控制。图4.6 led显示电路用74ls247可以控制输出什么字型。74ls247的逻辑功能表如表4.3:表4.3 74ls247的逻辑功能表十进制数输 入输 出字型a3a2a1a

42、0qaqbqcqdqeqfqg0000000000000100011001111120010001001023001100001103401001001100450101010110056011001000006701110001111781000000000089100100001009用74ls138控制位循环显示,其逻辑功能表如表4.4:表4.4 74ls138逻辑功能表cbay1y2y0y3y4y5y6y700001111111001101111110 1011011111011111011111 00111101111011111101111011111101111111111104

43、.7 开锁电路在本次设计中,基于节省材料的原则,暂时用发光二极管代替电磁锁,发光管亮,表示开锁;灭,表示没有开锁。电路图如4.7所示。当p2.0口输出低电平时,二极管发光,表示开锁。图4.7 开锁电路线路图4.8 报警电路报警模块由蜂鸣器和单片机组成。选择一只压电式蜂鸣器,压电式蜂鸣器工作时约需要100ma驱动电流。蜂鸣器电路如图4.8所示。当at89c51的p2.1口输出为低电平时,蜂鸣器产生蜂鸣音,at89c51输出为高电平时,蜂鸣器不发声。图4.8 报警电路线路图5 系统软件设计51 软件设计思路电子密码锁工作的主要过程是led数码管提示开始输入密码,通过键盘输入密码,同时led显示密码

44、输入情况,按下确认键后判断密码的正确性,做出开锁或报警处理。当输入密码连续输入错误3次时,系统报警。密码的设定,在此程序中密码是固定40h45h中,假设预设的密码为123456共6位密码。主要程序设计流程图图5.1所示。开始初始化键盘扫描启动程序键功能程序n比较密码3次n密码正确y报 警开锁结束图5.1 主程序流程图5.2 各子程序设计5.2.1 键盘扫描子程序键盘扫描流程图如图5.2.1 图5.2 键盘扫描流程图键盘扫描子程序如下:l2: mov r3,#0f7h mov r1,#00hl3: mov a,r3 mov p1,a mov a,p1 mov r4,a setb c mov r5

45、,#04hl4: rlc a jnc keyin inc r1 djnz r5,l4 call disp mov a,r3 setb c rrc a mov r3,a jc l3 jmp l25.2.2 led显示子程序led显示流程图如图6.3图5.3 led显示流程图led显示子程序如下:disp:mov r0,#45hdisp1: mov a,r0 add a,#50h mov p0,a call delay dec r0 mov a,r0 add a,#40h mov p0,a call delay dec r0 mov a,r0 add a,#30h mov p0,a call de

46、lay dec r0 mov a,r0 add a,#20h mov p0,a call delay dec r0 mov a,r0 add a,#10h mov p0,a call delay dec r0 mov a,r0 add a,#00h mov p0,a call delay ret5.2.3 密码比较和报警程序密码比较和报警流程图如5.4图5.4 密码比较和报警流程密码比较和报警程序:comp: mov r1,#45h mov r0,#35h mov r2,#06hc1: mov a,r1 xrl a,r0 jnz c3 dec r1 dec r0 djnz r2,c1 clr

47、p2.0 mov r2,#200c2: mov r6,#248 djnz r6,$ djnz r2,c2c3: inc r5 mov a,r5 mov r5,a cjne r5 ,#03h,c4 clr p2.1 mov r5,#00h c4: jmp start6 keil uvision3编程与proteus仿真6.1 keil uvision3软件简介keil software公司推出的uvision3是一款可用于多种8051mcu的集成开发环境(ide),该ide同时也是pk51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uvision3还提

48、供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标mcu,包括指令集、片上外围设备及外部信号等。uvision3提供逻辑分析器,可监控基于mcui/o引脚和外设状态变化下的程序变量。uvision3提供对多种最新的8051类微处理器的支持,包括analog devices的aduc83x和aduc84x,以及infineon的xc866等。6.2 keil uvision3程序调试6.2.1 源文件的建立使用菜单“file-new”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,在该窗口中输入汇编语言源程序。保存文件,注意必须加上扩展

49、名(汇编语言源程序一般用 asm 或a51 为扩展名),这里假定将文件保存为lock.asm。6.2.2 工程的详细设置工程建立好以后,还要对工程进行进一步的设置,以满足要求。首先点击左边 project 窗口的target 1,然后使用菜单“project-option for target target1”即出现对工程设置的对话框,这个对话框共有8 个页面。设置对话框中的 target 页面,如图6.1 所示。图6.1 对目标进行设置xtal 后面的数值是晶振频率值,默认值是所选目标cpu 的最高可用频率值, 对于我们所选的at89c51 而言是24m,该数值与最终产生的目标代码无关,仅用

50、于软件模拟调试时显示程序执行时间。正确设置该数值可使显示时间与实际所用时间一致,一般将其设置成与你的硬件所用晶振频率相同,如果没必要了解程序执行的时间,也可以不设,这里设置为12。memory model 用于设置ram 使用情况,有三个选择项,small 是所有变量都在单片机的内部ram 中;compact 是可以使用一页外部扩展ram,而large 则是可以使用全部外部的扩展ram。code model 用于设置rom 空间的使用,同样也有三个选择项,即small模式,只用低于2k 的程序空间;compact 模式,单个函数的代码量不能超过2k,整个程序可以使用64k 程序空间;large

51、 模式,可用全部64k 空间。use on-chip rom 选择项,确认是否仅使用片内rom;operating 项是操作系统选择,keil 提供了两种操作系统:rtx tiny 和rtx full,使用该项的默认值:none(不使用任何操作系统);off chip code memory 用以确定系统扩展rom 的地址范围,off chip xdata memory 组用于确定系统扩展ram 的地址范围,这些选择项必须根据所用硬件来决定,由于该例是单片应用,未进行任何扩展,所以均不重新选择,按默认值设置。设置对话框中的 output 页面,如图6.2 所示。图6.2 对输出进行控制这里面也

52、有多个选择项,其中create hex file用于生成可执行代码文件(可以用编程器写入单片机芯片的hex 格式文件,文件的扩展名为.hex)。选中debug information 将会产生调试信息,这些信息用于调试,如果需要对程序进行调试,应当选中该项。browse information 是产生浏览信息,该信息可以用菜单view-browse 来查看,这里取默认值。按钮“ select folder for objects” 是用来选择最终的目标文件所在的文件夹,默认是与工程文件在同一个文件夹中。name of executable 用于指定最终生成的目标文件的名字,默认与工程的名字相同

53、,这两项一般不需要更改。6.2.3 建立工程文件点击“project-new project ”菜单,出现一个对话框,要求给将要建立的工程起一个名字,在编辑框中输入exam1,不需要扩展名。点击“保存”按钮,出现第二个对话框,如图6.3所示。图6.3 选择目标cpu这个对话框要求选择目标cpu(即你所用芯片的型号),keil 支持的cpu很多,选择atmel 公司的89c51 芯片。点击atmel 前面的“+”号,展开该层,点击其中的89c51,然后再点击“确定”按钮,回到主界面。此时,在工程窗口的文件页中,出现了“target1”,前面有“+”号,点击“+”号展开,可以看到下一层的“ source group1”,这时的工程还是一个空的工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“source group1”使其反白显示,然后,点击鼠

温馨提示

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

评论

0/150

提交评论