新闻  |   论坛  |   博客  |   在线研讨会
基于单片机无线遥控功能防盗器的完整程序
tvb2058 | 2007-09-12 11:22:40    阅读:2489   发布文章

这是一款基于单片机无线遥控功能防盗器的完整程序,如何更好地实现遥控功能,或采用单片机解码,本站已相关源程序介绍,请读者自行进一步理解。

      ORG    0000H AJMP   MAIN 
      ORG    0050H 
MAIN: MOV    P1,#0FFH 
      ACALL  DD3 
LOOP: JNB    P3.0,LOOP;判断VT是否有信号 
      ACALL  DL;延时防抖动 
      JB     P3.0,START;有信号则启动 
      AJMP   LOOP;无则返回 
 
START:JNB    P3.1,XD1;判断D1信号 
      ACALL  DL 
      JB     P3.1,FDSD;有则进入防盗设定 
XD1:  JNB    P3.2,XD2;判断D2信号 
      ACALL  DL 
      JB     P3.2,CBA1;有则进入解除防盗 
XD2:  JNB    P3.3,XD3;判断D3信号 
      ACALL  DL 
      JB     P3.3,CBA2;有则进入启动暖车 
XD3:  JNB    P3.4,XD4;判断D4信号 
      ACALL  DL 
      JB     P3.4,CBA3;有则进入寻车求救 
XD4:  AJMP   LOOP;无D1-D4的信号则返回 
 
CBA1: AJMP   JCFD 
CBA2: AJMP   QDNC 
CBA3: AJMP   XCQJ 
 
FDSD: MOV    R4,#0FH;二级设定键廷时用 
      ACALL  BJ;一级防盗设定程序,先报警 
      CLR    P1.1;熄火程序 
      SETB   P1.2 
      ACALL  DD2 
      SETB   P1.1 
      ACALL  DD1;延时3秒 
FD1:  JNB    P3.5,FD2;判断振动信号 
      ACALL  DL 
      JB     P3.5,BZC;有则进入5秒声光报警程序 
FD2:  JNB    P3.7,FD3;判断锁头正电线是否带电 
      ACALL  DL 
      JB     P3.7,BZC;有则进入5秒声光报警程序 
FD3:  JNB    P3.0,FD4;判断VT是否有信号 
      ACALL  DL 
      JB     P3.2,CBA1 
      JB     P3.3,CBA2 
      JB     P3.4,CBA3 
      JNB    P3.1,CE 
      ACALL  CDSD;调用二级防盗报警 
CE:   JB     P3.0,MAIN;有则返回 
FD4:  DJNZ   R4,DE 
      AJMP   FB1 ;超过时间就转回到一级设定等待 
DE:   AJMP   FD1 
 
FB1:  JNB    P3.5,FB2;判断振动信号 
      ACALL  DL 
      JB     P3.5,BZC;有则进入5秒声光报警程序 
FB2:  JNB    P3.7,FB3;判断锁头正电线是否带电 
      ACALL  DL 
      JB     P3.7,BZC;有则进入5秒声光报警程序 
FB3:  JNB    P3.0,FB4;判断VT是否有信号 
      ACALL  DL 
      JB     P3.2,CBA1 
      JB     P3.3,CBA2 
      JB     P3.4,CBA3 
      JB     P3.1,FDSD 
FB4:  AJMP   FB1 
 
CDSD: ACALL  BBJ;进入二级无声防盗设定程序 
      ACALL  DD3;延时3秒 
BD1:  JNB    P3.5,BD2;判断振动信号 
      ACALL  DL 
      JB     P3.5,CBZC;有则进入无声灯闪三下报警程序 
BD2:  JNB    P3.7,BD3;判断锁头正电线是否带电 
      ACALL  DL 
      JB     P3.7,CBZC;有则进入无声灯闪三下报警程序 
BD3:  JNB    P3.0,BD4;判断VT是否有信号 
      ACALL  DL 
      JB     P3.0,V;有则返回 
BD4:  AJMP   BD1 
V:    AJMP   LOOP 
 
