Подпрограмма выбора коэффициентов нелинейного датчика



MOV DPL,00h

           MOV DPH,04h

           MOV A,#00001100b

           ANL A,R0

           RL A

           RL A

           CLR 0D4H

           CLR 0D3H

           MOV R0,#0AH

           MOV R1,#04H

M1:        MOV A,#06H

           MOVC A,@A+DPTR

           MOV @R0,A

           INC R6

           INC R0

           DJNZ R1,M1

           END

; Подпрограмма умножения двух байт (регистры R0, R1 - 1-ый банк) на три (регистры ; R2, R3, R4 - 1-ый банк ), результат помещается в R3, R4, R5, R6, R7 - 0-ой ; банк.

                   MOV R4,#0h

                   MOV R5,#0h

                   MOV R6,#0h

                   MOV R7,#0h

                   MOV R3,#0h

                   MOV R0,#10h

me1:           SETB 0D3h

                   CLR 0D4h

                   MOV A,R0

                   RRC A

                   MOV R0,A

                   MOV A,R1

                   RRC A

                   MOV R1,A

                   JNC me2

                   MOV A,R4

                   ADD A,5h

                   MOV 5h,A

                   MOV A,R3

                   ADDC A,4h

                   MOV 4h,A

                   MOV A,R2

                   ADDC A,3h

                   MOV 3h,A

me2:           CLR 0D4h

                   CLR 0D3h

                   MOV A,R4

                   RRC A

                   MOV R4,A

                   MOV A,R5

                   RRC A

                   MOV R5,A

                   MOV A,R6

                   RRC A

                   MOV R6,A

                   MOV A,R7

                   RRC A

                   MOV R7,A

                   DJNZ r0,MET1

; Подпрограмма сложения пяти байт(R3, R4, R5, R6, R7 - 0-ой банк.

; ) с двумя (R 2(0Dh) ,R 3(0Eh) - 0 -ый банк), результат помещается в R3 (13h) , ; R4 (14h) , R5 (15h) , R6 (16h) , R7 (17h) - 2-ой банк.

       CLR 0D3H ;

       CLR 0D4H ;

       MOV A,R5

       ADD A,R3

       MOV 12H,A

       MOV A,R4

       ADDC A,R2

       MOV 11H,A

       JNC M1

       MOV A,#01

       ADD A,11H

       MOV 11H,A

       JNC M1

       MOV A,#01H

       ADD A,10H

       MOV 10H,A

       MOV 14h,0Ch

       MOV 13h,0Bh

M1: CLR 0D3H

       SETB 0D4H

       END

Подпрограмма передачи пяти байт находящихся в R3 R4 R5 R6 R7.

;Выбор второго банка

       SETB 0D4h

       CLR 0D3h

;Передача первого байта данных

       MOV A,R7

       MOV C,P ;Р - бит четности аккумулятора

       MOV TB8,C

       MOV SBUF,A

       MOV IE,#10010000b ;Выставляется приоритет прерываний

       NOP

       NOP

       NOP

;Передача 2 байта данных

   MOV A,R6

   MOV C,P

   MOV TB8,C

   MOV SBUF,A

   MOV IE,#10010000b

       NOP

       NOP

       NOP

;Передача 3 байта данных

  MOV A,R5

   MOV C,P

   MOV TB8,C

   MOV SBUF,A

   MOV IE,#10010000b

       NOP

       NOP

       NOP

;Передача 4 байта данных

   MOV A,R4

   MOV C,P

   MOV TB8,C

   MOV SBUF,A

MOV IE,#10010000b

       NOP

       NOP

       NOP

;Передача 5 байта данных

   MOV A,R3

   MOV C,P

   MOV TB8,C

   MOV SBUF,A

   MOV IE,#10010000b

       END

                                                                                                                                                                                                                                                                                           
8.СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Каталог по интегральным микросхемам фирмы ANALOG DEVICES за 1996 год.


[1] В качестве источника опорного напряжения будет использоваться внутреннее опорное напряжение интегральной микросхемы AD7890. Вклад погрешности вносимой источником опорного напряжения учитываться не будет.

 


Дата добавления: 2019-07-15; просмотров: 138; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!