收藏 分销(赏)

基于单片机的电子密码锁设计及其实现.doc

上传人:天**** 文档编号:2507735 上传时间:2024-05-30 格式:DOC 页数:38 大小:487.54KB
下载 相关 举报
基于单片机的电子密码锁设计及其实现.doc_第1页
第1页 / 共38页
基于单片机的电子密码锁设计及其实现.doc_第2页
第2页 / 共38页
基于单片机的电子密码锁设计及其实现.doc_第3页
第3页 / 共38页
基于单片机的电子密码锁设计及其实现.doc_第4页
第4页 / 共38页
基于单片机的电子密码锁设计及其实现.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、河南理工大学万方科技学院课程设计汇报 第 一 学期课程名称 单片机原理及应用 设计题目 电子密码锁设计 学生姓名 杨会毫 学 号 专业班级 计算机15升 指导老师 苏 百 顺 年 1 月 5 日摘 要多年来,伴随改革开放深入发展,电子电器飞速发展。人民生活水平有了很大提升。多种高级家电产品和珍贵物品为很多家庭所拥有。然而不法分子也是越来越多,原因在于大部分人防盗意识还不够强,造成偷窃现象屡见不鲜。越来越多居民家庭对财产安全问题十分担忧。所以,出于安全方便等方面需求,电子密码锁相继问世。本设计是以单片机AT89S51为主控芯片,并结合外围液晶显示LCD1602、存放芯片AT24C02、红外遥控H

2、S0038,和键盘输入、复位、电源等电路组合而成。系统能够完成开锁、报警、修改密码等基础功效,还能够经过红外来控制单片机开锁,和掉电储存密码功效。整个设计在Keil开发环境下,用C语言编写主控芯片控制程序来实现含有多功效电子密码锁。关键词:密码锁 AT89S51 储存 显示 红外目 录摘 要I引 言11 概述21.1 课题背景和意义21.2电子密码锁发展趋势22 系统总体设计思绪32.1 系统设计要求32.2系统设计方案33 系统硬件设计和实现43.1主控芯片AT89S5143.2 存放模块AT24C0273.3红外模块HS003893.4 显示模块LCD1602103.5 电源电路模块113

3、.6 键盘输入模块123.7 报警电路133.8 开锁电路133.9 复位电路143.10串行通信电路143.11 系统整体原理图164系统软件设计174.1 主程序设计174.2键值判定设计184.3开锁设计194.4密码修改设计204.5 红外遥控设计235 仿真设计245.1 Protues仿真软件概述245.2 Protues和Keil连调255.3 Protues和Keil连调仿真结果265.4问题及处理措施27结 论28参考文件29引 言伴随新技术不停开发和应用,多年来单片机发展十分快速,一个以微机应用为主新技术革命浪潮正在蓬勃兴起,单片机应用已经渗透到冶金、电力、建材、化工、机械

4、、石油、食品等各个行业。单片机控制无疑是大家追求目标之一,它所给大家带来方便也是不可否认其中单片机控制就是一个经典例子。MCS-51系列单片机应用广泛,是学习单片机技术很好系统平台,同时也是单片机微型计算机应用系统开发一个关键系列。现在,单片机原理和应用教材大全部采取汇编语言讲解和设计程序实例,但汇编语言学习困难。在实际应用系统开发调试中,尤其是开发比较复杂应用系统时,为了提升开发效率和使程序便于移植,现在多用C语言。在信息产业飞速发展今天,我们生活中必不可需设备全部向着小型化、便携化、智能化、自动化方向发展。所以电子密码锁伴随快节奏生活应运而生。在中国六七十年代还是传统一把钥匙配一把锁,不管

