版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕 业 设 计题目:基于单片机的电子密码锁设计与实现 姓 名: 王东雪 学 号: 2010080403204 学 院: 信息学院 专 业: 电子信息工程 指 导 教 师: 张巧杰 协助指导教师: 2012年 5月20日北京联合大学 毕业设计摘 要近年来,随着改革开放的深入发展,电子电器的飞速发展。人民的生活水平有了很大提高。各种高档家电产品和贵重物品为许多家庭所拥有。然而不法分子也是越来越多,原因在于大部分人防盗意识还不够强,造成偷盗现象屡见不鲜。越来越多的居民家庭对财产安全问题十分担忧。因此,出于安全方便等方面的需求,电子密码锁相继问世。本设计是以单片机AT89S51为主控芯片,并结合外围液
2、晶显示LCD1602、存储芯片AT24C02、红外遥控HS0038,以及键盘输入、复位、电源等电路组合而成。系统能够完成开锁、报警、修改密码等基本功能,还能够通过红外来控制单片机的开锁,以及掉电储存密码的功能。整个设计在Keil开发环境下,用C语言编写主控芯片的控制程序来实现具有多功能的电子密码锁。关键词:密码锁 AT89S51 储存 显示 红外AbstractIn recent years, with the deepening of reform and opening-up, with the rapid development of electronic appliances.The
3、peoples living standard has been greatly improved.A variety of high-grade household electrical appliances and the valuables have for many families.However criminals are also more and more, because most people security awareness is not strong enough, causing steal phenomenon it is often seen.More and
4、 more households in property safety is concerned about.Therefore, for the safe and convenient and other aspects of the demand, electronic password lock in succession.The design is based on SCM AT89S51 as main control chip, and the combination of peripheral LCD1602 liquid crystal display, memory chip
5、 AT24C02, infrared remote control HS0038, and keyboard input, reset, power circuit assembly.The system can complete the lock, alarm, modify passwords and other functions, can also through infrared to control chip lock, and power-down save password function.The whole design in the KEIL development en
6、vironment, using C language master control chip control procedures to achieve multifunctional electronic cipher lock.Key Words:Password lock AT89S51 Storage Display Infrared目 录摘 要IAbstractII引 言11 概述21.1 课题背景和意义21.2电子密码锁的发展趋势22 系统总体设计思路32.1 系统设计要求32.2系统设计方案33 系统硬件设计与实现43.1主控芯片AT89S5143.2 存储模块AT24C027
7、3.3红外模块HS003893.4 显示模块LCD1602103.5 电源电路模块113.6 键盘输入模块123.7 报警电路133.8 开锁电路133.9 复位电路143.10串行通信电路143.11 系统整体原理图164系统软件设计174.1 主程序设计174.2键值判断设计184.3开锁设计194.4密码修改设计204.5 红外遥控设计234.6 Keil编程软件介绍245 仿真设计275.1 Protues仿真软件概述275.2 Protues与Keil的连调285.3 Protues与Keil的连调的仿真结果295.4问题及解决办法30结 论31致 谢32参考文献3334引 言随着新
8、技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到冶金、电力、建材、化工、机械、石油、食品等各个行业。单片机控制无疑是人们追求的目标之一,它所给人们带来的方便也是不可否认的其中单片机控制就是一个典型的例子。MCS-51系列单片机应用广泛,是学习单片机技术较好的系统平台,同时也是单片机微型计算机应用系统开发的一个重要系列。目前,单片机原理与应用教材大都采用汇编语言讲解和设计程序实例,但汇编语言学习困难。在实际应用系统开发调试中,特别是开发比较复杂的应用系统时,为了提高开发效率和使程序便于移植,现在多用C语言。在信息产业飞速发展的
9、今天,我们生活中必不可需的设备都向着小型化、便携化、智能化、自动化的方向发展。所以电子密码锁随着快节奏的生活应运而生。在我国六七十年代还是传统的一把钥匙配一把锁,不管是单位还是个人每天都要认真检查是否锁上了门,而且钥匙还不能随便乱放,一旦不小心忘记放在哪里很可能就打不开门了。传统的锁也相当的不安全,会有一些不法分子想尽办法打开你的房锁去偷盗东西。电子密码锁的产生使得这些问题都不再是问题,我们只需简单的记住六位密码即可。1 概述1.1 课题背景和意义人们从前使用的锁不但不方便,而且安全系数也比较低。随着社会的进步和人们生活水平的提高,老式的锁已经跟不上人们的要求,况且人们对防盗的要求越来越高,特
10、别是对使用的便捷性也有了更高的需求。因此近几年一种新型的电子密码锁应运而生,受到了人们的青睐。有报警功能的密码锁这时正为人们解决了不少问题。但是市场上的密码锁大部分都是用于一些大公司财政机构、价格高昂,一般人们难以接受。如果再设计和生产一种价格低廉、性能灵敏可靠的密码锁,必将在防盗和保证财政安全方面发挥更加有效的作用。密码锁是现代生活中经常用到的工具之一,广泛应用于保险柜、房门、宾馆、车库等。电子密码锁克服了机械式密码锁量少、安全性能差的缺点,特别是使用单片机控制的智能电子密码锁,不但功能全,而且具有更高的安全性和可靠性。并且电子密码锁只需记住一组密码,无需携带钥匙,免除了人们携带钥匙的烦恼,
11、被越来越多的人所喜欢。随着我国第三产业的飞速发展,电子密码锁会在不久的将来得到广泛的应用,方便社会和个人。1.2电子密码锁的发展趋势20世纪80年代后,随着电子锁专用集成电路的出现,电子锁的体积缩小,同时可靠性提高,成本也相对提高,所以只适合使用在安全性要求较高的场合,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对密码锁的研究一直没有明显进展。到了90年代,美国、意大利、德国、日本、加拿大、韩国以及我国的台湾、香港等地的微电子技术的进步和通信技术的发展为密码锁提供了技术上的支持,从而推动密码锁走向实际应用的阶段。目前,在西方国家,电子密码锁技术相对先进,种类齐全,电子密码锁已被广
12、泛应用于智能门禁系统中,使之更加安全更加可靠实现大门的管理。我国于90年代初期开始对密码锁进行初步的探索。到目前为止,随着电子技术和信息技术的发展,电子密码锁的技术领域已发展的十分成熟。从目前的技术水平和市场认可程度看,使用最为广泛的是键盘式电子密码锁,该产品主要应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。在其他技术领域还有遥控式电子密码锁以及卡片式密码锁等。2 系统总体设计思路2.1 系统设计要求单片机密码锁主要内容:用户可以自由设定密码、具有报警提示功能、可设置万用密码、具有掉电存储密码功能。2.2系统设计方案本系统采用以单片机为核心元件的控制方案。由于单片机种类繁多,各种
13、型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些方面外,还有一些最基本的条件,比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中还要考虑开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等因素。基于以上因素本设计选用单片机AT89S51作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确
14、性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接AT24C02芯片用于密码的存储,外接LCD1602显示器用于显示作用。其原理如下图1所示。显示电路电源电路单片机AT89S51报警电路键盘输入开锁电路复位电路红外遥控密码储存AT89S51 图1单片机控制方案3 系统硬件设计与实现3.1主控芯片AT89S51在本设计中选用 ATMEL 公司的 AT89S51单片机作为主控芯片。它是一款低功耗,AT89S51就是一款广泛应用的,高性能CMOS 8位单片机,由于系统控制方案简单,数据量也不大,考虑到电路的简单和成本等因素,因此在本设计中选用 ATMEL 公
15、司的 AT89S51单片机作为主控芯片。主控模块采用单片机最小系统是由于 AT89S51芯片内含有8 B的 E2PROM ,无需外扩存储器,电路简单可靠,其时钟频率为 024 MHz,并且价格低廉,批量价在 10元以内。AT89S51是一款功能强大的微型计算机,它可为许多嵌入式控制应用系统提供高性价比。单片机的最小系统是由复位电路、时钟电路和电源组成。复位操作有上电自动复位、按键复位和外部脉冲复位3种方法。本文采用的是上电复位它是通过系统外部的复位电路来实现的。根据电路原理可知电容两极板间的电压不能突变当单片机电源接通电源的瞬间单片机的9管脚会产生一个阶跃信号,所以RTS端维持高电平由于这个充
16、电时间远远大于1ms,一般就可以实现对单片机的上电自动复位,即接通电源就完成了系统的初始化。初始化是为了让单片机从地址0000H开始执行, 除此之外单片机要想正常工作还必须有时钟电路,时钟电路是产生时序的基础,单片机每执行一条指令都是建立在时序电路上的,为了能保证单片机执行指令的同步,电路就要在唯一的时钟信号控制下按时序的先后进行工作。它分为内部时钟电路和外部时钟电路。本文采用的是内部时钟电路,在MCS51单片机的内部有一个高增益的反向放大器,其输入端为引脚XTAL1,输出端为XTAL2,只要在外部接上两个电容和一个晶振,就能够成一个稳定的自激振荡器。这里主要看一下电容和晶振的选择,晶振的大小
17、与单片机的振荡频率有关,电容的大小影响着振荡器振荡的稳定性和起振的快速性,通常选择1030pF的瓷片电容。本系统电容选择为33pF,晶振为12MHz之所以选择这一频率的晶振是为了在进行单片机与电脑进行串口通信时容易产生和电脑时钟同步的波特率,另外在设计电路时,晶振和电容应尽可能的靠近芯片,这样可以提高系统的抗干扰能力,电源部分,电源与地之间可以接一个0.1uF的电容,它用来滤除电源的纹波,使单片机稳定工作,单片机最小系统如图3-1所示。 图3-1 单片机最小系统 单片机引脚说明:VCC:电源电压输入端。 GND:电源地。 P0口:P0口是一个8位漏极开路双向I/O端口,每个引脚可以吸收8TTL
18、门电流。P0口当作数据输出时需要加上拉电阻,当P0口的I/O口被写“1”后,被定义为高阻抗输入状态。P0可以用于外部程序数据存储器,P0口可以是地址的低八位以及数据输出口。 P1口:P1口是一个8位双向的I/O端口单片机内部加上了上拉电阻的端口,P1口缓冲器可接收的4TTL栅极电流输出。P1口的I/O口被写 “1”后,内部上拉的是高的,可以作为输入,P1口外部下拉低时输出电流,这是因为有内部上拉的缘故。P2口:P2口是一个8位双向的I/O端口单片机内部加上了上拉电阻的端口,P2口缓冲器可接收的4TTL栅极电流输出。当P2口的I/O口被写“1”后,内部上拉的是高的,可以作为输入,P2口外部下拉低
19、时输出电流,这是因为有内部上拉的缘故。当P2口用于外部程序存储器或外部数据存储器时P2口是地址高八位输出。P3口:P3口是一个8位双向的I/O端口单片机内部加上了上拉电阻的端口,P3口缓冲器可接收的4TTL栅极电流输出。P3口的I/O口被写“1”后,内部上拉的是高的,可以作为输入,P3口外部下拉低时输出电流,这是因为有内部上拉的缘故。P3口除了普通I/O口功能,还有其第二功能P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(T0定时器的外部计数输入) P3.5 T1(T1定时器的外部计数输入)
20、 P3.6 /WR(外部数据存储器的写选通) P3.7 /RD(外部数据存储器的读选通) RST:复位引脚高电平时MCU复位,复位信号输入端口,当MCU要复位时,给与此引脚高电平,高电平持续时间是不少于两个机器周期的时间。ALE/PROG:地址锁存使能以及编程脉冲信号端口。当单片机访问外部的存储器时,地址锁存使能锁存地址低八位。通常情况下,ALE引脚输出单片机外部振荡器的频率的1/6的频率输出。应该注意到的是:当用于单片机扩展外部的数据存储器时,它会少一个ALE脉冲。如果你想禁止ALE输出可以设置为0在SFR8EH地址。此时,ALE只有在执行MOVX,MOVC指令时ALE才起作用。此外,ALE
21、引脚倍稍微拉高。如果微处理器在外部执行状态ALE的禁令,设置无效。PSEN:程序存储器允许输出控制端,在读外部程序存储器时PSEN低电平有效,以实现外部程序存储器单元的读操作。EA/VPP:外部程序存储器访问允许。当/EA接高电平时,单片机读取内部程序序存储器,当扩展有外部ROM时,当读完内部ROM后自动读取外部ROM,当/EA接低电平时,单片机直接读取外部程序存储器。XTAL1:片内振荡器反相放大器和时钟发生器的输入端。 XTAL2:片内振荡器反相放大器的输出端。3.2 存储模块AT24C02存储模块的设计是把WP引脚接到GND上因为要让器件进行正常的读/写操作,把SDA串行数据/地址与单片
22、机的P3.7引脚使AT24C02与单片机进行所有数据的发送或接收,把SCK串行时钟引脚与单片机的P3.6引脚相连接,让单片机产生一个AT24C02工作的时钟,使其正常的工作。存储模块电路如图3-2所示。图3-2存储模块 AT24C02硬件结构AT24C02的特点:数据线看门狗定时器;可编程复位门级;高数据传输速率400kHz速率和I2C总线;2.7V至7V电压;低功耗CMOS工艺兼容;16 bespate写缓冲区;反撇写保护芯片;高低电平复位信号输出;100万擦除周期;保存长达100年。定义如下的总线状态,见图3-3。 图3-3 总线时序1 总线空闲(状态A) 数据线和时钟线都保持高电平状态。
23、2 起始信号(状态B) 时钟线保持高电平期间,数据线从高电平到低电平的跳变作为I2C总线的起始信号。所有操作都必须以起始信号为前提。3 停止信号(状态C) 时钟线保持高电平期间,数据线从低电平到高电平的跳变作为I2C总线的停止信号。所有操作都必须以停止信号结尾。4 数据有效(状态D) 起始信号之后,在时钟信号保持高电平期间,数据线传送的数据有效。 数据线上的数据必须在时钟信号为低电平时改变,以传输下一字节的数据。每传输一字节的数据,就会有一个时钟信号的暂停。数据传输都必须以起始信号开头,以停止信号结尾。在起始信号和停止信号期间传输数据的总量大小由主器件决定,理论上是没有限制的。但是在写状态下只
24、有最后16个周期传送的数据会被写入。如果待写入的数据超出了这个限制,会根据先入先出的原则覆盖掉前面的数据。图3-4地址控制字节 每一个被寻址到的从设备,在成功接收一个字节的数据后,都必须产生一个应答信号。主设备必须增加一个额外的时钟信号,接收从器件对收到数据的响应。器件应答的方式是在响应时钟周期时将SDA线拉低,表示其已收到一个8位数据。如图3-4。当然,调整时间和保持时间都必须计算在内。主器件在传送完最后一个字节的数据之后,不传送应答信号,从而向从器件标明数据传送结束。在这种情况下,从器件必须保持SDA高电平,使主器件可以产生停止信号。当AT24C02在内部读写周期内是不会产生任何响应信号的
25、。3.3红外模块HS0038红外数据传输的特点:成本廉价、建设工程期短、适应性好、扩展性好、设备维护上更容易实现。使用红外模块进行传输,丰富了系统的功能,提高了系统的可操作性,因而达到了交互式与智能化。红外数据传输广泛地运用在红外遥控系统和车辆的监控、门禁系统、小区的安全防火系统和传呼系统、身份的识别、非接触RF的智能卡等。工业设备中,在高压,辐射、有毒气体、粉尘等环境下,采用红外遥控不仅完全可靠而且能有效地隔离电气干扰。一体化红外线接收头三个管脚分别是地、+5 V电源、解调信号输出端接在单片机P3.3引脚上。利用外部中断进行数据的接收。下图3-5为红外模块硬件结构。 图3-5 红外模块硬件结
26、构红外线接收器大都将信号的接受、放大、检波等集于一身,而且可以经过编码解码时单片机收到可识别的信号源。这样一来便会减少硬件设计过程中的麻烦,使电路简单化,且应用起来比较方便。下图为红外一体化接受头HS0038,外观图如图所示。 图3-6红外接收元器件3.4 显示模块LCD1602如果想要了解系统的运行与工作状态显示器是不可缺少的,显示器是一个典型的输出设备并且它的实际应用也是极为广泛的,几乎所有的电子产品都会使用到显示器其差别仅在于显示器的结构类型不同而已。最简单的显示器可以是LED发光二极管或者数码管,它可以给出一个简单的开关信息或者数字显示,而需要显示复杂的完整的信息上述的器件就不能胜任,
27、而液晶的出现就很好的解决了这一问题,它不仅显示内容丰富而且好节约了单片机的管脚资源。本设计采用的是液晶显示LCD1602。LCD1602内部的字符已经储存了不同的字符形式,每一个字符都有一个固定的代码,其代码与标准的ASCII字符代码一致。因此只要写入显示字符的ASCII码即可,这种标准化的设计给使用带来很大的方便。比如英文字母“C”的ASCII代码是01000011(43H),显示时单片机往液晶模块写入显示指令,模块就会把地址为43H中的点阵字符图形识别出,并会在液晶屏相应位置上看到字母“C”。LCD1602液晶显示与单片机的连接可以分为两种方式:总线方式和模拟口线方式。在实验中,我们常采用
28、模拟口线连接方式。如图3-7所示。 图3-7 显示模块硬件结构目前市场字符液晶绝大多数是基于HD44780的液晶芯片,控制原理是完全相同的,因此基于HD44780的写控制程序可以很容易地应用到市场上大部分的字符液晶。LCD1602液晶的几个特性:+5V电压、对比度可调、内含复位电路;提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能;有80字节显示数据存储器DDRAM;内建有160个5X7点阵的字型的字符发生器CGROM 8个可由用户自定义的5X7的字符发生器CGRAM。 表3-1 LCD液晶屏引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data I/O2VDD
29、电源正极10D3Data I/O3VEE液晶显示偏压信号11D4Data I/O4RS数据/命令选择端(H/L)12D5Data I/O5R/W读写选择端(H/L)13D6Data I/O6E使能信号14D7Data I/O7D0Data I/O15BLA背光源正极8D1Data I/O16BLK背光源负极LCD1602采用标准的16脚接口,其中VSS为地电源,VDD接5V正电源,VEE为液晶显示器。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平1时进行读操作,低电平0时进行写操作。E端为使能端。D0D7为8位双向数据线。3.5 电源电路模块控制系统
30、主控制部分电源需要用5V直流电源供电,其电路如图3-8所示,把有效值为220V频率为50Hz单相交流电压转换为幅值稳定的5V直流电压。其主要原理是把单相交流电,经过电源变压器降压。 由于输入电压为电网电压,一般情况下所需直流电压的数值和电网电压的有效值相差较大,因而电源变压器的主要作用是起到降压作用。降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。由于经整流电路整流后的电压含有较大的交流分量,会影响到负载电路的正常工作。需要通过低通滤波电路滤除交流成分使输出电压平滑稳定。稳压电路的功能是使输出直流电压基本不受负载电阻变化和电网电压波动的影响,从而获得稳定性足够高的直流电压。本电路
31、使用集成稳压芯片LM7805解决了电源稳压问题,在稳压芯片的前段分别放置两个电容主要是为了滤除电源中的高低频干扰而在芯片之后又经过一级的滤波以使电源更为洁净,并在电源输出端加上LED以此来显示电源的开关状态。图3-8 电源电路硬件结构3.6 键盘输入模块键盘是单片机十分重要的输入设备,是实现人机对话的纽带。键盘是由一组规则排列的按键组成,一个按键实际上就是一个开关元件,即键盘是一组规则排列的开关。根据按键与单片机的连接方式不同,按键主要分为独立式按键和矩阵式按键 ,有了这些按键,对单片机的控制就方便多了。本设计按键数量较多,所以采用矩阵式按键以节省I/O口线。将16个按键分为4排4列排列好,如
32、图3-9矩阵键盘硬件结构。当有一个键按下时,通过某一边引脚赋低电平,扫描全部引脚看是否与最初的赋值一样,不一样则根据相应的算法(通过改变后的值与初始值相或,根据结果赋值)确定是哪个键按下。图3-9键盘模块硬件结构键盘为44形式,按键包括阿拉伯数字09,以及锁定、更改和改密三个应用按键。当用户需要输入密码或修改密码时,按下相应按键即会与单片机产生信号,并会执行相应的程序。3.7 报警电路当密码输入两次的数值与所设定的参数值不同时,单片机AT89C51便通过P2.7口控制三极管来驱动扬声器报警,当输出低电平时三极管截止,当输出高电平时三极管导通扬声器报警。如图3-10所示。图3-10报警电路硬件结
33、构3.8 开锁电路开锁电路的功能是当输入正确的密码后密码锁将被锁定,既开锁。当单片机P2.6引脚发出信号经三极管放大后,触动电磁阀即会把锁打开。一旦输入密码,单片机便会与初始密码进行比对,如果密码输入两次都与原始密码不相符即会报警。其原理图如图3-11所示。 图3-11 开锁电路硬件结构3.9 复位电路能让单片机运行起来的最小硬件连接就是单片机最小系统电路,51单片机的最小系统电路一般包括工作电源、振荡电路和复位电路等几部分。复位电路(图3-12是单片机复位电路)具有上电自动复位和手动复位的双重功能。单片机的RST引脚是复位信号的输入端,复位信号是高电平的时候才有效,其有效时间应持续24个震荡
34、脉冲周期(即2个机器周期)以上;通常为了保证应用系统能够准确地复位,复位电路应使引脚RST脚保持10ms以上的高电平状态。只要RST保持高电平,单片机就会自动循环复位。当RST引脚从高电平状态转为低电平状态时,单片机退出复位状态,从程序存储器的0000H地址开始执行用户程序。电容C3和电阻R5组成上电复位电路。上电瞬间RST引脚获得高电平,随着电容C11的充电,RST引脚的高电平逐渐下降。只要高电平保持足够的时间,单片机就能完成复位。手动复位的原理与此类似。图3-12 复位电路硬件结构3.10串行通信电路随着计算机在各个领域的广泛应用和智能化控制的发展,多微机系统和计算机网络技术的普及,计算机
35、的通信功能显得越来越重要。计算机通信是指将计算机技术和通信技术相结合完成计算机与外部控制设备或计算机与计算机之间的信息交换或信息处理,按通信方式可以分为两大类:并行通信与串行通信。并行通信通常是将数据字节的各位用多条数据线同时进行传送 , 并行通信控制简单、传输速度快,但是由于传输线较多长距离传送时成本高且接收方的各位同时接收存在一定的困难。串行通讯传输线少,长距离传送时成本低且可以利用电话网等现成的设备所以本设计采用串口与单片机进行通信。大多数PC机都有一个串行通讯端口,RS-232主要用于计算机之间进行数据的交换与通讯RS-232通讯接口是电子领域的一种标准化传输接口,主要是为了进行远程传
36、输与通讯连接终端设备的物理接口。RS-232采用非平衡连接在这个线路中信号的电压都使用一个公共的接地线,所有信号电压都加到一条导线上为了能提高串口通信的抗干扰能力和数据传送距离,RS-232芯片的信号和电平采用负逻辑电平,直流电压值在-15至-5V芯片规定为逻辑值“1”,直流电压值在+ 5至+15V芯片规定逻辑值“0”,直流电压在-5至+5V为过渡区。由于单片机输入与输出为TTL电平这与 PC机所执行的串行接口标准不一致数据无法正常传输。因此要实现单片机与PC机之间的数据通读,必须进行电平转换。一般常用的电平转换器件有MC1488、MC1489及MAX232等,但MC1488、MC1489需要
37、12V电源,这对于不具备12V电源的单片机系统是非常不便的。故本系统使用MAX232实现电平转换。单片机的第10、11管脚与MAX232芯片的11、12管脚相连并互相传送数据通过MAX232芯片将单片机的TTL电平转换成电脑所能识别的电平。电路原理如图3-13所示。图3-13 串行通信电路硬件结构3.11 系统整体原理图智能电子密码锁的基本原理是:从矩阵键盘输入一组密码,单片机把该密码和设置密码进行比较,若输入的密码正确,则控制电磁锁动作,将电磁锁抽回,从而将锁打开;若输入的密码不正确,则要求从新输入,并记录错误次数,如果2次错误,则被强制锁定并报警。如下图3-14所示:图3-14 系统整体原
38、理图4系统软件设计软件设计主要包括了主程序设计、键盘扫描设计、密码修改设计、开锁程序设计以及红外遥控设计五个方面。本设计采用Keil编译器来进行软件的编程。4.1 主程序设计 图4-1 主程序流程图设计主程序主要完成了系统的初始化、按键扫描、按键功能、以及调用显示等功能。主程序部分如下:En bit P8 将LCD的en引脚连接到单片机的P8Rw bit P9 Rs bit P10 Speaker bit P2.7Open bit P2.6 开锁电路的控制端连接到P2.6口 4.2键值判断设计键盘扫描和键值读取程序主要判断矩阵按键是否按下,按下的是哪一个键,并求出按键的键值。矩阵键盘的识别方法
39、有多种。相对来说,矩阵式键盘的软件设计最终实现以下功能:是否有按键被按下;消除抖动;确定哪个键被按下,若按键闭合了一次,操作也只能是一次。键功能程序键值 =0-9密码输入程序 N Y N 键值 =锁定开锁程序 Y键值 =改密 N改密程序 Y键值 =更正 N设置程序 Y N键值 =确认确认程序 Y结束 图4-2 键盘流程图设计键盘程序如下:if(0keydata)|(4keydata)|(8keydata)|keydata=14)/在0-9之间的数字通过passwordi=keydata;/键盘值进行保存keydata=0;/把键盘值置其它值,不被其它利用,以一样i+;4.3开锁设计当输入密码正
40、确时,单片机输出低电平,控制继电器工作,模拟开锁动作,同时,当输入密码或开锁成功时,蜂鸣器发出相应的提示音。初始化按开锁键输入密码确认程序所输入密码正确Y开锁成功开锁程序输入次数加1次数2?报警程序返回NYN图4-3开锁流程图设计开锁程序设计如下:while(1)if(keydata=4)/锁定功能P3_6=0;EX1=1;goto start;4.4密码修改设计输入密码前,要先将正确的密码从存储器24C02中读出,并存放在单片机RAM从40H开始的6个单元中。6位密码锁由矩阵按键输入,输入的密码存储在单片机RAM从30H开始的6个单元中,每输入一位密码,都要和正确的密码进行比较;若全部6位密
41、码均输入正确,显示密码正确信息;若输入的密码不完全正确,则进行第二位输入,若输入3次仍不正确,则报错。输入密码时,还要打开定时器T0,使定时器T0工作,当计时到30s时,若输入的密码不正确或未输入密码,则显示出错信息。密码修改程序用来设置新密码,当输入的开锁密码正确后,可重新设置新密码,输入的新密码暂存在单片机RAM从40H开始的单元中,然后,调用存储器子程序,将40H开始的6位密码存储在24C02中。密码程序初始化按下设置键输旧密码确认程序所输入旧密码正确输新密码确认程序设置成功输入次数加1 大于2报警程序NYNY返回确认程序再次输新密码两次新密码输入相同NY图4-4 密码修改流程图设计密码
42、程序如下:if(keydata=33) /确定进入密码比较keydata=0;panduan:i=0;for(j=0;j6;j+)l+=passwordj;k+=Random_Read(j);if(l!=k)/密码不同进行处理l=0;k=0;LCD_Write_String(0,0,bb);DelayMs(1000);a1+=1;if(a1=2)while(1)P3_7=1;P3_6=0;/两次错误发出报警goto start; /第二次输入密码4.5 红外遥控设计HS0038 接收头负责红外遥控信号的解调,将调制在38kHz上的红外脉冲信号解调并反相后输入到单片机的P3.2引脚,接收的信号由
43、单片机进行高电平与低电平宽度的测量,并进行解码处理。解码编程时,既可以使用中断方式,也可以使用查询方式。图4-5 红外遥控流程图设计4.6 Keil编程软件介绍单片机的开发离不开必要的硬件,同样也离不开软件,编写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编。随着单片机开发技术的不断发展,单片机的开发软件也在不断的发展,Keil软件是目前最流行开发51单片机的软件。在硬件电路设计好的同时,也需要软件的开发及使用。目前单片机类的课程设计大多采用Keil软件来进行程序的编写。Keil不仅支持C语言还支持汇编语言。支持不同型号的MCS系类的51单片机的型号。
44、Keil软件已从早期的第一代发展到第四代了,有了更强大的功能。这款软件的操作方法也很简单,甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,这样可以把复杂电路的输入信号直接用信号发生器给定,或是用电源来给定通过对电压电流的调节来实现。Keil 工程的建立打开已安装好的开发环境,进入界面后选择project然后在其下拉菜单中选择new project选项如图4-6所示。图4-6 新建工程 这样就能新建一个工程 ,在选定的路径下建立一个名字叫做abc的文件夹如图4-7所示,在abc文件夹中建立了一个xyz.c文件之后点击保存按钮就会出现如图4-8所示的画面在此对话框中选择
45、Atmel之后会弹出一系列的单片机在本次设计中选用的是51单片机,完成后在选Target 1下的Source Group 1选择Add把xyz.c文件加载到里面在xyz.c下添加所编好的C语言程序或是汇编语言程序,如果程序是分开写得就可以添加多个子程序还有主程序,每个程序中必须有头文件否则编译不会通过 ,会显示有错误。等编译.hex文件时就要在此文件夹下找到。图4-7 新建工程文件夹的建立图4-8 芯片的选择所有程序都加到工程项目文件夹中后就可以对其进行编译了。编译成功后,下方会有对话框显示,有几个错误,分别是在那几个位置。直接单击错误这条信息就可以索引到源文件中。如图所示4-9所示。图4-9
46、 错误的生成及索引5 仿真设计5.1 Protues仿真软件概述Protues是目前使用比较广泛的单片机类的仿真系统的软件之一,它可以实现的功能比较多,可以实现程序与原理图的连调,也可以单独作为绘制原理图的工具使用,与Protel有着过之不及的功能,于此同时还可以进行PCB版图的生成,在方法中与Protel类似。此款软件及绘制原理图、PCB版图和仿真于一身。Protues此款软件的使用比较简单。在运行环境搭载好的前提下,打开ISIS直接进入到主界面,在左边栏框中有一个快捷键P(从库中选取),点击后出现一个对话框然后输入想要查找的元器件即可。之后在单击确定按键所选器件就会显示在界面左上角的小框中
47、此时点击鼠标左键就会放到图层中,然后直接把鼠标放到接头处就会显示一个画笔的标志此时按住鼠标左键就可进行连线了。如图5-1所示为绘图界面。图5-1 绘图界面5.2 Protues与Keil的连调在进行连调之前必须确保程序是完整的,原理图也是没有错误的。还要在正确的运行平台下进行操作。检查没有错误后,打开原理图,点击单片机就会出现一个对话框如图5-2所示,然后把生成的.hex文件添加到里面即可实现。在这里比较重要的就是.hex文件的生成过程。首先把已编写好的程序加载到Keil软件下进行编译如果没有遇到任何错误后,就直接点击工具栏中的就会弹出如下图所示的对话框,然后选择相应的选项就可以生成.hex文
48、件了。之后再按照生成的的路径去寻找这个文件。找到之后加载到之前点开的 对话框上即可。在此后点击运行按键就会进行仿真了,按照设计的功能去调试就可以了。图5-2加载.hex文件5.3 Protues与Keil的连调的仿真结果系统仿真运行环境下的结果如图5-3所示。图5-3 系统仿真图 开锁仿真图如5-4所示。 图5-4 开锁图更改密码图如5-5所示。图5-5 更改密码图输入错误密码报警如图5-6所示。图5-6 报警图5.4问题及解决办法在本系统的软件设计过程中,遇到了很多问题。首先是对软件的开发环境Keil的运用有些模糊、对它的操作过程需要看专业书以及向同学请教才能完成!其次是用C语言编程,这对于我来说可是一件十分困难的事情,最终是在同学的帮助之下才得以完成。而在Protues仿真过程中,也遇到了同样的问题,最后通过网上的教学资料对其使用有了一定的了解。而在仿真软件中,并没有红外一体化接收头HS0038,所以在同学及指导老师的帮助下采用555振荡器模拟仿真,一旦有信号发射或接收将会有波形显示来模拟仿真。结 论本设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年新式货物运输合作协议
- 2024年度信息安全评估与防护合同
- 2024年房屋按揭借款合同
- 2024年拱门空飘设备安装工程合同
- 2024年数字版权保护与授权分发合同
- 二十年后作文5篇2
- 2024医院信息系统建设合同
- 工匠精神演讲稿提纲(范文15篇)
- 第14题常见有机物的结构和性质-2023年7月浙江省普通高中学业水平考试化学分题(原卷版)
- 2024年房产交易新篇章:住宅买卖条款
- 2024年保育员(中级)考试题库(含答案)
- 广东开放大学2024秋《形势与政策(专)》形成性考核参考答案
- 九年级语文上册其中知识点复习
- 2024年江苏省泰州市保安员理论考试题库及答案(完整)
- 糖尿病酮症酸中毒
- 人教版(2024新版)七年级上册数学期中模拟试卷(无答案)
- 企业法律合规与内部审计制度
- 2024年应急指示灯具:消防应急灯合作协议书
- 湖北省武汉市部分学校2022-2023学年高一上学期期中联考英语试卷
- 高盛-比亚迪:全球汽车市场上的新兴领先企业-2024-10-企业研究
- 书法鉴赏学习通超星期末考试答案章节答案2024年
评论
0/150
提交评论