⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dog5.lst

📁 报警器
💻 LST
📖 第 1 页 / 共 5 页
字号:
0147 2106           AJMP      MAIN_0
            
0149 00     MIAN_6: NOP
014A B54102         CJNE      A,LAST_STATE_2,MAIN_7
014D 2106           AJMP      MAIN_0
            
014F 00     MAIN_7: NOP
0150 F541           MOV       LAST_STATE_2,A
0152 12098E         LCALL     PRO_ALARM2_IN
0155 2106           AJMP      MAIN_0
0157 854342 MAIN_8: MOV       WAT_TIME,WAT_TIME1
015A 2106           AJMP      MAIN_0
            ;***************************
            ;***************************
            ;系统状态初始化
            ;***************************
015C C2AF   INISYS:   CLR     EA
015E C2B2             CLR     ALR_CLK             ;继电器初始化
0160 758000           MOV     P0,#00H
0163 D2B2             SETB    ALR_CLK
0165 C2B7             CLR     LED_CLK               ;灭所有LED灯
0167 758000           MOV     P0,#00H
016A D2B7             SETB    LED_CLK
016C 759850           MOV     SCON,#50H             ;串口工作在方式1,允许接收,清收发中断
016F 758700           MOV     PCON,#00H
0172 758920           MOV     TMOD,#20H             ;时钟T1工作在方式2,为波特率发生器
0175 758DFD           MOV     TH1,#0FDH              ;选择波特率为9600,时钟f=11.0592M
0178 758BFD           MOV     TL1,#0FDH
017B D28E             SETB    TR1
017D D29C             SETB    REN
017F C298             CLR     RI
0181 D2AC             SETB    ES                    ;开串口中断
0183 75D000           MOV     PSW,#0H               ;R0-R7工作在此期间0区
            
            ;          MOV     P1,#00H              ;8751
            ;          MOV     P2,#00H
            
0186 7590FF           MOV     P1,#0FFH              ;89C51
0189 75A0FF           MOV     P2,#0FFH
            
018C C258             CLR     WAT_DOG_FLAG
018E C251             CLR     SYS_START
0190 C252             CLR     REC_FLAG
0192 C254             CLR     START_REC
0194 752000           MOV     LED_OUT,#00H


D:\工作备分\工作备分\报警背板\程序\报警背板程序\DOG5.ASM                            
 
                                                                                        页     7
                                                                                        10-12-05
                                                                                        20:47:28
伟福汇编器 V5.00                               Copyright (c) 1989, 99 by CHY

地址  机器码 源程序

0197 752100           MOV     ALARM_OUT,#00H
            
019A 752200           MOV     ALARM_BUF1,#00H
019D 752300           MOV     ALARM_BUF2,#00H
            
01A0 752500           MOV     ALARM_IN_OK1,#00H
01A3 752400           MOV     ALARM_IN_OK2,#00H
            
01A6 7540FF           MOV     LAST_STATE_1,#0FFH
01A9 7541FF           MOV     LAST_STATE_2,#0FFH
            
            
01AC 758A50           MOV	 TL0,#TL0_INIT          ;定时器0初始化
01AF 758C00           MOV	 TH0,#TH0_INIT
01B2 C28D             CLR      TF0                   ;清益出标志位
01B4 D28C             SETB	 TR0                   ;开启时钟0
01B6 D2A9             SETB     ET0                   ;开启时钟0中断
            
            
01B8 D2AF             SETB    EA                    ;开中断
01BA 7860             MOV     R0,#SND_BUFF
01BC 7950             MOV     R1,#REC_BUFF
            
01BE 22               RET
            
            ;***************************
            ;*******************************
            ;时钟中断进行计时并进行限时等操作
            ;*******************************
01BF C28C   T0_INT:      CLR	TR0
01C1 758A50 	     MOV	TL0,#TL0_INIT
01C4 758C00 	     MOV	TH0,#TH0_INIT
01C7 D28C                SETB	TR0
01C9 C0E0                PUSH	ACC
01CB C0D0                PUSH	PSW
01CD 305516              JNB        BGN_T0_COUNT,T0_INT_1     ;判断是否需计秒:否,则退出中断
01D0 0538                INC	T0_NUM
01D2 E538                MOV	A,T0_NUM
01D4 B4780F              CJNE	A,#T0_NUM_PERS,T0_INT_1   ;判断是否秒进位:否,则退出中断
01D7 753800              MOV	T0_NUM,	#00H
01DA 0537                INC        USED_TIME
01DC E537                MOV        A,USED_TIME
01DE B53905              CJNE       A,SET_DELAY_TIME,T0_INT_1  ;判断是否超时:否,转移
01E1 753700              MOV        USED_TIME,#00H
01E4 D256                SETB       OVER_TIME
01E6 D0D0   T0_INT_1:    POP	PSW
01E8 D0E0                POP	ACC
01EA 32                  RETI


