基于单片机的遥控电子密码锁的设计--毕业论文.doc_第1页
基于单片机的遥控电子密码锁的设计--毕业论文.doc_第2页
基于单片机的遥控电子密码锁的设计--毕业论文.doc_第3页
基于单片机的遥控电子密码锁的设计--毕业论文.doc_第4页
基于单片机的遥控电子密码锁的设计--毕业论文.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

本 科 毕 业 设 计题 目: 基于单片机的遥控 电子密码锁的设计 学 院: 物理与电子信息工程学院 专业: 电子信息工程 班级: 姓 名: 学 号: 指导老师: 完成日期: 物理与电子信息工程学院本科毕业设计(论文)诚信承诺书 1、本人郑重地承诺所呈交的毕业设计(论文),是在指导教师 老师的指导下严格按照学校和学院有关规定完成的。2、本人在毕业论文(设计)中引用他人的观点和参考资料均加以注释和说明。3、本人承诺在毕业论文(设计)选题和研究过程中没有抄袭他人研究成果和伪造相关数据等行为。4、在毕业论文(设计)中对侵犯任何方面知识产权的行为,由本人承担相应的法律责任。 毕业论文(设计)作者签名: 班级: 学号: 年 月 日目 录摘 要IAbstractII1 引言11.1 锁具的国内外现状11.1.1 机械锁11.1.2 电子锁11.2 遥控电子密码锁简介11.3 研究思路21.3.1 遥控方式的选择21.3.2 按键编码21.3.3 主控器件21.3.4 密码的存储21.3.5 安全性控制31.3.6 功耗控制32 系统硬件设计42.1 遥控器的硬件结构42.1.1 按键编码电路的设计52.1.2 遥控编码芯片的选择62.1.3 遥控发射模块72.2主控系统的硬件结构72.2.1 电源模块72.2.2 主控单片机的选择82.2.3 遥控接收解调电路102.2.4 遥控解码芯片的选择112.2.5 遥控接收模块122.2.6 震动检测模块132.2.7 发声模块142.2.8 开锁执行模块的设计142.2.9 串口通信162.3 整机的制作工艺173 系统软件设计183.1 单片机程序设计183.1.1 程序总体结构流程183.1.2 停机处理程序193.1.3 开关门信号中断处理程序193.1.4 振动检测中断处理程序203.1.5 定时器中断处理程序203.1.6 遥控接收有效中断处理程序203.1.7 串口接收中断处理程序233.2 上位机软件233.2.1 状态栏233.2.2 开锁功能区243.2.3 更改密码区243.2.4 忘记密码区243.2.5 其它功能264 系统性能测试284.1 震动检测模块的信号测试284.2 主控电路板功耗测试294.3 各项功能测试305 结论31致 谢32参考文献33附件1 系统印制电路板布线图34附件2 系统印制电路板成品实物照36附件3 整机成品实物照37附件4 单片机 main( ) 主程序38附件5 单片机中断处理程序55附件6 上位机主程序68摘 要目前市场上很少有遥控的电子密码锁,大多使用本地固定键盘作为密码的输入设备,固定键盘的电子密码锁由于键盘在锁具外面没有什么保护,很容易被恶意破坏,而且使用固定键盘输入密码时不具备隐蔽性,极易被旁人看见或偷拍,使得密码泄露,降低了密码锁的安全性。为了克服固定键盘电子密码锁的不足,本文详细地介绍了一种遥控电子密码锁的基本结构、工作原理及系统性能。该遥控电子密码锁是基于STM8单片机的智能锁具,具备遥控输入密码或更改密码、震动检测、系统报警并自锁、开关锁的功能;如果配合上位机软件,能对系统进行高级设置管理操作,还能在忘记密码的情况下,重置密码。经过实际测试,该遥控电子密码锁的各项功能均已达到设计要求,并具有低功耗、软硬件完善、安全性高以及使用方便的特点。关键词:遥控,密码锁,STM8,单片机AbstractCurrently, there are few remote controlled electronic code locks on the market, mostly are using local fixed keyboard as its password input device. For the keyboard is outside of the lock without of protection, it is easy been destroyed in malicious, and inputting password with fixed keyboard is exposed in public, standbys can peep the password, thus, leaking password reduces the safety of the lock.In order to solve the shortage of fixed keyboard electronic code locks, this paper introduces a remote controlled electronic code lock which is mainly about its basic structure, working principle and system performance. It is a smart lock based on a STM8 series microcontroller, its functions are: remote input password or change password, shock detection, system alarm and self locking, open or close lock, and if working with personal computer software, such advanced operations like manage or set the system are available, and also can reset password in the case of forgetting password. After the actual test, this remote controlled electronic code lock meets the design requirements while features low power, perfect software and hardware, high safety and convenient to use.Key Words: remote control, code lock, STM8, microcontroller371 引言1.1 锁具的国内外现状 日常生活中,锁具被大量地使用,小到抽屉锁、普通门锁,大到仓库锁、金库锁,锁具扮演了非常重要的角色,是人们有形财产的保护神。随着科技的进步及人们生活水平的提高,人们对锁具的要求也变得高了起来,既要安全可靠,又要方便实用,因此,市场上出现了各种形式,各种功能的锁具以满足人们的不同需求。虽然这些锁具品种繁多,各有特色,但就其结构而言总结起来也不外乎机械式和电子式的这么两种。1.1.1 机械锁机械式锁具应该是当前使用地最多的锁具,它具有历史悠久,结构简单,成本低廉,牢固,抗干扰能力好等优点,主要靠钥匙或者密码开启,缺点也比较明显:(1)机械式结构容易被破坏,维修起来不方便。(2)无匙开锁技术非常成熟,很容易被破解。(3)机械转盘式密码锁密码位数有限,编码量少,而且操作繁琐。(4)钥匙携带不便,还容易因丢失、忘带,带来许多麻烦。(5)技术含量不高,安全可靠性较差。1.1.2 电子锁针对机械式锁具的不足,电子式锁具因此应运而生。电子锁相对于机械锁具来说有很大的不同,开锁方式新颖、奇特,科技含量较高,就其开启方式有密码、磁卡、IC卡和指纹等方式。与机械式锁具相比,电子锁有无与伦比的优势,能够很好地克服机械式锁具的缺陷,以下是电子锁的主要优点:(1)开启方便,使用简单。(2)密码或识别标志唯一,且信息量大,不容易破解。(3)不允许多次尝试开锁。(4)可以有报警系统,具有一定的威慑力1,2。(5)方便更换验证方式,提高安全性。(6)可以根据实际情况扩展各种功能,如监控、联网等功能3。当然,电子锁也有它的弱点,电源和抗干扰等问题需要处理妥当,这关系到电子锁的实际使用的可靠性。相信随着电子技术的不断发展,电子锁在性能和技术上都能有很大的进步,甚至可以取代机械锁。1.2 遥控电子密码锁简介遥控电子密码锁是电子锁的一种,依靠遥控输入密码的方式进行开锁操作。和普通固定键盘式的电子锁相比,遥控操作可以防止输入密码时密码被以偷窥或拍摄等手段窃取,操作者可以在隐蔽处操作,还可以避免固定键盘被恶意破坏,致使主人知道密码也无法开启的情况发生。目前遥控电子密码锁一般有以下几种主要功能:(1)能够在几米范围内进行遥控操作。(2)具有固定键盘输入或LCD液晶显示。(3)语音提示或报警功能。(4)如果三次输入密码错误则启动自锁并报警。(5)修改密码。(6)密码掉电不丢失。1.3 研究思路本论文课题是要求完成一个基于单片机的遥控电子密码锁,具有遥控开锁及更改密码的基本功能,研究将从以下几个方面展开:1.3.1 遥控方式的选择既然是遥控电子密码锁,遥控系统是重要的一部分。目前,遥控主要可以分为红外遥控4,5和射频遥控6,7这两种。红外遥控系统简单,调试方便,功耗低,但距离近,有角度和方向问题。射频遥控电路主要采用OOK振幅调制及超再生式解调方案,还有些使用了较为新兴的zigbee无线通信技术8。较红外遥控方式而言,射频遥控的电路较为复杂,调试困难,功耗较高,但距离远,可以绕射,能在有遮挡物的情况下进行遥控。经过比较,本次设计中选用了射频遥控的方式。1.3.2 按键编码 对于遥控器的键盘,至少需要10个按键表示数字0-9,还需要功能键,这里用了12个按键,还有两个分别为“确定/开锁”键与“修改密码”键。共有12个按键需要进行编码才能方便发送键值,本课题中采用了二极管编码矩阵的方式,即按下一个键,就由二极管的排列方式确定出四位二进制的值,然后交由编码芯片调制无线信号发射出去。1.3.3 主控器件对于电子锁来说,主控器件的选择至关重要,它是整个控制系统的核心,关系到系统的稳定、运行速度和智能程度等方面。由于该电子锁系统的运算能力要求不高,普通的单片机都能胜任,可以选用目前仍普遍使用的51系列单片机,还可以选用可编程逻辑器件FPGA/CPLD9-11,对于本课题的研究选用了意法半导体公司生产的STM8系列单片机。 1.3.4 密码的存储当系统掉电时,密码需要有地方存储,一般将密码存在一片掉电非易失性EEPROM芯片上即可12,有些CPU自带EEPROM,对于没有EEPROM的CPU可以另外扩展一块芯片。由于此次选用的单片机内有EEPROM,因此可以不必过多地考虑密码如何存储的问题。1.3.5 安全性控制当连续3次输入错误的密码时,系统将自锁,不接受开锁操作,经过一段时间后,系统自动解锁,这样可以防止恶意试出密码。系统还有震动检测功能,当连续检测到有震动产生时,系统将发出一段时间的报警音,达到一定的震慑作用。1.3.6 功耗控制 由于遥控电子密码锁大多在空闲状态下,在设计整个系统时,始终贯彻着尽量降低功耗的思想。系统设有低功耗模式,在这种模式下,当没有任何操作的20s后,系统切断遥控接收模块的电源,单片机进入停机状态,以此来最大限度地降低待机时的功耗,当有检测到震动时,单片机被唤醒,遥控接收模块启动,系统又进入工作状态。2 系统硬件设计本次设计的遥控电子密码锁的系统结构框图如图2-1所示,主要可以分为遥控器和主控系统两大部分,接下来的内容也将从这两大部分分别叙述,简要地介绍各个模块的功能、原理及实现方法。键盘编码矩阵无线发射头头按键编码调制电池天线遥控器结构框图MCUSTM8S声音提示或报警音按键键值解码天线无线接收头震动检测开锁执行机构上位机通讯主控电路结构框图电源模块图2-1 遥控电子密码锁的系统组成框图2.1 遥控器的硬件结构遥控器的整体电路图如图2-2所示。遥控器使用一节12V的23A电池供电,在没有按键按下时,整个电路与电池并不接通,因此该电路的静态功耗为零,当有按键按下时,发射模块和编码芯片PT2262由按键和二极管接通电源,编码芯片PT2262根据D3D2D1D0和地址位编码,并通过发射模块发射出按键的编码信息。表2-1 按键键码分配表D3D2D1D0功 能D3D2D1D0功 能1100数字11000数字70111数字20011数字81110数字30101数字91001数字40001数字00110数字50010确定/开锁1010数字60100更改密码图2-2 遥控器电路原理图2.1.1 按键编码电路的设计遥控器上至少需要表示数字0-9的按键共10个,还要有几个功能按键,这里在设计中用到了两个功能按键,分别是“确定/开锁”键以及“修改密码”键,这样就有12个按键。在遥控器上这12个按键需要进行编码后才能方便发送键值,可是市面上很少有能对12位状态进行编码的芯片,而且芯片工作会消耗一部分电能,不太适合电池供电的电路。这里使用了一种利用二极管来编码按键键值的方法,这种方法与使用芯片相比它的优点是电路静态时不费电,工作时也只有微量的电能消耗在二极管的导通压降上,其缺点是电路结构稍显复杂,要用到较多的二极管。图2-2右上角部分即为二极管编码矩阵14电路,图中的二极管的型号全为1N4148小信号高速开关二极管,适用于电路中的单向导通和隔离,因此这里选用它是合适的。图中的每一个按键在按下时,都有一个确定的四位二进制码D3D2D1D0所对应,有二极管连接的这一位在按下时为高电平,其余都为低电平,由图2-2的二极管连接方法,可以得到各个按键在按下时D3D2D1D0的高低电平状态,其编码分配情况见表2-1(每一数据位高电平表示为“1”,低电平表示为“0”)。在得到按键编码键值后即可送入遥控编码芯片进行发射前的信号编码处理。2.1.2 遥控编码芯片的选择遥控器的按键编码要以串行的数据格式发射,因此需要有将按键的编码转换成串行数据格式的编码转换芯片。用以遥控编码的芯片有很多,目前用的最多的芯片型号为PT2262和HCS301,这两种芯片代表了两种编码形式,前者是直接编码,而后者采用了滚动编码的技术。因HCS301为滚动编码的形式,同一个按键每次按下的编码都不一样,具有很强的保密性,适用于保密性要求非常高的场合,并且能实现一键开锁的功能,但是其操作复杂,成本较高,不方便匹配新的遥控器。这里选用PT2262作为信息的编码芯片,主要的原因是其价格低廉、电路连接简单,是使用较为广泛的通用编码芯片,方便丢失遥控器后重新匹配新的遥控器。而且该芯片也具有一定的加密功能,可以选择最多12位的地址码,只有在接收解码芯片PT2272与之地址位相同时才能进行正确的通信。此外,该芯片还可以调整振荡电阻,有多组参考振荡电阻可供选择,在编码芯片和解码芯片的振荡电阻不匹配时,通信是有可能不正常的,这也在一定程度上增加了通信的安全性。遥控编码芯片PT2262是台湾普诚公司生产的一种CMOS工艺制造的低功耗、低价位的通用编码芯片,PT2262最多可以有12 位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441(即312)种地址码,PT2262最多可有6 位(D0-D5)数据端管脚,设定的地址码和数据码从17 脚串行输出,图2-3为PT2262的管脚图,表2-2为PT2262的管脚说明15。表2-2 PT2262的管脚说明名称管脚说 明A0-A111-8、10-13地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),D0-D57-8、10-13数据输入端,有一个为“1”即有编码发出,内部下拉Vcc18电源正端()Vss9电源负端()TE14编码启动端,用于多数据的编码发射,低电平有效;OSC116振荡电阻输入端,与OSC2所接电阻决定振荡频率;OSC215振荡电阻振荡器输出端;Dout17编码输出端(正常时为低电平)编码芯片PT2262的工作电路按照图2-2连接即可,只需要连接一个外部振荡电阻,设定好地址位,并给它供电就能将数据位D3D2D1D0上的信息和地址位编码成一串方波信号由第17管脚DOUT输出。图2-2中为了调试方便并没有给PT2262的地址位加上地址信息,而是默认的全部悬空状态,在实际使用时用户可以任意地选择地址位。 图2-3 PT2262管脚图 图2-4 315MHz发射电路图2.1.3 遥控发射模块遥控信号的发射可以是调幅、调频和调相的无线电调制方式,其中调幅的发射方式电路结构最为简单,而且适合于数字信号的发射,因此遥控发射模块选用了315MHz的On-Off Keying(OOK)射频发射电路,315MHz为无需许可的民用无线电频率,OOK则为满振幅调制的幅移键控模式(Amplitude Shift Keying, ASK),其电路原理图如图2-4所示。由于采用了315MHz的声表面稳频器件,电路具有极高的频率稳定性,大大提高了所发射信号的可靠性。经PT2262编码后的方波信号被输入DATA端,当信号为高电平时,三极管8050导通,经天线发射出315MHz的振荡信号波,当信号为低电平时,三极管8050截止,电路停止震荡,表现为无发射信号。在本次设计中,使用了现成的无线发射模块,具有体积小、电路连接简单、性能稳定可靠的特点。2.2主控系统的硬件结构2.2.1 电源模块电源是电子产品的重要组成部分,它的好坏直接影响到产品的可靠性。在本次设计中,主控系统板的供电可由三种电源供电:USB的5V供电,电池的4.5V供电和220V的市电供电,这样能够有效地避免因某一路电源损坏或不可用致使整机不能工作的情况发生。电源模块的电路原理图如图2-5所示。正如图2-5所示,USB供电部分用到了一个USB的A型母头插座,正极串联了一个1N4007二极管给整个电路板供电;电池供电部分是将3节五号电池串联再串联一个1N4007二极管;220V市电供电部分先使用变压器将220V的交流电转换成15V的交流电,然后由整流桥整流成直流电,最后由一片7805三端稳压集成芯片稳压成5V输出。图中三种供电方式都串联了一个1N4007的整流二极管,作用是防止接错正负极给电路造成损坏,还有当由电池供电时,插入USB供电或市电供电时,可以自动切断电池供电部分的电源输入。这里的二极管都选用了1N4007这一型号的二极管,该二极管具有高达1A的正向导通电流及1000V的反向耐压,在此处使用它完全能够满足设计的需求。三端稳压集成电路7805最高的输入电压为36V,选用220V转15V的变压器在其承受范围之内,而且7805的最大输出电流为1A,也能满足整个系统的供电需求。图 2-5 主控系统板的电源模块电路原理图2.2.2 主控单片机的选择主控器件有很多种单片机可供选择,鉴于本次设计对单片机的要求不高,也不需要很强的运算能力,因此将单片机限定于低端运用的8位单片机。表2-3对目前市场上三种较为流行的单片机进行了比较,可见STM8S单片机虽然开发工具价格较高,但是无论从其功能还是零售价以及方便调试等方面看都具有优势。表2-3 三种单片机的比较STC89C52RCC8051F310STM8S103K3内 核51核51核STM8内核封 装LQFP44LQPF32LQPF32FLASH(字节)8K16K8KRAM(字节)51212801024EEPROM(字节)5K无640通 信串口串口/I2C/SPI串口/I2C/SPI/CANADC无10位25通道ADC10位4通道ADC内置时钟无有有在线调试不支持支持支持开发工具价格ISP下载线10元左右USB Debug Adapter110元左右ST-Link120元左右零售价3元左右8元左右3元左右本次设计选择的单片机为意法半导体公司生产的STM8S系列的8位单片机,使用的具体型号为STM8S103K3T6C,这种单片机刚推出不久,内核先进,不容易被破解,而且价格便宜,内部资源丰富,是传统51系列单片机很好的替代产品。STM8系列的单片机分为STM8A、STM8L和STM8S三大系列。STM8A系列为应用于汽车领域的单片机系列;STM8L为超低功耗系列;STM8S则为针对工业应用和消费电子开发的微控制器系列。这里选择了STM8S系列的基础型STM8S103K3T6C是因为价格低廉,内部资源丰富并且够用,而且供电电压范围宽泛,能够适应小范围的电压波动。 STM8S103K3T6C这款单片机的主要特性为16:1. 内核16MHz的高级STM8内核,具有3级流水线的哈佛结构2. 存储器程序存储器:8K字节Flash,10K次擦写后在55C环境下数据可保存20年数据存储器:640字节真正的数据EEPROM,可达30万次擦写RAM:1K字节3. 电源管理2.95到5.5V的工作电压;低功耗模式(等待、活跃停机、停机)4. 时钟灵活的时钟控制,4个主时钟源用户可调整的内部16MHz RC振荡器,带有时钟监控的时钟安全保障系统5. 中断带有32个中断的嵌套中断控制器6个外部中断向量,最多27个外部中断6. 定时器高级控制定时器:16位,4个捕获/比较通道,3个互补输出,死区控制和同步16位通用定时器:带有3个捕获/比较通道(IC、OC 或 PWM)带有8位预分频器的8位基本定时器自动唤醒定时器2个看门狗定时器:窗口看门狗和独立看门狗7. 通信接口带有同步时钟输出的UART,智能卡,红外IrDA,LIN主模式接口SPI接口最高到8Mbit/sI2C接口最高到400Kbit/s8. 模数转换器10位,1LSB的ADC,最多有5路通道,扫描模式和模拟看门狗功能9. I/O端口32脚封装芯片上最多有28个I/O,包括21个高吸收电流输出非常强健的I/O设计,对倒灌电流有非常强的承受能力10.开发支持单线接口模块(SWIM)和调试模块(DM),可以方便地进行在线编程和非侵入式调试由STM8S103K3T6C单片机所构成的最小系统电路原理图如图2-6所示,图中还标示了整个系统用到的管脚与名称,方便查看各个模块的管脚分配情况。单片机STM8S103K3T6C共有32个管脚,采用LQFP32的贴片封装,具有很小的体积,能够缩减最终成品的电路尺寸。而且要使它能够工作,只要有复位电路、晶振电路以及几个电容就行,可见使用这款单片机,外围辅助元器件可以很少,能大大地简化电路的连线。此外这款单片机可以由内部的16MHz高速RC振荡器作为系统时钟,这样,外部晶振电路也可以不接就能工作。在本次设计中,没有使用外部的晶振电路,这是因为整个系统并不需要有非常准确的时钟系统,而且可以降低成本,简化电路。图2-6 STM8S103K3T6C单片机最小系统电路原理图2.2.3 遥控接收解调电路接收遥控信号的电路,可以采用超外差式,还可以是超再生式的接收电路。超再生式接收机相比超外差式的接收机具有电路简单、成本低、灵敏度高、功耗小的特点,但是有抗干扰能力差、频率稳定性差等缺点。鉴于遥控电子密码锁对遥控接收系统的要求并不太高,并考虑到系统的成本问题,因此本次设计采用了典型的超再生接收电路来解调高频遥控信号,并且也同样使用了与发射模块配套的成品接收模块,这样不仅使得最终电路体积大为减小,还降低了调试电路的工作量,接收也更加稳定可靠。遥控接收模块的电路原理图如图2-7所示,这是一个非常典型的超再生接收电路,其主要原理为:图中由Q1高频三极管组成的一级电路的作用是进行频率选择以及对微小信号的初步放大,天线旁边的LC回路则起到了滤除无用频率信号的作用;三极管Q2与其周边的一些元器件组成了超再生高频接收电路,通过调整可调电感L2可以微调接收电路的接收频率,使它能够严格地对准发射机的发射频率,这样才能得到较好的接收效果。当天线旁的电感L1通过天线感应接收到电波时,已调的电波信号经过三极管Q1调谐并预放大后,再由三极管Q2对调制信号进行检波,最后送入运算放大器LM358内其中一个运放进行放大。最终信号的检波解码工作是由LM358内另一个运放组成的比较器来完成的,根据最后检波放大后的噪声电压的平均值与2.5V(在5V供电下,R11和R12分压)的比较电压比较,用比较器比较得出高低电平的变化信号,从LM358的第1脚输出,交由解码芯片即可完成整个接收解码工作。图2-7 典型的超再生接收电路图2-8 PT2272管脚图2.2.4 遥控解码芯片的选择既然遥控编码芯片已选择了PT2262,那么遥控信号的解码工作就只能交由一片遥控解码芯片PT2272来完成。遥控解码芯片PT2272也是由台湾普诚公司生产的和遥控编码芯片PT2262配套使用的芯片,其电气特性与PT2262相似,它能将接收到的方波信号解码成四位的高低电平信号供单片机读取使用。PT2272分为M型和L型两种型号,它们的区别在于解码有效后的数据输出方式,M型的PT2272解码有效时数据位的值为瞬态值,L型的PT2272解码有效后的数据位输出为锁存方式,直到下一次解码有效才更新为新值。表2-4为PT2272的管脚功能说明,其管脚分布图如图2-8所示17。表2-4 PT2272的管脚功能说明名称管脚说 明A0-A111-8、10-13地址管脚,用于进行地址编码,可置为“0”,“1”,“f”(悬空),必须与2262一致,否则不解码D0-D57-8、10-13地址或数据管脚,当作为数据管脚时,只有在地址码与2262一致,数据管脚才能输出与2262数据端对应的高电平,否则输出为低电平,锁存型只有在接收到下一个新的数据时才能转换Vcc18电源正端()Vss9电源负端()DIN14数据信号输入端,来自接收模块输出端OSC116振荡电阻输入端,与OSC2所接电阻决定振荡频率OSC215振荡电阻振荡器输出端VT17解码有效确认,输出端(常低)解码有效变成高电平(瞬态) 遥控解码芯片PT2272从它的第14管脚DIN接收由遥控接收解调模块处理后的编码方波信号,如果接收后的编码信号经解码后的发射机地址信息与PT2272配置的地址信息相同则将有效数据在数据位D3D2D1D0输出,否则不予以作出任何响应。此外PT2272芯片有较好的数据差错控制,经过多次判断地址信息后才输出有效数据,确保输出数据的正确性。2.2.5 遥控接收模块电子密码锁的遥控接收模块由一片PT2272-L4和315MHz超再生遥控接收头及一些外围电子元器件组成,具有电路简单,调试方便的特点,其电路原理图如图2-9所示。由图可知315MHz无线遥控接收头解调后的方波信号送入PT2272的数据输入端DIN,PT2272解码有效后VT端输出高电平,通知单片机读取数据位D3D2D1D0上的解码有效数据。在这里值得注意的是解码芯片PT2272和遥控接收头的地并不是直接连到电源地,而是接到单片机的P_CON端,还有一个跳线帽可以选择直接到地。这样做的目的是可以起到功耗控制的作用,因为无线接收功耗较大,而系统大多处于空闲的待机状态,经过这样连线后可以通过跳线帽选择是否将遥控接收模块的供电交由单片机管理,以达到降低整体功耗的目的。图2-9 遥控接收模块电路原理图2.2.6 震动检测模块电子密码锁具有振动检测功能,当有连续多次检测到震动时,系统将发出报警音,达到一定的震慑作用。震动检测模块还能在单片机处于停机的低功耗模式下,通过敲击锁具的任何地方来唤醒单片机进入工作状态。图2-10为震动检测模块的电路原理图18。为了能检测到震动信号,使用了一片压电陶瓷即蜂鸣片作为震动的检测传感器。压电陶瓷具有正压电效应和逆压电效应两种特性,正压电效应就是给压电陶瓷通电,压电陶瓷能产生机械振动,这就是蜂鸣片的发声原理;而逆压电效应则与正压电效应刚好相反,当给压电陶瓷施加压力时,压电陶瓷能产生微弱的电能。这里利用了压电陶瓷的逆压电效应,即压电陶瓷将震动机械能转换为电能,然后将这一微小的电能变化通过由两个NPN型的9014三极管组成的放大电路将震动信号放大成一系列的脉冲信号,再交由单片机处理震动事件。在图2-10的电路中,采用了两级放大的方式,由三极管Q6组成了第一级放大,主要是对由蜂鸣片因机械振动产生微弱的电能信号进行预处理和预防大,并由电容C12隔离了直流信号,保证进入三极管的信号为由蜂鸣片产生的微弱的交流电能信号;三极管Q7为第二级放大,使信号有一定的振幅强度,方便单片机处理。最后的二极管和电容是为了调整震动检测的灵敏度,防止过快地触发震动。 图2-10 震动检测模块电路原理图 图2-11 发声模块电路原理图2.2.7 发声模块当系统有接收到遥控按键时,将会有一声短促的按键提示音;当密码错误或密码正确时也会有相应的一段提示音;当有报警事件发生时,则会有报警音产生,这些声音都交由发声模块产生。发声模块由一个9014三极管和一个蜂鸣器组成,其电路原理图如图2-11所示,单片机的蜂鸣信号控制9014三极管的导通与截止,这样就能使蜂鸣器发出指定的声音,图中的电阻是为了防止流入三极管基极的电流过大而损坏三极管。2.2.8 开锁执行模块的设计 执行开锁的机械动作方式有多种,但使用地较多的方式归纳起来有两种,一种是使用电磁铁吸引铁质门栓开锁;还有一种是驱动电机带动门栓开锁。使用电磁铁开锁的方式需要有较高的电压和较强的电流才能很好地将铁质门栓吸引开来,而且保持开锁状态不能断电,这会消耗很大的一部分电能,不适合于要求低功耗的场合;而使用电机带动门栓相比使用电磁铁的方式较为节能,电机可以选择微型小电机,不需要高电压和强电流,通过齿轮减速增加力矩,拉力可以很强,并且保持开锁状态由于有齿轮卡位,电机可以完全断电。综上所述,开锁执行模块选择电机驱动的方式较为合适。当输入的密码正确需要开锁时,系统将驱动电机打开门栓,这样就可以开门了。开锁的机械部分示意图如图2-12所示,电机驱动蜗杆使得齿轮转动,齿轮绕着轴心旋转,拉动门栓向右运动,当门栓完全脱离门框时,门体就可以被打开;需要上锁时,电机反向转动,门栓在两边的弹簧牵引下,复回原位,门就被栓住,无法打开。图2-12 开锁操作的机械示意图电机的驱动可以采用专用的电机驱动芯片,或用分立元器件自己搭建,考虑到专用的电机驱动芯片较贵,设计中的参数要求并不高,并且分立元件组成的电机驱动电路也不复杂,因此决定使用中等功率的三极管自己搭建电机驱动电路。图2-13为电机的驱动电路原理图,这是一个普遍使用的H桥驱动电路,主要由两个NPN型三极管8050和两个PNP型三极管8550组成。当MOTOR+由单片机管脚出高电平,MOTOR-由单片机管脚出低电平时,三极管Q2和Q5导通,Q3和Q4截止,这样通过直流电机的电流方向为从左至右,电动机转动;当MOTOR+由单片机管脚出低电平,MOTOR-由单片机管脚出高电平时,三极管Q3和Q4导通,Q2和Q5截止,通过直流电机的电流方向为从右向左,电动机相对于前者反向转动;当MOTOR+和MOTOR-同时为高电平或同时为低电平时,没有电流流过电动机,电动机不转动。由于电动机是感性的负载,在突然关断电动机时,会有感应电流产生,而该感应电流无处泄放则会产生很大的电压,该电压足以损坏三极管,因此在每一个三极管旁都设有续流二极管,防止产生高压。图2-14为关门或开门信号的判断电路,用到了一个常开干簧管,常开干簧管的特性是在没有磁铁靠近的时候内部断开,电路不接通,只有在它靠近磁铁的时候,内部闭合,即电路导通。这里将一个干簧管和电阻串联在正负电源的两端,并安装在图2-12中的门体上,并将一块磁铁安装在相对于干簧管的门框上,两者应该尽量靠近而不影响门的正常开关动作。经过这样安装后,在门处于关闭的状态时,磁铁靠近干簧管,干簧管导通,此时干簧管和电阻中间的电位为高电平,在门打开后,磁铁和干簧管分开,干簧管断开,此时干簧管和电阻中间的电位是低电平,将干簧管和电阻中间的电位DOOR信号送给单片机处理,如果DOOR信号由高变低,那么单片机判断为开门,如果DOOR信号由低变高,单片机则判断为关门信号。 图2-13 电机驱动电路原理图 图2-14 开/关门判断装置示意图图2-15 MAX232芯片管脚分布及连接方法2.2.9 串口通信为了丰富系统的功能,并能够充分地利用单片机内部资源,本次系统的设计中加入了串口通信功能。通过串口将单片机与电脑相连,利用电脑友好的图形操作界面,可以方便地对整个遥控电子密码锁进行高级的管理与设置操作。STM8S系列单片机有串口通信管脚,将管脚通过一片MAX232串口通信芯片连接即可与电脑实现串口通信的功能。MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的单电源电平转换芯片,其主要特点为19:1、符合所有的RS-232C技术标准2、只需要单一 +5V电源供电3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V- 4、功耗低,典型供电电流5mA5、内部集成2个RS-232C驱动器和接收器7、高集成度,片外最低只需4个电容即可工作由MAX232构建的串口通信电路的连接可以如图2-15所示,左边为管脚分布图,右边为内部等效框图及外部电容的连接方法。2.3 整机的制作工艺为了使整个电路的元器件排布更加合理紧凑,也为了增强系统工作的可靠性,整机的电路采用印制电路板制作。印制电路板使用“Altium Designer Winter 09”这一软件绘制而成,在排布元器件和连接线上充分考虑到了制作印制电路板的工艺要求并符合一定的电磁兼容性规则,使得最终的印制电路板美观大方、工作可靠。印制电路板最终的实际尺寸和元器件布线图请参见附录1。3 系统软件设计软件是智能电子产品的灵魂,好的软件能在一定程度上弥补硬件设计的不足,还能提高系统的可靠性和智能化水平。本章将分为两个部分展开,一是由单片机运行,用来控制硬件与处理信号的下位机程序;另一个则是由个人电脑运行,用以辅助管理系统的上位机软件,两者通过串口通信的方式交换信息。3.1 单片机程序设计单片机的程序使用C语言风格编写,采用ST公司提供的STM8S系列单片机的官方固件库STM8S_StdPeriph_Lib_V2.0.0,编译及调试软件为Iar公司的STM8集成开发环境。3.1.1 程序总体结构流程 图3-1为单片机程序运行的总体流程图。首先是上电复位,单片机开始配置资源参数,初始化重要的寄存器;接着是在EEPROM的功耗控制模式标志字节中读取上一次设置的功耗控制模式;然后再在EEPROM的锁具开关状态标志字节中读取锁具的开关状态;完成以上操作后,向上位机发送已就绪消息,通知上位机可以对系统进行操作;最后是处于循环等待状态,不停地判断是否需要停机,在这种状态下可以处理各种事件中断的应用程序,这些中断处理模块如图3-1所示。图3-1 单片机程序总体流程图3.1.2 停机处理程序当将系统设置成低功耗模式时,在系统没有任何外部操作的20s后,单片机将切换到停机模式。在单片机停机前,先将一些外设关闭,单片机管脚配置为浮空输入模式,然后单片机执行停机操作;当系统有检测到振动信号时,单片机被外部中断信号唤醒,恢复停机以前的操作,这样以后系统又处于待机状态,如此循环往复,具体的程序为:/停机处理程序及唤醒处理程序片段if(LOWPOWER=1&LowPowerEnable=1)/有低功耗请求并且已使能低功耗模式/关闭PT2272中断所连接的端口中断配置,防止悬空引起误触发GPIO_Init(GPIOE,GPIO_PIN_5,GPIO_MODE_IN_FL_NO_IT);GPIO_WriteHigh(GPIOD,GPIO_PIN_0); /切断无线接收模块电源,系统处于低功耗模式GPIO_WriteLow(GPIOF,GPIO_PIN_4);/关闭指示灯BEEP_Cmd(DISABLE);halt(); /STM8停机指令,系统处于低功耗模式/被外部中断唤醒,从此处开始继续执行GPIO_WriteHigh(GPIOF,GPIO_PIN_4);/开启指示灯GPIO_WriteLow(GPIOD,GPIO_PIN_0);/开启无线接收模块电源,系统有较高的功耗/恢复PT2272中断所连接的端口中断配置GPIO_Init(GPIOE,GPIO_PIN_5,GPIO_MODE_IN_FL_IT);LOWPOWER=0; /清除请求低功耗标志3.1.3 开关门信号中断处理程序由第2.2.8小节可知,当门被打开时,信号DOOR为从高电平向低电平转变的下降沿信号;当门被关闭时,信号DOOR为从低电平到高电平的上升沿信号。因此,负责开关门信号检测的单片机管脚被配置为能够同时捕获上升沿信号与下降沿信号。在单片机检测到开关门信号后,进入开关门信号中断处理程序。对于开门信号,标记开门状态标志位,向上位机发送开门消息;对于关门信号,标记关门状态标志位,驱动电机将门栓复位,最后向上位机报告门已关好。3.1.4 振动检测中断处理程序在震动检测中断处理程序中,每一次震动就进入一次中断进行处理。进入震动检测中断后,先将震动次数加1,然后判断振动次数是否大于3次,大于3次就发出报警音,小于3次则发出相应的警示音。在上一次震动和本次震动时间间隔大于20s后,将振动次数清零,这样就能达到在短时间内连续多次震动后会报警,偶尔无意的震动不报警的功能。3.1.5 定时器中断处理程序定时器中断处理程序部分的工作主要是记录操作时间和定时更改蜂鸣器的发声频率。在低功耗模式下,系统20s无操作停机的计时和震动检测功能在20s内连续检测到震动的计时都由STM8S单片机内同一个8位的基本定时器完成。系统只开启了一个8位的基本定时器的原因是,16位的计时器功耗较大,功能也很多,而系统只需要一个简单的计时标准即可,因此一个8位的基本定时器足矣。定时器被配置为200ms进入一次中断,同时累加一个16位的变量作为计时标准,将该变量和先前已记录的操作时间作差即可知道已过去了多少时间,低功耗模式下无操作时间和震动间隔时间就能以此为依据来判断。定时器中断的还有一项作用是在每次进入中断时判断是否需要切换蜂鸣器的发声频率。在STM8S系列单片机中,已经有了一个硬件蜂鸣器控制器,能够产生1KHz,2KHz和4KHz的三种频率输出的方波,只要选择输出频率即可。当进入定时器后,判断需要发出的提示音,然后根据该种提示音的频率切换表定时切换蜂鸣器的发声频率就可以产生需要的提示音效。3.1.6 遥控接收有效中断处理程序 遥控接收有效的中断处理程序比较复杂,它

温馨提示

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

评论

0/150

提交评论