微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51单片机的315M接收头接收汇编程序(从机)

51单片机的315M接收头接收汇编程序(从机)

时间:11-28 来源:互联网 点击:

ACALL YS2 ;延时

CLR SPK1 ;关报警器

SJMP KS5

S2: ACALL ZDFS ;检测到振动传感器有输出,发射110报警信号

ACALL YS2 ;延时

SETB TR0 ;开定时中断允许

KS5: JB CGQ2,KS6 ;检测微波传感器是否输出(有盗情)

;ACALL YS1

;JB CGQ2,KS6

CLR TR0 ;关定时中断

DJNZ R1,S1

INC R1

SETB SPK1 ;报警器响一下,进入防盗状态

ACALL YS2 ;延时

CLR SPK1 ;关报警器

SJMP KS6

S1: ACALL WBFS ;检测到微波传感器有输出,发射101报警信号

ACALL YS2 ;延时

SETB TR0 ;开定时中断允许

KS6: CJNE R0,#01H,KS7 ;10S检测一次电源电压

CLR TR0 ;关定时中断

ACALL ADAD ;调用电源电压检测程序

ACALL CLEAR2 ;重新设定初值

SUBB A,#DYBJ ;与预定值比较

CLR A ;A清零

MOV R0,#00H ;10s时间到标志位清零

SETB TR0 ;开定时中断允许

JNC KS7 ;电压低报警

CLR TR0 ;关定时中断

ACALL DYFS ;电压低发射010报警信号

SETB TR0 ;开定时中断允许

DJNZ 33H,KS7

CLR LED1

CLR TR0 ;关定时中断

AJMP KS2

KS7: MOV A,P3 ;收到子机的反馈信号则判断是否正确

ANL A,#JSBM ;屏蔽P3.7、P3.6、P3.1、P3.0

CJNE A,#GJBM,KS8 ;检测是否收到主机的关机信号

CLR ET0 ;无信号则关定时器T1中断

CLR CGDY ;关传感器电源

CLR LED1 ;进入报警监测状态,指示灯亮

SETB SPK1 ;报警器响一下,进入防盗状态

ACALL YS2 ;延时

CLR SPK1 ;关报警器

ACALL YS3 ;延时

SETB SPK1 ;报警器响一下,进入防盗状态

ACALL YS3 ;延时

CLR SPK1 ;关报警器

ACALL GJFS ;调用关机发射程序

SETB LED1 ;进入报警监测状态,指示灯亮

JNB JSVT,$ ;等待主机停止发射

AJMP KS2 ;返回进入待机状态

KS8: CJNE A,#KJBM,S3

JNB JSVT,$ ;等待主机停止发射

AJMP KS0 ;返回进入待机状态

S3: CJNE A,#DYBM,S4

SETB SPK1 ;报警器响一下,进入防盗状态

ACALL YS3 ;延时

CLR SPK1 ;关报警器

MOV R1,#01H

S4: AJMP KS4

;****************************************************************

;----------------------------------------------------------------

;以下为子程序

;----------------------------------------------------------------

;----------------------------------------------------------------

;以下为开机发射程序

;----------------------------------------------------------------

;主机开机子机发射编码011给主机以联通

KJFS: CLR LED1 ;指示灯亮

CLR FSBB ;B端为0

SETB FSCC ;C端为1

SETB FSDD ;D端为1

CLR FSKZ ;允许发射

ACALL TZFS ;调用停止发射程序

RET ;返回

;----------------------------------------------------------------

;以下为振动输出(有盗情)的发射程序

;----------------------------------------------------------------

;振动输出(有盗情)发射编码110给主机进行报警

ZDFS: CLR LED1 ;指示灯亮

SETB FSBB ;B端为1

SETB FSCC ;C端为1

CLR FSDD ;D端为0

CLR FSKZ ;允许发射

ACALL TZFS ;调用停止发射程序

RET ;返回

;----------------------------------------------------------------

;以下为微波输出(有盗情)的发射程序

;----------------------------------------------------------------

;微波输出(有盗情)发射编码101给主机进行报警

WBFS: CLR LED1 ;指示灯亮

SETB FSBB ;B端为1

CLR FSCC ;C端为0

SETB FSDD ;D端为1

CLR FSKZ ;允许发射

ACALL TZFS ;调用停止发射程序

RET ;返回

;----------------------------------------------------------------

;以下为联络主机的发射程序

;----------------------------------------------------------------

;联络主机发射编码001给主机

GJFS: CLR LED1 ;指示灯亮

CLR FSBB ;B端为0

CLR FSCC ;C端为0

SETB FSDD ;D端为1

CLR FSKZ ;允许发射

ACALL TZFS ;调用停止发射程序

RET ;返回

;----------------------------------------------------------------

;以下为电源低压的发射程序

;----------------------------------------------------------------

;子机电源低压发射编码010给主机进行报警

DYFS: CLR LED1 ;指示灯亮

CLR FSBB ;B端为0

SETB FSCC ;C端为1

CLR FSDD ;D端为0

CLR FSKZ ;允许发射

ACALL TZFS ;调用停止发射程序

RET ;返回

;----------------------------------------------------------------

;以下为停止发射程序

;----------------------------------------------------------------

TZFS: ACALL YS2 ;延时

ACALL YS2 ;延时

SETB FSKZ ;停止发射

CLR FSBB ;B端为0

CLR FSCC ;C端为0

CLR FSDD ;D端为0

SETB LED1 ;指示灯灭

RET ;返回

;------------------------------------

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top