论文部分内容阅读
摘要:本课题设计基于STC15F2K60S2单片机外接显示、报警、信号输入模块进行九位电子密码锁的设计。用户通过键盘输入密码,按键按下均有声光提示,若键入密码与存储密码完全一致时LCD1602液晶显示屏提示开锁成功,否则LCD1602液晶显示屏提示错误。输入错误次数达三次键盘锁死且期间输入密码无效。用户需修改密码时需按下修改键并输入新九位密码方可修改成功,LCD显示屏根据操作显示相应内容,同时可利用EEPROM掉电保存密码。
关键词:STC15F2K60S2最小系统;电子密码锁;LCD1602;EEPROM
1设计背景
随着高新技术对传统锁具不断注入,锁具的安防功能得到了充分的延伸和拓展,智能电子锁跻身一跃成为当今安防系统中必不可少的一员,其功能和地位是传统机械锁具无法比拟的。电子密码锁有着巨大的市场潜力,目前国内外许多公司都投入相当大的人力、物理从事智能电子密码锁的开发生产。就国内市场而言,现有技术水平不是很高,且国内电子密码锁主要应用于安防设备;国外市场而言技術相对成熟且应用较为广泛但使用成本较高,故如何研发设计出一款低成本、功能齐全、可靠性高、容量小、易普及的智能电子密码锁成为制锁者研究和探讨的话题。本课题设计基于STC15F2K60S2单片机,运用其他电子元器件实现电子密码锁数据的采集和控制算法。
2总体设计方案与原理
由于STC15F2K60S2单片机应用系统具有控制灵活、准确性好且设计方便、资料多等特点,本装置是基于STC15F2K60S2单片机设计的电子密码锁,本装置包含STC15F2K60S2最小系统,矩阵键盘模块,LCD1602显示模块,蜂鸣器报警电路。电子密码锁装置采用矩阵键盘模块实现对系统进行输入密码,同时具备有确定键、删除键、返回键、修改键,LCD1602显示屏同步显示字符判别按键正在进行的操作。蜂鸣器报警电路在按键按下时短暂提示一声,在确认密码是否正确或密码锁锁住时会报警相应时间,报警时间采用定时器0进行计时,确认密码时定时器开始启动,蜂鸣器报警,单次计时10ms,到相应时间后,定时器关闭,蜂鸣器停止报警。当密码输入错误后达到3次时,整个密码锁装置锁住,所有按键无效。在程序刚刚初始化时会读取EEPROM中的密码,修改密码后会将密码存入EEPROM中,实现掉电保存功能。
3硬件电路设计
设计的电子密码锁用到了15单片机的最小系统,在单片机应用系统中,若使用按键较多时,通常采用矩阵式键盘,较之独立式键盘要节省很多IO口。
矩阵式键盘按键一般通过扫描法识别,按键按下时,与此键相连的行线与列线导通。单片机的P1接4*4的矩阵键盘,以P1.0~P1.3作为行扫描线,以P1.0~P1.3作为列扫描线,先进行行扫描,即将某一行电平拉低,同时不能使所有行线在同一时刻都处于低电平,只能让一条行线在某一时刻处于低电平,其它行线都处于高电平,当有某一个按键按下时,其列线也为低电平。CPU 根据行列电平的变化,便能判定相应键健按下。
为了实现显示功能,本装置采用LCD1602显示屏,其由玻璃基板、液晶、偏振片三大基本部件构成,具有低压微功耗、平板形结构、没有电磁辐射、寿命长等特点,被广泛应用于图形显示、笔记本电脑和彩色电视机等设备中。通过LCD1602显示相关操作提示,使用户可以清晰地知道密码锁的对应步骤,能够执行准确的操作。单片机与字符型LCD1602显示模块采用直接访问的连接方式,其是一种字符点阵型模块,每个字符都是由5*8的点阵组成。
蜂鸣器电路在本装置中起提示或报警作用,设计采用的是高电平触发有源蜂鸣器,有源蜂鸣器内部自带震荡源,只要一通电就会叫,相较于无源蜂鸣器使用更加方便。但是蜂鸣器的工作电流一般比较大,需要达到几十毫安,所以单片机的IO口无法直接驱动,于是设计了一个三极管控制电路来驱动蜂鸣器。
4软件设计
在LCD1602进行显示时,需要进行输入方式设置,显示开关设置,光标、画面移位设置,功能设置等,确定LCD1602的工作方式,其有写命令和写数据操作,有16*2个位置可用来显示。LCD1602常用指令有:0x80+0xdd,dd为地址,这条命令用于设置显示起点坐标,dd为00时是第一行显示坐标,为40时是第二行显示坐标。0x0c,开显示,无光标,光标不闪烁,一般做带键盘输入的才加入光标,常用的计量显示不显示光标。0x06,写一个数据,地址指针加1。0x38,设置显示模式,16*2显示5*7点阵,8位数据接口。0x01,清屏功能。
报警装置采用蜂鸣器报警,其高电平有效。按键时的提示音采用延时程序实现短暂的响应,当检测有按键按下,P3.6口赋高电平开通,延时100ms后,P3.6口赋低电平关断。报警则采用定时器0控制时间长短,当判别完密码是否正确时启动定时器0同时蜂鸣器报警,在计时到相应时间后,定时器0关闭同时蜂鸣器停止报警。
为了使单片机能掉电保存通过矩阵键盘设置的密码,通过编写EEPROM程序实现掉电保存功能。该单片机内部集成了1k两个扇区的EEPROM,可供用户的读取和擦写,具有掉电保存功能。EEPROM存储器对于需要存储数据的项目,十分方便,读写也很简单。使用EEPROM之前要对EEPROM进行初始化,对相关的一些特殊功能寄存器(SFR)进行声明,然后撰写关闭IAP子函数、读EEPROM字节子函数、写EEPROM字节子函数、扇区擦除子函数。此外要注意使用EEPROM进行存储时即调用写EEPROM字节子函数,首先要对其存储区域进行扇区擦除操作。如要读EEPROM,首先要打开EEPROM,使EEPROM能被读取数据读取数据到指定缓存然后关闭EEPROM,保护EEPROM内容。如要读EEPROM,首先要打开EEPROM,使EEPROM能被读取数据读取数据到指定缓存然后关闭EEPROM,保护EEPROM内容。同一次修改的数据放在同一扇区,不是同一次修改的数据放在另外的扇区,操作时就不需读出来进行保护了。
5结果分析
首先检查了原理图的设计正确与否,检查正确之后开始焊接,焊接完成后一步步检查硬件电路是否出现短路和接触不良。之后利用STC_ISP烧录软件以及TTL器把已经编译好的程序烧录进单片机,给装置通电并进行调试,同时进行仿真软件的调试。调试结果完全符合设计的基本要求,能够实现对8位电子密码锁进行密码比较和修改,当输入密码与存储密码完全一致时开锁成功,LCD1602液晶显示器能够对键盘输入不同状况进行准确显示。
参考文献
[1] 丁向荣.单片微机原理与接口技术:基于STC15列单片机(第二版)[M].北京:电子工业出版社,2018.
[2] 李红霞,张明霞.浅谈Keil和Proteus的单片机实验教学探究[J].电子世界,2020,(16):78-79.
[3] 李敏,陈丽霞,张欣.基于工程能力培养的单片机原理及应用实验项目设计[J].沧州师范学院学报,2020,36(02):125-128.
[4] 陈见辉.基于AltiumDesigner环境下PCB工艺的设计与应用[J].电子测试,2019,(08):124-125+121.
[5] 赖金梅.开发板在单片机原理及接口技术课程教学中的应用[J].职业,2017,(23):119-120.
[6] 何宾,姚永平.STC单片机原理及应用[M].北京:清华大学出版社,2015:35-142.
关键词:STC15F2K60S2最小系统;电子密码锁;LCD1602;EEPROM
1设计背景
随着高新技术对传统锁具不断注入,锁具的安防功能得到了充分的延伸和拓展,智能电子锁跻身一跃成为当今安防系统中必不可少的一员,其功能和地位是传统机械锁具无法比拟的。电子密码锁有着巨大的市场潜力,目前国内外许多公司都投入相当大的人力、物理从事智能电子密码锁的开发生产。就国内市场而言,现有技术水平不是很高,且国内电子密码锁主要应用于安防设备;国外市场而言技術相对成熟且应用较为广泛但使用成本较高,故如何研发设计出一款低成本、功能齐全、可靠性高、容量小、易普及的智能电子密码锁成为制锁者研究和探讨的话题。本课题设计基于STC15F2K60S2单片机,运用其他电子元器件实现电子密码锁数据的采集和控制算法。
2总体设计方案与原理
由于STC15F2K60S2单片机应用系统具有控制灵活、准确性好且设计方便、资料多等特点,本装置是基于STC15F2K60S2单片机设计的电子密码锁,本装置包含STC15F2K60S2最小系统,矩阵键盘模块,LCD1602显示模块,蜂鸣器报警电路。电子密码锁装置采用矩阵键盘模块实现对系统进行输入密码,同时具备有确定键、删除键、返回键、修改键,LCD1602显示屏同步显示字符判别按键正在进行的操作。蜂鸣器报警电路在按键按下时短暂提示一声,在确认密码是否正确或密码锁锁住时会报警相应时间,报警时间采用定时器0进行计时,确认密码时定时器开始启动,蜂鸣器报警,单次计时10ms,到相应时间后,定时器关闭,蜂鸣器停止报警。当密码输入错误后达到3次时,整个密码锁装置锁住,所有按键无效。在程序刚刚初始化时会读取EEPROM中的密码,修改密码后会将密码存入EEPROM中,实现掉电保存功能。
3硬件电路设计
设计的电子密码锁用到了15单片机的最小系统,在单片机应用系统中,若使用按键较多时,通常采用矩阵式键盘,较之独立式键盘要节省很多IO口。
矩阵式键盘按键一般通过扫描法识别,按键按下时,与此键相连的行线与列线导通。单片机的P1接4*4的矩阵键盘,以P1.0~P1.3作为行扫描线,以P1.0~P1.3作为列扫描线,先进行行扫描,即将某一行电平拉低,同时不能使所有行线在同一时刻都处于低电平,只能让一条行线在某一时刻处于低电平,其它行线都处于高电平,当有某一个按键按下时,其列线也为低电平。CPU 根据行列电平的变化,便能判定相应键健按下。
为了实现显示功能,本装置采用LCD1602显示屏,其由玻璃基板、液晶、偏振片三大基本部件构成,具有低压微功耗、平板形结构、没有电磁辐射、寿命长等特点,被广泛应用于图形显示、笔记本电脑和彩色电视机等设备中。通过LCD1602显示相关操作提示,使用户可以清晰地知道密码锁的对应步骤,能够执行准确的操作。单片机与字符型LCD1602显示模块采用直接访问的连接方式,其是一种字符点阵型模块,每个字符都是由5*8的点阵组成。
蜂鸣器电路在本装置中起提示或报警作用,设计采用的是高电平触发有源蜂鸣器,有源蜂鸣器内部自带震荡源,只要一通电就会叫,相较于无源蜂鸣器使用更加方便。但是蜂鸣器的工作电流一般比较大,需要达到几十毫安,所以单片机的IO口无法直接驱动,于是设计了一个三极管控制电路来驱动蜂鸣器。
4软件设计
在LCD1602进行显示时,需要进行输入方式设置,显示开关设置,光标、画面移位设置,功能设置等,确定LCD1602的工作方式,其有写命令和写数据操作,有16*2个位置可用来显示。LCD1602常用指令有:0x80+0xdd,dd为地址,这条命令用于设置显示起点坐标,dd为00时是第一行显示坐标,为40时是第二行显示坐标。0x0c,开显示,无光标,光标不闪烁,一般做带键盘输入的才加入光标,常用的计量显示不显示光标。0x06,写一个数据,地址指针加1。0x38,设置显示模式,16*2显示5*7点阵,8位数据接口。0x01,清屏功能。
报警装置采用蜂鸣器报警,其高电平有效。按键时的提示音采用延时程序实现短暂的响应,当检测有按键按下,P3.6口赋高电平开通,延时100ms后,P3.6口赋低电平关断。报警则采用定时器0控制时间长短,当判别完密码是否正确时启动定时器0同时蜂鸣器报警,在计时到相应时间后,定时器0关闭同时蜂鸣器停止报警。
为了使单片机能掉电保存通过矩阵键盘设置的密码,通过编写EEPROM程序实现掉电保存功能。该单片机内部集成了1k两个扇区的EEPROM,可供用户的读取和擦写,具有掉电保存功能。EEPROM存储器对于需要存储数据的项目,十分方便,读写也很简单。使用EEPROM之前要对EEPROM进行初始化,对相关的一些特殊功能寄存器(SFR)进行声明,然后撰写关闭IAP子函数、读EEPROM字节子函数、写EEPROM字节子函数、扇区擦除子函数。此外要注意使用EEPROM进行存储时即调用写EEPROM字节子函数,首先要对其存储区域进行扇区擦除操作。如要读EEPROM,首先要打开EEPROM,使EEPROM能被读取数据读取数据到指定缓存然后关闭EEPROM,保护EEPROM内容。如要读EEPROM,首先要打开EEPROM,使EEPROM能被读取数据读取数据到指定缓存然后关闭EEPROM,保护EEPROM内容。同一次修改的数据放在同一扇区,不是同一次修改的数据放在另外的扇区,操作时就不需读出来进行保护了。
5结果分析
首先检查了原理图的设计正确与否,检查正确之后开始焊接,焊接完成后一步步检查硬件电路是否出现短路和接触不良。之后利用STC_ISP烧录软件以及TTL器把已经编译好的程序烧录进单片机,给装置通电并进行调试,同时进行仿真软件的调试。调试结果完全符合设计的基本要求,能够实现对8位电子密码锁进行密码比较和修改,当输入密码与存储密码完全一致时开锁成功,LCD1602液晶显示器能够对键盘输入不同状况进行准确显示。
参考文献
[1] 丁向荣.单片微机原理与接口技术:基于STC15列单片机(第二版)[M].北京:电子工业出版社,2018.
[2] 李红霞,张明霞.浅谈Keil和Proteus的单片机实验教学探究[J].电子世界,2020,(16):78-79.
[3] 李敏,陈丽霞,张欣.基于工程能力培养的单片机原理及应用实验项目设计[J].沧州师范学院学报,2020,36(02):125-128.
[4] 陈见辉.基于AltiumDesigner环境下PCB工艺的设计与应用[J].电子测试,2019,(08):124-125+121.
[5] 赖金梅.开发板在单片机原理及接口技术课程教学中的应用[J].职业,2017,(23):119-120.
[6] 何宾,姚永平.STC单片机原理及应用[M].北京:清华大学出版社,2015:35-142.