




已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安文理学院本科毕业论文(设计)题目基于ARDUINO的遥控电子密码锁的设计专业班级电子信息工程学号792692227QQCOM学生姓名王小兵指导教师设计所在单位2014年5月遥控电子密码锁的设计摘要本设计是以ATMEGA328PPU为主要芯片,通过中断、计数等基本工作方式来控制、判断外部器件的工作、工作状态,结合数字信号编码的基本算法,用红外遥控器遥控发送密码、再用红外接收管接收密码,单片机根据红外接收管导通与否和持续时间结合二次调制方式的基本算法还原遥控器发送的密码,再与内部储存器EEPROM储存的密码对比,判断密码是否正确,辅助以液晶显示屏LCD5110显示用户的操作结果,以蜂鸣器报警或提醒,再通过红外遥控键盘实现输入或修改密码等基本功能实现红外电子密码锁的设计。本设计运用了C语言编写程序,简单、明了,很好的实现了红外通信的要求。在以往设计的基础上,使用ARDUINO集成开发环境编程,缩短开发时间,极大的方便了用户使用,特别是为工业生产带来了极大的便利。红外遥控电子密码锁具有成本较低、操作方便、体积小、无污染、反应速度快等优势,具有很好的市场价值。关键词编码;解码;密码;红外遥控THEDESIGNOFREMOTEELECTRONICLOCKSABSTRACTTHEDESIGNISBASEDONATMEGA328PPUASTHEMAINCHIPTOINTERRUPT,COUNTINGANDOTHERBASICWORKMODETOCONTROLANEXTERNALDEVICETODETERMINETHEWORK,WORKINGCONDITIONS,COMBINEDWITHTHEBASICALGORITHMUSINGDIGITALSIGNALCODEDREMOTECONTROLTOSENDPASSWORDINFRAREDREMOTECONTROL,THENINFRAREDRECEIVERTORECEIVEAPASSWORD,ANDDURATIONOFTHEMICROCONTROLLERTHROUGHORNOTCOMBINEDWITHTHEBASICALGORITHMACCORDINGTOTHESECONDMODULATIONINFRAREDRECEIVERGUIDETORESTORETHEPASSWORDSENTBYTHEREMOTECONTROL,PASSWORDCONTRASTWITHTHEINTERNALMEMORYANDTHENSTOREDINEEPROMTODETERMINEWHETHERTHECORRECTPASSWORD,THEAUXILIARYLCD5110DISPLAYTHEUSERTOMANIPULATETHERESULTS,INORDERTOREMINDTHEBUZZER,ANDTHENENTERORMODIFYBASICFUNCTIONSSUCHASPASSWORDSINFRAREDELECTRONICLOCKSDESIGNEDBYINFRAREDREMOTECONTROLKEYPADTHEDESIGNUSESTHECPROGRAMMINGLANGUAGE,SIMPLE,CLEARREQUIREMENTTOACHIEVEAGOODINFRAREDCOMMUNICATIONONTHEBASISOFTHEPREVIOUSDESIGN,PROGRAMMINGUSINGARDUINOINTEGRATEDDEVELOPMENTENVIRONMENT,REDUCEDEVELOPMENTTIME,AGREATCONVENIENCETOUSERS,INPARTICULARHASBROUGHTGREATCONVENIENCEFORINDUSTRIALPRODUCTIONINFRAREDELECTRONICLOCKSWITHLOWCOST,EASYOPERATION,SMALLSIZE,CLEAN,FASTRESPONSEANDOTHERADVANTAGES,HASAGOODMARKETVALUEKEYWORDSENCODEDECODEPASSWORDINFRARED目录第1页目录第一章绪论111题目要求112本设计主要硬件功能部分113本设计软件的总体构思1第二章系统的硬件设计与实现321EEPROM模块322红外通信模块5221红外通信的基本原理5222红外遥控发射器及其编码6223红外接收和解码9224红外发送与接收设备923LCD5110液晶显示模块11231LCD5110介绍11232LCD5110引脚功能表11233LCD5110电路图1224蜂鸣器报警模块1325单片机最小系统模块13第三章系统软件设计1731ARDUINO软件开发环境1732PROTEUS原理图仿真1833程序流程图19331主程序流程图19332红外遥控接收解码20333串口收发数据模块调试21第四章系统安装与调试2441硬件调试24411红外遥控器调试24目录第2页412继电器调试2442软件调试24结束语26致谢27参考文献29附录30附录A系统整体原理与实物图30附录B系统源程序部分32附录C外文翻译原文38附录D外文翻译译文41西安文理学院本科毕业设计(论文)第1页第一章绪论11题目要求红外遥控电子密码锁由红外遥控发射器、红外接收终端、带控制的电子锁、报警电路、密码存储模块构成。当红外接收终端收到遥控器发送的开锁密码信号后,并与保存在EEPROM中的密码对比。当对比成功后单片机通过IO口向电子锁发出开锁命令,完成开锁功能;当密码输入错误时通过蜂鸣器实现报警功能,用户还可以根据需要更改密码以提高系统防盗安全性。此题目的重点、难点是实现红外信号的接收、密码储存和正确识别按键并显示操作结果。由于红外遥控不影响周边环境、不干扰其他电器设备,其无法穿透墙壁。因此,不同房间的家用电器可使用通用的遥控器而不会产生相互干扰电路调试简单,只要按给定电路连接无误,一般不需任何调试即可投入工作编解码容易,可进行多路遥控。而且红外遥控密码锁体积较小、操作方便等优势,具有很好的市场前景。12本设计主要硬件功能部分本系统主要由六大部分组成1单片机最小系统模块2LCD5110液晶显示模块3红外接收模块4红外发送模块5EEPROM密码存储模块6蜂鸣器报警模块13本设计软件的总体构思本设计以ATMEL公司的ATMEGA328PPU芯片为核心控制器件,通过ATMEGA328P芯片与EEPROM之间交换密码后,再与用户通过键盘或红外遥控器发送过来的密码作对比,然后使用LCD5110显示操作结果,用蜂鸣器提示密码输入是否正确。当用户输入错误次数达到上限3次时,蜂鸣器能够实现报警功能;用户还可以根据需要修改密码以保证系统的安全,从而实现红外遥控电子密码锁的设计,系统框图如下。西安文理学院本科毕业设计(论文)第2页图11系统主体结构电源模块液晶显示EEPROM密码存储红外接收器AVRMCU蜂鸣器报警西安文理学院本科毕业设计(论文)第3页第二章系统的硬件设计与实现硬件设计与实现一共分为5个部分,分别是密码存储EEPROM模块、红外通信模块、液晶显示部分、蜂鸣器报警模块和单片机最小系统部分。EEPROM模块主要存储密码和用户数据,其具有断电数据不丢失的功能;红外通信模块完成用户通过按键发送的键值借助红外光发送出去,接收端以红外接收器接收通过单片机程序解调出原始信号并加以处理执行进一步操作的功能,用户也可通图21系统主体结构过红外遥控器输入密码或者修改密码;液晶显示具有显示当前操作状态、提示下一步操作等功能;报警模块使用传统器件蜂鸣器实现报警功能;单片机最小系统部分决定了系统复杂程度和功耗以及稳定性和可靠性。21EEPROM模块EEPROMELECTRICALLYERASABLEPROGRAMMABLEREADONLYMEMORY,电可编程只读存储器,它的最大优点是掉电后数据不丢失。在需要保存重要数据并且掉电后不丢失的情况下,使用EEPROM保存数据是一种较好的解决方法。本设计中使用ATMEGA328PPU芯片内部自带的1KBEEPROM保存密码锁密码,不需要使用外部存储芯片,更节省资源,同时降低成本,提高系统可靠性和安全性。本设计基于I2C总线又称IIC协议对EEPROM模块数据进行擦除、写入或读出。西安文理学院本科毕业设计(论文)第4页I2C总线是PHLIPS公司推出的一种串行总线,是具备多从机系统的包括总线裁决和高低速器件同步功能的高性能串行总线。I2C串行总线有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有连接到I2C总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。图21I2C连接方式每个接到I2C总线上的器件都有唯一的地址。主机与其它器件间的数据传送可以是由主机发送数据到其它器件,这时主机即为发送器。总线上接收数据的器件则为接收器。连接在IIC总线上的设备使用7位二进制编码地址,每一个从机分配唯一地址号,所以最多可以连接127个从机和一台主机。I2C通信原理I2C总线进行数据传送时,时钟信号为高电平期间,数据线上的数据必须保持稳定,只有在时钟线上的信号为低电平期间,数据线上的高电平或低电平状态才允许变化,如图22所示。图22I2C通信时序SCL线为高电平期间,SDA线由高电平向低电平的变化表示起始信号;SCL线为高电平期间,SDA线由低电平向高电平的变化表示终止信号,如图23所示。西安文理学院本科毕业设计(论文)第5页图23起始和终止信号起始和终止信号都是由主机发出的,在起始信号产生后,总线就处于被占用的状态;在终止信号产生后,总线就处于空闲状态。连接到I2C总线上的器件,若具有I2C总线的硬件接口,则很容易检测到起始和终止信号。数据传送格式(1)字节传送与应答每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧数据共有9位)。图24字节传送时序由于某种原因从机不对主机寻址信号应答时(如从机正在进行实时性的处理工作而无法接收总线上的数据),它必须将数据线置于高电平,而由主机产生一个终止信号以结束总线的数据传送。(2)数据帧格式I2C总线上传送的数据信号是广义的,既包括地址信号,又包括真正的数据信号。在起始信号后必须传送一个从机的地址(7位),第8位是数据的传送方向位(R/T),用“0”表示主机发送数据T,“1”表示主机接收数据(R)。每次数据传送总是由主机产生的终止信号结束。但是,若主机希望继续占用总线进行新的数据传送,则可以不产生终止信号,马上再次发出起始信号对另一从机进行寻址。对EEPROM模块寄存器写入和读出数据时,只需配置ATMEGA32PPU芯片的EEARH、EEDR、EECR寄存器即可。22红外通信模块221红外通信的基本原理西安文理学院本科毕业设计(论文)第6页红外遥控是单工的红外通信方式,本设计的红外遥控采用以通信方式为基础的红外遥控,故着重分析红外通信的基本原理。红外通信是利用红外技术实现两点间的近距离保密通信和信息转发。它一般由红外发射和接收系统两部分组成。发射系统对一个红外辐射源进行调制后发射红外信号,而接收系统用光学装置和红外探测器进行接收,就构成红外通信系统。红外线是波长在750NM至1MM之间的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。红外通信一般采用红外波段内的近红外线,波长在075UM至25UM之间。红外数据协会(IRDA)成立后,为了保证不同厂商的产品能够获得最佳的通信效果,红外通信协议将红外数据通信的光波波长的范围限定在850至900NM之内。红外通信的基本原理是发送端将基带二进制信号调制为一系列的脉冲串信号(载波信号),通过红外发射管发射红外信号。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。脉时调制(PPM)是红外数据协会IRDA和国际电子电工委员会IEEE都推荐的调制方式,本设计采用脉时调制方法,即用两个脉冲串之间的时间间隔来表示二进制信息,数据比特的传送仿照不带奇偶校验的RS232通信,首先产生一个同步头,然后接着8位数据比特,如图25所示。图25PPM调制波形图载波信号的频率F38KHZ,载波周期T2632US,本设计使用单片机软件产生载波,取T26US,脉冲宽度T110T260US,二进制数0的脉冲串周期T2500US,二进制数1的脉冲串周期T31000US。222红外遥控发射器及其编码遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的UPD6121G组成发射电西安文理学院本科毕业设计(论文)第7页路为例说明编码原理,我们使用的超薄型红外线遥控器使用的就是6121编码。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控编码具有以下特征采用脉宽调制的串行码,以脉宽为0565MS、间隔056MS、周期为1125MS的组合表示二进制的“0”;以脉宽为0565MS、间隔1685MS、周期为225MS的组合表示二进制的“1”。由“0”和“1”组成的32位二进制码经38KHZ的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射。其波形如图26所示。图26红外脉冲波形UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰,如我们可以同时使用电视机、机顶盒、功放等遥控器,但它们不会产生误触发。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多128种不同组合的编码。遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108MS。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在4563MS之间。图27红外发射波形当一个键按下超过36MS,振荡器使芯片激活,将发射一组108MS的编码脉冲,这108MS发射代码由一个起始码(9MS),一个结果码(45MS),低8位地址码西安文理学院本科毕业设计(论文)第8页(9MS18MS),高8位地址码(9MS18MS),8位数据码(9MS18MS)和这8位数据的反码(9MS18MS)组成。如果按键按下超过108MS仍未松开,接下来发射的代码(连发代码)将仅由起始码(9MS)和结束码(25MS)组成。一个脉冲对应560US的连续载波,一个逻辑1传输需要225MS(560US脉冲1680US低电平),占空比1/4;一个逻辑0的传输需要1125MS(560US脉冲560US低电平),占空比1/2。而遥控接收头在收到脉冲的时候为低电平,在没有脉冲的时候为高电平,这样,我们在接收头端收到的信号为逻辑1应该是560US低1680US高,逻辑0应该是560US低560US高。NEC遥控指令的数据格式为同步码头、地址码、地址反码、控制码、控制反码。同步码由一个9MS的低电平和一个45MS的高电平组成,地址码、地址反码、控制码、控制反码均是8位数据格式。按照低位在前,高位在后的顺序发送。采用反码是为了增加传输的可靠性(可用于校验)。如下图28所示图28红外反码传输波形重复码一个命令只发送一次,即使遥控器上的按键一直按着。但是会每110MS发送一次代码,直到遥控器按键释放。如图29所示图29红外重复码波形重复码比较简单一个9MS的AGC脉冲、225MS间隔、560US脉冲,如图210所示。西安文理学院本科毕业设计(论文)第9页图210重复码单个波形本设计采用网上购买的小型遥控器作为发送设备,内部自带放大电路和滤波电路,其编码方式基于NEC协议。接收设备为HS0038,解码信号输入AVR单片机进行解码。223红外接收和解码二进制信号的解调由一体化红外接收头来完成,它把接收到的信号(图211中的波形D)经内部处理并解调复原,输出图211中的波形E。接收头的解调可理解为在输入脉冲串时输出低电平,否则输出高电平。二进制的解码由单片机来完成,它把红外接收头送来的二进制编码波形通过解码,还原成发送端发送的数据。如图211所示,把波形E解码还原成数据信息101。图211信号解调波形224红外发送与接收设备红外发送设备采用市面上通用的红外遥控器,其具有操作简单、使用方便、价格低廉等优点。如图西安文理学院本科毕业设计(论文)第10页图212红外遥控器图212中红外遥控器基于NEC协议进行编码。当某个按键按下时,遥控器侧边的红外发射管发射出经过编码的红外光,红外光搭载了按键的编码信号,是由时间间隔不同的高低电平构成,在接收端需要解调出原始信号然后再经过放大滤波后,输入给单片机处理,就能实现红外信号的发射与接收。一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。在本系统中我们采用红外一体化接收头HS0038,封装图如下图所示图213HS0038外观图HS0038黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35M。它能与TTL、COMS电路兼容。HS0038为直立侧面收光型。它接收红外信号频率为38KHZ,周期约26S,同时能对信号进行放大、检波、整形,得到TTL电平的编码信号。三个管脚分别是地、5V电源、解调信号输出端。利用外部中断0处理数据并接收和保存。西安文理学院本科毕业设计(论文)第11页图214HS0038硬件结构23LCD5110液晶显示模块231LCD5110介绍LCD5110是NOKIA公司生产的可用于其5110、6150,6100等系列移动电话的液晶显示模块,国内厂家也生产有类似的兼容产品。该产品除应用于移动电话外,也可广泛应用于各类便携式设备的显示系统。与其它类型的产品相比,该模块具有以下特点184X48的点阵LCD,可以显示4行汉字,8行字符。2采用串行接口与主处理器进行通信,接口信号线数量大幅度减少,包括电源和地在内的信号线仅有9条。支持多种串行通信协议(如AVR单片机的SPI总线、MCS51的串口模式等),传输速率高达4MBPS,可全速写入显示数据,无等待时间。3可通过导电胶连接模块与印制版,而不用连接电缆,用模块上的金属钩可将模块固定到印制板上,因而非常便于安装和更换,数据引脚直接引出,方便与外部电路的连接。4LCD控制器驱动器芯片已绑定到LCD晶片上,模块的体积很小。5采用低电压33V供电,正常显示的工作电流在200A以下,且具有掉电保护模式。232LCD5110引脚功能表LCD5110引脚功能如表21所示。西安文理学院本科毕业设计(论文)第12页表21LCD5110引脚功能1VDD电源电压33V2SCLK串行时钟输入3SDIN串行数据输入端4D/C数据/命令5OSC振荡器,接地6GND数字地7VOUT电源背光,低电平有效8RS外部复位输入端9CE芯片使能低电平有效233LCD5110电路图图215LCD5110硬件结构本设计使用LCD5110液晶显示,与同类产品相比LCD5110具有诸多优点。LCD1602可以显示32个字符,而NOKIA5110可以显示15个汉字,30个字符。NOKIA5110裸屏仅88元,LCD1602一般15元左右接口简单仅四根I/O线即可驱动,LCD1602需11根I/O线,LCD12864需12根。速度快,是LCD12864的20倍,是LCD1602的40倍。NOKIA5110工作电压33V,正常显示时工作电流200UA以下,具有掉电保护模式,适合电池供电的便携式移动设备。西安文理学院本科毕业设计(论文)第13页24蜂鸣器报警模块蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”旧标准用“FM”、“LB”、“JD”等表示。有源蜂鸣器直接接上额定电源新的蜂鸣器在标签上都有注明就可连续发声而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。本系统采用无源蜂鸣器,控制更简单。报警功能的实现通过控制IO引脚PD7输出相应的高低电平驱动蜂鸣器发声或关闭,如图217所示。当程序检测到红外遥控器3次输出错误密码时,PD7输出高电平,NPN三极管导通,,5VVCC、蜂鸣器、三极管形成回路,驱动蜂鸣器发声,开始报警。当不需要报警时,将PD7拉低即可。蜂鸣器硬件连接如下图216所示图216蜂鸣器硬件连接25单片机最小系统模块251单片机选择本设计采用ATMEL公司的ATMEGA328PPU芯片作为MCU,它是一款8位RISC、兼容TTL电平的低功耗单片机。未选用51单片机的原因是ATMEGA328P芯片与51单片机、PIC单片机相比具有以下优点1在相同的系统时钟下,AVR运行速度最快西安文理学院本科毕业设计(论文)第14页2芯片内部的FLASH、EEPROM、SRAM容量较大,51单片机内部没有EEPROM、FLASH3所有型号的FLASH、EEPROM都可以反复烧写、全部支持在系统编程ISP51单片机不支持ISP,启动方式为冷启动,不支持在线调试4多种频率的内部RC振荡器、上电自动复位、看门狗、启动延时等功能。零外围电路也可以工作5每个IO口都可以推挽输出高、低电平,驱动能力强6内部资源丰富,一般都集成AD、DA转换器;PWM、SPI、USART、I2C通信口目前支持AVR单片机编译器的语言主要有汇编语言、C语言、BASIC语言等。其中C编译器主要有CODEVISIONAVR、AVRGCC、IAR、ICCAVR等,C语言编译器由于它具有功能强大、运用灵活、代码小、运行速度快等先天性的优点,使得它在专业程序设计上具有不可代替的地位。252ATMEGA328P芯片内部资源ATMEGA328P芯片执行速度达到20MIPS20M晶振、片上2周期指令乘法器、大容量32KBFLASH、2KBSRAM、2个8位定时/计数器支持预分频和比较模式)、1个16位定时器(支持预分频、比较捕获模式,可PWM输出)、6路PWM输出、6通道10位ADC、一个USART模块、一个ISP模块、一个IIC模块。本设计使用28脚ATMEGA328PPU芯片,封装图如217所示图217ATMEGA328P芯片封装西安文理学院本科毕业设计(论文)第15页ATMEGA328P有3组I/O口,分别是PORTB、PORTC、PORTD(简称PB、PC、PD),PORTB有8个I/O,PORTC有7个I/O,PORTD有8个I/O,6个10位ADC输入口。所有这些I/O口都是双功能复用的,第一功能均作为数字通用I/O口使用,而复用功能分别用于中断、始终/计数器、USART、I2C和SPI串行通信、模拟比较等应用。上图中红色字母D0D13可作为通用I/O口,A0A5为ADC功能引脚,RX,TX为串口收发引脚。PWM是具有PWM功能的引脚。表22ATMEGA328P第二引脚功能引脚号第二功能引脚号第二功能引脚号第二功能1RESET9XT1/TOSC115OC1A2RXD10XT2/TOSC216SS/OC1B3TXD11T117MOSI4INT012AIN018MISO5INT113AIN127ADC4/SDA6XCK/T014ICP128ADC5/SCL硬件最小系统如图218所示图218ATMEGA328P最小系统硬件最小系统包括电源电路、复位电路、晶振电路。电源电路电源电路使用5V电源供电,外接一个01UF电解电容对地滤波,以降低纹波电压的干扰。西安文理学院本科毕业设计(论文)第16页复位电路与51单片机复位方式不同,AVR系列单片机采用低电平复位,当按键按下达到两个时钟周期以上,单片机自动复位,程序从头开始执行。为了防止开关按下抖动形成的误触发,使用10UF电容与开关并联。晶振电路晶振电路主要给单片机提供工作信号脉冲,本设计中使用16M晶振,匹配电容使用两个22PF电容,电容一端接晶振,另一端接地,形成谐振电路。系统硬件原理图如218所示整个硬件设计环节中,最小系统作为基础部分和核心部分。液晶显示使用LCD5110,由于液晶需要显示两行以上的数据,使用LCD602不够,且太占用I/O资源;LCD5110可以显示6行数据,完全能满足要求。报警电路通过I/O口控制,上图中PC4为控制端,当PC4输入高电平时,通过一个10K电阻串联到达NPN三极管基极,基极电压达到07V,三级管导通,驱动蜂鸣器发声。PC4为低电平时,三极管截止,蜂鸣器不响。原理图中使用红外收发一体对管模拟红外遥控器的按键发送与接收。继电器控制电路模拟开锁与解锁的过程。继电器初始状态处于常开,当控制端PB4输出高电平,三级管导通,VCC、稳压二极管,集电极,发射极形成回路,继电器线圈产生磁场,继电器吸合,与之对应的LED被点亮,开锁功能得以实现。图218系统硬件原理图西安文理学院本科毕业设计(论文)第17页第三章系统软件设计31ARDUINO软件开发环境为了降低软件开发难度、减少代码量、缩短开发时间,本设计选择了最近几年国内流行的软件开发环境ARDUINOIDE。ARDUINO是一个开放源代码的单芯片微电脑,它使用了ATMELAVR芯片,采用了基于开放源代码的软硬件平台,构建于开放源代码SIMPLEI/O接口板,并且具有使用类似JAVA,C语言的PROCESSING/WIRING开发环境。ARDUINO能通过各种各样的传感器来感知环境,通过控制灯光、马达和其他的装置来反馈、影响环境。对ARDUINO的编程是利用ARDUINO编程语言基于WIRING和ARDUINO开发环境BASEDONPROCESSING来实现的。基于ARDUINO的项目,可以只包含ARDUINO,也可以包含ARDUINO和其他一些在PC上运行的软件,他们之间进行通信比如FLASH,PROCESSING,MAXMSP来实现。你可以自己动手制作,也可以购买成品套装ARDUINO所使用到的软件都可以免费下载硬件参考设计CAD文件也是遵循AVAILABLEOPENSOURCE协议,你可以非常自由地根据自己的要求去修改他们。ARDUINO可以使用开发完成的电子元件例如SWITCH或SENSORS或其他控制器、LED、步进马达或其他输出装置。ARDUINO也可以独立运作成为一个可以与软件沟通的接口,例如FLASH、PROCESSING、MAX/MSP、VVVV或其他互动软件。ARDUINO开发IDE接口基于开放源代码原,可以免费下载使用,开发出更多令人惊艳的互动作品。ARDUINO有着众多的开发者和用户,你可以找到他们提供的众多开源的示例代码、硬件设计。例如,可以在GITHUBCOM、ARDUINOCC、OPENJUMPERCOM等网站找到ARDUINO第三方硬件、外设、类库等支持,更快更简单的扩展你的ARDUINO项目。西安文理学院本科毕业设计(论文)第18页ARDUINO不仅仅是全球最流行的开源硬件,也是一个优秀的硬件开发平台,更是硬件开发的趋势。ARDUINO简单的开发方式使得开发者更关注创意与实现,更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。因为ARDUINO的种种优势,越来越多的专业硬件开发者已经或开始使用ARDUINO来开发他们的项目、产品;越来越多的软件开发者使用ARDUINO进入硬件、物联网等开发领域;大学里,自动化、软件,甚至艺术专业也纷纷开展了相关课程。使用ARDUINO开发环境编程,无需知道单片机内部的寄存器怎样配置,只需调用相应的库函数即可完成,非常方便。界面如下图31ARDUINO软件界面与传统KEIL开发环境相比,ARDUINO使用更加简单,代码量少,入门快,效率高,适合代码量不大的应用程序开发。西安文理学院本科毕业设计(论文)第19页32PROTEUS原理图仿真本设计中,使用PROTEUS进行原理图仿真。使用PROTEUS进行仿真,可以完成从基本原理图的绘制到程序的编写,程序的编译和程序的烧录到最后软件的调试,验证了硬件的可行性,使用非常方便,并且网上有很多可以参考的资料。PROTEUS是世界上著名的EDA工具仿真软件,从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等,2010年又增加了CORTEX和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、KEIL和MATLAB等多种编译器。PROTEUS因其诸多优点而被广泛使用,大致如下1原理布图;2PCB自动布线或人工布线;3互动的电路仿真,用户甚至可以实时采用诸如RAM、ROM、键盘、马达、LED、LCD、AD/DA部分SPI器件和部分IIC器件;PROTEUS可以仿真51系列、AVR、PIC、ARM等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,PROTEUS建立了完备的电子设计开发环境。其主界面如图32所示西安文理学院本科毕业设计(论文)第20页图32PROTEUS原理图仿真界面33程序流程图331主程序流程图开始系统初始化进入中断执行按键扫描程序显示主界面图33主程序流程当单片机上电复位以后,程序开始执行,先初始化需要使用到的各个功能模块,包括LCD5110液晶显示、中断、EEPROM密码存储、定时器1、定时器2、IO端口。然后进入主界面,显示输入密码和修改密码选项,之后等待用户按键输入。主程序流程图如图33所示。西安文理学院本科毕业设计(论文)第21页332红外遥控接收解码开始高脉冲出现检测脉冲宽度引导码接收前16位地址码和地址反码接收后16位数据码和数据反码转换键值转换结束是是否否图34红外接收解码流程红外接收解码的目的是从接收信号中分离出有用信号。当单片机外部中断检测到高电平时,开始计时,如果高电平时间达到45MS,则被识别为引导码,然后开始接受8位用户码和用户反码以及数据码和数据反码。其中数据码才是有用信号,用户码可以区分不同的设备,最多可以有128中不同的用户码。333串口收发数据模块调试西安文理学院本科毕业设计(论文)第22页开始串口初始化发射键值发送数据到CPU串行口发送结束返回是是否否图35串口发送流程图串口发送流程如图35所示。串口主要用于显示用户发送的解码值,当按键按下之后,键值通过软件解码出来,然后发送到电脑上位机显示,程序每执行一次,向电脑上位机发送一次键值。如此,通过判断键值则可以知道哪一个按键被按下,然后执行对应的操作。由于红外光属于低频信号,传输距离有限,有效距离通常在10米之内,按键按一次未必能接受到,所以可能需要按几次。西安文理学院本科毕业设计(论文)第23页334开锁流程图开始输入密码界面等待按键按下判断键值是否有效存储密码是密码位数6否否等待确认键按下确认键按下否对比密码是是SAME_F1液晶显示并开锁否是错误输入次数3次报警是否图36开锁流程进入密码输入界面后,液晶提示输入密码并开始接受输入,当用户按下09任一数值后,液晶显示一个“”并记录密码的位数,当输入6位密码然后按下确认键,程序判断当前输入的密码是否和原始密码相同。如果一致,则打开继电器,点亮LED,液晶显示密码正确;如果密码错误,则提示可输入密码次数为2次,如果西安文理学院本科毕业设计(论文)第24页错误输入次数达到3次,蜂鸣器开始报警液晶显示密码错误,继电器吸合。开锁流程如图36所示。335密码修改流程图键值有效否输入旧密码等待按键按下存储密码输入6位密码是否密码比较密码正确输入新密码3次输入错误液晶显示修改失败否否是是是键值有效否等待按键按下存储密码输入6位密码否是数组存储2次输入两次输入密码比较相等液晶显示密码修改成功液晶显示密码修改失败是是否否图37密码修改流程密码修改流程如图37所示。密码修改是整个系统很重要的一个环节,同时也是整个设计中很核心的一个部分。进入输入密码界面之后,液晶提示用户输入6位数字旧密码,每输入一位密码,在液晶屏幕显示一个“”,若用户不小心输入了错误密码,想取消当前输入,还可以按取消键删除刚输入的密码,然后继续输入,当输入密码位数达到6时,不再接受输入等待用户按下确认键,用户按下确认键之后,程序开始比较当前输入的密码是否与系统密码一致,如果密码一样则提示用户西安文理学院本科毕业设计(论文)第25页输入新密码,为了避免用户错误输入,系统提示用户需要输入两次密码,两次密码输入完成之后且密码一致,系统提示用户更改密码成功,然后用户可以测试新密码是否更改成功。西安文理学院本科毕业设计(论文)第26页第四章系统安装与调试41硬件调试硬件的调试与软件的调试不同,硬件的调试主要根据硬件原理图核对元器件的型号、规格、极性、集成芯片的插接方向是否正确。用万用表、逻辑笔等工具检查硬件电路连线是否与电路图一致,有无短路、虚焊等现象。严防电源短路和极性接反,检查数据总线、地址总线和控制总线是否存在短路的故障。通电检查时,可以模拟各种输入信号分别送入电路的各有关部分,观察I/O口的动作情况,查看电路板有无过热、冒烟、异味等现象,各相关设备的动作是否符合要求,整个系统的功能是否符合要求。411红外遥控器调试红外遥控器的低功耗控制电路的调试比较重要。首先当按键按下后,系统上电,确保单片机能够关闭继电器,系统正常供电。在测试过程中发现当一直按下一个键不松开时,解码出的值只有第一个是正确,以后的解码值全是重复码,为无效码,系统需要丢掉。由于红外发送频率是38KHZ左右,因此有效距离比较近,一般在5米以内,在测试过程中发现当遥控器与接收器距离大于5米时,解码值完全错误,并且如果人离接收器太近也会影响解码值,所以遥控器尽量靠近接收器,而且遥控器正对接收器效果最好。412继电器调试继电器驱动电路很简单,但却很容易出错,首先是三极管的选择,NPN、PNP三极管对应的驱动电路略有不同,其次是继电器常开常闭的接线。由于对硬件不是很熟悉,导致走了很多弯路。第一次测试过程中发现当控制端输出高电平时,根据原理分析,继电器应该吸合,能听到吸合的声音。但测试过程并未听到吸合的声音,发光二极管也未点亮,认为是三极管烧坏,换一个三极管之后测试仍然不行,十分费解,经过仔细的排查电路,发现是三极管选型不对导致集电极和发射极接反,所以分清元件的极性和引脚十分重要。42软件调试西安文理学院本科毕业设计(论文)第27页为了降低代码量,本设计选择了ARDUINO集成IDE进行软件编程,ARDUINO是模仿PROCESSING开发环境的一款轻量级编辑、编译和下载的开发环境。虽然降低了代码量,但整个程序仍有500多行。代码量越大,调试和维护就越麻烦。在调试LCD5110过程中,由于数据类型长度不匹配,导致显示结果达不到要求,编译不会出现问题,检查错误就十分麻烦。在实现密码删除功能过程中遇到了很多麻烦。根据流程图,输入密码之后,取消键按下一次,当前输入的密码减少一位,液晶显示减少一颗“”,在编程过程中,苦于输入最后一位密码是应该退出循环还是继续等待删除操作不好实现,导致花费了大量时间研究,最终经过查阅相关资料解决了该问题。西安文理学院本科毕业设计(论文)第28页结束语本设计不但很好的满足了题目的要求,即终端能够接收红外遥控发射板发射的红外信号(密码)并能与已存密码作对比,而且能够在液晶上显示操作结果,还增加了取消这一功能,从而完成了红外遥控电子密码锁的要求。但一开始并不是这么顺利,最先将程序下载到机子里面,键盘不能工作,后经查发现键盘程序没有运行。改过来后又发现多了一个键,没有用处,经讨论将多的键设为取消键。原来设计的电源是直接用USB从电脑上引出来,后来在此解读题目时发现不能满足题目要求,所以添加了一个用7805稳压的小模块。美中不足的是此设计红外遥控的距离并不太理想(两米多一点),而且取消功能并不是想象的能够取消前面自己不想要的内容,而是返回主菜单。但这些不足并不能抵消此设计带来的好处。西安文理学院本科毕业设计(论文)第29页致谢在没有做毕业设计前,我觉得毕业设计只是对所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。通过这次毕业设计使我明白了自己原来知识还比较欠缺。自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。通过这次毕业设计,我知道学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。最后终于做完了有种如释重负的感觉。此外,还得出一个结论知识必须通过应用才能实现其价值有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。程序的设计思想的精巧的重要性,是不管怎么说都不为过的,好的设计可以让大家很快的明白你的思想,而且很方便的来实现它。良好的编程习惯,它可以使你的程序很方便的被别人阅读,也很方便的被更改,所以可以的话,尽可能多的写出注释。本系统以单片机ATMEGA328PPU芯片为核心控制部件,利用红外通信技术,并配合一套独特的软件算法实现了红外信号传输、密码开锁、密码修改、密码输错锁屏、LCD显示、键盘扫描等功能,实验和理论分析结果都表明,红外遥控电子密码锁设计完成了设计的各项任务。在本次毕业设计中,我们通过复习相关知识,查阅有关资料,并利用所学知识学习新的知识,根据所掌握的知识选择设计方案和所需器件,在系统设计过程中,力求硬件线路简单,充分发挥软件编程方便灵活的特点,来满足系统设计要求此。次毕业设计,使我对以往知识的认知度有所提高,也巩固了旧知识和学习新知识的能力,总之,通过此次设计受益良多。红外遥控密码锁系统的成本与低、体积小,而且可以进行近距离遥控,低耗很低,可以使用普通碱性电池供电,使用十分方便。如经优化设计,成本可以进一步降低。红外遥控密码锁锁具有广阔的市场前。在设计过程中,通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能西安文理学院本科毕业设计(论文)第30页力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次毕业设计的最大收获和财富。本设计研究探讨以及论文撰写一直都是在余秋菊老师的指导下进行的,非常感谢余老师在毕业设计过程中对我的帮助和指导。西安文理学院本科毕业设计(论文)第31页参考文献1康华光等电子技术基础第2版M北京高等教育出版社,2004101562曹巧媛单片机原理及应用M北京电子工业出版社,20023牛翌光单片机原理及接口技术M北京电子工业出版社,200832794杨路明C语言程序设计M北京北京邮电大学出版社,2005522685张文峥,李先亮,张其善IRDA红外通信在导航仪中的应用J2000,106麦山,皮佑国基于单片机的协议红外遥控系统J1998,57王君,祝超群等单片机原理及控制技术M机械工业出版社20108康华光主编电子技术基础模拟部分M北京高等教育出版社,19999沙占友,王彦朋等单片机外围电路设计M北京北京工业出版社,200310王欣龙译,硬件开源电子设计平台爱上ARDUINOM人民邮电出版社,2012,1011麦秆创智译ARDUINOC语言编程实战M人民邮电出版社,2013,1012MICHAELMARGOLISARDUINOCOOKBOOKJ2011,5西安文理学院本科毕业设计(论文)第32页附录附录A系统整体原理与实物图图1系统总电路图图2系统实物图1西安文理学院本科毕业设计(论文)第33页图3系统实物图2图4系统实物图3西安文理学院本科毕业设计(论文)第34页附录B系统源程序部分/PIN1VCC33VRIGHTMOST,WHENFACINGTHEDISPLAYHEADONPIN2SCLKARDUINODIGITALPIN2PIN3SDINARDUINODIGITALPIN3PIN4DCARDUINODIGITALPIN4PIN5SCEARDUINODIGITALPIN6PIN6GROUNDPIN710UFCAPACITORGROUNDPIN8RSTARDUINODIGITALPIN5红外接收引脚PIN7LED引脚PIN9蜂鸣器测试引脚PIN8/INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEDEFINECODE_NUMBER6VOIDLCD_INITVOIDVOIDKEYVALUE_GETVOIDVOIDPD_SAVEVOIDVOIDPRINT_PASSWORDVOIDVOIDINPUT_CODEVOIDVOIDSET_CODEVOIDVOIDPD_COMPAREVOIDVOIDCODE_RIGHTVOIDVOIDCODE_WRONGVOIDVOIDGET_COM_CODEVOIDVOIDGET_NEW_CODEVOIDVOIDGET_OLD_CODEVOID西安文理学院本科毕业设计(论文)第35页VOIDINPUT_COM_CODEVOIDVOIDEXITVOIDVOIDTIMER_ISRVOID/中断服务函数定时器STATICPCD8544LCD/结构体定义STATICCHARPASSWORDCODE_NUMBER1,2,3,4,5,6,PD_GETCODE_NUMBER0,0,0,0,0,0,PASSWORD_S_TCODE_NUMBER0,0,0,0,0,0CHARMAIN_PAGE_F0,MAIN_PAGE_CONFIRM_F0CHARINPUT_CODE_F0,SET_CODE_F0,EXIT_F0/输入密码,设置密码标志位INTKEY0,HOUR12,MINUTE12,SECOND12/时间显示变量INTCLEAR_SCREEN_F0,BUZZER_SET_F0INTRECV_PIN7,LED_PIN_99,CODE_RIGHT_F0/定义红外接收器的引脚为10,LEDPIN9INTBUZZER_PIN_88,BUZZER_INPUT_F0/报警功能引脚及标志位IRRECVIRRECVRECV_PINDECODE_RESULTSRESULTSUN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电梯安全管理人员考试题卷以及答案
- 专业老师考试试题及答案
- 超专业试题及答案
- 钢琴专业笔试题目及答案
- 销售业绩分析报告模板业绩评估与市场策略指导
- 专业写作分析试题及答案
- 生活方面考试题目及答案
- 安全培训考试题及答案解析大全
- 2025年4月25日上午场社会工作者综合能力中级真题及答案
- 产品质量控制抽检表格多场景应用版
- 黑布林阅读初一10《霍莉的新朋友》英文版
- 中国华罗庚学校数学课本八年级
- 政治校本课程
- 特劳特《定位》PPT通用课件
- GB/T 1732-1993漆膜耐冲击测定法
- 二十四节气演讲稿
- GA/T 2000.7-2014公安信息代码第7部分:实有人口管理类别代码
- 2023年安徽国贸集团控股有限公司招聘笔试模拟试题及答案解析
- 初中作文指导-景物描写(课件)
- 植物灰分的测定
- 实验室资质认证评审准则最新版本课件
评论
0/150
提交评论