» »


>


2005


181651. :

: , , ( ), ' (). . , - , . . , , .

' . , , .


>

>

1.

2.-

3.-

4. Assembler

5. ProView 32


, .

(, , , ) , ..

> () , : , ' , ' , ' .

. INTEL8051, 181651, . ProView Franklin Software Inc., .


' : , , . , : / ( : , , 1); 2 ( , ) , 2 1.

, , , , , 3 ( 0.2 , , ), . , , 1 .

5 . , . ³ 1 Valet, (>Valet , , , , , , , ). , ' (, ), 5 1 , (), .

, , - , , , , . 4 4 , , , 2 2 .

2 3 , .

, .


1. RC- 12(ZQ). 1 (+>5).

' (>0 2), .

>/ , 2, , 0 (>0.0 0.1):

1

>P0.0 >P0.1
0 0 2
0 1 1
1 0 > 2
1 1 > 1

: 0 0.0 , 0.0=1 ( ). 1, 0.0=1, 0.0=0. 2 0.1. 1 2 0.0 0.1.

' 0 (>0.00.6). .

2 (>2.22.6). .1. .

 

.1. ϳ


>- 䳿 , . , -. 0 2, R0R4 , R5R7 , , . FLAGS ' . ', , : (, ), 2 ., SIGNAL** ( = ) ( = ).


181651. , - . assembler ProView Franklin Software Inc.


>

1.. .. 1. -. : ϳ /.. , .., .. .; ϳ . . .. .: , 1986. 495 .

2. Intel 8051: 1 > / .. :, 1999. 32 .

3. Intel 8051: 2 / .., .. :, 1999. 32 .

4. Intel 8051 : 3 / .., ... :, 1999. 26 .

5. Intel 8051 ' : 4 /. .. : -, 2001. 24 .


1.


. Assembler

>BEGIN:JMP >START ; START

USING 0 ; 0

>ORG30H ; ;30H

>SEG_FLAGSEGMENTDATABITADDRESSABLE ; ; ' ;

>SEG_PROGSEGMENTCODE ; ;

>OVER_KSETR5 ;

>OVER_DSETR6 ;

>OVER_BSETR7 ;R5,R6,R7

>RSEGSEG_FLAG ;

>FLAGS:DS 1 ; (>FLAGS)

>FDOORBITFLAGS.0 ; (>(1) /(0))

>FBOXBITFLAGS.1 ; --------------------

>FKAPOTBITFLAGS.2 ; ----------------------------------

>FMODE2BITFLAGS.3 ; 2 (>(1)/(0))

>FALARMBITFLAGS.4 ; (>(1)/(0))

>RSEGSEG_PROG ;

>START: ;

MOVFLAGS,#00H ;

MOVP0,#00H ;

MOVP2,#0FFH ;

MOVR0,#00H ;

MOVR1,#00H ;

MOVR2,#00H ;

MOVR3,#00H ;

MOVR4,#00H ;

MOVOVER_B,#00H ;

MOVOVER_K,#00H ;

MOVOVER_D,#00H ;

CLR A ;

>WAIT:JBP2.0,>WAIT ;

JNBP2.4,>SIGNAL3 ; SIGNAL3,

JNBP2.5,>SIGNAL3 ; ,

JNBP2.6,>SIGNAL3 ;

JMP >BLOCKING ; /

>SIGNAL3:MOVR0,#3 ;

>LOOP3:CALL >SIGNAL1 ;

CALL >DELAY ;

DJNZR0,>LOOP3 ;

JMP >BEGIN ;

>SIGNAL5:MOVR0,#5 ;

>LOOP5: CALL >SIGNAL1 ; '

CALL >DELAY ;

DJNZR0,>LOOP5 ;

JMP >GAUGE_L ; GAUGE_L

>BLOCKING: >SETBP0.0 ;

SETBP0.1 ;

SETBP0.2 ;

>CALL >SIGNAL11 ; - Ͳ!

>GAUGE_L:JNBP2.2,>SIGNAL5 ; 5 , ;

>GAUGE_S:JNBP2.3,>LABELB ; LABELB, ;

>IGN_BOX:JBFBOX,>IGN_KAPOT ; IGN_KAPOT, ;

>BOX: JBP2.5,>IGN_>KAPOT ; IGN_KAPOT, ;

INCOVER_B; , +1 ; ;

