第七章 电子密码锁控制系统培训资料
微机原理课程设计(电子密码锁)

一、设计目的通过课程设计掌握控制系统设计的一般步骤,掌握系统总体控制方案的设计方法、8086微型计算机的应用方法、控制算法的设计及硬件设计方法。
复习并学习用软件编程控制硬件。
了解和掌握8086微机应用系统的软硬件设计过程、方法及实现,为以后设计实现8086微机应用系统打下良好的基础。
二、设计任务与要求(1)密码锁在输入密码正确时控制电控锁开启,同时显示00字样;当输入密码错误时,发出错误警告,并显示FF字样;当3次误码输入时,产生报警;具有密码修改的功能。
(2)选用8086和适当的存储器及接口芯片完成相应的功能,用LED显示器显示电子锁的当前状态;画出详细的硬件连接图;给出程序设计思路、画出软件流程图;给出所有程序清单并加上必要注释;完成设计说明书(包括封面、目录、设计任务书、硬件设计思路、硬件原理图、软件设计思路、程序流程框图、程序清单、所用器件型号、总结体会、参考文献等)。
三、整体功能描述本设计为多功能密码锁,使用存储器保存密码防止断电后密码丢失。
工作时按下按键蜂鸣器会发出声音提示按键有效并在数码管有“- -”闪烁字样,若相隔1分钟无按键按下,则清零。
在输入密码正确的条件下输出开锁电平,控制电控锁开启,同时显示OPEN字样。
开锁后可按下“复位/修改密码键”实现修改密码功能的转入,之后先输入密码再输入同样的密码确认才可成功修改,修改成功后蜂鸣器会发出三声,数码管“00”闪烁三次提示修改密码成功。
当输入密码错误时,发出错误警告声音,同时显示CLOSE字样,当输入密码错误次数累积够3次后,蜂鸣器会产生90秒的报警声响进行报警。
四、总体设计方案根据本次设计的设计目的及设计要求,可有下列两种方案:4.1 方案一在本次设计中,因为密码锁的基本功能使可以判断密码是否正确,以及完成对密码的修改,所以需要用到输入设备以及CPU的接口电路以及相关存储设备;因为有报警提示功能,所以要用到相关的输出设备以及接口电路。
电子实训(电子密码锁)

(^_^)
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能 寄存器的定义 #include<intrins.h> sbit RS = P1^5; //定义端口 0写指令,1写数据 sbit RW = P1^6; //写入信号? 0写数据,1读数据 sbit EN = P1^7; //片选信号?
该设计本着便捷经济的特征采用经济的特征采用stc89c52rcstc89c52rc结合的一系列电路设计并用结合的一系列电路设计并用cc语言编写的控制程序通过多次调整修改调试以及整理所语言编写的控制程序通过多次调整修改调试以及整理所得出的简易电子密码锁它具有保护得出的简易电子密码锁它具有保护密码密码自动报警自动报警等功能等功能在达到基本要求的同时还具有成本低可靠性强灵敏度高在达到基本要求的同时还具有成本低可靠性强灵敏度高操作简便等特点
电子系统实训之电子密码锁
STEP1 STEP2
STEP3 STEP4 STEP5
随着人们生活水平的提高,如何实现防盗、 安全这一问题也变的尤其的突出,传统的机 械锁由于其构造的简单,被撬的事件屡见不 鲜,电子锁由于其保密性高,使用灵活性好, 安全系数高,受到了广大用户的亲呢。 电子密码锁可以在日常生活和现代办公来完 成,住宅与办公室的安全防范,单位的文件 档案财务报表以及一些个人资料的保存等多 种场合使用。大大提高了主人物资的安全性。 目前使用的密码锁种类多,各具特色。
#define RS_CLR RS=0 #define RS_SET RS=1
#define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0 #define EN_SET EN=1
单片机程序设计—电子密码锁