5、是单位还是个人天天全部要认真检验是否锁上了门,而且钥匙还不能随便乱放,一旦不小心忘记放在哪里很可能就打不开门了。传统锁也相当不安全,会有部分不法分子想尽措施打开你房锁去偷窃东西。电子密码锁产生使得这些问题全部不再是问题,我们只需简单记住四位密码即可。1 概述1.1 课题背景和意义大家以前使用锁不仅不方便,而且安全系数也比较低。伴随社会进步和大家生活水平提升,传统锁已经跟不上大家要求,况且大家对防盗要求越来越高,尤其是对使用便捷性也有了更高需求。所以近几年一个新型电子密码锁应运而生,受到了大家青睐。有报警功效密码锁这时正为大家处理了不少问题。不过市场上密码锁大部分全部是用于部分大企业财政机构、价

6、格高昂,通常大家难以接收。假如再设计和生产一个价格低廉、性能灵敏可靠密码锁,必将在防盗和确保财政安全方面发挥愈加有效作用。密码锁是现代生活中常常见到工具之一,广泛应用于保险柜、房门、宾馆、车库等。电子密码锁克服了机械式密码锁量少、安全性能差缺点,尤其是使用单片机控制智能电子密码锁,不仅功效全,而且含有更高安全性和可靠性。而且电子密码锁只需记住一组密码,无需携带钥匙,免去了大家携带钥匙烦恼,被越来越多人所喜爱。伴随中国第三产业飞速发展,电子密码锁会在很快未来得到广泛应用,方便社会和个人。1.2电子密码锁发展趋势20世纪80年代后,伴随电子锁专用集成电路出现,电子锁体积缩小,同时可靠性提升,成本也

7、相对提升,所以只适合使用在安全性要求较高场所,且需要有电源提供能量,使用还局限在一定范围,难以普及,所以对密码锁研究一直没有显著进展。到了90年代,美国、意大利、德国、日本、加拿大、韩国和中国台湾、香港等地微电子技术进步和通信技术发展为密码锁提供了技术上支持,从而推进密码锁走向实际应用阶段。现在,在西方国家,电子密码锁技术相对优异,种类齐全,电子密码锁已被广泛应用于智能门禁系统中,使之愈加安全愈加可靠实现大门管理。中国于90年代早期开始对密码锁进行初步探索。到现在为止,伴随电子技术和信息技术发展,电子密码锁技术领域已发展十分成熟。从现在技术水平和市场认可程度看,使用最为广泛是键盘式电子密码锁,

8、该产品关键应用于保险箱、保险柜和金库,还有一部分应用于保管箱和运钞车。在其它技术领域还有遥控式电子密码锁和卡片式密码锁等。2 系统总体设计思绪2.1 系统设计要求单片机密码锁关键内容:用户能够自由设定密码、含有报警提醒功效、可设置万用密码、含有掉电存放密码功效。2.2系统设计方案本系统采取以单片机为关键元件控制方案。因为单片机种类繁多,多种型号全部有其一定应用环境,所以在选择时要多加比较,合理选择,以取得最好性价比。通常来说在选择单片机时从下面多个方面考虑:性能、存放器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功效、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上部分方面外,还

9、有部分最基础条件,比如:中止源数量和优先级、工作温度范围、有没有低电压检测功效、单片机内有没有时钟振荡器、有没有上电复位功效等。在开发过程中还要考虑开发工具、编程器、开发成本、开发人员适应性、技术支持和服务等原因。基于以上原因本设计选择单片机AT89S51作为本设计关键元件,利用单片灵巧活编程设计和丰富I/O端口,及其控制正确性,实现基础密码锁功效。在单片机外围电路外接输入键盘用于密码输入和部分功效控制,外接AT24C02芯片用于密码存放,外接LCD1602显示器用于显示作用。其原理以下图1所表示。显示电路电源电路单片机AT89S51报警电路键盘输入开锁电路复位电路红外遥控密码储存AT89S5

10、1 图1单片机控制方案3 系统硬件设计和实现3.1主控芯片AT89S51在本设计中选择 ATMEL 企业 AT89S51单片机作为主控芯片。它是一款低功耗,AT89S51就是一款广泛应用,高性能CMOS 8位单片机,因为系统控制方案简单,数据量也不大,考虑到电路简单和成本等原因,所以在本设计中选择 ATMEL 企业 AT89S51单片机作为主控芯片。主控模块采取单片机最小系统是因为 AT89S51芯片内含有8 B E2PROM ,无需外扩存放器,电路简单可靠,其时钟频率为 024 MHz,而且价格低廉,批量价在 10元以内。AT89S51是一款功效强大微型计算机,它可为很多嵌入式控制应用系统提