JMP >LABELB; LABELB, ;

>IGN_>KAPOT:JBFKAPOT,>IGN_>DOOR ; 8 ; ,

>KAPOT:JBP2.4,>IGN_>DOOR ; (),

INCOVER_K; !

JMP >LABELB;

>IGN_DOOR:JBFDOOR,>CHECK_ALARM ;

>DOOR: JBP2.6,>CHECK_ALARM ;

INCOVER_D;

JMP >LABELB;

>CHECK_>ALARM:JBFALARM,>CHECK_>MODE2 ; , , ; CHECK_MODE2

>LIGHT_>DIOD: MOVR4,#5 ;

>D_CYCLE:CALL >DELAY;

DJNZR4,>D_CYCLE ;

CPLP0.5 ;

>CHECK_MODE2:JNBP2.1,>LABELA ; ' 2, ; LABELA

CLRFMODE2 ; 2

MOVOVER_B,#00H ;

MOVOVER_K,#00H ;

MOVOVER_D,#00H ;

SETBP0.2; ; 2

JNBP2.0,>GAUGE_L ; , ;

>JNBFALARM,>EXIT ; , ; EXIT

CALL >SIGNAL44 ; , 4 ;

>ANTIBLOKING:CLRP0.0 ;

CLRP0.1 ;

CLRP0.2 ;

JMP >BEGIN ;

>LABELA:JBFMODE2,>IGN_KAPOT ; 2 , ; IGN_KAPOT, , :

SETBFMODE2 ; . 2

CALL >SIGNAL22 ; 2 ; 2

CALL >DELAY;

CALL >SIGNAL11 ;

CLRP0.2 ;

JMP >IGN_>KAPOT ;

 

>LABELB:SETBP0.3 ;

MOVR0,#3 ;

>LOOP1:MOVR4,#100 ; $60

>LOOP0:JBP2.0,>STOP_PULT ;

>JBP0.6,>STOP_VALET ; Valet`

>CALL >DELAY ; 0.2

>CPLP0.4 ;

>DJNZR4,>LOOP0 ; 렠

>DJNZR0,>LOOP1 ;

>JMP >SHUTDOWN ; 2

>STOP_PULT: CLRP2.0 ;

>STOP_VALET:CLRP0.6 ; Valet`

>SHUTDOWN:CLRP0.3 ;

CLRP0.4 ;

CJNEOVER_B,#5,>SET_FKAPOT ;

SETBFBOX ;

>SET_FKAPOT:CJNEOVER_K,#5,>SET_FDOOR ;

>SETBFKAPOT ; 5

>SET_FDOOR:CJNEOVER_D,#5,>SET_FALARM ;

SETBFDOOR ;

>SET_FALARM:SETBFALARM ; ' !!!

>SETBP0.5 ;

>JNBP2.1,>TO_>IGN_>KAPOT ; 2 TO_IGN_KAPOT

>JMP >GAUGE_S ; GAUGE_S

>TO_IGN_KAPOT: JMP >IGN_KAPOT ; IGN_KAPOT

>SIGNAL11: >SETBP0.3 ;.

SETBP0.4 ;.

CALL >DELAY; 0.2

CLRP0.3 ; .

CLRP0.4 ; .

RET ;

 

>SIGNAL22: >CALL >SIGNAL11 ; 1

CALL >DELAY ; 0.2

CALL >SIGNAL11 ; 1

RET ;

>SIGNAL44:CALL >SIGNAL22 ; 2

CALL >DELAY ; 0.2

CALL >SIGNAL22 ; 2

RET ;

>EXIT: CALL >SIGNAL22 ; 2

JMP >BEGIN ;

>SIGNAL1:SETBP0.3 ;.

CALL >DELAY ; 0.2

CLRP0.3 ; .

RET ;

>DELAY: MOVR3,#2 ; 0.2

>CYCLE2:MOVR2,#200 ;

>CYCLE0:MOVR1,#248 ;

>CYCLE1:DJNZR1,>CYCLE1 ;

NOP ;

DJNZR2,>CYCLE0 ;

DJNZR3,>CYCLE2 ;

RET ;

END ;


:

    1. -
    2. ³
    3. ,
    4. '
    5. , '
    6. ̳
    7. ,
    8. ,
    9. ,
    10. Գ
    11. Գ
    12. Գ
    13. Գ
    14. ճ
    15. -
    16. ,