目录目录 (1)中文摘要 (2)第一章概述 (5)第二章系统总体方案设计 (6)第三章硬件电路设计 (10)3.1键盘电路设计 (10)3.2 LED显示电路 (12)3.3 开锁警电路 (15)第四章软件设计 (17)4.1 软件设计思路 (17)4.2各子程序设计 (17)第五章系统调试 (22)第六章心得体会 (23)第七章参考文献 (24)附录 (25)源程序清单 (25)中文摘要摘要:在日常生活和工作中,住宅与部门的安全防范、单位的文件档案、财务报表以及一些个人资料的保存多以加锁的办法来解决。
若使用传统的机械式钥匙开锁,人们常需携带多把钥匙,使用极不方便,且钥匙丢失后安全性即大打折扣,随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。
为满足人们对锁得使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。
密码锁具有安全性高、成本低、功耗低、易操作等优点。
在安全技术防范领域,具有防盗报警功能的电子密码锁逐渐替代传统的机械式密码锁,克服了机械式密码锁密码量少、安全性能差的缺点,使密码锁无论在技术上还是在性能上都大大提高一步。
随着大规模集成电路技术的发展,特别是单片机的问世,出现了带微处理器的只能密码锁,它除了具有电子密码锁的功能外,还引进了智能化管理、专家分析系统等功能,从而使密码锁具有很高的安全性、可靠性,应用日益广泛。
随着人们对安全的重视和科技的发展,许多电子智能锁(指纹识别、IC卡辨认)已在国内外相继面世。
但是,这些产品的特点是针对特定的指纹和有效卡,只能适用于保密要求的箱、柜、门等。
而且指纹识别器若在公共场所使用存在容易机械损坏,IC卡还存在容易丢失、损坏等特点。
加上其成本较高,一定程度上限制了这类产品的普及和推广。
鉴于目前的技术水平与市场的接收程度,电子密码锁是这类电子防盗产品的主流。
基于以上思路,本次设计使用ATMEL公司的AT89C51实现—基于单片机的电子密码锁的设计,其主要具有如下功能:密码通过键盘输入,若密码正确,则将锁打开。
密码锁控制说明书

单片机课程设计报告课题名称:密码锁控制目录第一章引言 (3)第二章课程设计任务书 (3)一、任务要求 (3)二、单片机概述 (4)第三章电路原理分析与设计…………………………………………11一、硬件设计思想…………………………………………………11二、部分硬件方案论述……………………………………………111 键盘输入单元 (11)2 显示单元 (13)3 报警电路模块 (17)4 晶振电路模块 (17)5 复位电路模块 (18)6 掉电存储单元 (19)7 总框图设计与程序流程图 (20)第四章程序设计………………………………………………………22第五章调试连接与测试………………………………………………43第六章小结……………………………………………………………43第七章参考文献………………………………………………………43第一章引言单片机自二十世纪七十年代问世以来,以其极高的性能价格比受到人们的重视和关注,应用广泛,发展快。
由于其的优点多而突出,所以其的应用领域极广,几乎到了无孔不入的地步。
在我国广泛的应用于工业自动化控制、自动检测、智能仪表、智能家用电器、航空航天系统和国防军事、尖端武器等各个方面。
可以采用软硬件结合的办法提高系统的性能的控制技术为微控技术。
LCD 液晶显示器是Liquid Crystal Display 的简称,是20世纪70年代初发展起来的一种液晶显示器。
随着技术的发展其的分辨率、屏幕发光颜色等进入批量化合实用化。
随着人们生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜,电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的亲呢。
本系统由单片机系统、矩阵键盘、LCD显示和报警系统组成。
系统能完成开锁、报警、修改用户密码基本的密码锁的功能。
本文详细阐述了个模块的功能以及它们之间的联系。
第二章课程设计任务书一、任务要求:1、密码锁由4x4键盘和LCD显示器组成。
第七章 电子密码锁控制系统共37页文档

课程目标:
了解微机控制系统键盘的构建及工作原理;认识微机控 制系统的键盘设计,掌握单片机键盘的应用。
课程重点及难点
独立式键盘及其接口电路;矩阵式键盘及其接口电路; 按键扫描驱动程序的设计。
7.1电子密码锁控制系统任务分析
一、 电子密码锁实物图:
7.1电子密码锁控制系统任务分析
7.2 键盘及其接口电路
(1)矩阵式键盘的按键识别方法 逐行扫描法: 扫描法是一种逐行或逐列判断是否有键按下的方法。扫描 法又称为逐行(或列)扫描查询法,是一种最常用的按键 识别方法。利用行扫描法判断矩阵键盘中被按下的键时主 要经过以下步骤: 第一步,识别有无键按下 让所有的行线均置为0电平,即P1.4~P1.7均输出低电平, 读取列线P1.0~P1.3的值,若P1.0~P1.3均为高电平,则 表示无键按下;若不全为高电平,则表示有键按下。
硬件消抖动:利用双稳态电
路、单稳态电路及RC积分电
路去抖。
软件消抖动:利用延时子程
序来完成,既在第一次检测 到按下按键后,经过一定抖 动时间后再次检测按键是否 按下,从而消除抖动的影响。
延时的选择非常重要,太 快了,起不到消除抖动的 效果,太慢了又让键盘太 不灵活,错过的按键信号
7.2 键盘及其接口电路
G ND
V CC R3 1K
K1
90 13
M
G ND
V CC R4 1K
R5 1K R6 1K R7 1K
LE D1
1 a D PY
2b
a
3 4
c d
f
g
b
5
ee
c
6
f
d
7 g [L ED gn ]
电子锁培训课件(ppt 34张)

面,选择菜单“编辑”|“实体化”,使用曲面裁减实体。
设计步骤
• 步骤17:单击“抽壳”按钮 ,抽壳厚度为2。
设计步骤
• 步骤18:单击“圆角”按钮 ,添加半径为0.5、0.2的圆角。
设计步骤
• 步骤19:创建一个拉伸切割特征,深度为0.5。
设计步骤
• 步骤20:使用“阵列”命令 阵列复制拉伸减料特征,选择尺寸15为 阵列驱动尺寸,增量为2,数量为8。
设计步骤
• 步骤10:单击“打开”按钮 ,使用“缺省”约束装入主控文 件。
设计步骤
• 步骤11:单击“打开”按钮 ,创建上盖(Top_housing)和下盖 (Bottom_housing)两个空白文件,装配约束为缺省。 • 步骤12:在模型树中激活上盖文件,选择菜单“插入”|“共享 数据”|“合并/继承”,选择主控文件。使用同样的方法将主控 文件合并到下盖文件中,保存文件。
设计步骤
• 步骤30:单击“拉伸”按钮 ,添加拉伸切割特征,深度为0.3。
设计步骤
• 步骤31:创建下咬合口,选择菜单“编辑”|“偏移”,向上输入偏移 高度1.5,拔模角度为3
设计步骤
• 步骤32:图中的侧面有倒扣,添加一个0度的拔模特征。
设计步骤
• 步骤33:给突起的部分添加一个“偏移”特征,偏移值为1.5。 • 步骤34:保存并关闭当前窗口。
设计步骤 (Demo)
• 步骤1:创建一个新的工作目录,并把它设置为工作目录。 • 步骤2:创建一个新文件,文件名为master.prt。
设计步骤
• 步骤3:单击“拉伸”按钮 ,创建第一个特征,选择TOP平面为
草绘制平面,往上拉伸的高度为14,往下拉伸的深度为9。
设计步骤
电子锁培训课件

设计步骤
• 步骤30:单击“拉伸”按钮 。 ,添加拉伸切割特征,深度为0.3
设计步骤
• 步骤31:创建下咬合口,选择菜单“编辑”|“偏移”,向上输入偏移 高度1.5,拔模角度为3
设计步骤
• 步骤32:图中的侧面有倒扣,添加一个0度的拔模特征。
设计步骤
• 步骤33:给突起的部分添加一个“偏移”特征,偏移值为1.5。 • 步骤34:保存并关闭当前窗口。
电子锁
案例:电子锁
• 案例背景:
模型文件
• 电子锁这个实例我们会用到主控文件的设计理念,这是一种比较重要的设计理念, 适用与大部分消费类塑胶产品。
• 案例建模所要用到的工作台:
• 草绘工作台 • 零件设计工作台 • 装配设计工作台
• 案例建模时间
4小时
设计流程
1.创建主控文件
2. 添加继承关系
3.建立零件模型
设计步骤
• 步骤35:在特征树中打开上盖文件(Top_housing.prt)。
• 步骤36:给切割出来的两个小侧面增加一个拔模特征。
设计步骤
• 步骤37:创建咬合口,选择菜单“编辑”|“偏移”,向下偏移距离 1.5,拔模角度为3 • 步骤38:保存并关闭窗口。
结 束
本PPT为可编辑版本 您看到以下内容请 除后使用,谢谢您 理解
设计步骤
• 步骤26:创建一个新的装配文件,名字为Media_key.asm,将上 下壳体以“缺省”约速装配到文件中。
设计步骤
• 步骤27:单击“拉伸”按钮 征,注意深度选项为 。 ,创建一个拉伸除料特
设计步骤
• 步骤28:在特征树中打开下盖文件(Bottom_housing.prt)。
• 步骤29:以分型面为中型面,在装配特征的两个侧面添加一个拔 模特征,拔模角度为3度。
密码锁控制系统设计

