, , , , , . .

 

 

!

 

:

:

 

 

 

?

StudentHelp, , MS Word. , , antiplagiat.ru, etxt.ru advego.ru. StudentHelp , Word .


:


:

: . : 20.05.2012. : 2011. : 31. antiplagiat.ru: < 30%

():



-






:


:

















2008 .




(+, -, *, /) 16- . . 51 .






1.

51, :

    (+, -, *, /)



2.

. :
    N1
    N2
, 젫 , :
    P1
    SBUF
P1, . , . SBUF. , , .


3.




4.

4.1 com





4.2 T2





5.

org 8000h
ljmp MAIN
org 8023h ;handler for COM-port **********
ljmp COM_PORT_HANDLER ;
org 8033h; P1.0
ljmp HNDL_P1
org 803Bh; P1.1
ljmp HNDL_P1
org 8043h; P1.2
ljmp HNDL_P1
org 804Bh; P1.3
ljmp HNDL_P1
MAIN:
clr TI
clr RI
TM2IR equ 0C8h;interrupt flag register
IEN1 equ 0E8h;T2 interrupt enable register;
TM2CON equ 0EAh;T2 config register;
IP1 equ 0F8h ;interrupt priority
CTCON equ 0EBh; capture control
mov IEN1, #0Fh
mov CTCON, #10101010b ;falling 0-3 bits in P1 if interupt occured
;mov TM2IR, #00Fh;enable T2 capture register (for P1)
mov TM2CON, #00000011b; Timer T2 mode select ;;;;;?
mov IP1, #00h
mov P1, #0Fh
mov 08H, #00H
setb IE.7;enable interrupt; checking
setb IE.4;enable interrupt from COM - port
LOOP:
nop
jmp LOOP
ret
SLEEP:
mov R2, #100d
FOR1:
mov R1, #255d
FOR2:
djnz R1, FOR2
djnz R2, FOR1
ret
WAIT_TI:
WAITTI:
jnb TI, WAITTI
ret
VIVOD_FIRST_NUM:
mov R7, A
anl A, #11110000b
cjne A, #00000000b, VFN
jmp END_VFN
VFN:
swap A
add A, #30h
mov SBUF, A
call WAIT_TI
call SLEEP
END_VFN:
mov A, R7
ret
VIVOD_SECOND_NUM:
mov R7, A
anl A, #00001111b
add A, #30h
mov SBUF, A
call WAIT_TI
call SLEEP
mov A, R7
ret
VIVOD_FIRST_HEX:
mov R7, A
anl A, #11110000b
cjne A, #00000000b, VFH
jmp END_VFH
VFH:
swap A
add A, #37h
mov SBUF, A
call WAIT_TI
call SLEEP
END_VFH:
mov A, R7
ret
VIVOD_SECOND_HEX:
mov R7, A
anl A, #00001111b
add A, #37h
mov SBUF, A
call WAIT_TI
call SLEEP
mov A, R7
ret
end


6.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KEYBOARD-PC COMPLITE
COM_PORT_HANDLER: ; ****
jnb RI, OUT
GO:
jmp GO_
OUT:
jmp END_LST_KBD_PC
GO_:
mov A, SBUF
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ++++++++++++ ;;;;;;;;;;;;;;;;;;;
cjne A, #2bh, MINUS
mov SBUF, A
call WAIT_TI
call SLEEP
clr RI
mov SBUF, #'='
call WAIT_TI
call SLEEP
mov A, R3
clr C
addc A, R4
jnc NON_VIVOD_C
mov SBUF, #'1'
call WAIT_TI
call SLEEP
NON_VIVOD_C:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;PERVAYA_CIFRA
mov R0, A
anl A, #11110000b
swap A
subb A,#0ah
mov A, R0
jc VIVOD_CIFRA1
call VIVOD_FIRST_HEX
call WAIT_TI
call SLEEP
jmp VTORAYA_CIFRA
VIVOD_CIFRA1:
call VIVOD_FIRST_NUM
call WAIT_TI
call SLEEP
clr C
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;VTORAYA_CIFRA
VTORAYA_CIFRA:
mov R0, A
anl A, #00001111b
subb A,#0ah
mov A, R0
jc VIVOD_CIFRA2
call VIVOD_SECOND_HEX
call WAIT_TI
call SLEEP
jmp END_LST_KBD_PC
VIVOD_CIFRA2:
call VIVOD_SECOND_NUM
call WAIT_TI
call SLEEP
clr C
MINUS:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ------------- ;;;;;;;;;;;;;;;;;;;
cjne A, #2dh, UMNOJ
mov SBUF, A
call WAIT_TI
call SLEEP
clr RI
mov SBUF, #'='
call WAIT_TI
call SLEEP
mov A, R3
clr C
subb A, R4
jnc MINUS_NON_VIVOD_C
MINUS_NON_VIVOD_C:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;PERVAYA_CIFRA
mov R0, A
anl A, #11110000b
swap A
subb A,#0ah
mov A, R0
jc MINUS_VIVOD_CIFRA1
call VIVOD_FIRST_HEX
call WAIT_TI
call SLEEP
jmp MINUS_VTORAYA_CIFRA
MINUS_VIVOD_CIFRA1:
call VIVOD_FIRST_NUM
call WAIT_TI
call SLEEP
clr C
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;VTORAYA_CIFRA
MINUS_VTORAYA_CIFRA:
mov R0, A
anl A, #00001111b
subb A,#0ah
mov A, R0
jc MINUS_VIVOD_CIFRA2
call VIVOD_SECOND_HEX
call WAIT_TI
call SLEEP
jmp END_LST_KBD_PC
MINUS_VIVOD_CIFRA2:
call VIVOD_SECOND_NUM
call WAIT_TI
call SLEEP
clr C
UMNOJ:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ****************** ;;;;;;;;;;;;;;;;;;;
cjne A, #2ah, GO_DIV
jmp GO_UMNOJ
GO_DIV:
jmp DIVDIV
GO_UMNOJ:
mov SBUF, A
call WAIT_TI
call SLEEP
clr RI
mov SBUF, #'='
call WAIT_TI
call SLEEP
mov A, R3
mov B, R4
mul AB
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;BBBBBBBBBBBB
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;PERVAYA_CIFRA
mov R3, A
mov R4, B
mov A, B
mov R0, A
anl A, #11110000b
swap A
subb A,#0ah
mov A, R0
jc UMNOJ_VIVOD_CIFRA1_A
call VIVOD_FIRST_HEX
call WAIT_TI
call SLEEP
jmp UMNOJ_VTORAYA_CIFRA_A
UMNOJ_VIVOD_CIFRA1_A:
call VIVOD_FIRST_NUM
call WAIT_TI
call SLEEP
clr C
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;VTORAYA_CIFRA
UMNOJ_VTORAYA_CIFRA_A:
mov R0, A
anl A, #00001111b
subb A,#0ah
mov A, R0
jc UMNOJ_VIVOD_CIFRA2_A
call VIVOD_SECOND_HEX
call WAIT_TI
call SLEEP
jmp VIVOD_A
UMNOJ_VIVOD_CIFRA2_A:
call VIVOD_SECOND_NUM
call WAIT_TI
call SLEEP
VIVOD_A:
mov A, R3
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAAAAAAAAA
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;PERVAYA_CIFRA
mov R0, A
anl A, #11110000b
swap A
subb A,#0ah
mov A, R0
jc UMNOJ_VIVOD_CIFRA1
call VIVOD_FIRST_HEX
call WAIT_TI
call SLEEP
jmp UMNOJ_VTORAYA_CIFRA
UMNOJ_VIVOD_CIFRA1:
call VIVOD_FIRST_NUM
call WAIT_TI
call SLEEP
clr C
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;VTORAYA_CIFRA
UMNOJ_VTORAYA_CIFRA:
mov R0, A
anl A, #00001111b
subb A,#0ah
mov A, R0
jc UMNOJ_VIVOD_CIFRA2
call VIVOD_SECOND_HEX
call WAIT_TI
call SLEEP
jmp END_LST_KBD_PC
UMNOJ_VIVOD_CIFRA2:
call VIVOD_SECOND_NUM
call WAIT_TI
call SLEEP
DIVDIV:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; /////////////////////// ;;;;;;;;;;;;;;;;;;;
cjne A, #2fh, NULL
mov SBUF, A
call WAIT_TI
call SLEEP
clr RI
mov SBUF, #'='
call WAIT_TI
call SLEEP
mov A, R3
mov B, R4
div AB
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;PERVAYA_CIFRA
mov R0, A
anl A, #11110000b
swap A
subb A,#0ah
mov A, R0
jc DIV_VIVOD_CIFRA1
call VIVOD_FIRST_HEX
call WAIT_TI
call SLEEP
jmp DIV_VTORAYA_CIFRA
DIV_VIVOD_CIFRA1:
call VIVOD_FIRST_NUM
call WAIT_TI
call SLEEP
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;VTORAYA_CIFRA
DIV_VTORAYA_CIFRA:
mov R0, A
anl A, #00001111b
subb A,#0ah
mov A, R0
jc DIV_VIVOD_CIFRA2
call VIVOD_SECOND_HEX
call WAIT_TI
call SLEEP
jmp END_LST_KBD_PC
DIV_VIVOD_CIFRA2:
call VIVOD_SECOND_NUM
call WAIT_TI
call SLEEP
NULL:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Ѡ ;;;;;;;;;;;;;;;;;;;
cjne A, #39h, END_LST_KBD_PC
mov SBUF, #0dh
call WAIT_TI
call SLEEP
mov SBUF, #0dh
call WAIT_TI
call SLEEP
mov SBUF, #0ah
call WAIT_TI
call SLEEP
mov SBUF, #'>'
call WAIT_TI
call SLEEP
mov R3, #00000000b
mov R4, #00000000b
mov R5, #00000000b
clr TI
clr RI; ***
END_LST_KBD_PC:
reti ; ****


7.

;;;;;;;;;;;;;;;;IDENTIFYCATION SERIES KEYS;;;;;;;;;;;;;;;;;;;; LITTLE COMPLITE
HNDL_P1:
mov TM2IR, #00h
jnb P1.0, P1_0
jnb P1.1, P1_1
jb P1.2, ref1
ljmp P1_2
ref1:
jb P1.3, ref2
ljmp P1_3
ref2:
ljmp END_HNDL
P1_0:
mov P1, #11111110b
jnb P1.4, P1_0_4
jnb P1.5, P1_0_5
jnb P1.6, P1_0_6
jnb P1.7, P1_0_7
jmp END_HNDL
P1_0_4:
call key5
clr TI
jmp END_HNDL
P1_0_5:
call key2
clr TI
jmp END_HNDL
P1_0_6:
call keyF
clr TI
jmp END_HNDL
P1_0_7:
call key8
clr TI
jmp END_HNDL
P1_1:
mov P1, #11111101b
jnb P1.4, P1_1_4
jnb P1.5, P1_1_5
jnb P1.6, P1_1_6
jnb P1.7, P1_1_7
jmp END_HNDL
P1_1_4:
call key4
clr TI
jmp END_HNDL
P1_1_5:
call key1
clr TI
jmp END_HNDL
P1_1_6:
call key0
clr TI
jmp END_HNDL
P1_1_7:
call key7
clr TI
jmp END_HNDL
P1_2:
mov P1, #11111011b
jnb P1.4, P1_2_4
jnb P1.5, P1_2_5
jnb P1.6, P1_2_6
jnb P1.7, P1_2_7
jmp END_HNDL
P1_2_4:
call keyB
clr TI
jmp END_HNDL
P1_2_5:
call keyA
clr TI
jmp END_HNDL
P1_2_6:
call keyD
clr TI
jmp END_HNDL
P1_2_7:
call keyC
clr TI
jmp END_HNDL
P1_3:
mov P1, #11110111b
jnb P1.4, P1_3_4
jnb P1.5, P1_3_5
jnb P1.6, P1_3_6
jnb P1.7, P1_3_7
jmp END_HNDL
P1_3_4:
call key6
clr TI
jmp END_HNDL
P1_3_5:
call key3
clr TI
jmp END_HNDL
P1_3_6:
call keyE
clr TI
jmp END_HNDL
P1_3_7:
call key9
clr TI
jmp END_HNDL
END_HNDL:
mov P1, #0Fh
mov r7,#0fh
DEL_1:
mov r6, #0FFh
DEL_2:
nop
djnz r6, DEL_2
djnz r7, DEL_1
reti
key5:
cjne R5, #00000000b, NUM2_5
;;;;;;;;;;;;;;;;;;;;;VVOD PERVOGO CHISLA;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;vvod pervogo razryada chisla
cjne R3, #00000000b, ONFIRSTNUM5_1
mov A, #5h
swap A
mov R3,A
call VIVOD_FIRST_NUM
call WAIT_TI
call SLEEP
jmp END_KEY_5
;;;;;;;;;;;;;;;;;;;vvod vtorogo razryada chisla
ONFIRSTNUM5_1:
mov A, R3
add A, #5h
mov R3, A
mov R5, #00000001b
call VIVOD_SECOND_NUM
call WAIT_TI
call SLEEP
jmp END_KEY_5
;;;;;;;;;;;;;;;;;;;;;VVOD VTOROGO CHISLA;;;;;;;;;;;;;;;;;;;;;;
NUM2_5:
;;;;;;;;;;;;;;;;;;;;;vvod pervogo razryada chisla
cjne R4, #00000000b, ONFIRSTNUM5_2
mov A, #5h
swap A
mov R4,A
call VIVOD_FIRST_NUM
call WAIT_TI
call SLEEP
jmp END_KEY_5
;;;;;;;;;;;;;;;;;;;vvod vtorogo razryada chisla
ONFIRSTNUM5_2:
mov A, R4
add A, #5h
mov R4, A
mov R5, #00000001b
call VIVOD_SECOND_NUM
call WAIT_TI
call SLEEP
END_KEY_5:
ret
key2:
cjne R5, #00000000b, NUM2_2
;;;;;;;;;;;;;;;;;;;;;VVOD PERVOGO CHISLA;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;vvod pervogo razryada chisla
cjne R3, #00000000b, ONFIRSTNUM2_1
mov A, #2h
swap A
mov R3,A
call VIVOD_FIRST_NUM
call WAIT_TI
call SLEEP
jmp END_KEY_2
;;;;;;;;;;;;;;;;;;;vvod vtorogo razryada chisla
ONFIRSTNUM2_1:
mov A, R3
add A, #2h
mov R3, A
mov R5, #00000001b
call VIVOD_SECOND_NUM
call WAIT_TI
call SLEEP
jmp END_KEY_2
;;;;;;;;;;;;;;;;;;;;;VVOD VTOROGO CHISLA;;;;;;;;;;;;;;;;;;;;;;
NUM2_2:
;;;;;;;;;;;;;;;;;;;;;vvod pervogo razryada chisla
cjne R4, #00000000b, ONFIRSTNUM2_2
mov A, #2h
swap A
mov R4,A
call VIVOD_FIRST_NUM
call WAIT_TI
call SLEEP
jmp END_KEY_2
;;;;;;;;;;;;;;;;;;;vvod vtorogo razryada chisla
ONFIRSTNUM2_2:
mov A, R4
add A, #2h
mov R4, A
mov R5, #00000001b
call VIVOD_SECOND_NUM
call WAIT_TI
call SLEEP
END_KEY_2:
ret
keyF:
cjne R5, #00000000b, NUM2_F
;;;;;;;;;;;;;;;;;;;;;VVOD PERVOGO CHISLA;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;vvod pervogo razryada chisla
cjne R3, #00000000b, ONFIRSTNUMF_1
mov A, #0fh
swap A
mov R3,A
call VIVOD_FIRST_HEX
call WAIT_TI
call SLEEP
jmp END_KEY_F
;;;;;;;;;;;;;;;;;;;vvod vtorogo razryada chisla
..................



90% antiplagiat.ru, etxt.ru advego.ru




* . , .