logo资料库

红外遥控电子密码锁设计.doc

第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
资料共14页,剩余部分请下载后查看
红外遥控电子密码锁 一.设计目的 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
分享到:
收藏