Misura della corrente di spunto del motore c.c. con scheda 8051

;++++++++++++++++++++Analisi corrente di spunto motore cc+++++++++++++++++++
org 8200h
DATA_OUT = INT1
IO_CLOCK = T0
CS = T1
ADCValue = 30h
Buffer = 9000h
Soglia = 10
;Inizializzazione porta P1
Init:
setb CS ;CS:inattivo (uscita)
clr IO_CLOCK ;IO_CLOCK=0 (uscita)
setb DATA_OUT ;DATA_OUT=1 (ingresso)
mov p1,#0ffh ;
call ReadADC
main:
call ReadADC
clr c
subb a,#Soglia
jc main
Acquisiz:
mov 3,#250
mov dptr,#Buffer
LoopAcq call ReadADC
movx @dptr,a
call Ritardo
inc dptr
djnz 3,LoopAcq
Riproduz:
mov 3,#250
mov dptr,#Buffer
LoopRipr movx a,@dptr
mov p1,a
inc dptr
djnz 3,LoopRipr
jmp Riproduz
Ritardo mov 2,#50
djnz 2,$
ret
ReadADC:
clr CS
mov r0,#8
LReadADC:
mov c,DATA_OUT
rlc a
setb IO_CLOCK
clr IO_CLOCK
djnz r0,LReadADC
setb CS
mov ADCValue,a
ret
end