单片机的密码锁设计
目录
一、绪论 1
二、系统的总体设计 1
(一)、系统的设计结构图 1
(二)、系统的工作原理说明图 2
三、系统硬件设计 2
(一)、单片机主控制模块(含晶振,复位基本工作电路) 2
(二)、键盘输入模块 2
(三)、显示模块 3
(四)、报警器 4
(五)、开锁模块 4
四、系统的软件设计 5
(一)、系统的流程图及原理图 5
(二)、系统程序设计 5
五、系统仿真设计 11
六、总结 12
附录 13
参考文献 19
致谢 20
一、绪论
随着人们日常生活水平的提升,生活和工作,住宅,文件的报告和存储,一系列的安全防盗问题变得非常重要。因为结构简单,容易损坏,以及需要携带多把钥匙,传统机械锁是很不方便的,如果钥匙丢失,有损安全性。随着科学技术的不断发展,人们要求越来越高的安全性,为了满足人们的需求,用密码代替钥匙的加密锁诞生,加密锁具有安全性高,成本低,高性价比等长处,被人们青睐。
现在,在欧美发达地区,电子加密锁科技比较靠前,品种齐全,电子加密锁已大范围被用于各种地方,国内在此方面稍显落后。
现今常见的两种加密锁设计,其一是中规模集成电路控制,其二是单片机控制。对于采用集成电路控制的方案,其物理结构较为复杂且操作过程不方便,在此不作细说,而使用单片机主控的方案,因为多样的编程设计及I/0端口,以及操控的精准性,不仅能实现基础的加密锁功能,还能添加一些附加功能,但其也有必然的局限性,在于复杂的操控原理及要求拥有更加良好能力的设计人员。通过对两种方案的比较以及本人具备的一些单片机设计基础知识,所以这次选用单片机控制的密码锁设计。
二、系统的总体设计
(一)、系统的设计结构图
图1 系统设计结构图
如图1所示,系统主要由3*4键盘,复位电路,LED灯,液晶显示电路组成。
(二)、系统的工作原理说明图
本系统以AT89C51为主心,使用led灯,警报器,3*
*好棒文|www.hbsrm.com +Q: 3 5 1 9 1 6 0 7 2
具备的一些单片机设计基础知识,所以这次选用单片机控制的密码锁设计。
二、系统的总体设计
(一)、系统的设计结构图
图1 系统设计结构图
如图1所示,系统主要由3*4键盘,复位电路,LED灯,液晶显示电路组成。
(二)、系统的工作原理说明图
本系统以AT89C51为主心,使用led灯,警报器,3*4方阵按键等。矩阵键盘分别为0,1,2,3,4,5,6,7,8,9,重新输入,确认输入。系统初始显示“INPUT PASSWORD”提醒输进数字;输完后按下#键,当输进的数字符合设定的密码时,显示“MISSION SUCCESS” 锁开启,led亮绿灯。当密码错误时,显示“FORGOT PASSWORD”led亮红灯,如果接连三次无效尝试,警报并同时对键盘加锁,无法做任何操作。如果在录入时发现按错键,可以使用*键删除已经输进的数字并重新录入。
三、系统硬件设计
(一)、单片机主控制模块(含晶振,复位基本工作电路)
图2 主控模块
(二)、键盘输入模块
将3*4方阵按键与AT89C51的P1口相连,如图3:
图3 键盘输入模块
表1
按键
键名
功能说明
1-9
数字键
输入密码
*键
重设密码键
设定新密码
#键
确认键
确定密码 输入完毕
(三)、显示模块
图4 显示模块
本设计中,采用4个共阴极数码管,动态数码显示技术操控数码管。连接四个位选信号与P2.0—P2.3,当某位为低电平时,表示选中,驱动能力较弱的八段段选信号与PO口,无法使数码管发光,为了驱动数码管,加入了上拉电阻。
(四)、报警器
图5 报警模块
报警部分包括陶瓷压电发生装置机以及外围电路组成。
(五)、开锁模块
图6 开锁模块
用继电器的动作来模拟锁的开闭。为了将电流放大来提升驱动能力,加入了PNP晶体管,当P3.1口为低电平时,晶体管为导通状态,继电器变动,灯亮,二极管的续流作用来确保器件不损坏。
四、系统的软件设计
(一)、系统的流程图及原理图
图7 系统流程图
(二)、系统程序设计
重要端口定义说明:
//共阴极数码管编码 显示‘ -’和熄灭
报警子程序:(通过控制buzzer端口的高低电平来控制三极管的通断,从而控制蜂鸣器)
数码管显示子程序:
LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特征是每一个分段的数码管都一定要连接一个八位的数据转换线,确保字形码显示的维持。当送入一次字形码之后,可以维持到录入新的字形码。这个方法占用CPU时间少,显示便于监控和控制。缺点是复杂硬件电路和较高的成本;动态显示的特征是并联了所有位数码管的段选线,哪位数码管有用,交由位选线控制。相比动态显示,静态显示的亮度要好一些。本设计采用动态显示法。
按下确认键后执行功能子程序:(使用标志变量flg,根据其值来选择执行相应的功能)
键盘扫描子程序:
单片机经常用到的录入设备是键盘,为了节约I/O口等单片机上的资源,通常情况下使用扫描来辨别哪个键被按下。把某行某列的按键按下来确认这个键的具体位置,获得键值来激活对应的程序。
查找哪个按键被按下的方法为:一个一个地查找。首先首行输出O,查看列是不是非全高;不然次行输出O,查看列是不是非全高;不然第三行输出O,查看列是不是非全高;假如某一行输出O时,检查到列不是全高,那么这一行有键被按下;通过查看第几行输出O与第几列录入O,就可以确定具体哪个位置的键被按下
一、绪论 1
二、系统的总体设计 1
(一)、系统的设计结构图 1
(二)、系统的工作原理说明图 2
三、系统硬件设计 2
(一)、单片机主控制模块(含晶振,复位基本工作电路) 2
(二)、键盘输入模块 2
(三)、显示模块 3
(四)、报警器 4
(五)、开锁模块 4
四、系统的软件设计 5
(一)、系统的流程图及原理图 5
(二)、系统程序设计 5
五、系统仿真设计 11
六、总结 12
附录 13
参考文献 19
致谢 20
一、绪论
随着人们日常生活水平的提升,生活和工作,住宅,文件的报告和存储,一系列的安全防盗问题变得非常重要。因为结构简单,容易损坏,以及需要携带多把钥匙,传统机械锁是很不方便的,如果钥匙丢失,有损安全性。随着科学技术的不断发展,人们要求越来越高的安全性,为了满足人们的需求,用密码代替钥匙的加密锁诞生,加密锁具有安全性高,成本低,高性价比等长处,被人们青睐。
现在,在欧美发达地区,电子加密锁科技比较靠前,品种齐全,电子加密锁已大范围被用于各种地方,国内在此方面稍显落后。
现今常见的两种加密锁设计,其一是中规模集成电路控制,其二是单片机控制。对于采用集成电路控制的方案,其物理结构较为复杂且操作过程不方便,在此不作细说,而使用单片机主控的方案,因为多样的编程设计及I/0端口,以及操控的精准性,不仅能实现基础的加密锁功能,还能添加一些附加功能,但其也有必然的局限性,在于复杂的操控原理及要求拥有更加良好能力的设计人员。通过对两种方案的比较以及本人具备的一些单片机设计基础知识,所以这次选用单片机控制的密码锁设计。
二、系统的总体设计
(一)、系统的设计结构图
图1 系统设计结构图
如图1所示,系统主要由3*4键盘,复位电路,LED灯,液晶显示电路组成。
(二)、系统的工作原理说明图
本系统以AT89C51为主心,使用led灯,警报器,3*
*好棒文|www.hbsrm.com +Q: 3 5 1 9 1 6 0 7 2
具备的一些单片机设计基础知识,所以这次选用单片机控制的密码锁设计。
二、系统的总体设计
(一)、系统的设计结构图
图1 系统设计结构图
如图1所示,系统主要由3*4键盘,复位电路,LED灯,液晶显示电路组成。
(二)、系统的工作原理说明图
本系统以AT89C51为主心,使用led灯,警报器,3*4方阵按键等。矩阵键盘分别为0,1,2,3,4,5,6,7,8,9,重新输入,确认输入。系统初始显示“INPUT PASSWORD”提醒输进数字;输完后按下#键,当输进的数字符合设定的密码时,显示“MISSION SUCCESS” 锁开启,led亮绿灯。当密码错误时,显示“FORGOT PASSWORD”led亮红灯,如果接连三次无效尝试,警报并同时对键盘加锁,无法做任何操作。如果在录入时发现按错键,可以使用*键删除已经输进的数字并重新录入。
三、系统硬件设计
(一)、单片机主控制模块(含晶振,复位基本工作电路)
图2 主控模块
(二)、键盘输入模块
将3*4方阵按键与AT89C51的P1口相连,如图3:
图3 键盘输入模块
表1
按键
键名
功能说明
1-9
数字键
输入密码
*键
重设密码键
设定新密码
#键
确认键
确定密码 输入完毕
(三)、显示模块
图4 显示模块
本设计中,采用4个共阴极数码管,动态数码显示技术操控数码管。连接四个位选信号与P2.0—P2.3,当某位为低电平时,表示选中,驱动能力较弱的八段段选信号与PO口,无法使数码管发光,为了驱动数码管,加入了上拉电阻。
(四)、报警器
图5 报警模块
报警部分包括陶瓷压电发生装置机以及外围电路组成。
(五)、开锁模块
图6 开锁模块
用继电器的动作来模拟锁的开闭。为了将电流放大来提升驱动能力,加入了PNP晶体管,当P3.1口为低电平时,晶体管为导通状态,继电器变动,灯亮,二极管的续流作用来确保器件不损坏。
四、系统的软件设计
(一)、系统的流程图及原理图
图7 系统流程图
(二)、系统程序设计
重要端口定义说明:
//共阴极数码管编码 显示‘ -’和熄灭
报警子程序:(通过控制buzzer端口的高低电平来控制三极管的通断,从而控制蜂鸣器)
数码管显示子程序:
LED显示器工作方式有两种:静态显示方式和动态显示方式。静态显示的特征是每一个分段的数码管都一定要连接一个八位的数据转换线,确保字形码显示的维持。当送入一次字形码之后,可以维持到录入新的字形码。这个方法占用CPU时间少,显示便于监控和控制。缺点是复杂硬件电路和较高的成本;动态显示的特征是并联了所有位数码管的段选线,哪位数码管有用,交由位选线控制。相比动态显示,静态显示的亮度要好一些。本设计采用动态显示法。
按下确认键后执行功能子程序:(使用标志变量flg,根据其值来选择执行相应的功能)
键盘扫描子程序:
单片机经常用到的录入设备是键盘,为了节约I/O口等单片机上的资源,通常情况下使用扫描来辨别哪个键被按下。把某行某列的按键按下来确认这个键的具体位置,获得键值来激活对应的程序。
查找哪个按键被按下的方法为:一个一个地查找。首先首行输出O,查看列是不是非全高;不然次行输出O,查看列是不是非全高;不然第三行输出O,查看列是不是非全高;假如某一行输出O时,检查到列不是全高,那么这一行有键被按下;通过查看第几行输出O与第几列录入O,就可以确定具体哪个位置的键被按下
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/1335.html