D:\工作备分\工作备分\报警背板\程序\报警背板程序\DOG5.ASM                            
 
                                                                                        页     8
                                                                                        10-12-05
                                                                                        20:47:28
伟福汇编器 V5.00                               Copyright (c) 1989, 99 by CHY

地址  机器码 源程序

            ;*******************************
            ;***************************
            ;串口中断服务程序
            ;***************************
01EB 209915 INT_SRL:   JB      TI,INT_2
01EE C298              CLR     RI
01F0 C0E0              PUSH    ACC
01F2 C0D0              PUSH	   PSW
01F4 E599              MOV     A,SBUF
01F6 F7                MOV     @R1,A
01F7 09                INC     R1
01F8 E9                MOV     A,R1
01F9 B45502            CJNE    A,#REC_BUF_END,INT_1
            ;           MOV     R1,#REC_BUFF
01FC D252              SETB    REC_FLAG
01FE D0D0   INT_1:     POP	PSW
0200 D0E0              POP	ACC
0202 32                RETI
            
0203 C299   INT_2:     CLR     TI
0205 D257              SETB    SBUF_EMPT_FLAG
0207 32                RETI
            ;***************************
            ;***************************
            ;处理来自PC机的指令
            ;***************************
0208 00     PRO_REC_DATA: NOP
0209 1206B5            LCALL     DELAY5MS
020C C252              CLR       REC_FLAG
            ;           CLR       EA
020E 7950              MOV      R1,#REC_BUFF
0210 7860              MOV      R0,#SND_BUFF
0212 7F06              MOV      R7,#06
0214 DF04   PRO_REC_T1: DJNZ    R7,PRO_REC_T2
0216 7950              MOV      R1,#REC_BUFF
            ;           SETB     EA
0218 4120              AJMP    PRO_REC_T3
            
021A E7     PRO_REC_T2: MOV      A,@R1
021B F6                MOV      @R0,A
021C 08                INC      R0
021D 09                INC      R1
021E 4114              AJMP     PRO_REC_T1
            
0220 00     PRO_REC_T3: NOP
0221 1202FD            LCALL    CHECK_SUM                   ;判断校验是否正确
0224 F531              MOV      TEMP,A
0226 7860              MOV      R0,#SND_BUFF


D:\工作备分\工作备分\报警背板\程序\报警背板程序\DOG5.ASM                            
 
                                                                                        页     9
                                                                                        10-12-05
                                                                                        20:47:28
伟福汇编器 V5.00                               Copyright (c) 1989, 99 by CHY

地址  机器码 源程序

0228 08                INC      R0
0229 08                INC      R0
022A 08                INC      R0
022B 08                INC      R0
022C E6                MOV      A,@R0
022D B53102            CJNE     A,TEMP,CHECK_ERROR
0230 413A              AJMP     PRO_REC_0
            CHECK_ERROR:
0232 7453              MOV       A,#SOH_OUT3
0234 0202A0            LJMP      PRO_REC_END
0237 0202B1 PRO_BACK:  LJMP      PRO_REC_EXIT
            
023A 00     PRO_REC_0: NOP
023B 7860              MOV      R0,#SND_BUFF                ;判断是否是“AA”开头DATA_SOD
023D E6                MOV      A,@R0
023E B4AAF6            CJNE     A,#DATA_SOD,PRO_BACK
            
