Смекни!
smekni.com

Проектирование автоматической системы взвешивания вагонов в статике (стр. 4 из 4)

ADD A, R6;и запись его в R6

MOV R6, A

INC R0

MOV A, @R0;суммирование старшего байта

ADDC A, R7;и запись его в R7

CLR PSW.7

MOV R7, A

INC R0

DJNZ R5, SUMM;в регR6-мл. результат

; R7-ст. результат

CLR IE.7;запрет всех прерываний на время передачи

MOV SBUF,R6;передача младшего байта результата

ACALL DELAY;вызов подпрограммы задержки

MOV SBUF,R7;передача старшего байта результата

ACALL DELAY;вызов подпрограммы задержки

CLR SCON.1;сброс флага прерывания по посл. порта

SETB IE.7;разрешение прерываний

MOV R5, #0

MOV R0, #32;начальный адрес ячейки памяти

;для получаемого кода

MOV R1, #52;начальный адрес смещений

CLR IE.0;запрещение прерывания по INT0

RET

;Конец передачи

;_____________________________________________________________

;_____________________________________________________________

;Прерывание по последовательному порту

UAPP:

CLR SCON.1;сброс флага прерывания

MOV R7, SBUF;прием управляющего слова


ACALL DELAY

MOV A, #00111100B;обнуление смещений и результатов

SUBB A, R7

JNZ NEXT0

MOV R5, #36;запуск очистки

MOV R1, #32

ACALL CLEAR

NEXT0:

MOV A, #11110000B;запрос на запуск преобразования и

SUBB A, R7;и на передачу в компьютер

JNZ NEXT1

;активация работы подпрограммы

CLR PSW.1;взвешивания в MAIN

SETB IE.0;разрешение прерывания по INT0

NEXT1:

MOV A, #00001111B;запрос на передачу в компьютер

SUBB A, R7

JNZ NEXT2

ACALL OUT

NEXT2:

MOV A, #0FFH ;запрос на калибровку

SUBB A, R7

JNZ NEXT3;активация работы подпрограммы

SETB PSW.1;калибровки в MAIN

NEXT3:

OTHERWISE:

RETI

;_____________________________________________________________

;_____________________________________________________________

;Подпрограмма задержки для последовательного порта

DELAY:

MOV R2,#25;задержка, небходимая для

A2:MOV R3,#250;принятия/передачи байта

A1:DJNZ R3,A1

DJNZ R2,A2

RET

;_____________________________________________________________

;_____________________________________________________________

CLEAR:

MOV @R1, #0;R5 - колличество

INC R1 ;R1 - начальный адрес

DJNZ R5, CLEAR

RET

;_____________________________________________________________

END;конец трансляции