Смекни!
smekni.com

Контроллеры (стр. 12 из 12)

ORL P0,#0C0H ; 2 mkc 40

;-------------------------------------------------------------------- 40

;-------------------------------------------------------------------- 0

POP 3 ; 2 mkc

POP 2 ; 2 mkc

POP 1 ; 2 mkc

POP 0 ; 2 mkc

POP 0E0H ; 2 mkc

POP 0D0H ; 2 mkc

RET ; 2 mkc

;-------------------------------------------------------------------- 14

;***************************************************************************

_Vivod207:

PUSH 0D0H ; 2 mkc

PUSH 0E0H ; 2 mkc

PUSH 0 ; 2 mkc

PUSH 1 ; 2 mkc

PUSH 2 ; 2 mkc

PUSH 3 ; 2 mkc

CLR PSW.3 ; 1 mkc

CLR PSW.4 ; 1 mkc

ORL P0,#0C0H ; 2 mkc

;-----------------------------------------------------------------------

MOV R3,#4 ; 1 mkс Количество пеpесылаемых байт #4

MOV R0,#Sl207 ; 1 mkс 18

;-----------------------------------------------------------------------

Bait207:

MOV A,@R0 ; 1 mkc

MOV R2,#7 ; 1 mkс

Bit207:

RRC A ; 1 mkс

ORL P0,#0ffh ; 2 mkc //0

;-----------------------------------------------------------------------

MOV Bit6V,C ; 2 mkc

MOV Bit7V,C ; 2 mkс

CPL Bit7V ; 1 mkс

MOV R1,#15 ; 1 mkс

Pauza207_0: DJNZ R1,Pauza207_0 ; 2*15=30 mkc 36

NOP ; 1 mkc

NOP ; 1 mkc

MOV P0,BaitV ; 2 mkс 40 63

MOV R1,#18 ; 1 mkс 00

Pauza207_1: DJNZ R1,Pauza207_1 ; 2*17=34 mkc

DJNZ R2,Bit207 ; 2 mkс 37

RRC A ; 1 mkс

ORL P0,#0ffh ; 2 mkc 40

;------------------------------------------------------------------------

MOV Bit6V,C ; 2 mkс 00

MOV Bit7V,C ; 2 mkс

CPL Bit7V ; 1 mkс

MOV R1,#16 ; 1 mkс 6

Pauza207_2: DJNZ R1,Pauza207_2 ; 2*16=32 mkc 38

MOV P0,BaitV ; 2 mkс 40

MOV R1,#15 ; 1 mkс 00

Pauza207_3: DJNZ R1,Pauza207_3 ; 2*15=30 mkc 31

;---------------------------------------------------------------------

INC R0 ; 2 mkc 33

DJNZ R3,Bait207 ; 2 mkс 35

NOP

NOP

NOP

ORL P0,#0C0H ; 2 mkc 40

;-------------------------------------------------------------------------

POP 3 ; 2 mkc

POP 2 ; 2 mkc

POP 1 ; 2 mkc

POP 0 ; 2 mkc

POP 0E0H ; 2 mkc

POP 0D0H ; 2 mkc

RET ; 2 mkc

;***************************************************************************

_Vivod271:

PUSH 0D0H ; 2 mkc

PUSH 0E0H ; 2 mkc

PUSH 0 ; 2 mkc

PUSH 1 ; 2 mkc

PUSH 2 ; 2 mkc

PUSH 3 ; 2 mkc

CLR PSW.3 ; 1 mkc

CLR PSW.4 ; 1 mkc

ORL P0,#0C0H ; 2 mkc

MOV R3,#4 ; 1 mkс Количество пеpесылаемых байт #4

MOV R0,#Sl271 ; 1 mkс 18

;-----------------------------------------------------------------------

Bait271:

MOV A,@R0 ; 1 mkc

MOV R2,#7 ; 1 mkс

Bit271:

RRC A ; 1 mkс

ORL P0,#0ffh ; 2 mkc //0

;-----------------------------------------------------------------------

MOV Bit6V,C ; 2 mkc

MOV Bit7V,C ; 2 mkс

CPL Bit7V ; 1 mkс

MOV R1,#15 ; 1 mkс

Pauza271_0: DJNZ R1,Pauza271_0 ; 2*15=30 mkc 36

NOP ; 1 mkc

NOP ; 1 mkc

MOV P0,BaitV ; 2 mkс 40 63

MOV R1,#18 ; 1 mkс 00

Pauza271_1: DJNZ R1,Pauza271_1 ; 2*17=34 mkc

DJNZ R2,Bit271 ; 2 mkс 37

RRC A ; 1 mkс

ORL P0,#0ffh ; 2 mkc 40