0241 7860              MOV      R0,#SND_BUFF                ;判断指令
0243 08                INC      R0
0244 E6                MOV      A,@R0
0245 B40105            CJNE     A,#SOFT_PRC,PRO_REC_1       ;判断是否是软件保护指令
0248 120AD4            LCALL    SOFT_PROTECT
024B 41A0              AJMP     PRO_REC_END
024D B40205 PRO_REC_1: CJNE     A,#INPUT_SET,PRO_REC_2      ;判断是否是报警输入配置指令
0250 1203AE            LCALL    ALARM_INPUT_SET
0253 41A0              AJMP     PRO_REC_END
0255 B40305 PRO_REC_2: CJNE     A,#OUTPUT_SET,PRO_REC_3     ;判断是否是报警输出指令
0258 120316            LCALL    ALARM_OUTPUT_SET
025B 41A0              AJMP     PRO_REC_END
025D B40405 PRO_REC_3: CJNE     A,#LED_SET,PRO_REC_4        ;判断是否是LED设置指令
0260 12051E            LCALL    LED_OUTPUT_SET
0263 41A0              AJMP     PRO_REC_END
0265 B40605 PRO_REC_4: CJNE     A,#READ_DATA,PRO_REC_5      ;判断是否是读NVD数据指令
0268 1205CC            LCALL    READ_FROM_NVD
026B 41A0              AJMP     PRO_REC_END
026D B40505 PRO_REC_5: CJNE     A,#WRITE_DATA,PRO_REC_6     ;判断是否是写NVD数据指令
0270 1205F5            LCALL    WRITE_TO_NVD
0273 41A0              AJMP     PRO_REC_END
0275 B40705 PRO_REC_6: CJNE     A,#READ_IN_STATE,PRO_REC_9  ;判断是否是读报警输入状态指令
0278 120709            LCALL    SEND_ALARM_IN_STATE
027B 41A0              AJMP     PRO_REC_END
027D B40805 PRO_REC_9: CJNE     A,#READ_OUT_STATE,PRO_REC_10  ;判断是否是读报警输出状态指令
0280 1207A0            LCALL    SEND_ALARM_OUT_STATE
0283 41A0              AJMP     PRO_REC_END
0285 B40905 PRO_REC_10: CJNE     A,#READ_LED_STATE,PRO_REC_11 ;判断是否是读LED状态指令
0288 1207F9            LCALL    SEND_LED_STATE
028B 41A0              AJMP     PRO_REC_END
028D B40B05 PRO_REC_11: CJNE     A,#WAT_DOG,PRO_REC_12


D:\工作备分\工作备分\报警背板\程序\报警背板程序\DOG5.ASM                            
 
                                                                                        页    10
                                                                                        10-12-05
                                                                                        20:47:28
伟福汇编器 V5.00                               Copyright (c) 1989, 99 by CHY

地址  机器码 源程序

0290 1204F9            LCALL    WAT_DOG_SET
0293 41A0              AJMP     PRO_REC_END
0295 B40A05 PRO_REC_12: CJNE     A,#BEGIN_SYSTEM,PRO_REC_ERROR ;判断是否是START
0298 1202B4            LCALL    START_SYSTEM
029B 41A0              AJMP     PRO_REC_END
            
029D 00     PRO_REC_ERROR: NOP
029E 7454               MOV      A,#SOH_OUT4
            
02A0 00     PRO_REC_END:NOP
            
02A1 7860                MOV      R0,#SND_BUFF                ;SOH
02A3 F6                  MOV      @R0,A
            
02A4 1202FD              LCALL    CHECK_SUM
02A7 7860                MOV      R0,#SND_BUFF                ;产生校验位
02A9 08                  INC      R0
02AA 08                  INC      R0
02AB 08                  INC      R0
02AC 08                  INC      R0
02AD F6                  MOV      @R0,A
            
02AE 1202DE              LCALL    SEND_DATA_TO_PC
            
02B1 00     PRO_REC_EXIT: NOP
02B2 00                  NOP
02B3 22                  RET
            ;***************************
            ;***************************
            ;处理系统开光指令包
            ;***************************
02B4 00     START_SYSTEM: NOP
02B5 7860               MOV      R0,#SND_BUFF
02B7 08                 INC      R0
02B8 08                 INC      R0
02B9 08                 INC      R0
02BA E6                 MOV      A,@R0
02BB B4AA13             CJNE     A,#YES,START_SYS_1
02BE D251               SETB     SYS_START                    ;系统开始工作
            
02C0 E522               MOV      A,ALARM_BUF1
02C2 F540               MOV      LAST_STATE_1,A
            
02C4 E523               MOV      A,ALARM_BUF2
02C6 F541               MOV      LAST_STATE_2,A
            
02C8 752500             MOV      ALARM_IN_OK1,#00H
02CB 752400             MOV      ALARM_IN_OK2,#00H


D:\工作备分\工作备分\报警背板\程序\报警背板程序\DOG5.ASM                            
 
                                                                                        页    11
                                                                                        10-12-05
                                                                                        20:47:28
伟福汇编器 V5.00                               Copyright (c) 1989, 99 by CHY

地址  机器码 源程序

            
02CE 7451               MOV      A,#SOH_OUT1
            
02D0 22                 RET
02D1 00     START_SYS_1:   NOP
02D2 B45505             CJNE     A,#NO,START_SYS_ERROR
02D5 C251               CLR     SYS_START                      ;系统停止工作
02D7 7451               MOV      A,#SOH_OUT1
02D9 22                 RET
02DA 00     START_SYS_ERROR: NOP
02DB 7454               MOV      A,#SOH_OUT4                    ;指令参数出错
02DD 22                 RET
            

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -