版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于射频指纹模块的单片机密码锁设计中文摘要 -10-摘要:基于单片机设计的电子密码锁的思路来自于生活中的门锁,当下农村等部分地区所用的门多是防盗门,安全性很高,但对于老年人或幼童来说操作不易,也有由于丢钥匙而导致无法出入的隐患。本设计采用以STC89C54单片机作为主控核心,RFID射频模块采集IC卡信息,AS608指纹模块实现指纹识别矩阵,辅助的硬件有矩阵按键模块,可以准确的发送录入及识别信号,继电器及小灯用来提示是否已经完成指令。管理员可以通过按键输入,指纹识别,IC卡识别打开继电器,如果输入的信息错误液晶上就会进行提示,同时密码锁打不开、蜂鸣器会发出警报。另外管理员输入正确的密码后可进入管理界面,进行增加、删除IC卡信息、指纹管理、修改密码的操作。本密码锁优势在于功耗低于传统密码锁,操作更为简单,可运用于农村、工厂等地方。关键词:密码锁;射频模块;指纹模块;矩阵按键模块1引言1.1研究的背景和意义科技的日新月异,不断的进步,使人们对门锁的安全问题也看得越来越重要,那么该如何实现门锁的安全问题,也是重中之重。传统的门锁装置需要钥匙开锁,被盗的事情经常发生,且钥匙携带麻烦,一旦丢失或钥匙被盗,就要对门锁进行全部更换,这给人们带来了极大的不便和安全问题,目前,在我国的绝大部分密码锁中,使用最多的是机械锁,其次就是一些磁卡、1C卡或者密码锁等,这些门禁系统存在着易遗失或被伪造等问题,而密码则容易被遗忘。这些问题的存在使得门禁系统存在的极大的安全隐患,而且有如机械锁钥匙笨重携带不便等缺陷。21世纪是个信息大爆发的世纪,在生活中人们都会遇到各种身份识别认证,如:门禁系统、网络支付、各种网站账户登录等。因此,人们为了更好更准确的识别身份,尝试利用计算机技术和传感器技术解决这一问题。射频和指纹装置是对进出通道路口进行规范的管理,是解决政府,企业,家庭个人出入安全的重要方法。任何操作简单,可靠耐用的电子密码锁,都反映了高质素的人机界面的组成。本设计为一款指纹射频密码锁,兼具指纹、射频与密码识别。本设计的重心是个人的具体身份认证。而与传统的个人身份认证相比,其传统的方法(如钥匙等)更具有可伪造、假冒,而且不易携带等问题,对安全产生严重的隐患,已经不能够满足当今社会的需求。本设计采用的生物识别技术不容易被其它替代,也不容易仿造,不能被转让,很好的消除了这些问题。本设计的硬件采用了低功耗的设计,并且具备三种方式开锁,更加灵活便捷,适用于工厂,农村等多地,且对于老人孩童更为容易操作。1.2国内外研究现状随着教育信息化的发展,西方的电子锁的种类已经是相当广泛及技术上相对领先的局面,不仅在各个领域得到广泛应用,同时也推向全世界发展。我国明确提出了加快信息基础建设、推进数字化校园建设等战略。因此“智慧门锁”也将成为“数字化”发展的必然趋势。当前我国在电子密码锁上技术和西方发达国家相比是落后。西方的电子锁的种类已经是相当广泛及技术上相对领先的局面,不仅在各个领域得到广泛应用,同时也推向全世界发展。从指纹锁出现到现在,经历过20多年的发展,目前在国内民用市场上占比仍很低,不足10%,有着大量的发展空间。有行业人士分析:“到2019年,全球智能锁具市场总值将从目前的2.61亿美元增长至36亿美元。中国有着巨大的市场空间分摊这个市场总值,如今开发的市场份额只是总市场需求的冰山一角。”现阶段国内指纹锁市场仍处于发展阶段,市场前景广阔。在未来几年内,随着消费者逐渐了解认识指纹锁,市场对于指纹锁的认可,指纹锁必将走入千家万户。我国现下的电子锁技术相当之前二十世纪中期的西方国家的技术水平,二十世纪后期,我国开始出现大量的电子集成电路,尤其是单片机的出现,为电子密码锁的提升很高的水平。通过网页和图书馆资料的翻阅电子密码锁的相关技术,设计的初步方案是矩阵按键密码输入、射频IC卡采集模块、12864液晶显示模块等结合。尽管电子密码锁的设计上还是有一些不足之处,但是整体的设计上安全性好,适用人群大,易操作,并且能够智能报警,这都是在不断研制的新成果。目前电子器件价格在不断减低,电子技术的不断更新,电子密码锁的成本降低了很多,多功能的电子密码锁能开发的市场会更大。1.3论文的主要内容和研究思路密码锁中采集模块有:指纹模块、矩阵按键模块和射频模块。指纹模块采用AS608指纹传感器,负责指纹的录入和比对。矩阵按键模块采用4*4矩阵按键,负责密码的输入。射频模块采用RFID射频技术,使用RC522芯片。三种模块对应密码锁的三种解锁方式:指纹、密码和IC卡识别。密码锁采用AT89C54单片机为主控核心。应用模块为:供电模块、报警模块、液晶显示模块和继电器模块。报警模块由蜂鸣器进行报警;液晶显示模块采用12864液晶,可显示管理模式以及密码输入的结果等等。供电模块可选用电脑USB、充电宝、手机充电器等对系统进行供电。继电器采用5V电源控制,对电磁锁进行控制。在密码解锁、IC卡解锁或指纹解锁时,如果密码不符合、非注册IC卡刷卡或非主人指纹时系统将蜂鸣器将报警提示;如果密码正确、注册IC卡刷卡或主人指纹时系统将继电器将吸合,LED灯亮起。进入到管理系统可进行添加编号指纹、删除编号指纹、注册IC卡、删除IC卡、修改密码的操作。论文的研究思路如下:(1)查阅资料阶段:查阅文献,设计系统的整体构架。(2)准备阶段:了解模块的运作原理,单片机的开发方式,进行软件和硬件的准备。(3)硬件设计:确定以54单片机为中央的处理器,对各模块电路进行设计。(4)软件设计:进行系统的流程设计和软件编制。(5)测试:测试密码锁的三种解锁方式以及管理模式。2基于单片机的密码锁整体设计2.1总体框架本文设计的主要模块有,采集模块:指纹模块、矩阵按键模块、射频模块。主控核心:AT89C54单片机。应用模块:供电模块、报警模块、液晶显示模块,继电器模块。系统的框架图如图2-1所示的打的阿达无法AT89C54AT89C54的打的阿达无法AT89C54AT89C54图2-1系统框架结构2.2主要硬件介绍2.2.1单片机的确定STC89C54RC单片机是宏晶科技推出的新一代高速、低功耗、超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。主要特性如下:增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051。工作电压:5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz用户应用程序空间为8K字节片上集成512字节RAM通用I/O口(32个),复位后为:P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RXD/P3.0,TXD/P3.1)直接下载用户程序,数秒即可完成一片具有EEPROM功能具有看门狗功能共3个16位定时器/计数器。即定时器T0、T1、T2外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒通用异步串行口(UART),还可用定时器软件实现多个UART工作温度范围:-40~+85℃(工业级)/0~75℃(商业级)PDIP封装STC89C54RC单片机的工作模式掉电模式:典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序空闲模式:典型功耗2mA正常工作模式:典型功耗4mA~7mA掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备。2.2.2指纹模块的确定指纹模块里面主要是DSP芯片,型号为AS608,加上外面的CMOS芯片,CMOS芯片主要是对指纹进行“照相”,生成指纹特征,如下图所示就是一个指纹模板,录入两次这样的指纹特征就能生成一个指纹模板。具体的工作过程是:扫描指纹(录入图像)、生成特征、合成模板(建立一个指纹库文件,成功录入一个指纹)。具体指纹模块介绍如下:此指纹模块型号是:AS608,此模块上里面包含了:1、光学头2、通信连接线3、DSP芯片4、稳压芯片5、FLASH芯片6、CMSO传感器等部件组成。主要技术指标:供电电压:DC3.8~7.0V背光颜色:绿色亮灯方式:长亮/闪烁供电电流:工作电流:<65mA峰值电流:<95mA指纹图像录入时间:<0.5秒窗口面积:14.5×19.4mm匹配方式:比对方式(1:1)搜索方式(1:N)特征文件:256字节模板文件:512字节存储容量:1000枚安全等级:3级(从低到高:1、2、3、4、5)认假率(FAR):<0.001%(安全等级为3时)拒真率(FRR):<1.0%(安全等级为3时)搜索时间:<1.0秒(1:500时,均值)上位机接口:UART(TTL逻辑电平)通讯波特率(UART):(9600×N)bps其中N=1~12(默认值N=6,即57600bps)2.2.3液晶的确定液晶是一种高分子材料,因为其特殊的物理、化学、光学特性,20世纪中叶开始广泛应用在轻薄型显示器上。液晶显示器的主要原理是以电流刺激液晶分子产生点、线、面并配合背部灯管构成画面。为叙述简便,通常把各种液晶显示器都直接叫做液晶。液晶体积小、功耗低、现实操作简单,但是它有一个致命的弱点,其使用温度范围很窄,通用型液晶正常工作温度范围为0°C~+55°C,存储温度范围为-20°C~+60°C,因此在设计相应产品时,务必要考虑周全,选取合适的液晶。12864系列液晶的引脚功能12864共有20个引脚,各引脚说明如下面表格所示。表2-2接口信号说明编号符号引脚说明编号符号引脚说明1VSS电源地11D4DataI/O2VDD电源正极12D5DataI/O3VO液晶显示对比度调节端13D6DataI/O4RS数据/命令选择端(H/L)14D7DataI/O5R/W读/写选择端(H/L)15PSB并/串选择H并行L串行6E使能信号16NC空脚7D0DataI/O17RST复位,低电平有效8D1DataI/O18NC空脚9D2DataI/O19A背光电源正极10D3DataI/O20K背光电源负极12864汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。2.2.4按键控制按键的闭合与否反应在电压上就是呈现出高电平或低电平,如果高电平表示断开,那么低电平则表示闭合,通过电平的高低状态的检测可确认键按下与否。为了确保CPU对一次按键动作只确认一次,并且防止干扰信号的影响,必需加入消除电平抖动的措施,下图2-5为按键抖动示意。消除抖动通常有硬、软硬两种方法,硬件消除抖动可采取双稳态电路或滤波消抖电路;软件消抖是在第一次检测到有键按下时,执行一段延时程序再确认该键是否仍闭合,如果还是闭合状态则确认该键按下,从而消除抖动和干扰影响。按键接口设计有两种方法,独立式按键和矩阵式键盘。独立式按键各键相独立,每个按键各接入一根输入线,只要检测输入线的电平就可以识别按键状态。这种方法电路配置灵活,软件结构简单,但每个按键需占用一根输入口。由于该设计方案IO资源浪费大。故此方法只适用于按键少或其他控制功能很简单的场合。由于本设计中的按键较多,考虑系统可靠性和键盘设计的简单所以采用矩阵按键。3硬件设计3.1STC89C54图3-1STC89C54引脚图VCC(40引脚):电源电压VSS(20引脚):接地P0口:为8位准双向I/O接口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1),可启动4个TTL负载。P1口:为8位准双向I/O接口,它的每一位都可以分别定义为输入线或输出线(作为输入时,口锁存器必须置1),可启动4个TTL负载。P2口:为8位准双向I/O接口,当它作为I/O接口使用时,可直接连接外部I/O设备;在接有片外存储器或扩展I/O且寻址范围超过256字节时,P2口可用做高8位的地址总线。P3口:为8位准双向I/O接口,还可以将每一位用于第二功能,第二功能的定义见表3-1。端口功能第二功能P3.0RXD(串行输入口)P3.1TXD(串行输入口)P3.2INT/0(外中断0)P3.3INT/1(外中断1)P3.4T0(定时/计数器0)P3.5T0(定时/计数器1)P3.6外部数据存储器写选通P3.7外部数据存储器读选通表3-1STC89C54P3口的第二功能XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。本设计的主程序主要由液晶显示、通讯子按键程序组成。主程序的工作流程描述如下:首先初始化各种硬件功能模块进行初始化。包括开机液晶显示、键盘扫描、指纹模块建立通信。3.1.1外部晶振的设计单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十,高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。STC89C54使用11.0592MHz的晶体振荡器作为振荡源,由于单片机内部带有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容容量一般在15pF至50pF之间。STC89C54的内部有一个用于构成振荡器的高增益反相放大器,通过XTAL1,XTAL2外部接上一片作为反馈元件的晶体,与C1和C2构成了并联谐振电路,使其构成自激振荡器,电容的值具有微调的作用,我们取30PF,具体的接法如图3-2外部晶振电路。图3-2外部晶振电路STC89C54的工作频率范围在0~24MHZ。我们选用的是11.0592MHZ的晶振,振荡周期约为1us机器周期约为0.1us,所以这个晶振可以满足这个系统的要求。并且晶振不能离单片机太远,不然使用外部晶振进行软件调试时就会发现找不到信号。3.1.2复位电路的设计单片机的置位和复位,都是为了把电路初始化到一个确定的状态,一般来说,单片机复位电路作用是把一个例如状态机初始化到空状态,而在单片机内部,复位的时候单片机是把一些寄存器以及存储设备装入厂商预设的一个值。单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位,当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。复位电路由按键复位和上电复位两部分组成。(1)上电复位:STC89系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。(2)按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。本系统采用的复位电路如图3-3所示。单片机在上电瞬间,RC电路充电,RST引脚端出现正脉冲,只要RST端保持两个机器周期以上的高电平,就能使单片机有效复位。其中电容选10uF、电阻选10K。图3-3复位电路3.2采集电路3.2.1射频模块射频模块采用RFID模块,在RFID模块检测到有IC卡读入时,IC卡将和射频模块产生共振,使其内部在电磁波的激励下,并且不断给内部的电容不断充电,使电容产生2V左右的电压,再将电压给单片机进行识别,使单片机读出IC卡卡号。如图3-4所示。图3-4RFID射频工作原理图3.2.2指纹模块本设计选择的指纹模块型号是AS608,指纹模块电路如下所示:图3-5指纹模块接口图指纹模块的操作是通过单片机的串口发送与接收命令完成的。我们先通过串口给指纹模块发送命令,然后等待指纹模块传回数据。再通过单片机进行数据的处理,从而判断命令有没有执行。主要为以下几条命令。1)开机的时候进行模块握手,从而判断模块是不是连接正常。命令如下:验证口令:指令包格式:2bytes4bytes1byte2bytes1byte4bytes2bytes包头模块地址包标识包长度指令码口令校验和0xEF01Xxxx01H07H13HPasswordSUM应答包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H表示口令验证正确;确认码=01H表示收包有错;确认码=13H表示口令不正确;2)生成指纹模板需要进行如下四个个命令:录入图像、生成特征、合成指纹模板、存储指纹模板。录入指纹图像指令:指令包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度指令码校验和0xEF01Xxxx01H03H01HSUM应答包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H表示录入成功;确认码=01H表示收包有错;确认码=02H表示传感器上无手指;确认码=03H表示录入不成功;图像生成特征Img2Tz指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytes包头模块地址包标识包长度指令码缓冲区号校验和0xEF01Xxxx01H04H02HBufferIDSUM应答包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H表示生成特征成功;确认码=01H表示收包有错;确认码=06H表示指纹图像太乱而生不成特征;确认码=07H表示指纹图像正常,但特征点太少而生不成特征;确认码=15H表示图像缓冲区内没有有效原始图而生不成图像;特征合成模板RegMode1指令:功能说明:将CharBuffer1与CharBuffer2中的特征文件合成特征模板。指令包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度指令码校验和0xEF01Xxxx01H03H05HSUM应答包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H表示合并成功;确认码=01H表示收包有错;确认码=0aH表示合并失败(两枚指纹不属于同一手指);存储模板Store指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytes2bytes包头模块地址包标识包长度指令码缓冲区号位置号校验和0xEF01XXXX01H06H06HBufferIDPageIDSUM应答包格式:2bytes4bytes1byte2bytes1byte2bytes包头模块地址包标识包长度确认码校验和0xEF01Xxxx07H03HxxHSUM注:确认码=00H表示储存成功;确认码=01H表示收包有错;经过以上四个步骤与命令,我们就录入了一个指纹,重复以上步骤,我们可以再录入其它指纹。3)指纹识别是先转换到识别模式,然后不断的探测是不是有指纹出现在光学采集头上。如果有则扫描指纹,与库里面的指纹进行比对,如果是就读出是几号指纹。模块会自动探测是不是有指纹,如果有则发送下面的命令:搜索指纹Search指令:指令包格式:2bytes4bytes1byte2bytes1byte1byte2bytes2bytes2bytes包头模块地址包标识包长度指令码缓冲区号参数参数校验和0xEF01Xxxx01H08H04HIDStarPagePageNumSUM应答包格式:2bytes4bytes1byte2bytes1byte2bytes2bytes2bytes包头模块地址包标识包长度确认码页码得分校验和0xEF01Xxxx07H07HxxHSUM注:确认码=00H表示搜索到;确认码=09H表示没有搜索;如果搜索到就返回相应的指纹号,如果没有就会返回0。3.3按键控制部分电路矩阵式键盘由行线和列线组成,按键位于行、列的交叉点上。当键被按下时,其交点的行线和列线接通,相应的行线或列线上的电平发生变化,单片机通过检测行或列线上的电平变化可以确定哪个按键被按下。矩阵键盘的检测方法有多种,常见的有:逐点扫描法、逐行扫描法、全局扫描法。在本实例中我们采用逐行扫描法来实现按键检测,其中P1.4-P1.7作为列线,P1.0-P1.3作为行线。识别过程如下:1、判断键盘中是否有键按下。设置所有行线为输出口,并输出低电平;设置列线为输入口,读取列线上的电平状态,只要有一列的电平为低,就表示有按键按下,并且被按下的键位于电平为低的列线与4跟行线相交叉的4个按键中,若所有列线都为高电平,表示没有按键按下;2、判断被按下按键所在的位置。在确认有键按下后(进行按键消抖处理后),接下来就是确定具体哪个案件被按下,方法是:依次将每根行线设置为输出口,并输出低电平(同时剩余行线输出高电平),然后逐列检查每根列线的电平状态,若某列为低电平,则该列线与设置为输出低电平的行线交叉处的按键就是被按下的按键。3、按键位置确定后,接下来就要给矩阵键盘中的每个按键进行编号,也就是进行按键编码,程序设计中常用计算法和查表法两种方式对按键进行编码,本实例采用计算法编码。图3-6按键电路3.4电磁锁的控制电磁锁利用继电器进行控制,继电器采用的是5V电源控制,注册过的的指纹和输入正确的管理员密码时才能驱动继电器控制电磁锁的开关。控制芯片通过I/O控制三极管驱动继电器的开关,同时用三极管将接受到电流放大,在大电流的作用下继电器的内部会会产生磁性吸合公共端,原来的连接处会与公共端断开,并且与另一处连接,吸合后会打开电磁锁,在门禁系统断电或者单片机输出高电平时,三极管也会同时断开,继电器公共端将原来连接,让电磁锁的锁舌处于弹出状态。图3-7继电器控制3.5电源模块电子密码锁工作需要的5V工作电源,供电的电压过高容易导致系统功能模块被烧坏,供电的电压过低会导致系统无法正常工作。如图所示的电源插头中2和3引脚是负极端接口,1引脚是正极端口,使用过程中为了稳定电压在电源正负极焊接个电容,提高电源电压稳定保证系统更加稳定于5V电源工作中,确保指纹模块、液晶模块、芯片等模块能在稳定电源中工作。如图3-8所示。图3-8电源电路3.6蜂鸣报警器智能门禁系统的报警提示功能选择用蜂鸣器,蜂鸣器在焊接电路的过程中需要连接三极管,需要由三极管进行电路的放大后,电流才够驱动蜂鸣器工作,三极管的焊接过程中要分清基极、集电极和发射极,当单片机通过发出高低电平去驱动三极管的工作,三极管才能放大电流去驱动蜂鸣器工作,如下电路所示,蜂鸣器与单片机的IO口通信。图3-9蜂鸣器的连接电路4软件设计4.1主程序流程及工作分析主程序流程图:图4-1主程序流程图4.2串口初始化由于使用串口和模块通讯,所以必须先约定好单片机和模块的串口工作速度和数据包格式。SCON是一个特殊功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志:表4-1SCON寄存器地址位位76543210字节地址:98HSM0SM1SM2SM3SM4SM5SM6SM7SCONSM0和SM1为工作方式选择位,可选择四种工作方式:表4-2串行口工作方式SM0SM1方式说明波特率000移位寄存器fosc/1201110位异步收发器(8位数据)可变10211位异步收发器(9位数据)fosc/64或fosc/3211311位异步收发器(9位数据)可变PCON中只有一位SMOD与串行口工作有关:表4-3PCON寄存器位76543210字节地址:97HSMODPCONSMOD(PCON.7)波特率倍增位。在串行口方式1、方式2、方式3时,波特率与SMOD有关,当SMOD=1时,波特率提高一倍。复位时,SMOD=0。发送数据共11-14个字节,前6个字节是模块的包头和模块地址为固定值,后5-8个字节是传输的模块的命令。同时根据外部晶振和系统默认的传输速率算出控制串口的各寄存器的初始值。指纹模块的通讯波特率(UART)的要求为9600bps,所以如果单片机要与指纹模块进行通信是,必须波特率一致,此时需要在编程时设置单片机的波特率为9600bps。串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制和中断控制。具体步骤如下:1、确定T1的工作方式(编程TMOD寄存器);2、计算T1的初值,装载TH1、TL1;3、启动T1(编程TCON中的TR1位);4、确定串行口控制(编程SCON寄存器);5、串行口在中断方式工作时,要进行中断设置(编程IE、IP寄存器)。下面是串口初始化程序:SCON=0x50;//UART方式1:8位UART;REN=1:允许接收PCON=0x00;//SMOD=0:波特率不加倍TMOD=0x21;//T1方式2,用于UART波特率,T0方式1TH1=0xFD;TL1=0xFD;//UART波特率设置:96004.3.1键盘管理程序设计流程键盘模块的工作流程图如图4-2所示:图4-2键盘程序流程图4.3.2LCD显示模块程序设计流程显示模块主要完成数据的显示功能,然后根据接受到指令显示相关的内容在屏幕上。图4-3显示程序流程图4.3.3指纹模块的通信程序设计流程串口通信数据发送、接收流程图如图4-4。图4-4串口通信数据发送、接收流程图4.4程序配置所需要的各种硬件已经选择好,单片机是电路中主控制器,由单片机对指纹模块及液晶、按键进行开发。首先应建立一系列的C语言子程序供主程序进行调用。本设计采用KeiluVision2对单片机编程。Keil可以编译C源码,汇编源程序,生成代码效率非常高,多数语句生成的汇编代码紧凑容易理解。Keil软件可以提供丰富的库函数和功能强大的集成开发调试工具,能够连接和重定位目标文件和库文件,创建HEX文件,调试目标程序。使用Keil软件的主要工作流程为:1、创建一个新工程,命名为“Fingerprint”,然后从器件库中选择单片机型号,因为其中没有STC89C54,所以选择与它完全兼容的Atmel89c52代替。2、新建text文件,命名为main.c,然后在Target1的子文件SourceGroup1中添加main.c文件。3、点击下图中箭头所指的图标,弹出如下对话框,在Xtal后输入9600,即单片机的工作频率为9600MHz。图4-5设置波特率4、点击Output标签,在CreateHEX前的方框内勾选,这样可以生成hex文件以便输入单片机中。5、用C语言创建源程序。6、修改源程序中的错误。7、测试,链接应用。5测试5.1实物图及测试方案在完成系统各模块设计后,需要对设计的功能进行逐一测试。因此以下是系统测试的具体内容。当给系统通电后,如图5-1所示。图5-1初始图测试方案:测试密码锁的三种解锁方式及报警系统测试密码锁的管理模块5.2按键设置如图所示,最上一排从左到右依次是*,0号,#,管理。第二排是7号,8号,9号,卡片1。第三排是4号,5号,6号,卡片2。第四排是1号,2号,3号,卡片3。图5-2按键图5.3管理模块按下管理按键,并输入正确密码后可进入管理界面,可以进行添加指纹,删去指纹,卡片管理,修改密码操作,如图所示图5-3管理界面5.4密码输入当输入正确密码,已录入卡片或指纹时,亮红灯,界面分别如图所示图5-4密码输入当输入错误密码,未录入指纹或卡片时,蜂鸣器报警,界面如图所示图5-4密码错误5.5测试结果分析经过测试,该密码锁可以稳定的、正常的运行。可以进行密码,指纹,射频三种方式的识别,以及进行密码修改,指纹的增删,卡片管理,并在输入错误时及时的报警。密码锁硬件与软件相互结合,达到了设计预期的效果。总
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 程序与算法课程设计项目
- 同态加密数据安全原型设计课程设计
- Snort入侵防御课程课程设计
- 2026年初级经济师《金融专业知识和实务》全真模拟试卷答案(共十四套)
- 2026年初级药士考试试题及答案
- 2025年新能源技术(发展)试卷及答案
- 2025年教师公需课试题及答案
- 2027年合同印花计提二篇
- 2026中国母婴用品新锐品牌突围路径与渠道变革研究报告
- 2026农产品产地预冷仓储设施投资回报与运营模式研究报告
- DL-T5153-2014火力发电厂厂用电设计技术规程
- (正式版)JBT 7122-2024 交流真空接触器 基本要求
- 《Baby》Justin-Bieber版歌词完整版打印下载打印
- 基层安全生产监管面临的困惑和对策模板范本
- 城市轨道交通车站设备(高职)PPT完整全套教学课件
- 润滑油基础油的加氢法生产工艺课件
- 实验六-兔子的解剖-课件
- 烘干设备购销合同
- 架桥机安装拆除监理细则
- 防空警报试鸣暨人防演练方案
- GB/T 23426-2009船舶与海上技术钢质小型风雨密舱口盖
评论
0/150
提交评论