CBZC: ACALL  CBJS 
 
BZC:  ACALL  BJS;调用5秒声光报警程序 
 
BG:   ACALL  DD3;延时3秒 
      ACALL  DD2;延时2秒 
BR:   JNB    P3.5,BC1;判断振动信号 
      ACALL  DL 
      JB     P3.5,JJ;有则进入二级15秒报警 
BC1:  JNB    P3.7,BC2;判断锁头正电线是否带电 
      ACALL  DL 
      JB     P3.7,JJ;有则进入二级15秒报警 
BC2:  JNB    P3.0,BC3;判断VT是否有信号 
      ACALL  DL 
      JB     P3.0,FH;有则返回 
BC3:  AJMP   BD1 
 
F:    ACALL  DD3;延时3秒 
      ACALL  DD2;延时2秒 
      JNB    P3.5,BZC1;判断振动信号 
      ACALL  DL 
      JB     P3.5,BJJ;有则进入一级15秒报警 
BZC1: JNB    P3.7,BZC2;判断锁头正电线是否带电 
      ACALL  DL 
      JB     P3.7,BJJ;有则进入一级15秒报警 
BZC2: JNB    P3.0,BZC3;判断VT是否有信号 
      ACALL  DL 
      JB     P3.0,FH;有则返回 
BZC3: AJMP   FD1 
 
BJJ:  ACALL  BZJ;调用连续一级15秒声光报警程序 
      ACALL  DD1 
      JNB    P3.7,BJJ1;判断锁头正电线是否带电 
      ACALL  DL 
      JB     P3.7,XH;有则进入熄火程序 
BJJ1: JNB    P3.0,BJJ2;判断VT是否有信号 
      ACALL  DL 
      JB     P3.0,FH;有则返回 
BJJ2: AJMP   BJJ 
XH:   CLR    P1.1;熄火程序 
      SETB   P1.2 
      ACALL  DD2 
      SETB   P1.1 
      AJMP   BJJ 
FH:   AJMP   MAIN 
 
JJ:   ACALL  BZ;调用二级无灯闪15秒报警程序 
      ACALL  DD1 
      JNB    P3.7,JJ1;判断锁头正电线是否带电 
      ACALL  DL 
      JB     P3.7,XH;有则进入熄火程序 
JJ1:  JNB    P3.0,JJ2;判断VT是否有信号 
      ACALL  DL 
      JB     P3.0,FH;有则返回 
JJ2:  AJMP   JJ 
H:    CLR    P1.1;熄火程序 
      SETB   P1.2 
      ACALL  DD2 
      SETB   P1.1 
      AJMP   BJJ 
CH:   AJMP   MAIN 
 
JCFD: ACALL  BJ;解除防盗程序,声光2次 
      ACALL  DD1 
      ACALL  BJ 
      CLR    P1.1 
      SETB   P1.2 
      ACALL  DD2 
      AJMP   MAIN 
 
QDNC: MOV    R3,#32H ;起动廷时用程序 
EF:   JB     P3.0,EF   
E1:   MOV    R4,#0FFH  
E2:   MOV    R5,#0FH  
      ACALL  DL 
HG:   JB     P3.0,GQ ;检测VT信号 
      ACALL  DL 
      DJNZ   R5,$ 
      DJNZ   R4,E2 
      DJNZ   R3,E1  
      AJMP   LOOP  ;廷时时间内无再有信号则返回 
GQ:   ACALL  DL 
      JB     P3.3,EW;再检测D3信号 
      AJMP   LOOP 
EW:   CLR    P1.2;有测启动暖车程序 
      CLR    P1.0 
      ACALL  DD2 
      JB     P3.0,$ 
      SETB   P1.0 
      ACALL  DD3 
      AJMP   LOOP 
 
XCQJ: MOV    R3,#0FH;寻车求救程序(13响) 
XCQJ1:ACALL  XBJ 
      ACALL  DD1 
      JNB    P3.0,XCQJ2;判断VT是否有信号 
      ACALL  DL 
      JB     P3.0,XCQJ3;有则返回 
