毕业设计论文基于单片机的电子密码锁设计内容摘要:
C51 有间歇和掉电两种工作模式。 间歇模式是由软件来设置的 ,当外围器件仍然处于工作状态时, CPU 可根据工作情况适时地进入睡眠状态,内部RAM 和所有特殊的寄存器值将保持不变。 这种状态可被任何一个 中断所终止或通过硬件复位。 掉电模式是在 VCC 电压低于电源下限,振荡器停止振动, CPU 停止执行指令。 该芯片内 RAM 和特殊功能寄存器值保持不变,直到掉电模式被终止为止。 只有 VCC电压恢复到正常工作范围,而且在振荡器稳定振荡后,通过硬件复位掉电模式可被终止。 7 第三章 硬件设计 硬件模块主要包括:键盘输入模块、液晶显示模块、 AT24C02存储模块、电源模块以及其他部分。 电路框图如第一章图 ,其中主要的模块有 LCD显示模块、键盘输入模块、 AT24C02存储模块和蜂鸣器与继电器模块。 下面就 这些模块做详细的介绍。 液晶显示模块 显示部分是采用 LCD1602。 电路图如图 : 图 液晶显示原理图 LCD1602的引脚功能: 第 1脚:为地电源。 第 2脚: VCC接 5V正电源。 第 3脚:为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生 “鬼影 ”,使用时可以通过一个 20K的电位器调整对比度。 第 4脚: RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第 5脚: RW为读写信号线,高电平时进行读操作,低电平时进行写操作。 当 RS和 RW共同为低电平时可以写入指令或者显示地址,当 RS为低电平 RW为高电平时可以读忙信号,当 RS为高电平 RW为低电平时可以写入数据。 第 6脚: E端为使能端 , E端由高电平跳变成低电平时,液晶模块执行命令。 第 7~ 14脚: D0~ D7为 8位双向数据线。 第 15~ 16脚:空脚。 键盘输入模块 键盘是一组按键的集合 ,它是最常用的单片机输入设备 .键盘可以分为两类 :独立连接式和矩阵式 [4]。 8 独立连接式键盘是一种最简单的键盘电路,每个按键独立地接入一根数据线。 平时所有的数据输入线都被连接成高电平,当任何一个键按下时 ,与之相连的数据输入线将被拉成低电平。 要判断是否有键按下,只要用位处理指令即可。 这种键盘的优点是其结构简单,使用方便,但随着键数的增多而占用 I/O口线也增加。 矩阵式键盘,即通常所讲的行列式键盘。 本设计所用的键盘就是矩阵式键盘。 它由行线和列线组成,按键位于行、列的交叉点上,行列分别连接到按键开关的两端,行线通过上拉电阻接到高电平。 无按键按动作时列线处于高电平状态;有按键按下时,交点的行线和列线相通,列线电平状态将由与此列线相连的行线电平决定。 行线电平如果低,则列线电平为低;行线电平如果为高,则列线电平也为高。 这是识别矩阵式键盘按键是否被按下的关键所在。 由于矩阵键盘中行、列线为多键公用,各按键均影响该键所在的行和列的电平,所以必须将行、列线信号配合起来作适当的处理,才能确定闭合键所在的位置。 矩阵式键盘节省了好多的 I/O口,适用于按键数量比较多的场合。 本设计的 3*4键盘即采用矩阵式键盘,如图 : 图 矩阵式键盘 通过行列键盘扫描的方法可获取键盘输入的键值,从而得知按下的哪个键,具体过程如下: ( 1) 查询是否有键按下。 单片机向行扫描口输出全为“ 0”的扫描码,然后从列检测口检测信号,只要有一列信号 不为“ 1”,则表示有键按下,且不为“ 1”的列即对应为按下的按键所在的列。 ( 2) 查询按下按键所在的行、列位置。 前面已经取得了按下键的列,接下来要确定按键所在的行,这需要进行逐行扫描,单片机首先使第 1行为“ 0”,其余各行为“ 1”,接着进行行列检测,若为全 “ 1”,表示不在第 1行,否则即在第 1行;然后使第 2行为全 “ 0”,其余各行为“ 1”,再进行列检测,若为全“ 1”,表示不在第 2行;这样逐行检测,直到找到按键所在的行。 当各行都扫描以后仍没有找到,则放弃扫描,认为是键的错误动作。 ( 3) 对得到的行号和列号译码 ,得到键值。 对于 3*4的行列式键盘,因为按键的位置由行号和列号唯一确定,且行列各 4位,所以用一个字节( 8位)来对键值编码是很合适的。 本设计中,将字节的高 3位( D D D4)表示列号( 1), 9 低 4位( D D D D0)表示行号( 1),比如 11H( 00010001)表示第1行第 1列, 21H( 00100001)表示第 1行第 2列。 在扫描键盘过程中,应该注意以下问题: ( 1) 当按下或松开按键时,按键也许会产生机械抖动。 这种抖动经常发生在按下或松开瞬间,一般可持续几到十几秒,抖动时间长短 随按键结构不同而有所不同。 在扫描键盘按键过程中,必须想办法来消除按键,否则会引起相应的错误。 想要消除按键抖动,可以利用硬件电路来加以实现,如,使用 RS触发器来加以锁定按键状态,以消除抖动产生的影响。 较为简单的方法就是用软件延时方法来消除按键的抖动,如果一旦发现有按键按下,就延时 20ms以后再测按键的状态。 这样就避开按键发生抖动的那一段时间,使 CPU能可靠地读按键状态。 在编制键盘按键扫描程序时,只要有发现按键状态发生变化,即无论是松开还是按下,则程序都延时 20ms以后再进行其他操作。 ( 2) 在键盘扫描中 ,应加以防止按一次键具而产生有多个对应键值输入的情况。 这种情况的发生是由于键扫描速度和键处理速度较快,当某一个键按下还未松开时键扫描程序和键处理程序已执行了多遍。 这样,由于程序执行和按键动作不同步而造成按一个键有多个键值输入的错误状态。 为了避免发生这种情况,则必须保证按一次键,让 CPU只对该次按键做一次处理。 为此,在按键扫描程序中,不仅要检测是否有键按下,在有键按下的情况,做一次处理,而且在键处理完毕后,还应当检测按下的键是否松开,只有在当按下的键松开以后,程序才往下进行执行。 这样一来每按下一个键,只做一个 键处理,使二者达到同步,消除按一次键有多个键值输入的错误情况。 根据要求,本设计的 3*4键盘设定 10个数字键( 09)和 3个功能键。 图 4列前三个暂时不用,可以作以后扩充所用。 因此根据上面提到的 3*4键盘的键值编码方法,各按键及其编码对应关系如表。 表 按键与编码对应关系表 按键 行号 列号 键值编码 1 1 1 11H( 00010001) 2 1 2 21H( 00100001) 3 1 3 41H( 01000001) 4 2 1 12H( 00010010) 5 2 2 22H( 00100010) 6 2 3 42H( 01000010) 7 3 1 14H( 00010100) 8 3 2 24H( 00100100) 9 3 3 44H( 01000100) 0 4 2 28H( 00101000) 10 (确认 ) 4 3 48H( 01001000) D(修改 ) 4 4 88H( 10001000) 电路原理图及说明 系统总电路原理图如图 所示: 图 总电路原理图 系统的总电路原理图分为 4 部分:一、是单片机及键盘电路原理图 ;二、 报警电路 ;三、是 LCD 液晶显示电路原理图;四、 开锁电路。 U1 为单片机芯片 AT89C51,它是整个电路的核心部件联系着输入和输出。 LCD1 是 LCD_1602 液晶显示。 在单片机中 P1 口用于键盘操作, 与行线相连 , 与列线相连。 P0 口和 口用做 LCD 液晶显示。 P2 用于开锁电路和报警电路。 11 第四章 软件设计 软件设计主要包括以下部分:系统的主流程;键盘的扫描; LCD 的读写。 下面首先介绍软件的运行环境。 软件环境介绍 软件设计部分采用在 KEIL 编译器环境下进行编程, KEIL C51 软件是众多单片机开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编, PLM, C 等多种程序设计语言。 Keil 工程文件 首先启动 Keil 软件的集成开发环境, UVison 启动后,程序窗口的左边有一个工程管理窗口,该窗口有 3 个标签,分别是 Files、 Regs 和 Books,这三个标签页分别显示当前项目的文件结构、 CPU 的寄存器及部份特殊功能寄存器的值 (调试时才出现 )和所选 CPU 的附加说明文件,如果是第一次启动 Keil,那么这三个标签 页全是空的。 源文件的建立 使用菜单“ FileNew 或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,在该窗口中输入源程序。 保存文件,注息必须加上扩展名 (汇编语言源程序一般用 asm 或 a51 为扩展名 )。 需要说明的是,源文件就是一般的文本文件,不一定使用 Keil 软件编写,可以使用任意文本编缉器编写,而且, Keil的编缉器对汉字的支持不好,建议使用 U1traEdit 之类的编缉软件进行源程序的输入。 工程文件的建立 在项目开发中,并不是仅有一个源程序 就行了,还要为这个项目选择 CPU( Keil支持数百种 CPU,而这些 CPU 的特性并不完全相同 ),确定编译、汇编、连接的参数,指定调试的方式,有一些项目还会有多个文件组成等,为管理和使用方便, Keil使用工程 (Projec t)这一概念,将这些参数设置和所需的所有文件都加在一个工程中,只能对工程而不能对单一的源程序进行编译 (汇编 )和连接等操作。 点击“ Projec tNew Project...菜单,出现一个对话框,要求给将要建立的工程起一个名字,可以在编缉框中输入一个名字 (设为 examl,不需要扩展名。 点击 “保存”按钮,出现第二个对话框,这个对话框要求选择目标 CPU(即你所用芯片的型号 ), Keil 支持的 CPU 很多,我们选择 Atmel 公司的 89C51 芯片。 点击 ATMEL 前ICI 的“ +”号,展开该层,点击其中的 89C51,然后再点击“确定”按钮,回到主界面,此时,在工程窗口的文件页中,出现了“ Target1”,前面有“ +”号,点击“ +”号展开,可以看到下一层的“ Sourc e Groupl,这时的工程还是一个空的工程,里面什么文件也没有,需要手动把刚才编写好的源程序加入,点击“ Sour。毕业设计论文基于单片机的电子密码锁设计
相关推荐
0D —— 卷筒的计算直径(按缠绕钢丝绳的中心计算), mmdDD 10313110000 绳 ; 参考同类型起重机取 0D =1020mm 3L —— 双联卷筒中间不切 槽部分长度,根据钢丝绳允许偏斜角确定对于螺旋槽卷筒 tgα 101 考虑到该取物装置的特殊性参考同类型起重机取: 3L =340mm 0L —— 卷筒半边卷绕部分的长度; 0L mm17 )310 31 440
结构地震反应分析计算简图如下图51,各质点的重力荷载分别为=5061,=5566,=1917,=955图51重力荷载代表值=(1+)+(1+)=1917(1+)+955[1+]=3459===1600均布荷载作用下结构顶点的位移为:===集中荷载作用下结构顶点位移:=====+=结构自振周期==根据主体结构高度不超过40,且质量和刚度沿高度分布比较均匀,故可用底部剪力法计算水平地震作用
品的生产,劳动力也相应由农转工,再由工转商。 美国经济学家科林 克拉克继承前人研究成果,提出 “三次产业划分 ”理论。 人才资源在不同产业间的分布比例变化规律是:第一产业人力、人才资源所占比重不断降低;第二产业人力、人才资源所占比重不断上升;第三产业人力、人才资源所占比重终将超过第一、二产业。 该理论所揭示的人力、人才资源按照第一、第二、第三产业梯次转移的规律,已经为世界发达国家人力
土最终应力为 MPa 的拉应力。 计算表明由温度梯度产生的应力比活载产生的应力还要大。 又如 70年代后期建成的加拿大格朗梅尔大桥,为三跨连续刚构,中跨 ,在该桥 加固 阶段设计中计算得出: 10℃ 的线性温差在桥梁跨中产生的正弯矩值相当于中跨两条车道布载所产生的正弯矩。 3. 设计对策探讨 预 应力混凝土连续梁桥的裂缝问题涉及到设计、施工、监理等各方面,本文仅从设计方面作对策探讨。
数字。 我们知道 输入的彩色图像包含大量颜色信息,会占用 计算机 较多的存储空间,且处理时也会降低系统的执行速度,因此对图像进行识别等处理时, 通常 将彩色图像转换为灰度图像,以加快处理速度。 对图像进行灰度化处理、边缘提取、再利 用形态学方法对车牌进行定位。 具体步骤如下:首先 通过 MATLAB 软件 对图像进行灰度转换,二值化处理然后采用 4X1 的结构元素对图像进行腐蚀,去除图像的噪声。
上进气歧管的前端,如图 22 所示,在其上装有节气门位置( TP)传感器和怠速空气控制( IAC)阀两个电气部件。 在节气门体上有一个节流片(节气门),踩加速踏板 时,改变了节流片的角度,从而控制发动机的进气量。 节气门关闭时的空气间隙是厂家预先设定的,这个是最小间隙。 在节气门上钻有一个小孔,在节气门完全关闭时,此小孔可提供一定的进气量。 在使用过程中,节气门角度无需调整