红外遥控电子密码锁_第1页
红外遥控电子密码锁_第2页
红外遥控电子密码锁_第3页
红外遥控电子密码锁_第4页
红外遥控电子密码锁_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、红外遥控电子密码锁一设计目的1、学习串行通信的原理和应用。2、了解异步串行通信的特点。3、提高动手能力和理论联系实际能力。二、设计任务和要求设计并制作一个采用红外遥控的电子密码锁,要求如下:1、能实现遥控开锁,遥控距离810m。2、具有修改密码、加密和较强的抗干扰能力。扩展功能:1、密码输入出错能立即报警。2、能实现本机键盘开锁。三系统构成框图AT89C51CPU红外接收头头键盘红外发射器显示报警器复位晶振电磁锁四系统设计思想本系统采用单片机8051作为本设计的核心元件,利用红外线遥控原理和单片机串行发射、接处等功能而设计的一款有本机开锁和遥控开锁的电子密码锁。五基本功能设计遥控密码锁的基本设

2、计主要分为如下五个部分。1 选择密码:我们将编好的密码程序存储在EPROM中,用户通过密码选择键-8051中的P1.5口上的按键进行选择,具体操作过程如下:首先按一下P1.5口上按键,然后再逐渐输入号码,最后按”#”号确信即可.比如现在用户要是选择了57618这组数字作为密码,则用户只有首先按一下P1.5上的按键,接着在本机键盘上一一输入5、7、6、1、8、之后再按“#”号键即表示密码被设置好了,那么下次用户只要键入这组数据即可开锁。本设计中我们编入了两密码即:57618和81675。当然我们还可根据需要在EPROM中存入更多的密码,供用户选择。2 密码输入有效显示:为了帮助用户确信是否有键按

3、下,我们特在电路中设置了模拟显示电路;而为了防止密码外泄;显示时,并不是显示用户按下的数字符号-而是以发光二极管的亮灭来提醒用户是否有键按下。有键按下,发光二极管亮0.5秒,没有键按下,发光二极管灭。这样既巧妙地提醒了用户又保护了用户密码,此本设计可靠性优点之一。3 当用户键入正确密码后,再按确认键-“#”号,便会自动开锁。但用户键入密码时应注意:数字与数字之间的间隔时间为3秒,例如密码为57618,当键入第一个数字5后应在3秒内键入第二个数字7,否则,就会视为无效。如果键入完密码后不按“#”号,系统会当做放弃开锁处理。4 密码错误报警:当用户键入错误密码时,系统就会报警,由扬声器发出5秒报警

4、声。当连续三次出现密码错误时,则系统会长期报警不止。这时必须按复位方可停止。乃安全可靠性能之一5 遥控开锁:当此锁用于私家车库或仓库时,用户可以不上车,只要手执遥控器,键入正确密码,便会自动开锁;如果密码错误,同样也会报警。这是本设计优越性能之三。六利用红外线遥控原理 红处线发射/接收控制电路均采用8051单片机来实现,电路简单,输出控制方式可选择,实用性强。体工作过程如下: 发射时:如图(A), 首先,将从串行发射口P3.1送出的数据反馈到P1.1口时行内部调制,再从P1.2口送出,再经过红外发射二极管发射出去,发射距离为10m 接收时:如图(B),采用与发射击队配套的红外接收头,将发射出的

5、数据接收后送到串行口P3.0中,再由系统进行确认接收数据是否与发送数据是否相符,相符则开锁,以发光二极管D2亮来表示,不相符则放弃,以发光二极管灭来表示。七.遥控发射电路设计 遥控发射电路利用了通用的红外发射管,如图(A)所示 图(A)八.本机键开锁的工作原理 本机键开锁电路如图(B)所示,8051作为本电路的核心,P0口与P1.0 P1.1 P1.2外接本机键盘,P3.0口外接爱控接收头,P1.3口外接报警信号放大器,用来放大报警信号,驱动扬声器,P1.7口外接开锁电磁驱动电路,P1.5外接密码选择键,EPROM内存有两密码,P2.0口用发光二极管显示按键是否按下,本电路由遥控发射击队器、接

6、收器、键盘、显示器组成,本机采用了10个按键,作为密码输入键,同时也采用了遥控器开锁。有以下功能:1.当没有接收到遥控信号时,这时由键盘输入密码,当5位有效密码输入正确时按“#”号确认,P1.7口输出高电平使电磁锁动作,完成开锁,同时,电路进入延时状态,延时5秒钟后,电路将自动恢复到初始闭锁状态.图(B) 2.当5位有效密码输入正确,但没有按”#”号键确认时,这时电路将自动放弃,恢复到初始和闭锁状态. 3.在输入5位有效密码时,必须按照先后序输入,如顺序错误或密码不对时,这时若不按”#”号确认,将无法开锁,并同时发出5秒钟的报警信号,用以提醒用户. 4.若连续3次输入错误,系统会长时间报警,这

7、时必须按复位键恢复到初始化状态. 5.输入密码时,首位密码正确输入后,电路将开始自动计时,每位密码数之间的输入间隔应在3秒内.否则将输入超时处理,系统自动放弃,恢复到初始状态.九.遥控开锁的工作原理 当选择遥控开锁时,本机键便会被封锁.这时,用户手执遥控器按下图(A)805上的P1.0口上的按键时,便有数字从8051 的P1.2口发出,发送的过程如下:先将从P3.0送出5FH,然后将5FH反馈到P1.1口进行内部调制,调制的规则是”0”电平调制,”1”电平不调制,最后将调好的数据从P1.2口通过红外发光二极管以波长为940mm的红外光发出红外遥控信号.然后,在本机控制电路中的8051的P3.0

8、口接有与红外发光二极管配套的接收头,将接收的光信号转换成电信号数据.最后,通过系统与内部原先设置的数据进行比较确认,如果一致便可开锁,如果不一致放弃开锁.十、程序设计1、程序框图串行口初始化开始发射键按送数据到CPU串行口数据送完返回开始串行口初始化接收数据数据是否接完接收数据正确进入开锁程序不处理返回主程序 遥控发射程序框图 遥控接收程序框图2、红外遥控电子密码锁程序 ORG 0000H ;主程序CLR P1.7 ;清零MOV RO, #OOHCLR P1.3 ;关报警CLR P1.7 ;P1.7清零CLR P1.4 ;关报警MOV RO, #OOH ;串行口初始化MOV 52H, #02H

9、 ;将立即数02H送52HMOV TMOD , #20H ;设置T1工作方式2MOV TL1 ,#OF4H ;定时初始值送TL1MOV TH1 ,#OF4H ;定时初始值送TH1SETB TR1 ;启动定时器T1MOV SCON, #ODOH ;定义串行行工作方式3 MOV PCON , #OOHKEY: JNB P1.5 , KEP1 ;选择密码57618 LJMP KEP2*密码57618程序KEP1: MOV P2 .#0FFH ;关显示 MOV A , P0 判断是否有键按下 CPL A ;对P0口的数据取反 ANL A , #OFFH ;立即数OFF 与PO的数据相与 JNZ JP

10、;有键按下转至JP MOV A , P1 ;判断是否有键盘按下 CPL A ;将P1口的数据取反 ANL A ,#O7H ;累加器数据为零转遥控接收程序 JZ WAIT ACALL K10MS ;调用10秒延时 MOV A , P1 CPL A ANL A ,#O7H JZ WAITPP1: CJNE A , #01H ,JP1 MOV P2 , #89H ;显示字符”H” LJMP K0P1PP2: CJZE A , #02H ,JP2 MOV P2 , #89H ;显示字符”H” LJMP KOP1JP2: CJNE A . #04H ,KY MOV P2 ,#89H ;显示字符”H”JP

11、3: MOV A , #O7H CJNE A , #07H ,JP3 LJMP LP1KOP1: MOV A ,P1 ANL A, #07H CJNE A , #07H ,KOP1 LJMP KEP1JP: LCALL D10MS MOV A , PO CPL A, ANL A, #OFFH JZ C6 CJZE A ,#01H ,KEY02 MOV P2, #89H LJMP KEY1KEY02: CJNE A ,#02H ,KEY03 MOV P2 ,#89H LJMP KJP1KEYO3: CJNE A , #04H, KEY04 MOV P2 ,#89 LJMP KJP1 KEY04:

