micro
micro
ORG 000H
SJMP 0030H
ORG 0030H
GO:
MOV P1, #00H
ACALL DELAY
MOV P1, #0FFH
ACALL DELAY
AJMP GO
DELAY:
MOV R1,#0F0H
MOV R2,#0F0H
MOV R3,#10H
D1:
DJNZ R1,D1
MOV R1,#0A0H
DJNZ R2,D1
MOV R2,#0A0H
DJNZ R3,D1
RET
END
2) MEMORY TRANSFER
ORG 000H
MOV R0,#30H
MOV R1,#50H
MOV R3,#05H
BACK: MOV A,@R0
MOV @R1,A
INC R0
INC R1
DJNZ R3,BACK
END
3) LCD INTERFACING
ORG 0000H
MOV A, #38H
ACALL com
MOV A, #0EH
ACALL com
MOV A, #80H
ACALL com
MOV A, #01H
ACALL com
MOV DPTR,#STR
REV : MOV A,#00H
MOVC A,@A+DPTR
JZ FINISH
ACALL L_D
INC DPTR
SJMP REV
FINISH: SJMP FINISH
L_D:ACALL DEL_ROUTINE
MOV P1, A
SETB P2.1
SETB P2.2
CLR P2.2
RET
MOV DPTR,#look_up_table
MOV A,#0FFh
MOV P1,#00000000B
reverse:MOV P3,#0FFh
CLR P3.0
JB P3.4,next_find_1
MOV A,#0D
ACALL disp_000
next_find_1:JB P3.5,next_find_2
MOV A,#1D
ACALL disp_000
next_find_2:JB P3.6,next_find_3
MOV A,#2D
ACALL disp_000
next_find_3:JB P3.7,next_find_4
MOV A,#3D
ACALL disp_000
next_find_4:SETB P3.0
CLR P3.1
JB P3.4,next_find_5
MOV A,#4D
ACALL disp_000
next_find_5:JB P3.5,next_find_6
MOV A,#5D
ACALL disp_000
next_find_6:JB P3.6,next_find_7
MOV A,#6D
ACALL disp_000
next_find_7:JB P3.7,next_find_8
MOV A,#7D
ACALL disp_000
next_find_8:SETB P3.1
CLR P3.2
JB P3.4,NEXT9
MOV A,#8D
ACALL disp_000
NEXT9:JB P3.5,next_find_10
MOV A,#9D
ACALL disp_000
next_find_10:JB P3.6,next_find_11
MOV A,#10D
ACALL disp_000
next_find_11:JB P3.7,next_find_12
MOV A,#11D
ACALL disp_000
next_find_12:SETB P3.2
CLR P3.3
JB P3.4,next_find_13
MOV A,#12D
ACALL disp_000
next_find_13:JB P3.5,next_find_14
MOV A,#13D
ACALL disp_000
next_find_14:JB P3.6,next_find_15
MOV A,#14D
ACALL disp_000
next_find_15:JB P3.7,reverse
MOV A,#15D
ACALL disp_000
LJMP reverse
disp_000:MOVC A,@A+DPTR
MOV P1,A
RET
look_up_table:
DB 11100000B
DB 11111110B
DB 11110110B
DB 10011100B
DB 01100110B
DB 10110110B
DB 10111110B
DB 00111110B
DB 01100000B
DB 11011010B
DB 11110010B
DB 11101110B
DB 10011110B
DB 11111100B
DB 10001110B
DB 01111010B
END