11、供高性价比。单片机最小系统是由复位电路、时钟电路和电源组成。复位操作有上电自动复位、按键复位和外部脉冲复位3种方法。本文采取是上电复位它是经过系统外部复位电路来实现。依据电路原理可知电容两极板间电压不能突变当单片机电源接通电源瞬间单片机9管脚会产生一个阶跃信号,所以RTS端维持高电平因为这个充电时间远远大于1ms,通常就能够实现对单片机上电自动复位,即接通电源就完成了系统初始化。初始化是为了让单片机从地址0000H开始实施, 除此之外单片机要想正常工作还必需有时钟电路,时钟电路是产生时序基础,单片机每实施一条指令全部是建立在时序电路上,为了能确保单片机实施指令同时,电路就要在唯一时钟信号控制下

12、按时序前后进行工作。它分为内部时钟电路和外部时钟电路。本文采取是内部时钟电路,在MCS51单片机内部有一个高增益反向放大器,其输入端为引脚XTAL1,输出端为XTAL2,只要在外部接上两个电容和一个晶振,就能够成一个稳定自激振荡器。这里关键看一下电容和晶振选择,晶振大小和单片机振荡频率相关,电容大小影响着振荡器振荡稳定性和起振快速性,通常选择1030pF瓷片电容。本系统电容选择为33pF,晶振为12MHz之所以选择这一频率晶振是为了在进行单片机和电脑进行串口通信时轻易产生和电脑时钟同时波特率,另外在设计电路时,晶振和电容应尽可能靠近芯片,这么能够提升系统抗干扰能力,电源部分,电源和地之间能够接

13、一个0.1uF电容,它用来滤除电源纹波,使单片机稳定工作,单片机最小系统图3-1所表示。 图3-1 单片机最小系统 单片机引脚说明:VCC:电源电压输入端。 GND:电源地。 P0口:P0口是一个8位漏极开路双向I/O端口,每个引脚能够吸收8TTL门电流。P0口看成数据输出时需要加上拉电阻,当P0口I/O口被写“1”后,被定义为高阻抗输入状态。P0能够用于外部程序数据存放器,P0口能够是地址低八位和数据输出口。 P1口:P1口是一个8位双向I/O端口单片机内部加上了上拉电阻端口,P1口缓冲器可接收4TTL栅极电流输出。P1口I/O口被写 “1”后,内部上拉是高,能够作为输入,P1口外部下拉低时

14、输出电流,这是因为有内部上拉缘故。P2口:P2口是一个8位双向I/O端口单片机内部加上了上拉电阻端口,P2口缓冲器可接收4TTL栅极电流输出。当P2口I/O口被写“1”后,内部上拉是高,能够作为输入,P2口外部下拉低时输出电流,这是因为有内部上拉缘故。当P2口用于外部程序存放器或外部数据存放器时P2口是地址高八位输出。P3口:P3口是一个8位双向I/O端口单片机内部加上了上拉电阻端口,P3口缓冲器可接收4TTL栅极电流输出。P3口I/O口被写“1”后,内部上拉是高,能够作为输入,P3口外部下拉低时输出电流,这是因为有内部上拉缘故。P3口除了一般I/O口功效,还有其第二功效P3.0 RXD(串行

15、输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中止0) P3.3 /INT1(外部中止1) P3.4 T0(T0定时器外部计数输入) P3.5 T1(T1定时器外部计数输入) P3.6 /WR(外部数据存放器写选通) P3.7 /RD(外部数据存放器读选通) RST:复位引脚高电平时MCU复位,复位信号输入端口,当MCU要复位时,给和此引脚高电平,高电平连续时间是不少于两个机器周期时间。ALE/PROG:地址锁存使能和编程脉冲信号端口。当单片机访问外部存放器时,地址锁存使能锁存地址低八位。通常情况下,ALE引脚输出单片机外部振荡器频率1/6频率输出。应该注意到是:当用于单

