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;конец трансляции