Hola sigo estudiando pal examen del micro 8x81 y en los temporizadores me sale la ins
JNB TF0, $
Por lo que veo es q se este ejecunatdo esa ins hasta q el Bit TF0 este a 0 lo que me extrana pues es una temporizacion y el TF0 marcaria el desborde del TL0 y se pondria a 1, os pongo un ejemplo tengo que temporizar 40 us:
Temp40: TMOD, #01H
MOV TH0, #>65496 ; PARTE ALTA DE 65536 - LOS 40 us
MOV TLO, #<65496
SETB TR0 ; INICIA LA CUENTA
JNB TF0, $
CLR TR0 ; PARARIA LA CUENTA
CLR TF0
RET
Bueno pos lo entiendo todo menos esa ins
despues de esto tengo que hacer una secuencia teniendo en cuenta el tiempo q dura cada ins, es decir para temporizar 40us:
Temp40: TMOD, #01H ; 2us
MOV TH0, #>65509 ; 2us PARTE ALTA DE 65536 - LOS 40 us +13 q tardarian las ins
MOV TLO, #<65509 ; 2us
SETB TR0 ; 1 us INICIA LA CUENTA
JNB TF0, $ ; 2us
CLR TR0 ; 1us PARARIA LA CUENTA
CLR TF0 ; 1us
RET ; 2us
Bueno pos eso por q esa ins tarda 2us si se ejecutaria unas 13 veces una por cada ciclo maquina, ¿como se sabe el tiempo q tarda en ejecutarse una ins?
Todo esto con un cristal de 12 Mhz lo que me da un ciclo makina de 1us