基于单片机的数字密码锁设计毕业设计(编辑修改稿)内容摘要:
行线上,把芯片 AT89C52 中的 ~ 端口直接连接 4 4 行列式键盘的列线。 (上拉电阻的作用,就是把电位拉高,比如拉到 VCC。 一般就是刚上电的时候,端口键按下 前沿抖动 后沿抖动 x = 0 x = 0 1122K11122K21122K31122K41122K51122K61122K71122K81122K91122K101122K111122K121122K131122K141122K151122K16H1H2H3H4L1L2L3L4 陕西理工学院 毕业设计 第 7 页 共 24 页 VSS1VCC2V03RS4RW5E6DB07DB18DB29DB310DB411DB512DB613DB714BLA15BLK16U1LCD1602电压不稳定,为了让端口稳定为高,就会用到上拉电阻。 ) LCD1602 显示电路 LCD1602 的介绍 LCD1602 是一种专门用来显示字母、数字、符号等的点阵型的液晶模块,它由若干个 5 7 或者 5 11 等点阵字符位组成,每个点阵字符都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。 LCD1602 是指显示的内容为 16 2,可以显示两行,每行 16 个字符的液晶模块,目前市面上字符液晶绝大多数是基于 HD44780 液晶芯片的,控制原理是完全相同的,因此基于 HD44780 写的控制程序可以很方便地应用于市面上大部分的字符型液晶 ,此次设计引用 LCD1602,是因为它具有微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。 LCD1602 的引脚如图 36 所示, LCD1602 有 16 个引脚。 图 LCD1602 的引脚 LCD1602 的引脚介绍: 第 1 引脚为: VSS 为电源地 第 2 脚: VDD 接 5V 电源正极 第 3 脚: V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度)。 第 4 脚: RS 为寄存器选择,高电平 1 时选择数据寄存器、低电平 0 时选择指令寄存器。 第 5 脚: RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。 第 6 脚: E(或 EN)端为使能 (enable)端。 第 7~ 14 脚: D0~ D7 为 8 位双向数据端。 第 15~ 16 脚:空脚或背光电源脚。 15 脚背光正极, 16 脚背光负极。 LCD1602 的基本操作时 序为 : 读状态: RS=L, RW=H, E=H 输出: D0~D7=状态字 写指令: RS=L, RW= L, D0~D7=指令码, E=高脉冲 输出:无 读数据: RS= H, RW=H, E=H 输出: D0~D7=数据 写数据: RS= H, RW= L, D0~D7=数据, E=高脉冲 输出:无 LCD1602 的显示模式设置如表 所示: 表 显示模式设置 LCD1602 的显示开 /关机光标设置如表 所示: 指令码 功能 0 0 1 1 1 0 0 0 设置 1602*2 显示, 5*7 点阵,8 位数据口。 陕西理工学院 毕业设计 第 8 页 共 24 页 VSS1VCC2V03RS4RW5E6DB07DB18DB29DB310DB411DB512DB613DB714BLA15BLK16U1LCD160212345678RST/Vpd9RXD/10TXD/11INT0/12INT1/13T0/14T1/15WR/16RD/17XTAL218XTAL119VSS202122232425262728PSEN29ALE/ PROG30EA/Vpp313233343536373839VCC40U2AT89C52VCCGND2GND1VCCVCCGNDR810KR1810KVCC表 开关机光标设置 LCD1602 显示的外围电路 LCD1602 显示电路由单片机 C52 的 、 、 分别于 LCD 的第 6 脚 (RS、 RW、E)相连,将单片机 C52 的 ~ 口通过 10K 的上拉电阻分别与 LCD 的第 7~ 14 脚( D0~D7)相连来组成数字密码锁的显示电路。 LCD1602 显示电路如图 所示。 图 LCD1602 显示电路 报警提示电路 LED 指示灯用来提示模拟锁的开闭,此次设计采用了红 、 绿两个 LED 指示灯,红灯表示输入密码正确告警(及数字密码锁开锁),绿灯表示输入密码错误,锁未打开。 报警提示电路如图 所示, 、 作普通 I/O 口使用, 控制绿色发光二极管,指示密码输入正确状态; 控制红色发光二极管,指示密码输入错误状态。 而在实际应用中应该接密码锁的机械部分,这些引脚将会接继电器线圈, 只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合 用来启动密码锁的开或关的状态,此次设计用红绿指令码 功能 0 0 0 0 1 D C B D=1 开显示, D=0 关显示; C=1 显示光标, C=0 不显示光标; B=1 光标闪烁, B=0 光标不显示。 0 0 0 0 0 1 N S N=1 当读或写一个字符后地址指针加一,且光标加一; N=0 当读或写一个字符后地址指针减一,且光标减一; S=1 当写一个字符,整屏显示左移( N=1)。 陕西理工学院 毕业设计 第 9 页 共 24 页 指示灯来代替了机械部分,设计简化了。 其电路图如图 所示。 P101P112P123P134P145P156P167P178RST/VPD9RXD/10TXD/11INT0/12INT1/13T0/P3414T1/P3515WR/P3616RD/P3717XTAL218XTAL119GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/P30EA/VP31P0732P0633P0534P0435P0336P0237P0138P0039VCC40AT89C52D2LED1KR11KR2VCCLS1BuzzerQ1S8550VCCGND 图 报警电路 电源输入及电源指示电路 基于单片机控制的数字密码锁的工作需要 +5V 的电压作为输入电压,家用电一般都是采用220V、 50Hz 的交流电,因此需要将交流电转换成直流电, 先通过一个整流电路,使交流电压变成直流电压。 为了保证其输出的电压是 +5V,在后面接一个稳压电路,由一个 7805 稳压器 ,其中电容 C1起滤波作用,电容 C3 是抑制高平信号。 电容 C2,C4 直接接地,起到抗干扰的作用,能使电压稳定在 +5V。 有了电源模块避免了因没有直流电源而无法使用的问题,使这个仪表能够在更多的环境中使用。 电源部 分如图 所示。 图 电源电路图 此次设计的数字密码锁就引用了电源指示模块,虽然这个模块很简单,但确实也是电路中不可少的一部分,当电源通电后,黄色发光二极管就亮表示电路有电源输入,让用户更能方便的清楚密Vin VoutGND7805D1100uFC1C3100uFC2C4VCC (OUT)GND220V 50HZ 陕西理工学院 毕业设计 第 10 页 共 24 页 码锁是否通电,如没有电通入,数字密码锁无法工作,需要及时更换电源,以保证数字密码锁的正常工作。 4 软件设计 软件设计思路 对于基于单片机的数字密码锁的设计,我们需要解决三个问题:键盘的输入 、 液晶显示 、 单片机电路以及密码比较与处理的有关程序设计。 键盘的输入通过行列键盘扫描程序获取所按键的行 、列号,而键 值编码规则如下:将字节的高四位 ( D D D D4) 表示列号 ( 1) ,低四位 ( D D D D0) 表示行号 ( 1) ,比如 11H( 00010001) 表示第 1 行第 1 列, 21H( 00100001) 表示第 1 行第 2 列,以此类推,可得其他键值的编码。 LCD1602 显示,根据获取的键值编码,选择相应的功能,驱动 LCD1602 显示。 在 LCD 接受指令前,微处理器必须先确认其内部处于非忙碌状态,则 LCD 的( D7 到 D0)的 D7 位为 0,方可接受新的指令。 如果在发送一个指令时前没有检查 D7 标志,那么在前一 个指令和这个指令中间必须延长一段较长的时间,即等待前一个指令确实执行完成。 液晶显示的操作主要由初始化程序、写命令和写数据程序等组成。 而单片机电路以及密码比较处理程序则为主程序了,主要是处理键盘输入程序和调用显示程序。 软件设计的流程图 结合硬件结构,可以将键盘输入的识别用来作为系统的监控程序,用显示程序来延时,不断查询键盘。 如果有键按下,就得到相应的键值。 结合当前系统所处的状态,调用不同的操作模块,实现相应的功能。 而执行模块主要有数字输入模块、显示模块及报警提示模块。 键盘部分应实现如下功能:首先,对键盘进 行扫描,判断是否有键被按下。 如果没有,则转回键盘扫描,看下次是否有键被按下;如果有键被按下,则先对键进行去抖动,然后算出是哪个键被按下,再延时等待键释放。 因为数字键和功能键都对应不同的处理子程序,得到闭合键的键码后,就可以根据键码,转相应的键处理子程序,进行字符、数据的输入或命令的处理。 这样就可以实现该键所设定的功能。 本次设计的键盘处理程序流程图,如图 所示。 显示流程图如图 所示,显示部分是分屏显示数据的,因此显示子程序为关闭状态显示子程序、密码输入及密码修改状态显示子程序、密码输入后错误提示程序。 密码在规定的时间内输入的错误次数超过 3 次的锁定状态显示子程序。 LCD1602 显示程序包括初始化子程序、写数据子程序、写命令子程序、清屏子程序、光标定位子程序。 报警提示部分主要是对输入密码的错误(锁未开)和正确(锁开)以及修改密码的提示,这个和显示程序保持一致。 主程序是首先进行整个程序的初始化及清屏,调用显示程序,读取键盘程序,当有按键按下时,程序判断是哪个键被按下,然后执行相应的按键功能,并调用显示程序中的显示功能,当没有键按下时,返回键盘扫描,再判断是否有键被按下,当输入的密码达到了八位,将会与单片 机内设置好的密码进行比较,密码正确锁开,并报警提示电路启动,密码错误,可以有三次输入密码的机会。 本次设计的主程序结构流程图,如图 所示。 陕西理工学院 毕业设计 第 11。基于单片机的数字密码锁设计毕业设计(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。