基于msp430的数字密码锁_第1页
基于msp430的数字密码锁_第2页
基于msp430的数字密码锁_第3页
基于msp430的数字密码锁_第4页
基于msp430的数字密码锁_第5页
已阅读5页,还剩26页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1基于MSP430F149的数字密码锁摘要在日常的生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣。在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐代替了传统的机械式密码锁,电子密码锁具有安全性高、成本低、功耗低、易操作等优点。在本次萌芽计划电子设计制作中,我们采用TI公司生产的MSP430作为主控芯片,结合外围的矩阵键盘输入、LCD显示、蜂鸣器报警和LED显示等,用C语言编写主控芯片程序,设计了一款可以数字字母混合密码输入,具有报警功能的数字密码锁。关键词数字密码锁MSP430报警2目录目录2第一章系统方案设计与论证3方案比较3方案设计与论证3设计框图4第二章主要元器件介绍4MSP430F1494LCD1602液晶显示器7LM78058ASM11173310第三章系统硬件结构设计12单片机电路12矩阵键盘电路12复位单路13LCD显示电路13LED显示电路13报警电路14电源电路14第四章系统软件设计14主程序流程图14功能按键软件设计15密码设置软件设计16第五章实验分析17测试方法17测试分析18第五章总结18附录19附录一整体电路图19附录二PCB封装图20附录三部分程序203第一章系统方案设计与论证方案比较方案一以STC89C52单片机为电子密码锁系统核心,使用44矩阵键盘作为数据输入方式,驱动LCD1602显示器提示程序运行过程和开锁的步骤,利用AT24C02芯片实现掉电存储。方案二以MSP430F149单片机为电子密码锁系统核心,使用44矩阵键盘作为数据输入方式,驱动LCD1602显示器提示程序运行过程和开锁的步骤。方案比较MSP430F149单片机性能比STC89C52单片机高,且I/O口远多于STC89C52单片机,方便更好的利用多余的I/O口扩充其他功能。因此本次设计选择方案二。方案设计与论证由于单片机种类繁多,各种型号都有其一定的应用环境,因此在选用时要多加比较,合理选择,以期获得最佳的性价比。一般来说在选取单片机时从下面几个方面考虑性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些的还有一些最基本的比如中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机MSP430F149作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接输入键盘用于密码的输入和一些功能的控制,外接LCD1602显示器用于显示作用。当用户需要开锁时,先输入密码,如果密码输入正确则开锁或设置新密码,不正确显示密码错误重新输入密码,当三次密码错误则发出报警;当用户需要修改密码时,先按下键盘设置键后输入新密码,新密码输入后再次输入新密码,两次输入一致则密码修改成功。4设计框图第二章主要元器件介绍MSP430F149MSP430是TI公司新开发的一类具有16位总线的带FLASH的单片机,由于其性价比和集成度高,受到广大技术开发人员的青睐。它采用16位的总线,外设和内存统一编址,寻址范围可达64K,还可以外扩展存储器。具有统一的中断管理,具有丰富的片上外围模块,片内有精密硬件乘法器、两个16位定时器、一个14路的12位的模数转换器、一个看门狗、6路P口、两路USART通信端口、一个比较器、一个DCO内部振荡器和两个外部时钟,支持8M的时钟。由于为FLASH型,则可以在线对单片机进行调试和下载,且JTAG口直接和FET(FLASHEMULATIONTOOL)的相连,不须另外的仿真工具,方便实用,而且可以在超低功耗模式下工作,对环境和人体的辐射小,测量结果为100MW左右的功耗(电流为14MA左右),可靠性能好加强电干扰运行不受影响,适应工业级的运行环境,适合与做手柄之类的自动控制的设备。567LCD1602液晶显示器本设计采用LCD液晶显示屏显示。其具有体积小、功耗低、界面美观大方等优点,这里使用YB1602液晶屏,1602显示模块用点阵图形显示字符,显示模式分为2行16个字符。它具有16个引脚,其正面左起为第一脚,如下图所示第一脚GND接地。第二脚VCC5V电源。第三脚VO对比度调整端。使用时通过接一个10K的电阻来调节。8第四脚RS寄存器选择信号线。第五脚RW读写信号线。第六脚E使能端,当E由高电平跳变为低电平时执行命令。第714脚8位数据线D0D7。第十五脚BLA背光电源正极输入端。第十六脚BLK背光电源负极输入端。操作控制表操作读状态写指令读数据写数据输入RS0,RW1,E1RS0,RW0,D07指令码,EH脉冲RS1,RW1,E1RS1,RW0,D07数据,EH脉冲表361LCD1602操作指令1602液晶模块内部的字符发生存储器(CGROM已经存储了160个不同的点阵字符图形,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。1602通过D0D7的8位数据端传输数据和指令。LM7805电源电路采用普通可调电源供电,该电源不含稳压器,所以在设计中需9要用稳压器进行稳压,我们选用LM7805来获得稳定的5V直流电压,LM7805引脚排列和典型应用如下图LM7805引脚和典型应用10LM7805电气参数ASM111733本设计中MSP430需采用33V电源供电,因此需用AMS111733将已稳压成5V的直流稳压成33V。AMS11733是一个正向低压降稳压器,在1A电流下压降为12V。AMS1117引脚图1112AMS1117电气参数第三章系统硬件结构设计单片机电路以TI公司的MSP430F149单片机为主控芯片,CPU电路十分简单,只需供电部分和晶振部分。13DVCP63A457REFXINOUTE_/10LK2SMOSCBHPG单片机电路矩阵键盘电路44矩阵键盘电路由16个轻触开关加上4个1K的上拉电阻构成,通过P1口接入单片机。K89矩阵键盘电路复位单路单片机在RESET端加一个大于20MS正脉冲即可实现复位,上电复位和按钮组合的复位电路如下14VCGNDREST1K780NFK复位电路在系统上电的瞬间,RST与电源电压同电位,随着电容的电压逐渐上升,RST电位下降,于是在RST形成一个正脉冲。当人按下按钮K17时,使电容C7通过R8迅速放电,待K17弹起后,C7再次充电,实现手动复位。LCD显示电路本设计采用LCD1602液晶显示屏进行显示,可同时实现数字与字母混合密码的显示以及各种提示的显示。WB23456LPLCD显示电路LED显示电路P20接红色LED灯,密码错误时显示;P24接绿色LED灯,密码正确开锁时显示;P26接蓝色LED灯,设置密码时显示。LED显示电路15报警电路按键时蜂鸣器会实时鸣叫;当密码三次输入错误时,长时间蜂蜜报警;密码输入正确时蜂鸣器产生提示音。VCGNDP671KR9BUZERQS02报警电路电源电路本设计采用9V电池供电,先由LM7805稳压至5V,再由ASM111733稳压到33V给电路供电。48NF35LEOTIUAMWHAD电源电路第四章系统软件设计主程序流程图开始接上电源,程序进行初始化设置,然后在键盘上输入密码,此系统进行键盘扫描,密码错误3次出错报警,密码正确,选择开锁或修改密码,若要修改密码时,需要两次确认新密码,确认后,密码修改成功,否则结束。16开始初始化次数加1输入密码密码正确返回NYY开锁程序开锁N修改密码次数3报警程序修改程序YNNY主程序流程图功能按键软件设计在按键当中,有与转换、清除、开锁、设置的程序相对应的按键。开始键值转换转换程序17功能按键程序软件流程图密码设置软件设计开始按下设置键,输入新密码后,再次输入新密码,如果两次输入一样,则输入成功。如果两次输入的新密码不一样,则修改密码失败。键值开锁键值清除键值设置清除程序设置程序开锁程序返回开始18密码设置软件流程图第五章实验分析测试方法按下电源开关,屏幕显示”PASSWORD”,输入10位密码,屏幕实时显示密码,并伴有实时提示音,若密码错误,屏幕显示”ERROR“,随后显示”PASSWORD”,再次输入密码,密码三次输入错误,清屏,亮红灯并伴有长时间蜂鸣。若输入密码正确,蜂鸣器产生提示音,屏幕显示”A_UNLOCKB_SET”,若按下按下设置键输入新密码再次输入两次输入一致设置成功设置失败19开锁键,亮绿灯,显示”UNLOCK”;若按下设置键,亮黄灯,显示”NEWCODE”,输入10位新密码,显示”INPUTAGAIN”,再次输入新密码,若两次新密码输入一致,显示”SUCCEED”,若两次新密码输入不一致,则显示”FAILE”。输入密码时,可通过清除键清除已输入密码,可通过转换键实现数字与字母和字母大小写之间的转换。测试分析测试结果与我们预想的一致,但由于程序中使用了GOTO语句,使得输入不是很稳定,需要一定的反应时间。第五章总结总的来说,这次“萌芽计划”对我们三个都是一个挑战,因为我们三人的基础都不一样,有的基本为零,而有的却早已参加了多次科创活动。对于萌芽而言,我们三个无论是谁都无法独自完成。这更挑战了我们的合作能力。在技术上,我们基础好的带动基础差的,尽可能的让他学会东西,基础好的也不断提升自己,用更高端的技术来实现功能。通过这次竞赛,我们三个都提高了很多,这次的萌芽计划也为我们日后的科创道路打下了厚实的基础。当然,我们也有很多不足之处,比如说粗心大意,导致我们浪费了很多工程和时间,还有因为懒惰,是我们没有做到尽善尽美。但有了这次经历,我想我们三个在以后会做的越来越好。20附录附录一整体电路图21附录二PCB封装图附录三部分程序INCLUDEINCLUDE“KEYPADH“INCLUDE“CRY1602H“INCLUDE“子程序集H“/引用外部变量的声明EXTERNUNSIGNEDCHARKEY_VALEXTERNUNSIGNEDCHARKEY_FLAGEXTERNUNSIGNEDCHARBACK/宏定义(也许不这么叫,看二级)TYPEDEFUNSIGNEDCHARUCHARTYPEDEFUNSIGNEDINTUINTUCHARCODE_C100UCHARCODE_D100,1,2,3,4,5,A,A,A,A/这是密码哦/主函数/VOIDMAINVOID22UCHARTISHI“PASSWORD“UCHARPROX“XINXINUCHARPROX_1“JUNJUN“UCHARFIN“THIEFTHIEF“WDTCTLWDTPWWDTHOLD/关闭看门狗LCDRESET/初始化LCDINIT_KEYPAD/初始化键盘端口P6DIR|BIT7/蜂鸣器P67P6OUT|BIT7P2DIR|0XFF/P20红灯用于报警以及按键;P24绿灯用于解锁、开锁;P26蓝灯用于设置P2OUT|0XFFLOOPDISPNCHAR0,0,15,PROXDISPNCHAR2,1,12,PROX_1/嘿嘿DELAY400MSLCDWRITECOMMAND0X01,1DISPNCHAR3,0,9,TISHI/显示提示文字CODE_CIN_1/子程序1向数组C输入十位数字字母组合(最开始输入密码时)COMP/子程序2逐个比较数组C和数组D的元素DELAY200MS/用于显示延迟,否则看不到最后一位UNLOCK_J/对比较结果进行分析判断,然后运行IFBACK3REF1BREAKCASE15BUZ_O/清除程序LCDWRITECOMMAND0X01,1DISPNCHAR3,0,9,CLEAR_1FORI0,P0PINCLUDE“KEYPADH“INCLUDE“CRY1602H“VOIDCOMPVOIDUINTPUINTS,QFORP0P9PSCODE_CPQCODE_DPIFSQA1ELSEA0BREAK/一个标志位,到时好比较/开锁程序函数名UNLOCK_J返回值无功能比较输入判断密码是否正确,然后进行提示/VOIDUNLOCK_JVOIDUCHARTISHI_0“WELCOME“UCHARTISHI_1“ERROR“UCHARTISHI_2“A_UNLOCKB_SET“UCHARTISHI_3“UNLOCK“30UINTP,I,RIFA1/密码正确LCDWRITECOMMAND0X01,1DISPNCHAR3,0,10,TISHI_0DISPNCHAR0,1,15,T

温馨提示

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

评论

0/150

提交评论