Программное обеспечение счетчика метров, страница 2

4.3. БЛОК-СХЕМЫ АЛГОРИТМОВ

Блок-схемы алгоритмов представлены на рис.4.1.а и 4.1.б.

4.4. ТЕКСТ ПРОГРАММЫ НА ЯЗЫКЕ ”АССЕМБЛЕР ”

Описание переменных, используемых в программе, приведено в таблице 4.3.

Таблица 4.3

КОП

Операнд

Комментарий

EQU

0021h

Буфер первой линейки светодиодов

EQU

0020h

Буфер второй линейки светодиодов

EQU

0028h

Буфер дисплея

EQU

0045h

Число фильер

EQU

0046h

Последнее значение таймера

EQU

0047h

Флаги состояния

EQU

004Ah

Сумматор

EQU

0050h

Счетчик намоточного ус-ва

EQU

0056h

Счетчик сматывающего ус-ва 1

EQU

005Ch

Счетчик сматывающего ус-ва 2

EQU

0062h

Буфер TOT для передачи сообщения

EQU

0068h

Заданное значение счетчика намоточного ус-ва

EQU

006Eh

Заданное значение счетчика сматывающего ус-ва 1

EQU

0074h

Заданное значение счетчика сматывающего ус-ва 2

EQU

007Ah

Буфер для передачи сообщений

000Eh

Код  “B0”

 

EQU

000Dh

Код  “стрелки”

EQU

000Bh

Код ввода

EQU

000Сh

Код F

EQU

000Ah

Код сброса

EQU

0000h

EQU

004Fh

EQU

000Fh

EQU

00FCh

EQU

0070h

Продолжение таблицы 4.3

EQU

0008h

Установка первой попытки

EQU

00F7h

Снятие первой попытки

EQU

00F1h

EQU

0021h

Максимальное число фильер

EQU

0002h

Установка флага сброса

EQU

00FCh

Сброс флага сброса

EQU

000Dh

EQU

00EFh

Начальная установка Р1

EQU

00F0h

Начальная установка Р2

Фоновая программа

ORG

800H

BEG_INIT

MOV

R6,#7FH

CALL

DELAY 2

MOV

R0,#03H

Программирование

MOV

A,#98H

PP1 BB55A

MOVX

@R0,A

ANL

P2,#0FH

Вкл. EXRAM и его 0-ой страницы

MOV

R5,#39

Обнуление 39-и ячеек внешней

MOV

R1,#WR_S_SEK+1

памяти, начиная с МАХ адреса

CALL

XMO

(WR_S_SEK+1)=5EH

MOV

R0,#TIM_PR1

MOV

@R0,A

INC

R0

MOV

@R0,A

MOV

R0,#01DH

Начал. Значение R5  RB1

MOV

A,#PROH

MOV

@R0,A

CLR

A

MOV

R0,#1EH

Начал. Значение R6  RB1

MOV

@R0,A

MOV

R0,#1BH

Начал. Значение R3  RB1

MOV

@R0,A

DEC

R0

INC

A

Начал. Значение R2  RB1

MOV

@R0,A

MOV

A,#TIM

MOV

T,A

SOST_0

MOV

R3,#1_BEG

CALL

IND

MOV

A,#0BFH

CALL

COPY

MOV

R0,#BUF_DISP+6

MOV

A,#0FFH

CALL

COPY1

CALL

COPY1

EN

TCNTI

STRT

T

C_KEY

CALL

KEY

JB0

PROG

JB3

X_AUTO

JB2

X_HAND

JMP

X_KEY

X_AUTO

JMP

AUTO

X_HAND

JMP

HAND

EJECT