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

Страницы работы

Содержание работы

Приложение 1

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

.ORGO

SJMP А              ;начальная инициализация регистров

.ORG ОЗОН          ; Процессора и установка

A:        MOV SP, #40Н        ;последовательного порта в режиме №1

ORLTMOD, #21 Н

MOVTH1, #OF5H

MOVTL1, #OF5H

CLR ET1

SETB TR1            ;ПОСЛЕД ПОРТ РЕЖИМ 1

SETB SM1

LM:       MOV A, #OFEH        ;опрос клавиатуры по трем каналам

MOV R1, #OOH        ;при нажатии на клавишу в одном из

А1:       MOV P1, А           ;трех каналов, вызывается

JB P3.4, А2         ; соответствующая подпрограмма

ACALL TR1           ;(TR1, TR2, TR3) А2:      INC R1

RLA

CJNER1, #08Н, А1

АА1:      MOVP1.A

JB P3.5, АА2

ACALL TR2

АА2:      INC R1

RLA

CJNER1, #10Н,АА1

ААА1:     MOVP1,A

JB P3.6. ААА2

ACALL TR3

ААА2:     INC R1

RLA

CJNER1, #12Н,ААА1

SJMP LM

TR1:     PUSH А          ;Подпрограмма опроса первого канала

MOV R2, #OFFH  ;(порт3.4) и выдачи кода

А4:       DEC R2          ;в последовательный порт

MOV A, R2

JZA6

JB P3.4, А5

SJMP A4

А6:       MOVSBUF, R1

ACALL PAUSE

А5:       POP A

RET

TR2:     PUSH А             ;Подпрограмма опроса второго канала

MOV R2, #OFFH      ;(порт 3.5) и выдачи кода в

А7:      DEC R2             ;последовательный порт

MOV A. R2

JZAB

JB P3.5, А9

SJMP A7

А8:       MOV SBUF, R1

ACALL PAUSE

А9:       POP A

RET

TR3:      PUSH А             ;Подпрограмма опроса третьегоканала

MOV R2, #OFFH       ;(порт 3.6) F4:      DEC R2              Предназначена для дальнейшего

MOV A, R2           расширения клавиатуры

JZ F6

JB P3.6, F5

SJMP F4 F6:      MOV SBUF, R1

86

ACALL PAUSE F5:      POP A RET

PAUSE:   MOV R4, #09FH       ;подпрогрпмма организации паузы для LM2:     MOV R3, #OFFH       ;устранения дребезга контактов LM1;     DJNZR3, LM1

DJNZ R4, LM2

RET

87 Приложение 2

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

.ORGO

SJMP FF             .начальная инициализация регистров

.ORG ОВН           ;процессора

SJMP INT

.ORG ОЗОН ;ТО -РЕЖИМ1, Т1 - РЕЖИМ2 ДЕЛЕНИЕ НА 321 FP:      MOV SP, #40Н       остановка режимов таймера

ORL TMOD, #21Н     ;и последовательного порта

MOVTH1, #OF5H

MOVTL1, #OF5H

CRL ET1

SETB TR1

MOV THO, #OFEH

MOV TLO, #OBFH

SETB TRO ;ПОСЛЕД ПОРТ РЕЖИМ 1

SETB SM1

SETB REN

SETB EA

SETB ETO ;SBO R7=14

MOV 07H, #OEH

MOV A, 20H

XRL A, #55H         ;анализ причин сброса процессора JZ B1               ;и включение режима малого MOV А, 21 Н          Потребления процессора XRL А, #55Н

JZ B1

MOV A. 22H

XRL A, #55H

JZB1

CRLA

MOV RO, A

MOVR1, #OFFH

MOV R2, #1BH

MOV R3, #OFOH

MOV R4, #OFOH

MOV R5, A

MOV R6, #20H

SETB RSO

MOV RO. #OE9H

MOV R1, #83H

MOV R2, #OE9H

MOV R3, #03H

MOV R4, #1EH

MOV R5, #OOH

MOV R6, #OOH

MOV R7, #OOH

MOV 10H, #OE9H

MOV 11H, #B3H

MOV20H, #55H

MOV21H, #55H

MOV 22H, #55H B1:      ORLPCON, #01H

AJMP B1

;ОСНОВНАЯ ПРОГРАММА ПО ПРЕРЫВАНИЮ ОТ Т1 INT:     CLR TRO

NOP

MOV THO, #OFEH     ;загрузка таймера начальными

MOVTLO, #OBFH      ;значениями

SETB TRO            ;запуск таймера

CLR RSO

CLR RS1

MOV P1, #OFFH       ;переход к выводу следующего

MOV A, R7           знакоместа

CLR С

RRC А

MOV RO, А

MOV A, @RO

JC L3

SWAP A L3:      ANL А, R7

MOVP1, А

DECR7

MOV A, R7

DEC A

JNZL2

MOV R7, #ОЕН .ПРОВЕРКА ЗВУКА И УМЕНЬШЕНИЕ ЕГО L2:      SETB RSO

MOV A, R3           .если выключена сирена, то проверка

JB А, 7, С1            ;истечения 2 с

MOV A, R2           ;и выключение сирены, если 2 с истекли

JNZC2

DECR3 С2:     DEC R2

MOV A, R3

JNZC1

MOV A, R2

JNZC1

ORLOBH, #80Н

SETB P3, 2

SETB P3, 3 С1:      MOV A, 11H

JB A, 7, Y1

MOV A, 10H

JNZY2

DEC11H Y2:     DEC ЮН

MOVA. 11H

JNZY1

MOVA, ЮН

JNZ Y1

MOV 10H, #OE9H

MOV 11H. #03H

DEC OCH

MOV A, OCH

JNZY1

CLR P3. 3

CLR P3. 2

MOVOAH, #OE9H

MOVOBH, #03H

MOV OCH, 1EH

ORL 11H, #80H ПРОВЕРКА ВРЕМЕНИ Y1:      MOV A, R1           .проверка счетчика одной секунды

JB A, 7. D1

MOV A, RO

JNZ D2

DEC R1 D2:     DEC RO

MOV A, R1

JNZ D1

MOV A, RO

JNZD1

MOV RO, #OE9H

MOVR1, #03H

ACALLS1SEC D1:     JNB R1, D3

ACALL RES D3:      RETI

ПОДПРОГРАММА S1SEC ВЫЧИТАНИЯ ЕДИНИЦЫ ИЗ СЕКУНД ;ЕСЛИ 0, ТО ВКЛ. ЗВУКА S1SEC:  PUSH A

CLR RS1

CLR RSO

MOV A, R5

JNZA1

MOV A, R6

JNZA1

AJMP A5 А1:      DEC R5

MOV A.R5

ANL A, #OFH

XRL A, #OFH

JNZ A2

MOV A, R5

ADD A, #OFAH

MOV R5. А A2:      XRL A, #OF9H

JNZ A3

MOV A, R5

ADD А, #60Н

MOV R5, А

DEC R6

MOV A, R6

ANL A, #OFH

XRL A, #OFH

JNZA4

MOV A, R6

ADD A, #OFAH

MOV R6, А А4:      XRL A, #OF9H

JNZ A3

MOV A, R6

Похожие материалы

Информация о работе