TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: alogic.on en 28 de Mayo de 2007, 07:58:03
-
hola a todos
tengo una duda sobre tmr1 y es si se puede configurar para que en vez de ser dos registros de 8 bit utilice 7 en cada uno, me explico , que cuando el reg tmr1l alcance el nº 128 se ponga a cero e incremente uno a tmrh y cuando este desborde a 128 vuelva cero los dos he pensado hacerlo explorandolo continuamente en el bucle principal de programa asi;
timer1 movlw .128 ;w=128
subwf tmr1l ;resta w-tmr1l
btfss status, 2 ;si es uno eran iguales y hay salto
goto demora ;si es diferente no hay salto
clrf tmr1l ;si hay salto: tmr1l=0
incf tmr1h ;suma 1 a tmr1h
subwf tmr1h ;resta 128 de w con tmr1h
btfss status, 2 ;salta si son iguales
retfie ;si no son iguales va a donde estaba antes de empezar
clrf tmr1h ;si son iguales tmr1h=0
clrf tmr1l ;tmr1l =0
retfie ;vuelve donde estaba
si hay alguna manera de configurarlo para eliminar el bit 7 de cada registro me gustaria conocerla , asi me quitaria un pesillo de la joroba, si la manera que hay es eta pues bueno ,que trabaje duro el micro
gracias y un saludo
-
Y para que necesitas hacer eso? cual es la aplicación que le piensas dar al timer? no veo la necesidad de complicarse con lo que quieres hacer.
Saludos.
-
utilizo un pulsador con un monoestable para incrementar el tmr1 como contador de eventos , asi puedo usar estos registros para especificar el punto de inicio en el secuenciador de musica ,los datos varian MSBde 0 a 128 y LSB de 0 a128 de 129 a 256 se consideran ordenes de sistema entonces si pasa de 128 hara algo que seguro no tiene na que ver con lo que quiero.
he de decir que funciona perfectamente ,la manera de estar testando el registro continuamente lo hace cada 333us y yo no pulso tan rapido(ojala),y ese es el segundo timer el otro contador que he tenido que configurar es de 24, 128, 128 ,pero este es como contador de eventos internos se inc o dec según haga con un encoder incremental
es por si se me habia pasado, conocer como se podia hacer.
un saludo