Problema de oscilación en pic16f84a

¿Qué tal amigos de todo expertos, nuevamente los vuelvo a molestar, hace unos días hice unprogramita básico para pic 16f84a para enviar datos al portb, utilizando mplab, indicando el tipo de pic, compilando y viendo el resultado de la simulación parece todo estar en orden, hice el .hex y queme el pic con ICPROG, indicando que la oscilación es con RC, (Resistencia capacitor), para ver el resultado utilice un digrama de saber electrónica donde se indica que en la patilla 16 va una resistencia de 10 a 5 k y un capacitor de 20pf (he consultado manuales y visitado páginas en internet y son muy parecidos solo cambian algunos valores), el problema es que la primera vez prendió los leds oscilando muy rapido, después se detuvieron fijamente (ya no oscilaban), cambie la rsistencia y el capacitor por si se habían dañado, cambie a otra protoboard, e incluso cambie y queme otro pic, no lo entiendo los leds, ya no parpadean, solo encienden fijos, que hice mal?, ahora voy a probar con un oscilador de cuarzo de 4mhz, que ya compre, ¿pero si llegara a funcionar mi duda seria porque no me funciono la oscilación RC?, ahora también no se que le moví al mplab que la simulación me la hace muy rapidísimo ya cambie la frecuencia de diferentes formas en debbuger>settings>osc y no la cambia el programa es el siguiente, jajaja creo que inicie en los pics con el pie izquierdo y tan fácil que se ve:
De ntemano muchas gracias espero me puedan ayudar...
list p=16f84
include <p16f84.inc>
INTRC_OSC_NOCLKOUT ;reloj interno solo
__CONFIG _RC_OSC & _WDT_OFF &_PWRTE_ON ;Se indica que el reloj
portb equ d'6' ;sera el tipo interno RC
org 0
movlw b'00000000'
Tris portb
Regresa
movlw b'10000000'
movwf portb
movlw b'01000000'
movwf portb
movlw b'00100000'
movwf portb
movlw b'00010000'
movwf portb
movlw b'00001000'
movwf portb
movlw b'00000100'
movwf portb
movlw b'00000010'
movwf portb
movlw b'00000001'
movwf portb
goto regresa
end
Respuesta
1
Usar el portA para recibir no es más difícil de lo que ya lograste. Te conviene para recibir datos el puerto B ya que tiene mayor impedancia de entrada y además tiene 8 bits. Que es lo usual en palabras de datos o conversores. Una vez que está el dato en el puerto, con el programa lees PORTB ej movf PORTB, 0 y queda el dato en W. Tomas W y lo procesas. Si el dato aparece en forma esporádica y breve debes usar interrupciones para no perderlo.
Puedes conectar cosas directamente al uC mientras no le envíes más de 5V o necesites entregar más de 25mA, caso en el cual necesitarías drivers. Puede ser CI o transistores.
Aún no tengo página propia. Espero estemos en contacto cuando la tenga porque pretendo tener información detallada de diseño.
Que tal, muchísimas gracias por su orientación, me gustaría saber si usted tiene un programita básico para admitir señales de entrada al portA y alguna página o si usted tiene un diagrama que muestre los dispositivos electrónicos que se necesitan para no dañar las patillas ya que soportan una tensión de 25mA, me gustaría conectar sensores que manden una señal lógica(y que el PIC las reciba) como para hacer un carrito sigue lineas de antemano MUCHÍSIMAS GRACIAS, para este momento ya he logrado controlar las salidas del PORTB...
Gracias, me gustaría saber su nombre y si es técnico o ing en el área, de antemano muchas gracias...
Cuando resolvemos un problema que nos cuesta nunca más lo olvidamos.
Debes cambiar al banco 1 antes de acceder a TRIS y luego volver al banco 0 para cargar los puertos. Esto está con ejemplo en el capítulo de puertos de las hojas técnicas. Acostúmbrate a leer las hojas de cualquier IC antes de usarlo. Observa si hay cambio en la dirección del puerto B en el simulador.
También recuerda que la ejecución de las instrucciones de cualquier uC es rapidísima (del orden de useg)y hay que usar timers o retardo para ralentizar los procesos que queremos ver en el exterior o no alcanzaras a ver ningún cambio en los puertos.
Revisa también el valor del cristal más bajo que puedes usar. Me parece que es 4Mhz. Y los PIC funcionan con 5V.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas