扬州市职业大学
课程设计(论文)
设计(论文)题目:电子密码锁
系别:汽车与电气工程系1
专业:计算机控制技术1
班级:07计算机控制技术
姓名:刘士娟1
学号:0702040112
指导教师:张平
完成时间:10年1月
目录
摘要-----------------------------------------------------------3
关键字-------------------------------------------------------------------------------------3
第一章前言-----------------------------------------------------------------------------3
第二章基本功能设计---------------------------------------------------------------4
2.1实验任务-----------------------------------------------------------------4
2.2基本设计------------------------------------------------------------------4
2.3系统框图----------------------------------------------------------------5
第三章硬件设计-----------------------------------------------------------------------5
3.1硬件工作接线口----------------------------------------------------------------5
3.2LED显示器结构与原理-------------------------------------------------------6
3.3复位电路-----------------------------------------------------------------------------6
3.4按键方式---------------------------------------------------------------------------7
3.5电路原理图-------------------------------------------------------------------------8
3.6元器件清单-------------------------------------------------------------------------9
第四章软件设计--------------------------------------------------------------------10
4.1软件结构----------------------------------------------------------------------------------10
4.2源程序--------------------------------------------------------------------------------------12
第五章焊接技术------------------------------------------13
第六章心得体会-----------------------------------------------------------------------14
第七章参考文献-----------------------------------------------------------------------15
【摘要】电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,我们采取的是单片机,它具有超大规模集成电路技术,有极强的数据处理能力,I/O口多。以它为核心设计的密码锁,结构小,功能强,现在很多单位甚至家里的各个家用电器,还有保险箱都需要它。
【关键字】AT89C51单片机I/O口接线LED显示(四位静态数码管)
复位电路键盘焊接技术
【正文】
课程设计之电子密码锁
一、前言
一种能防止多次试探密码的基于单片机的密码锁设计方案,根据基本要求规划单片机密码锁的硬件电路和软件程序,同时对单片机的型号选择、硬件设计、软件流程图、单片机存储单元的分配等都有注释。我们知道现在很多行业都需要密码锁,电子密码锁的性能和安全性大大超过了机械锁,为了提高密码的保密性,可以经常更改密码,防止密码被盗;当密码输入错误多次时,报警系统可自动启动。
它们有很多扩展功能:用户可以根据实际情况随意改变密码值或密码长度,按下“密码修改键”提示用户输入原密码,通过校验后提示输入新密码,一次写入CPU存储器中,另一次写入单片机内部RAM中,以便机器确认密码的正确性。输入完毕后,按修改确认键,两次的密码完全一致时,密码修改完成。我们这可以在输入的密码与程序中设定的密码相比,若失误,会有灯亮提示,但三次后都错误,系统可自动报警。
防盗报警功能是利用断线方式报警,当CPU检测不到返回信号时,系统自动报警单元报警,正常开启锁时,系统自动切断报警单元的电源。
二、基本功能设计
1,实验任务
根据设定好的密码,采用矩阵式按键实现密码的输入功能,当密码输入正确之后,锁就打开(即绿灯亮),如果输入的三次密码不正确,就锁定按键3秒钟,同时报警(即红灯亮)。
2,基本设计
我们将密码程序存在EPROM中,用户通过单片机上P1.0口上的按键进行选择。具体操作如下:首先按一下P1.0口上的按键,然后再逐渐输入密码,最后按#号确认即可。
设置显示初始符号“—”,为了帮助用户确认是否有键按下,并且防止密码外泄,在输入显示时,并不是显示用户按下的数字符号,而是以一个特定的字母符号提醒用户是否有键按下。有键按下,就会显示字符“F”,没有键按下就是初始状态。
首先按下P1.0口上的按键,然后输入密码,正确则绿灯亮,输入三次都不正确的则红灯亮。
3,系统框图
三、硬件设计
(1)硬件工作接线口
P0口接数码管,用来显示按键是否按下,P1口接键盘,P1.0外接选择密码键,P2口按串行方式传送信号给数码管,P2.7口显示电磁锁开还是闭合状态。
把单片机系统区域中的P0口用导线连接“四路静态数码显示”的任一端口上,把单片机系统区域中的P1口上接独立式键盘。
(2)LED显示器结构与原理
LED显示块是由发光显示二极管显示字段的显示器件。在单片机中我们通常用七段LED,这种显示共有共阴极和共阳极两种,本设计是用共阳极,是LED显示块的发光二极管与阳极并接,如图所示
通常的七段显示块中共有8个发光二极管,其中7个发光二极管构成七笔字形“8”,一个发光二极管构成小数点。七段显示块与单片机接口非常容易。只要将一个8位并行输出与显示块的发光二极管引脚相连即可。8位并行输出口输出不同的字节数据即可获得不同的数字或字符,通常将控制发光二极管的8位字节数据称为段选码。
显示字符 共阳极段选码 显示字符 共阳极段选码 0 C0H A 88H 1 F9H B 7CH 2 A4H C C6H 3 B0H D A1H 4 99H E 86H 5 92H F 8EH 6 82H 7 F8H 8 80H 9 90H (3)复位电路
如图所示为80C51型单片机上电复位电路。RC构成微分电路,在接电瞬间,产生一个微分脉冲,其宽度若大于2个机器周期,80C51型单片机将复位,为保证微分脉冲宽度足够大,一般取10μF电容、8.2KΩ电阻。
(4)按键方式
按键方式有独立式和行列式两种,本设计是采用独立式,共设置5个按键。独立式按键是指直接用I/O口线构成的单个按键电路。每个独立按键单独占有一根I/O口线,每根I/O口线上的按键工作状态不会影响其他I/O口线的工作状态。若按键AN1~AN5分别代表数码1~5,AN0代表#号。在没有键按下时,P1.0~P1.7都是高电平1,若某个键被按下,相应的接口线就变为低电平0。开锁时必须先按AN1,使从P1口读入的第一个值与存储单元的设定值相同,再顺序按按钮将密码输入,才能开锁。
(5)电路原理图
(6)元器件清单
元件名称 参数 元件名称 参数 插座 DIP40 电源 5V 单片机 89C51 电阻 晶体振荡器 12MHZ 电解电容 瓷片电容 按钮开关 LED数码管 HS-5101BS2
四、软件设计
1,软件结构
2,源程序
PSDEQU21H
ORG0000H
AJMPMAIN
ORG0100H
AJMPMAIN
ORG0100H
MAIN:MOVSP,#3FH
MOVP0,#0FFH
MOVPSD,#02
MAIN1:SETBP3.0
MOVP1,#OBFH
KEY:ACALLKS
JNZK1
AJMPKEY
K1:ACALLDELAY100MS
ACALLKS
JNZK2
AJMPKEY
K2:MOVR3,#0FEH
MOVR4,#00
K3:MOVA,R3
MOVP2,A
MOVA,P0
ANLA,#OFH
L0:JBACC.0,L1
MOVA,#00H
AJMPLK
L1:JBACC.1,L2
MOVA,#04H
AJMPLK
L2:JBACC.2,L3
MOVA,#08H
AJMPLK
L3:JBACC.3,NEXT
MOVA,#OCH
LK:ADDA,R4
PUSHACC
K4:ACALLKS
JNZK4
ACALLKS
JNZK4
POPACC
AJMPPR
NEXT:INCR4
MOVA,R3
JNBACC.3,KEY
RLA
MOVR3,A
AJMPK3
PR:CJNEA,PSD,ERR
PASS:CLRP3.0
MOVP1,#8CH
LCALLDELAY1S
LCALLDELAY1S
LCALLDELAY1S
LJMPMAIN1
ERR:MOVP1,#86H
LCALLDELAY1S
LCALLDELAY1S
LCALLDELAY1S
LJMPMAIN1
KS:MOVA,#00H
MOVP2,A
NOP
MOVA,P0
CPLA
ANLA,#OFH
RET
五、焊接技术
先将准备好的元件插入印刷电路板规定好的位置上,在元件与印刷电路板铜箔的连接点上,涂上少许焊剂,待电烙铁加热后用烙铁头的刃口上些适量的焊锡,上的焊锡多少要根据焊点的大小来决定。焊接时,要将烙铁头的刃口接触焊点与元件引线,根据焊点的形状作一定的移动,使流动的焊锡布满焊点并渗入被焊物的缝隙,接触时间大约在3-5秒左右,然后拿开电烙铁。拿开电烙铁的时间,方向和速度,决定了焊接的质量与外观的正确的方法是,在将要离开焊点时,快速的将电烙铁往回带一下,后迅速离开焊点,这样焊出的焊点既光亮,圆滑,又不出毛刺。在焊接时,焊接时间不要太长,免得把元件烫坏,但亦不要太短,造成假焊或虚焊。焊接结束后,用列子夹住被焊元件适当用力拉拨一下,检查元件是否被焊牢。如果发现有松动现象,必须重新进行焊接。
六、心得体会
我通过这次课程设计,可谓是重新将单片机,计算机控制以及工控机、PLC所有相关的知识联系起来,本来有些原理还是懵懂的,但是在找电子密码锁的基本知识时,我发现只有动手做才会孰能技巧,还有对材料的整理和理解。这次设计运用到的知识很多方面,尤其是单片机,像AT89C51,引脚多,硬件内部线路接通,所以用起来很方便,还有我做的电子密码锁是结合数码管显示和键盘,它们之间的线路连接,四位一体的显示引脚的功能,当然也要对这些元器件作相应调查。主要就是将元件焊接起来,一个就是电路原理图,还有对引脚的作用熟悉。对于软件方面则是灵活运用单片机有关的程序语言,还有很多扩展功能,由于知识匮乏,但是理论知识还是比较详细的。我最大的成功之处是在这整个过程,动脑寻求解决一个一个问题的办法,对程序是不断思索,务必写出很简单的程序来,使得电子密码锁能做成功!
AT89C51
CPU
显示
键盘
报警器和电磁锁
复位
晶振
密码锁主程序
设置初始密码
初始显示/关闭锁
读端口P1,取按键状态
有按键按下么?
有按键按下么?
再次读端口P1
送列扫描字
读行线状态
保护现场
相加计算键号
调用按键查询子程序
键号给A
显示“E”
显示“F”
第0行按下?
第1行按下?
第2行按下?
第3行按下?
4列扫描完
A=00
A=04
A=08
A=12
按键释放么?
A=设定密码么?
N
Y
N
Y
Y
Y
Y
Y
N
N
N
N
N
Y
Y
N
N
Y
1
1
2
2
|
|