XCQJ2:DJNZ   R3,XCQJ1 
XCQJ3:AJMP   LOOP 
 
DL:   MOV    R6,#0AH;按键延时子程序 
      DJNZ   R6,$ 
      RET 
 
DD3:  MOV    R5,#09H;3秒延时子程序 
D3:   MOV    R6,#0FFH 
D4:   MOV    R7,#0FFH 
      DJNZ   R7,$ 
      DJNZ   R6,D4 
      DJNZ   R5,D3 
      RET 
 
DD2:  MOV    R5,#06H;2秒延时子程序 
D5:   MOV    R6,#0FFH 
D6:   MOV    R7,#0FFH 
      DJNZ   R7,$ 
      DJNZ   R6,D6 
      DJNZ   R5,D5 
      RET 
 
DD1:  MOV    R5,#03H;1秒延时子程序 
D0:   MOV    R6,#0FFH 
D1:   MOV    R7,#0FFH 
      DJNZ   R7,$ 
      DJNZ   R6,D1 
      DJNZ   R5,D0 
      RET 
 
BBJ:  CLR    P1.3;灯光报警子程序 
      MOV    R6,#0FFH 
BB1:  MOV    R7,#0FFH 
      DJNZ   R7,$ 
      DJNZ   R6,BB1 
      SETB   P1.3 
      RET 
 
XBJ:  CLR    P1.3;寻车报警子程序 
      CLR    P1.4 
      MOV    R6,#0FFH 
XB1:  MOV    R7,#0FFH 
      DJNZ   R7,$ 
      DJNZ   R6,XB1 
      SETB   P1.4 
      SETB   P1.3 
      RET 
 
BJ:   CLR    P1.3;报警声子程序 
      CLR    P1.4 
      MOV    R6,#5FH 
B1:   MOV    R7,#0FFH 
      DJNZ   R7,$ 
      DJNZ   R6,B1 
      SETB   P1.4 
      SETB   P1.3 
      RET 
 
STA:  AJMP   START 
 
CBJS: AJMP   CJCT 
BJS:  AJMP   BJCT 
 
BZ:   CLR    P1.4 
      CLR    P1.1 
      MOV    R4,#0FH;二级报警程序(15响) 
CQ1:                ;无灯闪报警 
      ACALL  DD1 
      JNB    P3.0,CB1;判断VT是否有信号 
      ACALL  DL 
      JB     P3.0,CB2;有则返回 
CB1:  DJNZ   R4,CQ1 
CB2:  SETB   P1.1 
      SETB   P1.4 
      AJMP   BG 
 
BZJ:  CLR    P1.4 
      CLR    P1.1 
      MOV    R4,#0FH;一级防盗报警程序(15响) 
CC1:  ACALL  BBJ    ;声光报警 
      ACALL  DD1 
      JNB    P3.0,CJ1;判断VT是否有信号 
      ACALL  DL 
      JB     P3.0,CJ2;有则返回 
CJ1:  DJNZ   R4,CC1 
CJ2:  SETB   P1.1 
      SETB   P1.4 
      AJMP   F 
 
BJCT: CLR    P1.4 
      MOV    R4,#05H;一级防盗报警程序(5声响) 
CJ:   ACALL  BBJ 
      ACALL  DD1 
      JNB    P3.0,CAJ1;判断VT是否有信号 
      ACALL  DL 
      JB     P3.0,CAJ2;有则返回 
CAJ1: DJNZ   R4,CJ 
CAJ2: SETB   P1.1 
      SETB   P1.4 
      AJMP   F 
 
CJCT: MOV    R4,#03H;二级防盗报警程序(3闪灯) 
BJ1:  ACALL  BBJ 
      ACALL  DD1 
      JNB    P3.0,AJ1;判断VT是否有信号 
      ACALL  DL 
      JB     P3.0,AJ2;有则返回 
AJ1:  DJNZ   R4,BJ1 
AJ2:  SETB   P1.1 
      AJMP   BG 
 
      END
 

 

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客