cek:
;to check first condition of encoder before
;it has been turning
clr a
mov a,p2
anl a,#00110000b
mov R4,a
kanan2:
lcall delay10
clr a
mov a,p2
anl a,#00110000b
cjne R4,#00110000b,satu
cjne a,#00110000b,cek03
mov r4,a
ljmp kanan2
cek03:
cjne a,#00100000b,cek02
ljmp emaka
cek02:
cjne a,#00010000b,sdtjx
ljmp emuka
satu:
cjne R4,#00100000b,dua
cjne a,#00100000b,cek13
mov r4,a
ljmp kanan2
cek13:
cjne a,#00000000b,cek12
ljmp emaka
cek12:
cjne a,#00110000b,sdtjx
ljmp emuka
dua:
cjne R4,#00000000b,tiga
cjne a,#00000000b,cek23
mov r4,a
ljmp kanan2
cek23:
cjne a,#00010000b,cek22
ljmp emaka
cek22:
cjne a,#00100000b,sdtjx
ljmp emuka
tiga:
cjne R4,#00010000b,kanan2
cjne a,#00010000b,cek33
mov r4,a
ljmp kanan2
cek33:
cjne a,#00110000b,cek32
ljmp emaka
cek32:
cjne a,#00000000b,sdtjx
ljmp emuka
sdtjx:
ljmp kanan2
emaka:
mov R4,a
clr a
inc data5
mov p1,data5
clr a
inc data1
mov p3,data1
mov a,data4
cjne a,#1,trus
dec 40h
mov a,40h
cjne a,#0,sdtjx
mov data4,#0
mov 40h,#41
ljmp kanan2
trus:
clr a
mov a,data5
cjne a,#108,sdtjx
mov data5,#0
;mov p1,data5
ljmp kanan2
cekj:
mov a,data1
cjne a,#0ffH,sdtjx
inc data3
mov data1,#0
mov a,data3
cjne a,#4,sdtjx
mov data4,#1
mov data3,#0
ljmp kanan2
emuka:
mov R4,a
dec data1
mov p3,data1
mov p3,#11110000b
inc data2
mov a,data2
cjne a,#54,sdtjx
mov data2,#0
ljmp kanan2