16、片机扩展外部数据存放器时,它会少一个ALE脉冲。假如你想严禁ALE输出能够设置为0在SFR8EH地址。此时,ALE只有在实施MOVX,MOVC指令时ALE才起作用。另外,ALE引脚倍稍微拉高。假如微处理器在外部实施状态ALE禁令,设置无效。PSEN:程序存放器许可输出控制端,在读外部程序存放器时PSEN低电平有效,以实现外部程序存放器单元读操作。EA/VPP:外部程序存放器访问许可。当/EA接高电平时,单片机读取内部程序序存放器,当扩展有外部ROM时,当读完内部ROM后自动读取外部ROM,当/EA接低电平时,单片机直接读取外部程序存放器。XTAL1:片内振荡器反相放大器和时钟发生器输入端。 X

17、TAL2:片内振荡器反相放大器输出端。3.2 存放模块AT24C02存放模块设计是把WP引脚接到GND上因为要让器件进行正常读/写操作,把SDA串行数据/地址和单片机P3.7引脚使AT24C02和单片机进行全部数据发送或接收,把SCK串行时钟引脚和单片机P3.6引脚相连接,让单片机产生一个AT24C02工作时钟,使其正常工作。存放模块电路图3-2所表示。图3-2存放模块 AT24C02硬件结构AT24C02特点:数据线看门狗定时器;可编程复位门级;高数据传输速率400kHz速率和I2C总线;2.7V至7V电压;低功耗CMOS工艺兼容;16 bespate写缓冲区;反撇写保护芯片;高低电平复位信

18、号输出;100万擦除周期;保留长达1。定义以下总线状态,见图3-3。 图3-3 总线时序 总线空闲(状态A) 数据线和时钟线全部保持高电平状态。 起始信号(状态B) 时钟线保持高电平期间,数据线从高电平到低电平跳变作为I2C总线起始信号。全部操作全部必需以起始信号为前提。 停止信号(状态C) 时钟线保持高电平期间,数据线从低电平到高电平跳变作为I2C总线停止信号。全部操作全部必需以停止信号结尾。 数据有效(状态D) 起始信号以后,在时钟信号保持高电平期间,数据线传送数据有效。 数据线上数据必需在时钟信号为低电平时改变,以传输下一字节数据。每传输一字节数据,就会有一个时钟信号暂停。数据传输全部必

19、需以起始信号开头,以停止信号结尾。在起始信号和停止信号期间传输数据总量大小由主器件决定,理论上是没有限制。不过在写状态下只有最终16个周期传送数据会被写入。假如待写入数据超出了这个限制,会依据先入先出标准覆盖掉前面数据。图3-4地址控制字节 每一个被寻址到从设备,在成功接收一个字节数据后,全部必需产生一个应答信号。主设备必需增加一个额外时钟信号,接收从器件对收到数据响应。器件应答方法是在响应时钟周期时将SDA线拉低,表示其已收到一个8位数据。图3-4。当然,调整时间和保持时间全部必需计算在内。主器件在传送完最终一个字节数据以后,不传送应答信号,从而向从器件标明数据传送结束。在这种情况下,从器件

20、必需保持SDA高电平,使主器件能够产生停止信号。当AT24C02在内部读写周期内是不会产生任何响应信号。3.3红外模块HS0038红外数据传输特点:成本廉价、建设工程期短、适应性好、扩展性好、设备维护上更轻易实现。使用红外模块进行传输,丰富了系统功效,提升了系统可操作性,所以达成了交互式和智能化。红外数据传输广泛地利用在红外遥控系统和车辆监控、门禁系统、小区安全防火系统和传呼系统、身份识别、非接触RF智能卡等。工业设备中,在高压,辐射、有毒气体、粉尘等环境下,采取红外遥控不仅完全可靠而且能有效地隔离电气干扰。一体化红外线接收头三个管脚分别是地、+5 V电源、解调信号输出端接在单片机P3.3引脚

21、上。利用外部中止进行数据接收。下图3-5为红外模块硬件结构。 图3-5 红外模块硬件结构红外线接收器大全部将信号接收、放大、检波等集于一身,而且能够经过编码解码时单片机收到可识别信号源。这么一来便会降低硬件设计过程中麻烦,使电路简单化,且应用起来比较方便。下图为红外一体化接收头HS0038,外观图图所表示。 图3-6红外接收元器件3.4 显示模块LCD1602假如想要了解系统运行和工作状态显示器是不可缺乏,显示器是一个经典输出设备而且它实际应用也是极为广泛,几乎全部电子产品全部会使用到显示器其差异仅在于显示器结构类型不一样而已。最简单显示器能够是LED发光二极管或数码管,它能够给出一个简单开关

22、信息或数字显示,而需要显示复杂完整信息上述器件就不能胜任,而液晶出现就很好处理了这一问题,它不仅显示内容丰富而且好节省了单片机管脚资源。本设计采取是液晶显示LCD1602。LCD1602内部字符已经储存了不一样字符形式,每一个字符全部有一个固定代码,其代码和标准ASCII字符代码一致。所以只要写入显示字符ASCII码即可,这种标准化设计给使用带来很大方便。比如英文字母“C”ASCII代码是01000011(43H),显示时单片机往液晶模块写入显示指令,模块就会把地址为43H中点阵字符图形识别出,并会在液晶屏对应位置上看到字母“C”。LCD1602液晶显示和单片机连接能够分为两种方法:总线方法和

23、模拟口线方法。在试验中,我们常采取模拟口线连接方法。图3-7所表示。 图3-7 显示模块硬件结构现在市场字符液晶绝大多数是基于HD44780液晶芯片,控制原理是完全相同,所以基于HD44780写控制程序能够很轻易地应用到市场上大部分字符液晶。LCD1602液晶多个特征:+5V电压、对比度可调、内含复位电路;提供多种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多个功效;有80字节显示数据存放器DDRAM;内建有160个5X7点阵字型字符发生器CGROM 8个可由用户自定义5X7字符发生器CGRAM。 表3-1 LCD液晶屏引脚说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2Data

24、 I/O2VDD电源正极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 电源电

25、路模块控制系统主控制部分电源需要用5V直流电源供电,其电路图3-8所表示,把有效值为220V频率为50Hz单相交流电压转换为幅值稳定5V直流电压。其关键原理是把单相交流电,经过电源变压器降压。 因为输入电压为电网电压,通常情况下所需直流电压数值和电网电压有效值相差较大,所以电源变压器关键作用是起到降压作用。降压后还是交流电压,所以需要整流电路把交流电压转换成直流电压。因为经整流电路整流后电压含有较大交流分量,会影响到负载电路正常工作。需要经过低通滤波电路滤除交流成份使输出电压平滑稳定。稳压电路功效是使输出直流电压基础不受负载电阻改变和电网电压波动影响,从而取得稳定性足够高直流电压。本电路使用集

26、成稳压芯片LM7805处理了电源稳压问题,在稳压芯片前段分别放置两个电容关键是为了滤除电源中高低频干扰而在芯片以后又经过一级滤波以使电源更为洁净,并在电源输出端加上LED以此来显示电源开关状态。图3-8 电源电路硬件结构3.6 键盘输入模块键盘是单片机十分关键输入设备,是实现人机对话纽带。键盘是由一组规则排列按键组成,一个按键实际上就是一个开关元件,即键盘是一组规则排列开关。依据按键和单片机连接方法不一样,按键关键分为独立式按键和矩阵式按键 ,有了这些按键,对单片机控制就方便多了。本设计按键数量较多,所以采取矩阵式按键以节省I/O口线。将16个按键分为4排4列排列好,图3-9矩阵键盘硬件结构。