;------------------------------------------------------------------------

MOV Bit6V,C ; 2 mkс 00

MOV Bit7V,C ; 2 mkс

CPL Bit7V ; 1 mkс

MOV R1,#16 ; 1 mkс 6

Pauza271_2: DJNZ R1,Pauza271_2 ; 2*16=32 mkc 38

MOV P0,BaitV ; 2 mkс 40

MOV R1,#15 ; 1 mkс 00

Pauza271_3: DJNZ R1,Pauza271_3 ; 2*15=30 mkc 31

;---------------------------------------------------------------------

INC R0 ; 2 mkc 33

DJNZ R3,Bait271 ; 2 mkс 35

NOP

NOP

NOP

ORL P0,#0C0H ; 2 mkc 40

;-------------------------------------------------------------------------

POP 3 ; 2 mkc

POP 2 ; 2 mkc

POP 1 ; 2 mkc

POP 0 ; 2 mkc

POP 0E0H ; 2 mkc

POP 0D0H ; 2 mkc

RET ; 2 mkc

;***************************************************************************

END

Приложени 3. Программа вывода приборной скорости на ЦАП.

defseg c_text,class=code

seg c_text

CapSlowo0 equ 28h;

CapSlowo1 equ 29h;

global _VivodCapSl

_VivodCapSl:

push 0e0h

push 1

push 2

push 3

clr tcon.4

mov a,CapSlowo0

mov p0,a

mov a,CapSlowo1

mov p2,a

setb p0.3

nop

nop

nop

nop

nop

clr p0.3

setb tcon.4

pop 3

pop 2

pop 1

pop 0e0h

ret

End

Приложение 4. Программа считывания приборной скорости с маски.

defseg c_text,class=code

seg c_text

;адреса битов на Vmd

bitvmd0 equ 28h

bitvmd1 equ 29h

bitvmd2 equ 2ah

bitvmd3 equ 2bh

bitvmd4 equ 2ch

bitvmd5 equ 2dh

bitvmd6 equ 2eh

bitvmd7 equ 2fh

bitvmd8 equ 20h

bitvmd9 equ 21h

global _vvodvmd

_vvodvmd:

push 0e0h

push 1

push 2

push 3

clr tcon.4

orl p0,#1 ;запрещение работы D1

anl p0,#1 ;запрещение работы D1

orl p1,#14h ;запрещение D2 и разрешение D4

anl p1,#14h ;запрещение D2 и разрешение D4

;считываем для Vmd

call Read_P_1_5

mov bitvmd0,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd1,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd2,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd3,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd4,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd5,c

orl p1,#11h ;запрет d2 и разрешение d4

anl p1,#11h ;запрет d2 и разрешение d4

anl p0,#0 ;запрет d5

call Read_P_1_5

mov bitvmd6,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd7,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd8,c

inc p1

inc p1

call Read_P_1_5

mov bitvmd9,c

setb tcon.4

pop 3

pop 2

pop 1

pop 0e0h

ret

Read_P_1_5:

setb p1.5

mov r3,#30 ;250

Pause_P_1_5:

nop

nop

djnz r3,Pause_P_1_5

mov c,p1.5

ret

end

Приложение 5. Программа считывания максимальной допустимой скорости с маски.

defseg c_text,class=code

seg c_text

;адреса битов на Vpr

bitvpr0 equ 08h

bitvpr1 equ 09h

bitvpr2 equ 0ah

bitvpr3 equ 0bh

bitvpr4 equ 0ch

bitvpr5 equ 0dh

bitvpr6 equ 0eh

bitvpr7 equ 0fh

bitvpr8 equ 00h

bitvpr9 equ 01h

global _vvodvpr

_vvodvpr:

push 0e0h

push 1

push 2

push 3

clr tcon.4

orl p0,#1 ;запрещение работы D1

anl p0,#1 ;запрещение работы D1

orl p1,#1 ;запрещение D4 и разрешение D2

anl p1,#1 ;запрещение D4 и разрешение D2

;считываем для Vpr

call Read_P_1_5

mov bitvpr0,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr1,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr2,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr3,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr4,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr5,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr6,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr7,c

orl p1,#10h ;запрещение D2 и разрешение D4

anl p1,#10h ;запрещение D2 и разрешение D4

call Read_P_1_5

mov bitvpr8,c

inc p1

inc p1

call Read_P_1_5

mov bitvpr9,c

setb tcon.4

pop 3

pop 2

pop 1

pop 0e0h

ret

Read_P_1_5:

setb p1.5

mov r3,#30 ;250

Pause_P_1_5:

nop

nop

djnz r3,Pause_P_1_5

mov c,p1.5

ret

end