Me acabo de dar cuenta que si lo hago la cuenta con 50 pulsos, entonces me sale una resolución de de cada pulso equivaldría a 120 rpm, una resolución nada aceptable. Una solución sería multiplicar el valor obtenido del contenido del TMR0 y multiplicarlo por 4, para que nos diera una resolución de 30 revoluciones por pulso. Creo que empezaré a hacerlo y ver lo que no va e ir probando.
Gracias y saludos.
amigo como vas a captar los pulsos por medio de un fototransitor ;
los display son de anodo o catodo.
amigo estoy perdido en tu idea.
Porque decrementas revolucion ;
debes decrementar la variable 50
cincuenta equ .50
tambien podias hacer asi
sss clrf tmro
eeee movf tmro,0
xorlw .120
btfss status,2 ; cuando el tmro llega 120
goto eeee ; decremento el 50
decfsz cincuenta,1 ; es como multiplicar 50*120
goto sss
end ; aqui ya tubu que haber llegado a 6000
la niña ya usa el computador que bien......
Lorenzo podríamos, si te parece, generar en el simulador estímulos que simulen tu entrada de 'ralentí'.
Si en el simulador funciona pero no en el hardware es muy probable que tu tengas algún otro problema con el hardware.
¿Qué opinas? Si estás de acuerdo puedo de ver de armarte un proyecto completo para MPLAB 7.4x y lo subo así lo puedes probar.
Saludos
Lorenzo podríamos, si te parece, generar en el simulador estímulos que simulen tu entrada de 'ralentí'.
Si en el simulador funciona pero no en el hardware es muy probable que tu tengas algún otro problema con el hardware.
¿Qué opinas? Si estás de acuerdo puedo de ver de armarte un proyecto completo para MPLAB 7.4x y lo subo así lo puedes probar.
Saludos
Hola, maunix no entiendo bien lo que me quieres decir, si te refieres a que quieres hacer, yo tengo el MPLAB 7.4, pero no estoy todavía suelto con él. Yo con el que me defiendo es con la versión 5, pero ahora mismo no lo puedo utilizar, y si tú quieres comprobar algo, te lo agradecería un montón, toda la yuda prestada será bienvenida.
Gracias y saludos.
Hola, no sé si estoy equivocado me das a entend
decfsz RETRASO,F
goto PAUSA2
decfsz RETRASO1,F
goto PAUSA1
decfsz RETRASO2,F
goto PAUSA
Ahi esta el error, te falta comentar donde debería el PIC guardar el resultado (las ,F agregadas).
Hola, el tipo de imagen es ésta, el coche a ralentí da una frecuencia de unos 26 ó 27 Hz, y el pulso tiene una duración de 1.7 milisegundos y una amplitud de 5 voltios. perdonad si la imagen no es muy buena, pero la cámara no es buena para estas cosas, y el osciloscopio no tiene transferencia de datos. He hecho la prueba y no ha salido como esperaba [/img](http://www.imaxenes.com/mini/100_04761jf60bd.jpg) (http://www.imaxenes.com/imagen/100_04761jf60bd.jpg.html)[/img]
Y aquí os dejo el código que he utilizado:
LIST P=16F84A
STATUS EQU 03
TRISA EQU 05
TRISB EQU 06
PORTA EQU 05
PORTB EQU 06
OPTION_REG EQU 01
TMR0 EQU 01
RP0 EQU 05
W EQU 00
F EQU 01
REVOLUCION EQU 10
RETRASO EQU 11
RETRASO1 EQU 12
RETRASO2 EQU 13
NUMERO EQU 14
NUMERO1 EQU 15
ORG 0
;Configuramos los archivos.
CONFIGURACION
bsf STATUS,RP0
clrf TRISB
movlw b'10000'
movwf TRISA
movlw b'10101000'
movwf OPTION_REG
bcf STATUS,RP0
clrf PORTA
clrf PORTB
;Rutina de retardo de unos 250 milisegundos.
INICIO
clrf TMR0
movlw .4
movwf RETRASO2
PAUSA
movlw .250
movwf RETRASO1
PAUSA1
movlw .250
movwf RETRASO
PAUSA2
decfsz RETRASO
goto PAUSA2
decfsz RETRASO1
goto PAUSA1
decfsz RETRASO2
goto PAUSA
;Rutina de para reconocer los impulsos del TMR0.
movf TMR0,W
movwf REVOLUCION
movwf PORTB
goto INICIO
END
Gracias y saludos.
Hola Lorenzo, yo directamente uso el programa que te e pasado, ni me pondo a hacer los cálculos para una demora, pero si te puedo decir que son más complejos de lo que te imaguinas