27、当有一个键按下时,经过某一边引脚赋低电平,扫描全部引脚看是否和最初赋值一样,不一样则依据对应算法(经过改变后值和初始值相或,依据结果赋值)确定是哪个键按下。图3-9键盘模块硬件结构键盘为44形式,按键包含阿拉伯数字09,和锁定、更改和改密三个应用按键。当用户需要输入密码或修改密码时,按下对应按键即会和单片机产生信号,并会实施对应程序。3.7 报警电路当密码输入两次数值和所设定参数值不一样时,单片机AT89C51便经过P2.7口控制三极管来驱动扬声器报警,当输出低电平时三极管截止,当输出高电平时三极管导通扬声器报警。图3-10所表示。图3-10报警电路硬件结构3.8 开锁电路开锁电路功效是当输入

28、正确密码后密码锁将被锁定,既开锁。当单片机P2.6引脚发出信号经三极管放大后,触动电磁阀即会把锁打开。一旦输入密码,单片机便会和初始密码进行比对,假如密码输入两次全部和原始密码不相符即会报警。其原理图图3-11所表示。 图3-11 开锁电路硬件结构3.9 复位电路能让单片机运行起来最小硬件连接就是单片机最小系统电路,51单片机最小系统电路通常包含工作电源、振荡电路和复位电路等几部分。复位电路(图3-12是单片机复位电路)含有上电自动复位和手动复位双重功效。单片机RST引脚是复位信号输入端,复位信号是高电平时候才有效,其有效时间应连续24个震荡脉冲周期(即2个机器周期)以上;通常为了确保应用系统

29、能够正确地复位,复位电路应使引脚RST脚保持10ms以上高电平状态。只要RST保持高电平,单片机就会自动循环复位。当RST引脚从高电平状态转为低电平状态时,单片机退出复位状态,从程序存放器0000H地址开始实施用户程序。电容C3和电阻R5组成上电复位电路。上电瞬间RST引脚取得高电平,伴随电容C11充电,RST引脚高电平逐步下降。只要高电平保持足够时间,单片机就能完成复位。手动复位原理和这类似。图3-12 复位电路硬件结构3.10串行通信电路伴随计算机在各个领域广泛应用和智能化控制发展,多微机系统和计算机网络技术普及,计算机通信功效显得越来越关键。计算机通信是指将计算机技术和通信技术相结合完成

30、计算机和外部控制设备或计算机和计算机之间信息交换或信息处理,按通信方法能够分为两大类:并行通信和串行通信。并行通信通常是将数据字节各位用多条数据线同时进行传送 , 并行通信控制简单、传输速度快,不过因为传输线较多长距离传送时成本高且接收方各位同时接收存在一定困难。串行通讯传输线少,长距离传送时成本低且能够利用电话网等现成设备所以本设计采取串口和单片机进行通信。大多数PC机全部有一个串行通讯端口,RS-232关键用于计算机之间进行数据交换和通讯RS-232通讯接口是电子领域一个标准化传输接口,关键是为了进行远程传输和通讯连接终端设备物理接口。RS-232采取非平衡连接在这个线路中信号电压全部使用

31、一个公共接地线,全部信号电压全部加到一条导线上为了能提升串口通信抗干扰能力和数据传送距离,RS-232芯片信号和电平采取负逻辑电平,直流电压值在-15至-5V芯片要求为逻辑值“1”,直流电压值在+ 5至+15V芯片要求逻辑值“0”,直流电压在-5至+5V为过渡区。因为单片机输入和输出为TTL电平这和 PC机所实施串行接口标准不一致数据无法正常传输。所以要实现单片机和PC机之间数据通读,必需进行电平转换。通常常见电平转换器件有MC1488、MC1489及MAX232等,但MC1488、MC1489需要12V电源,这对于不含有12V电源单片机系统是很不便。故本系统使用MAX232实现电平转换。单片

