Программа управления пультом системы отображения цифровой информации, страница 2

ADD А, #ОАОН

92

MOV R6, A A3:      MOV A, R5

JNZA5

MOV A, R6

JNZA5

ACALL SETSOUND     ;вызов подпрограммы включения звука

ACALL STOP         остановка таймера А5:      POP A

RET

ПОДГОТОВКА ПРИЕМА УПРАВЛЯЮЩЕГО СИГНАЛА RES:    MOV A, SBUF

CRLR1

CJNEA, #ООН, Л

ACALL SETZ1         остановка замечаний

SJMPJ18 Л:      CJNEA, #01H, J2

ACALL CRLMIN        ;очистка минут

SJMPJ18 J2:      CJNEA, #02H, J3

ACALL INCMIN        увеличение минут на 1

SJMPJ18 J3:      CJNE A, #03H, J4

ACALL ADDMIN       ;увеличение минут на 5

SJMPJ18 J4:      CJNE A, #04H, J5

ACALL INCT          .увеличение таймера

SJMPJ18 J5:      CJNE A, #05H, J6

ACALL INCSEC        увеличение секунд

SJMPJ18 J6:      CJNEA, #06H, J7

ACALL S1SEC        уменьшение секунд

SJMPJ18 J7:      CJNEA, #07H, J8

ACALL SETZ2         остановка сброса замечаний

93

SJMPJ18 J8:      CJNEA, #08H, J9

ACALL SETSOUND     остановка сирены

SJMPJ18 J9:      CJNEA, #09H.J10

ACALL INCS1         увеличение счёта команды 1

SJMPJ18 J10:     CJNEA, #OAH. J11

ACALL DECS1        уменьшение счета команды 1

SJMPJ18 J11:     CJNEA, #OBH, J12

ACALL CRLS          ;очистка счета команд

SJMPJ18 J12:     CJNEA. #OCH, J13

ACALL INCS2         увеличение счёта команды 2

SJMPJ18 J13:     CJNEA. #ODH,J14

ACALL DECS2        уменьшение счета команды 2

SJMPJ18 J14:     CJNEA. #OEH, J15

ACALL STOP         остановка таймера

SJMPJ18 J15:     CJNEA, #OFH,J16

ACALL START        ;пуск таймера

J18:               RET ПОДПРОГРАММА СБРОСА МИНУТ CLRMIN: PUSH A

CLR RSO

MOV R6, #ООН

POP A

RET

ПОДПРОГРАММА УВЕЛИЧЕНИЯ МИНУТ НА ЕДИНИЦУ INCMIN: PUSH A

94

CLR RSO

INC R6

MOV A, R6

CLR AC

CLR С

DA A

MOV R6, A

POP A

RET

ПОДПРОГРАММА УВЕЛИЧЕНИЯ МИНУТ НА ПЯТЬ ADDMIN: PUSH A

CLR RSO

MOV A, R6

ADD А, #05Н

CLR АС

CLR С

DAA

MOV R6, А

POP A

RET

ПОДПРОГРАММА УВЕЛИЧЕНИЯ ТАЙМА НА 1 INCT:   PUSH A

CLR RSO

MOV A, R2

ADDA, #10H

MOV R2, А

ANL A, #OFOH

XRL А, #ОАОН

JNZ M1

MOV A, R2

ANL A, #OFH

MOV R2, А M1:     POP A

RET

95

ПОДПРОГРАММА УВЕЛИЧЕНИЯ СЕКУНД НА 1 INCSEC; PUSH A

CLR RSO

MOV A. R5

CLR АС

CLR С

INCA

DAA

MOV R5, А

XRL А, #60Н

JNZ M2

MOV A, R5

ANLA, #ООН

MOV R5, А M2:     POP A

RET

ПОДПРОГРАММА УСТАНОВКИ ЗАМЕЧАНИЙ КОМАНДЫ 1 SETZ1:   PUSH A

CRL RSO

MOV A, R2

JBACC.1, К2

INCA

INCA

SJMP K1 К2:      DEC A

DEC A K1:      MOVR2.A

POP A

RET

ПОДПРОГРАММА УСТАНОВКИ ЗАМЕЧАНИЙ КОМАНДЫ 2 SETZ2:   PUSH A

CRL RSO

MOV A, R2

