mov r0,#40h
mov dptr,#array
mov r2,#05h
up:
clr a
movc a,@a+dptr
mov@r0,a
inc r0
inc dptr
djnz r2,up
org 200h
array: db"123",0
end
//
org 0000h
mov r0,#40h
mov dptr,#80h
mov r2,#05h
up:
mov a,@r0
movx @dptr,a
inc r0
inc dptr
djnz r2,up
end
//
org 0000h
mov r0,#40h
mov r1,#80h
mov r2,#05h
up:
mov a,@r0
mov @r1,a
inc r0
inc r1
djnz r2,up
end
org 0000h
mov r0,#0fh
mov a,#00h
up:inc a
mov p0,a
acall delay
djnz r0,up
delay:
mov r1,#0ffh
here1:mov r2,#0ffh
here:djnz r2,here
djnz r1,here1
ret
end
//led blink
ORG 000H
MOV P1, A
MOV R1, #0FH
BLINK:
CPL A
MOV P1, A
ACALL DELAY
DJNZ R1, BLINK
DELAY:
MOV R2, #250
AGAIN:
MOV R3, #250
AGAIN1:
MOV R4,#05
AGAIN2: DJNZ R4, AGAIN2
DJNZ R3,AGAIN1
DJNZ R2, AGAIN
RET
END
//up counter
ORG 000H
MOV R0, #0H
MOV A, R0
MOV P1, A
MOV R1, #00H
COUNTER:
INC R0
MOV A, R0
MOV P1, A
ACALL DELAY
CJNE R1, #0FH, COUNTER
DELAY:
MOV R2, #250
AGAIN:
MOV R3, #250
AGAIN1:
MOV R4,#05
AGAIN2: DJNZ R4, AGAIN2
DJNZ R3,AGAIN1
DJNZ R2, AGAIN
RET
END
//down counter
ORG 000H
MOV R0, #0H
MOV A, R0
MOV P1, A
MOV R1, #0FH
COUNTER:
INC R0
MOV A, R0
MOV P1, A
ACALL DELAY
DJNZ R1, COUNTER
DELAY:
MOV R2, #250
AGAIN:
MOV R3, #250
AGAIN1:
MOV R4, #05
AGAIN2: DJNZ R4, AGAIN2
DJNZ R3,AGAIN1
DJNZ R2, AGAIN
RET
END
//DAC INTERFACING
CIRCUIT DIAGRAM
CODE
//squarewave
org 0000h
up:mov a,#0ffh
mov p0,a
call delay
mov a,#00h
mov p0,a
call delay
sjmp up
delay:
mov r0,#250
here1:mov r1,#250
here:djnz r1,here
djnz r0,here1
ret
end
//triangular wave
org 0000h
up2:mov a,#00h
up:inc a
mov p0,a
cjne a,#0ffh,up
mov a,#0ffh
up1:dec a
mov p0,a
cjne a,#00h,up1
sjmp up2
delay:
mov r0,#250
here1:mov r1,#250
here:djnz r1,here
djnz r0,here1
ret
end
//positve ramp
org 0000h
up1:mov a,#00h
up:inc a
mov p0,a
cjne a,#0ffh,up
sjmp up1
delay:
mov r0,#250
here1:mov r1,#250
here:djnz r1,here
djnz r0,here1
ret
end
//negative ramp
org 0000h
up1:mov a,#00h
up:dec a
mov p0,a
cjne a,#00h,up
sjmp up1
delay:
mov r0,#250
here1:mov r1,#250
here:djnz r1,here
djnz r0,here1
ret
end
//LCD INTERFACING
CIRCUIT DIAGRAM
CODE
ORG0000H
MOV A,#38H
ACALL COMMAND
ACALL DEALY
MOV A,#0EH
ACALL COMMAND
ACALL DEALY
MOV A,#011H
ACALL COMMAND
ACALL DEALY
MOV A,#06H
ACALL COMMAND
ACALL DEALY
MOV A,#80H
ACALL COMMAND
ACALL DEALY
MOV A,'S'
ACALL DISPLAY
ACALL DELAY
MOV A,#'I'
ACALL DISPLAY
ACALL DELAY
MOV A,#'N'
ACALL DISPLAY
ACALL DELAY
MOV A,#'G'
ACALL DISPLAY
ACALL DELAY
MOV A,#'H'
ACALL DISPLAY
ACALL DELAY
HERE: SJMP HERE
COMMAND: MOV P1,A
CLR P3.5
CLR P3.4
SETB P3.3
CLR P3.3
ACALL DELAY
RET
DISPLAY: MOV P1,A
SETB P3.5;RS
CLR P3.4;RW
SETB P3.3;EN
CLR P3.3
ACALL DELAY
RET
DELAY: CLR P3.3
CLR P3.5
SETB P3.4
MOV P1,#0FFH
SETB P3.3
MOV A,P1
JB ACC.7,DELAY
CLR P3.3
CLR P3.4
RET
END
// HALF CLOCKWISE
ORG 0000H
MOV A,#00H
MOV P0,A
UP:MOV A,#09H
MOV P0,A
ACALL DALAY
MOV A,#0AH
MOV P0,A
ACALL DALAY
MOV A,#06H
MOV P0,A
ACALL DALAY
MOV A,#05H
MOV P0,A
ACALL DALAY
SJMP UP
DELAY:MOV R1,#0FFH
HERE1:MOV R2,#0FFH
HERE:DJNZ R2,HERE
DJNZ R1,HERE
RET
END
//ANTI CLOCLWISE
ORG 0000H
MOV A,#00H
MOV P0,A
UP:MOV A,#05H
MOV P0,A
ACALL DALAY
MOV A,#06H
MOV P0,A
ACALL DALAY
MOV A,#0AH
MOV P0,A
ACALL DALAY
MOV A,#09H
MOV P0,A
ACALL DALAY
SJMP UP
DELAY:MOV R1,#0FFH
HERE1:MOV R2,#0FFH
HERE:DJNZ R2,HERE
DJNZ R1,HERE
RET
END
//FULL STEP CLOCCKWISE
ORG 0000H
MOV A,#00H
MOV P0,A
UP:MOV A,#09H
MOV P0,A
ACALL DALAY
MOV A,#0CH
MOV P0,A
ACALL DALAY
MOV A,#05H
MOV P0,A
ACALL DALAY
MOV A,#04H
MOV P0,A
ACALL DALAY
MOV A,#06H
MOV P0,A
ACALL DALAY
MOV A,#02H
MOV P0,A
ACALL DALAY
MOV A,#03H
MOV P0,A
ACALL DALAY
MOV A,#01H
MOV P0,A
ACALL DALAY
SJMP UP
DELAY:MOV R1,#0FFH
HERE1:MOV R2,#0FFH
HERE:DJNZ R2,HERE
DJNZ R1,HERE
RET
END
//FULL STEP ANTI CLOCKWISE
ORG 0000H
MOV A,#00H
MOV P0,A
UP:MOV A,#01H
MOV P0,A
ACALL DALAY
MOV A,#03H
MOV P0,A
ACALL DALAY
MOV A,#02H
MOV P0,A
ACALL DALAY
MOV A,#06H
MOV P0,A
ACALL DALAY
MOV A,#04H
MOV P0,A
ACALL DALAY
MOV A,#05H
MOV P0,A
ACALL DALAY
MOV A,#0CH
MOV P0,A
ACALL DALAY
MOV A,#09H
MOV P0,A
ACALL DALAY
SJMP UP
DELAY:MOV R1,#0FFH
HERE1:MOV R2,#0FFH
HERE:DJNZ R2,HERE
DJNZ R1,HERE
RET
END
//TIMER PROGRAMING
org 0000h
mov a,#00h
mov p1,a
mov tmod,#0000001b
mov TL0,#00h
mov TH0,#0dch
mov IE,#82h
setb TR0
up:sjmp up
org 000b
cpl p1.2
mov TL0,#00h
mov TH0,#0dch
reti








1 Comments
good
ReplyDelete