No me considero muy buena en assembler por eso agradeceria si pudieran ayudarme con esta duda

Hasta ahora diste un resumen de lo que tenes que hacer. Pero nunca dijiste cual es tu duda. ¿Cual es tu duda?
No hablemos de TODO. Tenes 2 cosas por hacer:
- Contar la cantidad de pulsos provenientes del sensor
- Sacar esos pulsos por la UART
La unica duda que se me puede ocurrir que podes tener es como medir la velocidad,
Hay 2 formas:
- la primera es contar la cantidad de pulsos con algun timer (que posea entrada externa ) y si es de 16bits mejor como el TMR1. Por lo que lo unico que tenes que hacer es configurar el Timer y leerlo cada cierto tiempo exacto, ejemplo cada 500ms y dependiendo de la cuenta luego de una operacion matematica obtenes tu RPS o RPM
- La otra forma es medir el entre cada flanco ascendente o descendente. Esto te va a dar su periodo, y luego al hacer 1/periodo, vas a obtener la frecuencia. Es mas simple matematicamente el anterior metodo. Pero este da resultados mas rapidos.
En ambos casos con interrupciones
El tema de la UART es simple tambien, es configurarla, y enviar los datos. Nada mas. el que sea RS485 o RS232 es externo al programa, es una cuestion de Hardware nada mas (si uno no quisiera complicarse la vida, obviamente )
Entonces... ¿ Cual es tu duda ?