JB АСС.О, КЗ

INCA

96

SJMP K4 КЗ:      DEC A K4:      MOV R2. А

POP A

ПОДПРОГРАММА УВЕЛИЧЕНИЯ СЧЕТА НА 1 КОМАНДЫ INCS1:   PUSH A

SETB RSO

CRLC

MOV A, R7

INCA

CRLAC

CRLC

DAA

MOV R7. А

JNZM3

MOV A, R5

ORLA, #10Н МЗ:     MOV R5, А

ANL A. #OFOH

CJNEA, #10H, H1

ANL01H, #OFH

ORL01H.A H2:      MOV 04H. R7

SJMP НЗ H1:     ORL01H, #OFOH

MOV A, R7

ANL A, #OFOH

JNZ H2

MOV 04H, R7

ORL 04H, #OFOH НЗ:     POP A

RET

97

ПОДПРОГРАММА УМЕНЬШЕНИЯ СЧЕТА НА 1 КОМАНДЫ 1 DECS1: PUSH A

SETB RSO

DECR7

MOV A, R7

ANL A, #OFH

XRL A, #OFH

JNZ M4

MOV A, R7

ADD A, #OFAH

MOV R7, А

XRL A, #OF9H

JNZ M4

MOV A, R7

ADD А, #ОАОН

MOV R7. А

MOV A, R5

ANL A. #OEFH

MOV R5, А M4:     MOV R5, А

ANL A, #OFOH

CJNEA. #10Н, НИ

ANL01H, #OFH

ORL01H, А Н22:     MOV 04H, R7

SJMP НЗЗ НИ:    ORL01H, #OFOH

MOV A, R7

ANL A, #OFOH

JNZ H22

MOV 04H, R7

ORL04H, #OFOH НЗЗ:     POP A

RET

98

;ПРОГРАММА УВЕЛИЧЕНИЯ СЧЕТА НА 1 КОМАНДЫ 2 INCS2:   PUSH A

SETB RSO

MOV A, R6

INCA

CRL АС

CRLC

DAA

MOV R6, А

JNZM5

INC R5 М5:      MOV A, R5

ANL А, #ОРОН

CJNEA, #01Н,01

ANL01H, #OFOH

ORL01H.A 02:      MOV03H, R6

SJMP 03 01:     ORL01H, #OFH

MOV A, R6

ANL A. #OFOH

JN202

MOV 03H, R6

ORL03H, #OFOH 03:     POP A

RET

ПОДПРОГРАММА УМЕНЬШЕНИЯ СЧЕТА НА 1 КОМАНДЫ 2 DECS2: PUSH A

SETB RSO

DEC R6

MOV A. R6

ANL A, #OFH

XRLA, #OFH

JNZ M6

MOV A, R6

ADD A, #OFAH

MOV R6, A

XRL A, #OF9H

JNZM6

MOV A, R6

ADD A, #OAOH

MOV R6, A

MOV A, R5

ANLA, #FEH

MOV R5, A M6:      MOV R5, A

ANL A, #OFH

CJNEA. #011-1,001

ANL01H, #OFOH

ORL01H,A 002:    MOV04H, R7

SJMP 003 001:    ORL01H, #OFH

MOV A, R6

ANL A, #OFOH

JNZ 002

MOV 03H, R6

ORL 03H, #OFOH H33:    POP A

RET

ПОДПРОГРАММА СБРОСА СЧЕТА ОБЕИХ КОМАНД CRLS:   PUSH A

SETB RSO

CRLA

MOV R6, А

MOV R7, А

MOV R5, А

MOV01H, #OFFH

MOV 03H, #OFOH

MOV04H, #OFOH

POP A RET

ПОДПРОГРАММА СИГНАЛА SETSOUND SETSOUND: PUSH A

CRL P3.2

SETB RSO

MOV R2, #OE9H

MOV R3, #03H

POP A

RET

ПОДПРОГРАММА СТОП - ВРЕМЯ STOP:   PUSH A

SETB RSO

MOV A, R1

ORLA, #80H

MOVR1, A

ORL 11H, #80H

POP A

RET

ПОДПРОГРАММА СТАРТ-ВРЕМЯ START;  PUSH A

SETB RSO

MOV A, R1

ANL A, #07H

MOVR1, A

POP A

RET