12、 CJZE A , #08H, KEY05 MOV P2 ,#89H LJMP KJP1KEY05: CJZE A , #10H, KEY06 MOV P2 ,#89H LJMP KJP1KEY06: CJZE A , #08H, KEY07 MOV P2 ,#89H LJMP KJP1KEY07 CJZE A , #10H KEY08 MOV P2 ,#89H LJMP KJP1KEY08 CJZE A , #10H, C6 MOV P2 ,#89H LJMP KJP1KJP1: MOV A, P0 CJNE A , #OFFH ,KJP1 C6: LJMP WAIT*KEY1: LCALL

13、 MP CJNE A , #02H , KEY03 MOV P2 , #89HKEY2 LCALL MP CJNE A , #04 , KEY02 MOV P2 , #89HKEY3 LCALL MP CJNE A , #08 , KEY02 MOV P2 , #89HKEY4 LCALL MP CJNE A , #10H, KEY02 MOV P2 , #89HKEY5 MOV A ,P0 CJNE A , #0FFH, KEY5 MOV P2 , #OFFH MOV R5 ,#30HKEY6: MOV A , PO CPL A ANL A , #OFFH JNZ BB2 MOV A ,P1

14、 CPL A ANL A , #O7H JZ BB1 LCALL D10MS MOV A , P1 CPL A ANL A ,#07H JZ CJNE A ,#04H ,B1 MOV P2 , #89H LJMP LP2B1: CJNE A, #01H ,BL1 MOV P2 ,#89H LJMP KOP1BL1: CJNE A , #02H ,BB1 MOV P2 , #89H LJMP KOP1BB2: LCALL D10MS MOV A , P0 CPL A ANL A , #OFFH JZ BB1 LJMP KEY02BB1: MOV R7 ,#OC8HBB4: MOV R6 ,#OF

15、9H NOP NOP BB5: JNZ R6 ,BB5 DJNZ R7, BB4 DJNZ R5 , KEY6 LJMP WAIT*密码81675程序KEP2: MOV P2 ,#OFFH ;关显示 MOV A ,PO CPL A ANL A , #OFFH JNZ HP MOV A ,P1 CPL A ANL A , #07H JZ C9 LCALL D1OMS MOV A ,P1 CPL A ANL A ,#07H JZ C9 BB: CJNE A , #O1H ,HP1 MOV P2 ,#89H LJMP K1P1HP1: CJNE A ,#02H ,HP2 MOV P2 ,#89H L

16、JMP K1P1HP2: CJNE A ,#04H ,C9 MOV P2, #89HHP3: MOV A ,P1 ANL A ,#07H CJNE A ,#07H ,HP3 MOV P2 ,#OFFH LJMP LP1K1P1 : MOV A ,P1 ANL A ,#O7H CJNE A ,#07H ,K1P1C9: LJMP WAITHP: LCALL D1OMS MOV A , PO CPL A ANL A ,#OFFH JZ C9 CJNE A , #1OH,K0Y02 MOV P2 ,#89H LJMP K0Y1K0Y02: CJNE A ,#01H ,K0Y03 MOV P2 ,#8

17、9H LJMP KUP1K0Y03 CJNE A ,#02H ,K0Y04 MOV P2 ,#89H LJMP KUP1K0Y04 CJNE A ,#04H ,K0Y05 MOV P2 ,#89H LJMP KUP1K0Y05 CJNE A ,#08H ,K0Y06 MOV P2 ,#89H LJMP KUP1K0Y06 CJNE A ,#20,K0Y07 MOV P2 ,#89H LJMP KUP1K0Y07 CJNE A ,#40,K0Y08 MOV P2 ,#89H LJMP KUP1K0Y08 CJNE A ,#80,U2 MOV P2 ,#89H LJMP KUP1KUP1: MOV

18、 A ,PO CJNE A ,#OFFH ,KUP1U2: LJMP WAITK0Y1: LCALL MP CJNE A #08H ,K0Y02 MOV P2 ,#89HK0Y2 LCALL MP CJNE A #04 ,K0Y02 MOV P2 ,#89HK0Y3 LCALL MP CJNE A #02 ,K0Y02 MOV P2 ,#89HK0Y4 LCALL MP CJNE A #01H ,K0Y02 MOV P2 ,#89HK0Y6: MOV A ,PO CPL A ANL A ,#OFFH JNZ PP2 MOV A , P1 CPL A ANL A ,#07H JZ PPL LCA

19、LL D10MS MOV A , P1 CPL A ANL A ,#07H JZ PP1 CJNE A ,#04H ,Y1 MOV P2 , 389H LJMP LP2Y1: CJNE A ,#01H ,Y11 MOV P2 ,#89H LJMP K1P1Y11: CJNE A , #02H ,PP1 MOV P2 ,#89H LJMP K1P1PP2: LCALL D10MS MOV A, PO CPL A ANL A ,#OFFH JZ PP1 LJMP K0Y02PP1: MOV R7 ,#OC8HPP4: MOV R6 , #OF9H NOP NOPPP5: DJNZ R6 ,PP5

20、DJNZ R7 ,PP4 DJNZ R5 ,K0Y6 LJMP WAIT*报警程序LP1: SETB P1.4 INC ROP019: MOV R3 ,#05HP020: MOV R7 ,#0A0HP018: SETB P1.3 LCALL P01A CLR P1.3 LCALL P01A DJNZ R7 ,P018 DJNZ R3 ,P020 CLR P1.3 CJNE R0 , #03H ,P017 LJMP P019P017: CLR P1.4 LJMP WAIT*开锁程序LP2: SETB P1.7 LCALL T5S CLR P1.7 MOV R0 ,#00H LJMP WAIT*判

21、断键是否释放MP: MOV A ,PO CJNE A ,#OFFH ,MP MOV P2 ,#OFFHPM: MOV R5 ,#30H LCALL TP RET*判断是否有键按下TP: MOV A ,PO CPL A ANL A , #OFFH JNZ AP MOV A ,P1 CPL A ANL A, #O7H JZ TP3 LCALL D10MS MOV A , P1 CPL A ANL A , #07H JZ TP3 LCALL D10MS MOV A ,P1 CPL A ANL A ,#07H JZ TP3K CJNE A, #04H ,C1 MOV P2 ,#89HC3: MOV A

22、 P1 ANL A , #07H CJNE A #07H ,C3 MOV P2 ,#0FFH LJMP LP1C1: CJNE A ,#01H ,C2 MOV P2 ,#OCOH LJMP KCP1C2: CJNE A ,#02 ,U11 MOV P2 ,#90HP LJMP KCP1KCP1: MOV A , P1 ANL A ,#07H CJNE A ,#07H ,KCP1U11: LJMP WAIT AP: LCALL D10MS MOV A ,P0 CPL A ANL A , #0FFH JZ TP3 RET *400M延时程序 TP3: MOV R7 ,#OC8H TP1: MOV

23、R6 , #OF9H NOP NOPTP2: DJNZ R6 , TP2 DJNZ R7 ,TP1 DJNZ R5 ,TP ;10S LJMP WAIT*10延时程序D10MS : MOV R7 ,#05H LOOP1: MOV R6 ,#OF9H NOP NOPLOOP2: DJNZ R6 , LOOP2 DJNZ R7 ,LOOP1 RET*延时程序P01A: MOV R2 ,#06H LCALL DELY RETDELY: PUSH 02HDEL2 : PUSH 02HDEL3 : PUSH 02HDEL4: DJNZ R2 ,DEL4 POP O2H DJNZ R2 ,DEL3 POP

24、 O2H DJNZ R2 ,DEL2 POP O2H DJNZ R2 ,DELY RET*5S 延时程序T5S: MOV R4 ,#15HTS1: MOV R3 ,#64H TS2: MOV R2 ,#05HTS3: MOV R1 , #OF9H NOP NOPT5S4 DJNZ R1 ,TS4 DJNZ R2 ,TS3 DJNZ R3 ,TS2 DJNZ R4 ,TS1 RET3、遥控发送程序 ORG 0000HLOOPO: MOV SCON ,#0C0H ;设定串行口工作方式3 MOV TMOD , #20H ;T1工作方式2 MOV PCON , #00H ;波特率设置 MOV TL1 , #OF4H ;定时初始值F4送TL1 MOV TH1 , #OF4H ;定时初始值F4送TH1* CP: JB P1.0 ,CPK ;判断遥控按键P1.0是否按下 LCALL PP ;调用延时 JB P1.0 , CP STEB TR1 ;启动定时器T1 MOV 50H ,#5FH ; 将立即数5FH 送50H 存储单元 MOV RO ,#50H ;将立即数50H 送RO寄存器 MOV R1 , #05H ;将立即数05H送R1寄存器I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论