拓展训练
六、教学体会
2.变量表
3.实验验证
4.新建项目:项目4.1.1
5.硬件组态
6.编写PLC变量表
7.编写程序
8.编译、下载、运行程序
9.调试与观察
10.利用微课,讲解参考程序,引入信息安全
活动五 任务评价
1.根据项目评价表对学生的任务情况进行评分,小组成员作为“裁判”互相评分,教师作为“裁判长”仲裁。
2.总结本任务的知识点。
四川仪表工业学校教案
课程: SIMATIC S7-1500与TIA博途基础
课题
密码锁控制系统设计
课时
2
授课班级
授课次
郎小波
29
一、教学内容分析与处理
教学重点:比较指令的基本使用方法、计数器指令的应用
教学难点:密码锁的工作原理和程序设计方法
思政元素:信息安全
二、教学目标
2.哪些场合有密码锁,引入密码锁控制设计
活动三知识储备
1.密码锁的使用背景
2.常见密码锁
活动四任务实施
1.控制要求:项目4.2.1:密码锁控制系统,它有4个按键和1个开关,其控制要求如下:SA1为启动开关,先接通SA1,才可进行开锁工作。SB1为复位键,按下SB1后,可重新进行开锁作业。SB2为不可按压键,一但按压,报警器就发出警报。SB3、SB4为可按压键,开锁条件为:先按SB3三次,再按SB4两次,如果按上述规定按压,密码锁自动打开。
1.掌握比较指令的应用
2.熟悉密码锁的工作原理和程序设计方法
3.进一步掌握计数器指令的应用
三、学情分析及教学方法选择
学情分析:知识和技能上,学生已经学过用比较指令的用法、之前也学习过计数器指令。情感上,本课程是综合运用计数器指令和比较指令,学生应该不是很陌生,密码锁也有广泛的实用性,学生就有浓厚的学习兴趣。除锻炼学生的动手能力和逻辑思维外,也要求学生心细、团结合作,以集体的智慧来完成控制项目。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/*调键扫描函数,返回键码送key保存*/
7.3 键盘程序设计
void dlms (void) {
uchar i for (i=200;i>0;i- -); }
/* 延时 */
uchar kbscan (void)
/* 键盘扫描函数,反线法 */
{
uchar sccode, recode
P1=0xf0;
(2)重键:是指无意同时或先后按下两个以上的键。 (3)连击:是指一次按键产生多次击键的结果。
通常在单片机应用系统中,对于重键或连击现象,也 多利用软件来进行控制,如采取单键按下有效、多个 键按下无效,并且在某个键被按下时,CPU等待此键 释放的过程中不响应其它按键等策略来解决。
7.2 键盘及其接口电路
/* P1.0~P1.3放全0, P1.4~P1.7输入 */
if((P1 & 0xf0)!=0xf0)
/* 如P1口高四位不全为1有键按下 */
{
dlms ( );
/* 延时去抖动 */
if ((P1 & 0xf0)!=0xf0)
/*再读输入值*/
{
sccode=0xfe;
/*最低位置为0*/
7.3 键盘程序设计
7.2 键盘及其接口电路
在实际键盘接口设计时,必须考虑以下一些问题: 按键开关的消抖问题 重键 连击
(1)按键开关的抖动问题 由于按键的结构为机械弹性开关,因此按键从最初按下 到接触稳定需数毫秒的弹跳时间,这样的抖动时间一般 在5~10ms,松开键时也有同样的问题。
7.2 键盘及其接口电路
键盘消抖动的方法有两种。
第二步让P1.4~P1.7输出全0,然后,读入P1.0~P1.3位,结 果P1.0=0,而P1.1、P1.2和P1.3均为1,因此第4列出现电平的 变化,说明第4列有键按下,从而可以得知按键在第一行 第四列,即3号键被按下,如图所示。
7.2 键盘及其接口电路
(2)键盘的编码 对于矩阵式键盘,按键的位置由行号和列号确定,所以 分别对行号和列号进行二进制编码,然后将两值合成一 个字节,高4位是行号,低4位是列号,非常直观 。如: 3号键的编码11100111,写成十六进制为E7H。 无论以何种方式编码,均应以处理问题方便为原则。按 键所处的位置(即行号和列号)是各种编码之间相互转 换的基础。
7.3 键盘程序设计
#include <reg51.h>
#define uchar unsigned char; #define uint unsigned int;
void dlms (void); uchar kbscan(void);
/* 函数说明 */
void main (void) { uchar key; while (1) { key=kbscan(); dlms(); } }
二、键盘的结构方式
键盘有两种基本类型:编码键盘和非编码键盘。 编码键盘采用硬件线路来产生键码,每按下一个键,键盘 能自动生成按键代码。 非编码键盘是靠软件来识别键盘上的闭合键,并由软件编 成来确定按键代码。非编码键盘具有结构简单、价格便宜 等特点,因此在单片机系统中普遍采用非编码键盘。 非编码键盘按结构方式划分,有独立式键盘和矩阵式键盘 两大类。
R 9 1K
R 10 1K
1
2
3
4
5
6
7
8
9
0
E
4
LE D3
1 a D PY
2b
a
3 4
c d
f
g
b
5 ee
c
6f
d
7 g [L ED gn]
V CC R 11 1K
90 13
G ND
7.1电子密码锁控制系统
7.1电子密码锁控制系统
7.1电子密码锁控制系统
四、项目所需元器件 (1)实验控制板。 (2)4个共阳极LED数码管、11个按钮。 (3)继电器、电动小马达、三极管、喇叭等 (4)晶振12M,启振电容30pf2个,复位电容22uf,电阻若干。 五、项目所涉及的知识内容 (1)键盘的构成、扫描及编码。 (2)键盘的编程。
硬件消抖动:利用双稳态电
路、单稳态电路及RC积分电
路去抖。
软件消抖动:利用延时子程
序来完成,既在第一次检测 到按下按键后,经过一定抖 动时间后再次检测按键是否 按下,从而消除抖动的影响。
延时的选择非常重要,太 快了,起不到消除抖动的 效果,太慢了又让键盘太 不灵活,错过的按键信号
7.2 键盘及其接口电路
7.3 键盘程序设计
recode=P1 & 0xf0; P1=0x0f; sccode=P1 & 0x0f; return (sccode+recode);
} return(0); }
/*读取列值*/ /*P1口列输出全为0*/ /*读取行值*/ /* 行码+列值=键编码返回主程序*/
7.3 键盘程序设计
2、反线法
7.3 键盘程序设计
#include <reg51.h>
#define uchar unsigned char; #define uint unsigned int;
void dlms (void); uchar kbscan(void);
/* 函数说明 */
void main (void) { uchar key; while (1) { key=kbscan(); dlms(); } }
7.2 键盘及其接口电路
一、键盘的基本概念 键盘是一组开关的集合,是最常用的输入设备之一。组 成键盘的按键有触点式和非触点式两种。 触点式按键通常是机械触点开关,它利用了机械触点的 通、断特性完成信息的输入。 非触点式按钮主要指利用电子器件的通、断来完成信息 的输入,如工作在开关状态的三极管、电力电子器件 IGBT等。 在单片机控制系统中常用触点式开关来组成键盘。
2
3
7.1电子密码锁控制系统任务分析
三、硬件控制线路
V CC
C1
G ND
22 uf R1 1K
98 C2 05 1
V CC
R2
1K G ND
C1 30 uF
C2 30 uF
12 M Hz
R ST V CC P3 .0 P1 .7 P3 .1 P1 .6 X TA L2 P1 .5 X AT L1 P1 .4 P3 .2 P1 .3 P3 .3 P1 .2 P3 .4 P1 .1 P3 .5 P1 .0 EN D P3 .7
7.2 键盘及其接口电路
(1)矩阵式键盘的按键识别方法 逐行扫描法: 扫描法是一种逐行或逐列判断是否有键按下的方法。扫描 法又称为逐行(或列)扫描查询法,是一种最常用的按键 识别方法。利用行扫描法判断矩阵键盘中被按下的键时主 要经过以下步骤: 第一步,识别有无键按下 让所有的行线均置为0电平,即P1.4~P1.7均输出低电平, 读取列线P1.0~P1.3的值,若P1.0~P1.3均为高电平,则 表示无键按下;若不全为高电平,则表示有键按下。
while((sccode & 0x10)!=0) /*不到最后一行循环*/
{
P1=sccode;
/*P1口输出扫描码*/
if ((P1 & 0xf0)!=0xf0) /*如P1.4~P1.7不为全1,该行有键按下*/
{
recode=P1 & 0xf0;
/* 保留P1口高四位输入值*/
sccode= sccode & 0x0f;
/*低四位保留,作为列值*/
return (sccode+recode); /* 行码+列值=键编码返回主程序*/
else sccode=(sccode<<1)| 0x01; /* 如该行无键按下,查下一行*/
/*行扫描值 左移一位 */
} } return(0); }
/* 无键按下,返回值为0 */
G ND
V CC R3 1K
K1
90 13
M
G ND
V CC R4 1K
R5 1K R6 1K R7 1K
LE D1
1 a D PY
2b
a
3 4
c d
f
g
b
5
ee
c
6
f
d
7 g [L ED gn]
LE D2
1 a D PY
2b
a
3 4
c d
f
g
b
5 ee
c
6f
d
7 g [L ED gn]
V CC R 8 1K
输出线输出为全零电平,则行线中电平由高到低所在 行为按键所在行。 第二步:同第一步完全相反,将行线编程为输出线,列线 编程为输入线,并使输出线输出为全零电平,则列线 中电平由高到低所在列为按键所在列。 综合一二两步的结果,可确定按键所在行和列,从而识别 出所按的键。
7.2 键盘及其接口电路
假设3号键被按下,那么第一步 即在P1.0~P1.3输出全0,然后, 读入P1.4~P1.7位,结果P1.4=0, 而 P1.5 、 P1.6 和 P1.7 均 为 1 , 因 此 , 第一行出现电平的变化,说明 第一行有键按下;
7.2 键盘及其接口电路
1、独立式键盘及其接口 独立式键盘,是一种最简单的键盘构成方法,它将每个 按键的一端接到单片机的I/O口,另一端接地,如图所 示。 主要特点是各个键相互独立,每一个按键对应一根输入 口线。键盘软件结构简单,但当键盘数目较多时,需占 用大量的输入口线,所以在使用上受到了很大的限制。
/*调键扫描函数,返回键码送key保存*/
7.3 键盘程序设计
void dlms (void) {