Ensamblador - Generar pulsos en assembler

 
Vista:
sin imagen de perfil

Generar pulsos en assembler

Publicado por Marcos (2 intervenciones) el 29/09/2014 01:05:59
Buenas, tengo un problema con crear algunas rutinas de pulsos para un ascensor. El tema es el siguiente: Tengo un ascensor de 3 pisos, (PB,1 y 2), para llegar de un piso a otro de necesitan 650 pulsos. Cada pulso dura aproximadamente 7000 microsegundos. Estoy usando un reloj de 4mhz. Queria saber si podrian orientarme en como crear la subrutina que me permita usar esos 650 pulsos.
Mi ultima pregunta es saber si estos bits están correctos para asignar el TMR1 como contador:

bsf t1con,1 ;1 = Reloj externo por el pin RC0/T1OSO/T1CKI
bsf t1con,2 ;1 = No se sincroniza la entrada de reloj externa

¿La subrutina seria algo asi?


p650 bsf t1con,1 ;Configuro tmr1 como contador
bsf t1con,2
movlw 0x02 ;Muevo 650 a tmr1
movwf tmr1h
movlw 0x84
movwf tmr1l
bsf t1con, 0 ;Activo el tmr1
Desborde btfss pir1, 0 ;¿Desbordo?
goto desborde ; No. Voy a desborde
bcf pir1, 0 ;Si. Limpio bandera
bcf t1con, 0 ;Paro el tmr1
return


Desde ya, muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder