论文部分内容阅读
摘要:本文主要针对AT89C51单片机的密码锁设计进行了探讨,从硬件和软件设计两部分着手,来满足人们对密码锁安全性的要求,其具有安全性高和成本低以及功耗低还有易操作等特点。
关键词:AT89C51,电子密码锁,软件设计
Abstract: This paper mainly AT89C51 microcontroller password lock design was discussed, starting from the hardware and software design in two parts, to meet the people on the safety of cipher lock, it has high security and low cost and low power consumption and easy operation etc..
Keywords: AT89C51, electronic password lock, software design
中图分类号: S611文献标识码:A文章编号:
一、主要介绍
设计主要通过爱特梅尔半导体公司的AT89C51运用,来实现单片机电子密码锁的设计,其重要功能如下:
(1)通过键盘输入密码,密码正确,锁自动打开。
(2)键盘的锁定功能和报警系统。若密码输入错误时,系统则会显示错误提示,输入错误次数超过预设次数时,报警系统则会蜂鸣报警并锁定15秒。
二、总设计方案
设计主要采用AT89C51为核心的单片机控制原理。通过灵活的单片程序设计以及丰富的输入输出端口,其具有准确的控制性,能实现密码锁的基本功能,还能增加调电存储和遥控控制以及声光提示等功能,其远离如下图。
图为 单片机控制原理图
三、软件的电路设计
3.1、电源电路的设计
主要采用了外部输入电压设计,原理图如下。
图为电源电路
在输入端Vin电压为9伏特时,通过7805稳压芯片后,其输出端Vout电压则为5伏特。如上图,CN1和CN2分别为电压的扩展单元,CN1和CN2均有插针,可以用杜邦线对其单片进行连接。C1的作用主要是滤去高频信号,C2主要是滤去低频信号。D1则为二极管,其适宜电流为3-100毫安,这时在R1上我们就要选用470欧姆则为适合。
3.2、键盘电路的设计
该设计采用了矩阵键盘,运用了行列式键盘,这样就减少了连接口I/O线的使用,在按键多时,都采用此方法。其原理图如下图所示。行线和列线之间的交叉处不相通,主要利用按钮来连通,这种行列式矩阵只需要行线和列线,便能组成键盘。在这种行列式矩阵键盘的单片机系统中,键盘处理的程序主要包括,等待按键、确认按键阶段和识别按键阶段。对按键的识别主要通过逐行扫描查询法和线反转法两种。
图为矩阵键盘
在键盘对按键是否按下进行识别时,单片机的I/O口会对键盘全部扫描,估计状态来识别,其方法为,向行线输出全部扫描,设全部列线为低电平,把电平状态读入累加器A中。有按键执行时,就会有根行线电平最低,从而让行线不全为1。在对哪个键被按下,则通过输入状态来实现检查,其方法是,给所有列线送低电平,再对所有行线进行检查,若全是1,则按键不再此列,不全是1,则按键就在此列,并且该按键就是和零电平行线相交点上的那个按键。
3.3、LCD1602显示电路的设计
该系统显示电路的设计主要是给予使用者提示。字符型的液晶模块已成为了单片机设计应用中常见的信息显示器。其1602型LCD显示模块则有功耗低和体积小等优点,其还能显示2行16个字符,有三个控制端口,工作电压也仅为5伏特。数据总线也有8位。其显示电路的原理图如下。
图为L602 型 LCD
3.4、报警电路的设计
蜂鸣器和单片机构成了报警模块。选择一只100毫安驱动电流的压电式蜂鸣。许多单片机的设计都会到蜂鸣器,其中一大部分使用蜂鸣器来做提示或报警,比较简单。而压电式蜂鸣器则主要是由谐振荡器和阻抗匹配器以及压电蜂鸣片还有共鸣箱外壳组成,甚至还有发光二极管的安装,其蜂鸣器电路如下图所示。
图为报警电路
该设计,在驱动能力上说,高电平信号要弱于低电平信,因此,采用了低电平驱动和PNP三极管。在89C51的P3.5口,在电平上输入低时,蜂鸣器发生蜂鸣,反之则蜂鸣器无声音。R8为上拉电阻,主要是对电路容抗进行提高。R7和R9则为限流电阻,其目的是阻止因电流过大,造成器件的损坏。
3.5、复位电路的设计
该设计采用了高电平复位电路,电路图如下图所示。RST和其他元件构成了回路。在按下RST时会有高电平脉冲产生。单片机P0则是开漏,接上拉电阻后,才能对信号进行输入或者输出。EA则接上拉电阻,原因是单片机要对片内ROM进行运行。剩下的XTAL1和XTAL2则是输入端和输出端。在其内部则有Sch mitt反相器,主要是把它波形变成方形。
图为高电平复位电路
四、软件的总设计
该系统的软件设计,主要包括了主程序和LCD显示程序以及初始化程序还有键盘扫描程序、密码设置程序和EEPROM读写程序以及键功能程序等。其主程序的流程图如下图所示,连通电源后,对程序进行初始化设置,再在键盘上输入预设的密码,此时,系统会对键盘进行扫描,若密码正确,锁则打开,若密码3次输入错误,则会自动报警,还有密码修改功能,若想修改密码,则先要输入旧密码,正确则进行新密码的设置,错误则报警,在新密码设置时,需要对新密码进行确认,确认成功后,则密码修改成功,若密码修改不成功,则结束并返回最终,启动程序,进行密码保护。若再在键盘上输入密码,还是和上述情况一致,密码正确,则执行程序,不正确,则执行另一程序。
图为主程序流程图
五、软件的调试
在进行KEILC51程序的调试上时,我们运用了模块程序技术的设计,在对各个模块进行调试后,再对整个应用系统进行总调试。在调试时,入口条件和出口条件一定要符合標准,可用通过单步运行和断点运行来进行调试,然后再检查使用者的现场CPU情况和I/O口的状态以及RAM内容,其检测程序主要是检测执行结果是否符合设计标准要求,主要包括循环错误和转移地址错误以及机器码错误检查,再对这些进行检查时,还要注意系统硬件设计的错误以及软件算法的错误。最后各个程序模块检测通过后,就能把相关功能块进行连接,再进行总调试。
若此阶段存在故障,则要考虑是否是各子程序运行时对现场造成了破坏,以及工作寄存器和缓冲单元是否相互冲突,还有标志位在建立以及清除上是否出现错误,再有输入设备在状态上,是否运行正常等,系统在开发机监控程序下进行运行时,还要对用者缓冲单元和监控程序的工作单元是否发生冲突进行考虑。在进行断点和单步调试后,还要进行连续调试,以便确定系统定时的精确度和CPU的实时响应的问题。在全部调试以及修改完毕后,再将程序固化到AT89C51中。再进行整体调试,当各功能全部实现,调试便完成了。
六、结束语
该设计的电子密码锁主要以AT89C51单片机为核心,其具有性价比高和设计简单以及安全性强还有使用方便和使用寿命长等特性。在商务会所和保险箱以及档案柜还有居民住宅等需要防盗设备的场所,都有很强的实用价值。
参考文献
[1] 金桂,向国梁.基于C语言STC89C52单片机电子密码锁的设计与仿真[J].现代电子技术.2010(19)
[2] 高海,郭红霞.基于AT89S51的密码锁设计[J].现代电子技术.2010(18)
[3] 张云,周明辉,周海林,李爱华,孟玮.基于AT89S51的多功能电子密码锁设计[J].电子设计工程.2010(06)
[4] 曹建林,孙捷,孙雪颖,任磊,杜康平.电子密码锁设计[J].成都信息工程学院学报.2010(02)
关键词:AT89C51,电子密码锁,软件设计
Abstract: This paper mainly AT89C51 microcontroller password lock design was discussed, starting from the hardware and software design in two parts, to meet the people on the safety of cipher lock, it has high security and low cost and low power consumption and easy operation etc..
Keywords: AT89C51, electronic password lock, software design
中图分类号: S611文献标识码:A文章编号:
一、主要介绍
设计主要通过爱特梅尔半导体公司的AT89C51运用,来实现单片机电子密码锁的设计,其重要功能如下:
(1)通过键盘输入密码,密码正确,锁自动打开。
(2)键盘的锁定功能和报警系统。若密码输入错误时,系统则会显示错误提示,输入错误次数超过预设次数时,报警系统则会蜂鸣报警并锁定15秒。
二、总设计方案
设计主要采用AT89C51为核心的单片机控制原理。通过灵活的单片程序设计以及丰富的输入输出端口,其具有准确的控制性,能实现密码锁的基本功能,还能增加调电存储和遥控控制以及声光提示等功能,其远离如下图。
图为 单片机控制原理图
三、软件的电路设计
3.1、电源电路的设计
主要采用了外部输入电压设计,原理图如下。
图为电源电路
在输入端Vin电压为9伏特时,通过7805稳压芯片后,其输出端Vout电压则为5伏特。如上图,CN1和CN2分别为电压的扩展单元,CN1和CN2均有插针,可以用杜邦线对其单片进行连接。C1的作用主要是滤去高频信号,C2主要是滤去低频信号。D1则为二极管,其适宜电流为3-100毫安,这时在R1上我们就要选用470欧姆则为适合。
3.2、键盘电路的设计
该设计采用了矩阵键盘,运用了行列式键盘,这样就减少了连接口I/O线的使用,在按键多时,都采用此方法。其原理图如下图所示。行线和列线之间的交叉处不相通,主要利用按钮来连通,这种行列式矩阵只需要行线和列线,便能组成键盘。在这种行列式矩阵键盘的单片机系统中,键盘处理的程序主要包括,等待按键、确认按键阶段和识别按键阶段。对按键的识别主要通过逐行扫描查询法和线反转法两种。
图为矩阵键盘
在键盘对按键是否按下进行识别时,单片机的I/O口会对键盘全部扫描,估计状态来识别,其方法为,向行线输出全部扫描,设全部列线为低电平,把电平状态读入累加器A中。有按键执行时,就会有根行线电平最低,从而让行线不全为1。在对哪个键被按下,则通过输入状态来实现检查,其方法是,给所有列线送低电平,再对所有行线进行检查,若全是1,则按键不再此列,不全是1,则按键就在此列,并且该按键就是和零电平行线相交点上的那个按键。
3.3、LCD1602显示电路的设计
该系统显示电路的设计主要是给予使用者提示。字符型的液晶模块已成为了单片机设计应用中常见的信息显示器。其1602型LCD显示模块则有功耗低和体积小等优点,其还能显示2行16个字符,有三个控制端口,工作电压也仅为5伏特。数据总线也有8位。其显示电路的原理图如下。
图为L602 型 LCD
3.4、报警电路的设计
蜂鸣器和单片机构成了报警模块。选择一只100毫安驱动电流的压电式蜂鸣。许多单片机的设计都会到蜂鸣器,其中一大部分使用蜂鸣器来做提示或报警,比较简单。而压电式蜂鸣器则主要是由谐振荡器和阻抗匹配器以及压电蜂鸣片还有共鸣箱外壳组成,甚至还有发光二极管的安装,其蜂鸣器电路如下图所示。
图为报警电路
该设计,在驱动能力上说,高电平信号要弱于低电平信,因此,采用了低电平驱动和PNP三极管。在89C51的P3.5口,在电平上输入低时,蜂鸣器发生蜂鸣,反之则蜂鸣器无声音。R8为上拉电阻,主要是对电路容抗进行提高。R7和R9则为限流电阻,其目的是阻止因电流过大,造成器件的损坏。
3.5、复位电路的设计
该设计采用了高电平复位电路,电路图如下图所示。RST和其他元件构成了回路。在按下RST时会有高电平脉冲产生。单片机P0则是开漏,接上拉电阻后,才能对信号进行输入或者输出。EA则接上拉电阻,原因是单片机要对片内ROM进行运行。剩下的XTAL1和XTAL2则是输入端和输出端。在其内部则有Sch mitt反相器,主要是把它波形变成方形。
图为高电平复位电路
四、软件的总设计
该系统的软件设计,主要包括了主程序和LCD显示程序以及初始化程序还有键盘扫描程序、密码设置程序和EEPROM读写程序以及键功能程序等。其主程序的流程图如下图所示,连通电源后,对程序进行初始化设置,再在键盘上输入预设的密码,此时,系统会对键盘进行扫描,若密码正确,锁则打开,若密码3次输入错误,则会自动报警,还有密码修改功能,若想修改密码,则先要输入旧密码,正确则进行新密码的设置,错误则报警,在新密码设置时,需要对新密码进行确认,确认成功后,则密码修改成功,若密码修改不成功,则结束并返回最终,启动程序,进行密码保护。若再在键盘上输入密码,还是和上述情况一致,密码正确,则执行程序,不正确,则执行另一程序。
图为主程序流程图
五、软件的调试
在进行KEILC51程序的调试上时,我们运用了模块程序技术的设计,在对各个模块进行调试后,再对整个应用系统进行总调试。在调试时,入口条件和出口条件一定要符合標准,可用通过单步运行和断点运行来进行调试,然后再检查使用者的现场CPU情况和I/O口的状态以及RAM内容,其检测程序主要是检测执行结果是否符合设计标准要求,主要包括循环错误和转移地址错误以及机器码错误检查,再对这些进行检查时,还要注意系统硬件设计的错误以及软件算法的错误。最后各个程序模块检测通过后,就能把相关功能块进行连接,再进行总调试。
若此阶段存在故障,则要考虑是否是各子程序运行时对现场造成了破坏,以及工作寄存器和缓冲单元是否相互冲突,还有标志位在建立以及清除上是否出现错误,再有输入设备在状态上,是否运行正常等,系统在开发机监控程序下进行运行时,还要对用者缓冲单元和监控程序的工作单元是否发生冲突进行考虑。在进行断点和单步调试后,还要进行连续调试,以便确定系统定时的精确度和CPU的实时响应的问题。在全部调试以及修改完毕后,再将程序固化到AT89C51中。再进行整体调试,当各功能全部实现,调试便完成了。
六、结束语
该设计的电子密码锁主要以AT89C51单片机为核心,其具有性价比高和设计简单以及安全性强还有使用方便和使用寿命长等特性。在商务会所和保险箱以及档案柜还有居民住宅等需要防盗设备的场所,都有很强的实用价值。
参考文献
[1] 金桂,向国梁.基于C语言STC89C52单片机电子密码锁的设计与仿真[J].现代电子技术.2010(19)
[2] 高海,郭红霞.基于AT89S51的密码锁设计[J].现代电子技术.2010(18)
[3] 张云,周明辉,周海林,李爱华,孟玮.基于AT89S51的多功能电子密码锁设计[J].电子设计工程.2010(06)
[4] 曹建林,孙捷,孙雪颖,任磊,杜康平.电子密码锁设计[J].成都信息工程学院学报.2010(02)