32、机第10、11管脚和MAX232芯片11、12管脚相连并相互传送数据经过MAX232芯片将单片机TTL电平转换成电脑所能识别电平。电路原理图3-13所表示。图3-13 串行通信电路硬件结构3.11 系统整体原理图智能电子密码锁基础原理是:从矩阵键盘输入一组密码,单片机把该密码和设置密码进行比较,若输入密码正确,则控制电磁锁动作,将电磁锁抽回,从而将锁打开;若输入密码不正确,则要求从新输入,并统计错误次数,假如2次错误,则被强制锁定并报警。以下图3-14所表示:图3-14 系统整体原理图4系统软件设计软件设计关键包含了主程序设计、键盘扫描设计、密码修改设计、开锁程序设计和红外遥控设计五个方面。本

33、设计采取Keil编译器来进行软件编程。4.1 主程序设计 图4-1 主程序步骤图设计主程序关键完成了系统初始化、按键扫描、按键功效、和调用显示等功效。主程序部分以下:En bit P8 将LCDen引脚连接到单片机P8Rw bit P9 Rs bit P10 Speaker bit P2.7Open bit P2.6 开锁电路控制端连接到P2.6口 4.2键值判定设计键盘扫描和键值读取程序关键判定矩阵按键是否按下,按下是哪一个键,并求出按键键值。矩阵键盘识别方法有多个。相对来说,矩阵式键盘软件设计最终实现以下功效:是否有按键被按下;消除抖动;确定哪个键被按下,若按键闭合了一次,操作也只能是一次

34、。键功效程序键值 =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开锁设计当输入密码正确时,单片机输出低电平,控制继电器工作,模拟开锁动作,同时,当输入密码或开锁成功时,蜂鸣器发出对应提醒音。初始化按开锁键输入密码确定程序所

35、输入密码正确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位密码均输入正确,显示密码正确信息;若输入密码不完全正确,则进行第二位输入,若输入3次仍不正确,则报错。输入密码时,还要打开定时器T0,使定时器T0工作

36、,当计时到30s时,若输入密码不正确或未输入密码,则显示犯错信息。密码修改程序用来设置新密码,当输入开锁密码正确后,可重新设置新密码,输入新密码暂存在单片机RAM从40H开始单元中,然后,调用存放器子程序,将40H开始6位密码存放在24C02中。密码程序初始化按下设置键输旧密码确定程序所输入旧密码正确输新密码确定程序设置成功输入次数加1 大于2报警程序NYNY返回确定程序再次输新密码两次新密码输入相同NY图4-4 密码修改步骤图设计密码程序以下:if(keydata=33) /确定进入密码比较keydata=0;panduan:i=0;for(j=0;j6;j+)l+=passwordj;k+

37、=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引脚,接收信号由单片机进行高电平和低电平宽度测量,并进行解码处理。解码编程时,既能够使用中止方法,也能够使用查询方法。图4-5 红外遥控步骤图设计5 仿真设计5.1 Protues仿

38、真软件概述Protues是现在使用比较广泛单片机类仿真系统软件之一,它能够实现功效比较多,能够实现程序和原理图连调,也能够单独作为绘制原理图工具使用,和Protel有着过之不及功效,于此同时还能够进行PCB版图生成,在方法中和Protel类似。此款软件及绘制原理图、PCB版图和仿真于一身。Protues此款软件使用比较简单。在运行环境搭载好前提下,打开ISIS直接进入到主界面,在左边栏框中有一个快捷键P(从库中选择),点击后出现一个对话框然后输入想要查找元器件即可。以后在单击确定按键所选器件就会显示在界面左上角小框中此时点击鼠标左键就会放到图层中,然后直接把鼠标放到接头处就会显示一个画笔标志此时按住鼠标左键就可进行连线了。图5-1所表示为绘图界面。图5-1 绘图界面5.2 Protues和Keil连调在进行连调之前必需确保程序是完整,原理图也是没有错误。还要在正确运行平台下进行操作。检验没有错误后,打开原理图,点击单片机就会出现一个对话框图5-2所表示,然后把生成.hex文件添加到里面即可实现。在这里比较关键就是.hex文件生成过程。首先把已编写好程序加载到Keil软件下进行编译假如没有碰到任何错误后,就直接点击工具栏中就会弹出以下图所表示对话框,然后选择对应选项就能够生成

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 研究报告 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服