红外遥控电子密码锁
一.设计目的
1、学习串行通信的原理和应用。
2、了解异步串行通信的特点。
3、提高动手能力和理论联系实际能力。
二、设计任务和要求
设计并制作一个采用红外遥控的电子密码锁,要求如下:
1、能实现遥控开锁,遥控距离 8~10m。
2、具有修改密码、加密和较强的抗干扰能力。
扩展功能:
1、密码输入出错能立即报警。
2、能实现本机键盘开锁。
三.系统构成框图
红外接收头
键盘
红
外
发
射
器
显示
复位
晶振
8051CPU
报警器
电磁锁
四.系统设计思想
本系统采用单片机 8051 作为本设计的核心元件,利用红外线遥控原理和单片机串行发射、接
处等功能而设计的一款有本机开锁和遥控开锁的电子密码锁。
五.基本功能设计
遥控密码锁的基本设计主要分为如下五个部分。
1. 选择密码:我们将编好的密码程序存储在 EPROM 中,用户通过密码选择键---8051 中的
P1.5 口上的按键进行选择,具体操作过程如下:首先按一下 P1.5 口上按键,然后再逐渐输入号码,最后按”#”号
确信即可.比如现在用户要是选择了 57618 这组数字作为密码,则用户只有首先按一下 P1.5
上的按键,接着在本机键盘上一一输入 5、7、6、1、8、之后再按“#”号键即表示密码被
设置好了,那么下次用户只要键入这组数据即可开锁。本设计中我们编入了两密码即:57618
和 81675。当然我们还可根据需要在 EPROM 中存入更多的密码,供用户选择。
2. 密码输入有效显示:为了帮助用户确信是否有键按下,我们特在电路中设置了模拟显示电路;
而为了防止密码外泄;显示时,并不是显示用户按下的数字符号-而是以发光二极管的亮灭
来提醒用户是否有键按下。有键按下,发光二极管亮 0.5 秒,没有键按下,发光二极管灭。
这样既巧妙地提醒了用户又保护了用户密码,此本设计可靠性优点之一。
1
5
3. 当用户键入正确密码后,再按确认键----“#”号,便会自动开锁。但用户键入密码时应注
意:数字与数字之间的间隔时间为 3 秒,例如密码为 57618,当键入第一个数字 5 后应在
3 秒内键入第二个数字 7,否则,就会视为无效。如果键入完密码后不按“#”号,系统会
当做放弃开锁处理。
4. 密码错误报警:当用户键入错误密码时,系统就会报警,由扬声器发出 5 秒报警声。当连
续三次出现密码错误时,则系统会长期报警不止。这时必须按复位方可停止。乃安全可靠性
能之一
5. 遥控开锁:当此锁用于私家车库或仓库时,用户可以不上车,只要手执遥控器,键入正确密
码,便会自动开锁;如果密码错误,同样也会报警。这是本设计优越性能之三。
4
3
六.利用红外线遥控原理
红处线发射/接收控制电路均采用 8051 单片机来实现,电路简单,输出控制方式可选择,
实用性强。体工作过程如下:
发射时:如图(A), 首先,将从串行发射口 P3.1 送出的数据反馈到 P1.1 口时行内部调
制,再从 P1.2 口送出,再经过红外发射二极管发射出去,发射距离为 10m
接收时:如图(B),采用与发射击队配套的红外接收头,将发射出的数据接收后送到串行口
P3.0 中,再由系统进行确认接收数据是否与发送数据是否相符,相符则开锁,以发光二极管 D2 亮
来表示,不相符则放弃,以发光二极管灭来表示。
七.遥控发射电路设计
遥控发射电路利用了通用的红外发射管,如图(A)所示
VCC
Q1
2N2906
S1
SW-PB
R101
130
VD1
PH303
C3
+
20μF
R102
10K
R103
10K
C1
20P
C2
20P
Y1
CRYSTAL
图(A)
2
1
2
3
4
5
6
7
8
13
12
15
14
31
19
18
9
17
16
U1
P10
P11
P12
P13
P14
P15
P16
P17
INT1
INT0
T1
T0
EA/VP
X1
X2
RESET
RD
WR
8051
P00
P01
P02
P03
P04
P05
P06
P07
P20
P21
P22
P23
P24
P25
P26
P27
RXD
TXD
ALE/P
PSEN
39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28
10
11
30
29
八.本机键开锁的工作原理
本机键开锁电路如图(B)所示,8051 作为本电路的核心,P0 口与 P1.0 P1.1 P1.2 外
接本机键盘,P3.0 口外接爱控接收头,P1.3 口外接报警信号放大器,用来放大报警信号,驱动扬声
器,P1.7 口外接开锁电磁驱动电路,P1.5 外接密码选择键,EPROM 内存有两密码,P2.0 口用发光
二极管显示按键是否按下,本电路由遥控发射击队器、接收器、键盘、显示器组成,本机采用了
10 个按键,作为密码输入键,同时也采用了遥控器开锁。有以下功能:
1.当没有接收到遥控信号时,这时由键盘输入密码,当 5 位有效密码输入正确时按“#”
号确认,P1.7 口输出高电平使电磁锁动作,完成开锁,同时,电路进入延时状态,延时 5 秒钟后,
电路将自动恢复到初始闭锁状态.
4
3
2
VCC
1
2
3
4
5
6
7
8
13
12
15
14
31
19
18
9
17
16
P10
P11
P12
P13
P14
P15
P16
P17
INT1
INT0
T1
T0
EA/VP
X1
X2
RESET
RD
WR
R30
10K
图(B)
R15
5K
R16
5K
R17
5K
R18
5K
5K
R19
R20
5K
R21
5K
R22
5K
R23
5K
R24
5K
5K
R25
U1
8051
39
38
37
36
35
34
33
32
21
22
23
24
25
26
27
28
10
11
30
29
P00
P01
P02
P03
P04
P05
P06
P07
P20
P21
P22
P23
P24
P25
P26
P27
RXD
TXD
ALE/P
PSEN
VCC
R29
300
D2
LED
C5
R31
1K
1μF
2
D
N
G
OUT
1
3
VCC
U2
1838
K1
470
R26
VCC
RELAY-SPST
Q1
2N930
R28
3K
D1
LED
VCC
LS1
SPEAKER
Q2
2N1893
C3
20PF
C4
20PF
VCC
Y1
12M
R27
470
S19
SW-PB
C7
20μF
S18
SW-PB
SW-PB
S16
SW-PB
S15
SW-PB
S14
#
0
9
5
7
6
1
8
2
3
4
S24 SW-PB
SW-PB
S20
SW-PB
S17
S13
SW-PB
S21
SW-PB
S22
SW-PB
S23
SW-PB
2.当 5 位有效密码输入正确,但没有按”#”号键确认时,这时电路将自动放弃,恢复到初始和
闭锁状态.
3.在输入 5 位有效密码时,必须按照先后序输入,如顺序错误或密码不对时,这时若不按”#”
号确认,将无法开锁,并同时发出 5 秒钟的报警信号,用以提醒用户.
2
3
3
4
5
Title
Size
B
Date:
File:
5
4.若连续 3 次输入错误,系统会长时间报警,这时必须按复位键恢复到初始化状态.
5.输入密码时,首位密码正确输入后,电路将开始自动计时,每位密码数之间的输入间隔应在
3 秒内.否则将输入超时处理,系统自动放弃,恢复到初始状态.
九.遥控开锁的工作原理
当选择遥控开锁时,本机键便会被封锁.这时,用户手执遥控器按下图(A)805 上的 P1.0 口
上的按键时,便有数字从 8051 的 P1.2 口发出,发送的过程如下:
先将从 P3.0 送出 5FH,然后将 5FH 反馈到 P1.1 口进行内部调制,调制的规则是”0”电平调
制,”1”电平不调制,最后将调好的数据从 P1.2 口通过红外发光二极管以波长为 940mm 的红外
光发出红外遥控信号.然后,在本机控制电路中的 8051 的 P3.0 口接有与红外发光二极管配套的
接收头,将接收的光信号转换成电信号数据.最后,通过系统与内部原先设置的数据进行比较确认,
如果一致便可开锁,如果不一致放弃开锁.
十、程序设计
1、程序框图
开始
开始
串行口初始化
串行口初始化
发射键按
送数据到 CPU 串行口
数据送完
接收数据
数据是否接
完
接收数据正
确
不处理返回主程
返回
进入开锁程序
遥控发射程序框图
遥控接收程序框图
2、红外遥控电子密码锁程序
ORG
0000H
;主程序
CLR
MOV
CLR
CLR
P1.7
RO, #OOH
P1.3
P1.7
;清零
;关报警
;P1.7 清零
4
CLR
MOV
MOV
MOV
MOV
MOV
SETB
MOV
MOV
JNB
LJMP
KEY:
,#OF4H
,#OF4H
P1.4
RO,
#OOH
52H, #02H
TMOD , #20H
TL1
TH1
TR1
SCON,
PCON , #OOH
P1.5 , KEP1
KEP2
#ODOH
;关报警
;串行口初始化
;将立即数 02H 送 52H
;设置 T1 工作方式 2
;定时初始值送 TL1
;定时初始值送 TH1
;启动定时器 T1
;定义串行行工作方式 3
;选择密码 57618
, #OFFH
;关显示
判断是否有键按下
;对 P0 口的数据取反
;立即数 OFF 与 PO 的数据相与
;有键按下转至 JP
;判断是否有键盘按下
;将 P1 口的数据取反
;累加器数据为零转遥控接收程序
*******************************************************密码 57618 程序
KEP1: MOV
MOV
CPL
ANL
JNZ
MOV
CPL
ANL
JZ
ACALL
MOV
CPL
ANL
JZ
P2 .#0FFH
A , P0
A
A
JP
A , P1
A
A
WAIT
K10MS
A
A
A ,#O7H
;调用 10 秒延时
,#O7H
, P1
PP1:
PP2:
JP2:
JP3:
KOP1:
JP:
CJNE
MOV
LJMP
CJZE
MOV
LJMP
CJNE
MOV
MOV
CJNE
LJMP
MOV
ANL
CJNE
LJMP
LCALL
MOV
CPL
WAIT
A , #01H ,JP1
P2 , #89H
K0P1
A , #02H ,JP2
,KY
P2 , #89H
KOP1
A . #04H
,#89H
P2
A
, #O7H
A , #07H ,JP3
LP1
A
A, #07H
A , #07H ,KOP1
KEP1
D10MS
A , PO
A,
,P1
;显示字符”H”
;显示字符”H”
;显示字符”H”
5
ANL
JZ
CJZE
MOV
LJMP
KEY02: CJNE
MOV
LJMP
CJNE
MOV
LJMP
CJZE
MOV
LJMP
CJZE
KEYO3:
KEY05:
KEY04:
KEY06:
MOV
LJMP
CJZE
MOV
LJMP
KEY07
CJZE
MOV
LJMP
KEY08
CJZE
MOV
LJMP
MOV
CJNE
LJMP
KJP1:
C6:
#OFFH
A,
C6
A
,#01H
P2, #89H
KEY1
,KEY02
,#89H
A ,#02H ,KEY03
P2
KJP1
A , #04H, KEY04
P2
KJP1
A
, #08H,
,#89
KEY05
A
A
A
A
P2 ,#89H
KJP1
, #10H,
P2 ,#89H
KJP1
, #08H,
P2 ,#89H
KJP1
, #10H
P2 ,#89H
KJP1
, #10H, C6
P2 ,#89H
KJP1
A,
A , #OFFH
WAIT
P0
KEY06
KEY07
KEY08
,KJP1
KEY2
KEY3
KEY4
KEY5
********************************************************************
KEY1:
LCALL
CJNE
MOV
LCALL
CJNE
MOV
LCALL
CJNE
MOV
LCALL
CJNE
MOV
MOV
CJNE
MP
A , #02H , KEY03
P2 , #89H
MP
A , #04 , KEY02
P2 , #89H
MP
A , #08 , KEY02
P2 , #89H
MP
A , #10H, KEY02
P2 , #89H
A
A , #0FFH, KEY5
,P0
6
KEY6:
B1:
BL1:
BB2:
BB1:
BB4:
BB5:
MOV
MOV
MOV
CPL
ANL
JNZ
MOV
CPL
ANL
JZ
LCALL
MOV
CPL
ANL
JZ
CJNE
MOV
LJMP
CJNE
MOV
LJMP
CJNE
MOV
LJMP
LCALL
MOV
CPL
ANL
JZ
LJMP
MOV
MOV
NOP
NOP
JNZ
DJNZ
DJNZ
LJMP
P2 , #OFFH
R5 ,#30H
A ,
A
A , #OFFH
PO
BB2
A ,P1
A
A , #O7H
BB1
D10MS
A
, P1
A
A ,#07H
,B1
A ,#04H
P2 , #89H
LP2
A,
P2 ,#89H
KOP1
#01H
,BL1
, #89H
A , #02H ,BB1
P2
KOP1
D10MS
A ,
A
A , #OFFH
BB1
KEY02
P0
R7
R6
,#OC8H
,#OF9H
R6 ,BB5
R7,
R5 ,
BB4
KEY6
WAIT
************************************************************密码 81675 程序
KEP2:
;关显示
]
MOV
MOV
CPL
ANL
JNZ
P2 ,#OFFH
A ,PO
A
A , #OFFH
HP
7
MOV
CPL
ANL
JZ
LCALL
MOV
CPL
ANL
JZ
CJNE
MOV
LJMP
CJNE
MOV
LJMP
CJNE
MOV
MOV
ANL
CJNE
MOV
LJMP
MOV
ANL
CJNE
A ,P1
A
A
C9
D1OMS
A
A
, #07H
,P1
#O1H ,HP1
,#07H
A
C9
A ,
P2 ,#89H
K1P1
A
P2
,#02H ,HP2
,#89H
K1P1
A
,#04H
,C9
#89H
,P1
,#07H
,#07H ,HP3
,#OFFH
P2,
A
A
A
P2
LP1
A ,P1
A ,#O7H
A
,#07H
,K1P1
LJMP
LCALL
MOV
CPL
WAIT
D1OMS
A , PO
A
ANL
JZ
CJNE
MOV
LJMP
CJNE
MOV
LJMP
CJNE
MOV
LJMP
CJNE
MOV
LJMP
A ,#OFFH
C9
A
P2
K0Y1
, #1OH,K0Y02
,#89H
,K0Y03
,#01H
,#89H
A
P2
KUP1
,#02H ,K0Y04
,#89H
A
P2
KUP1
,#04H ,K0Y05
,#89H
A
P2
KUP1
BB:
HP1:
HP2:
HP3:
K1P1 :
C9:
HP:
K0Y02:
K0Y03
K0Y04
K0Y05
CJNE
A
,#08H ,K0Y06
8