You are on page 1of 6

org 0000h

mov p2,#00 mov p1,#00

; lcd data lines ; lcd command lines

mov a,#38h acall cmdwrt acall del mov a,#0eh acall cmdwrt acall del

; lcd initialise

mov a,#01 acall cmdwrt acall del mov a,#06 acall cmdwrt acall del mov a,#80h acall cmdwrt acall del

mov a,#'C' acall datawrt acall del mov a,#'O' acall datawrt acall del mov a,#'U' acall datawrt acall del mov a,#'N' acall datawrt acall del mov a,#'T' acall datawrt acall del

;DISPLAY message

'COUNT='

mov a,#'=' acall datawrt acall del

mov b,#00

; to store count

setb p3.5 mov th1,#00 mov tl1,#00 mov tmod,#0d0h setb tr1

; timer 1 as counter

back:

mov a,tl1 mov b,a

; read count

mov a,#8ah acall cmdwrt acall del

; value position on lcd for last digit

mov a,b mov b,#10

; get data ; digit separation

div ab xch a,b orl a,#30h ; last digit

acall datawrt acall del

mov a,#89h acall cmdwrt acall del

; middle digit

xch a,b mov b,#10 div ab xch a,b orl a,#30h

acall datawrt acall del

mov a,#88h

; first digit

acall cmdwrt acall del

xch a,b mov b,#10 div ab xch a,b orl a,#30h

acall datawrt acall del

sjmp back

; keep doing

cmdwrt: mov p2,a clr p1.0 clr p1.1 setb p1.2 acall del clr p1.2 ret

; lcd command routine

datawrt: mov p2,a setb p1.0 clr p1.1 setb p1.2 acall del clr p1.2 ret

; lcd data routine

del: mov r3,#50 here:mov r4,#255 djnz r4,$ djnz r3,here ret

; delay for lcd

end

You might also like