Problema al intentar hacer una parctica con el registro RLF

He comprado el libro proyectos con pic utilizando el niple y no me sale el proyecto 3, consiste en rotar un bit que este contenido un un registro con la instrucción RLF, se supone que tiene que ir rotando por todas las salidas del puerto B en total 8 pero por más que lo intento como dice en el libro lo único que consigo es encender y apagar el bit menos significativo del puerto B, no se si el programa está mal o hay un fallo en el libro
subo el asm a ver cual puede ser el posible fallo y me hechan una manita a ver si aprendo
 

Adjuntos

  • rotar_267.rar
    748 bytes · Visitas: 33
Thulsa Doom dijo:
He comprado el libro proyectos con pic utilizando el niple y no me sale el proyecto 3, consiste en rotar un bit que este contenido un un registro con la instrucción RLF, se supone que tiene que ir rotando por todas las salidas del puerto B en total 8 pero por más que lo intento como dice en el libro lo único que consigo es encender y apagar el bit menos significativo del puerto B, no se si el programa está mal o hay un fallo en el libro
subo el asm a ver cual puede ser el posible fallo y me hechan una manita a ver si aprendo

Esta usted un poco confundida,
Por ejemplo
movlw b'00000000' no configura eñ puerto b como salida sino que carga a w con 0.
movwf tris<<<<< Si w=0, esto si define el puerto b como salida.
movlw .10 No sabia que se pudieran mover números fraccionarios, no se equivocó????

Bueno, le adjunto uno que hice, funciona perfecto, pero lo hice solo con 5 leds.

Saludos
 

Adjuntos

  • recorreleds_438.txt
    702 bytes · Visitas: 35
hola gracias por tu repuesta, pero he compilado el asm que me distes y el MPASM me da 31 errores y a la hora de probarlo en un pic nada de nada este ni siquiera se enciende un led, no se que puede ser se supone que el asm que he subido es generado por un programa especial para programar pic en modo visual con el programa llamado Niple, es un ejercicio que está en un libro que esta basado exclusivamente en este programa, no se si los autores del libro metieron la gamba o el programa este no sirve para nada
 
Thulsa Doom dijo:
hola gracias por tu repuesta, pero he compilado el asm que me distes y el MPASM me da 31 errores y a la hora de probarlo en un pic nada de nada este ni siquiera se enciende un led, no se que puede ser se supone que el asm que he subido es generado por un programa especial para programar pic en modo visual con el programa llamado Niple, es un ejercicio que está en un libro que esta basado exclusivamente en este programa, no se si los autores del libro metieron la gamba o el programa este no sirve para nada

jaja, no son 31 errores, son 31 Warnings, Advertencias, esas son normales, las muestra cada que encuentra una instrucción :),

Aquí le dejo el asm y el Hex. Yo cargo el hex al pic con el icprog, cuál usa usted???

Saludos
 

Adjuntos

  • recorreleds_107.zip
    615 bytes · Visitas: 20
jejeje es verdad son 31 advertencias.
cargo con el icprog y T20SE, este tampoco me funciona, me hace lo mismo que el mio pero en el puerto A el único que funciona es el ping RA0
tengo el pic montado en protoboard, no se si estara metiendo error por estar en una protoboard
 
Thulsa Doom dijo:
jejeje es verdad son 31 advertencias.
cargo con el icprog y T20SE, este tampoco me funciona, me hace lo mismo que el mio pero en el puerto A el único que funciona es el ping RA0
tengo el pic montado en protoboard, no se si estara metiendo error por estar en una protoboard


No, solo use el ICprog, ya le pase el .hex carguelo con el icprog
Ahhhhh pero si esta usando el pic16f84a???????? si no es así modifique el .asm y en el icporg configure bien el puerto que esta usando y también desde las propiedades del sistema, si esta usando xp, adhiera el parche que viene en el icprog, elija que oscilador esta usando, desactive el watch dog y active el pwrt

El proto no ocasiona errores a menos que alguna fila este mala yo ahi hago mis proyectos con pic.

Saludos
 
pues ese era el problema, me ha funcionado he incluso el mio, al cambiar esos parametros en el icprog, lo del perro guardian lo de activar pwrt y lo del xt me ha funcionado, lo otro ya lo tenía bien ya que cargo diferentes microcontroladores sobre todo sx48 y sx52 que son los que lleva el chip de ps2 duo2 y duo2se, con el fluffy 2, ¿no hay alguna manera de que esos cambios los leve el hex y cuando lo cargue en el icprog el automaticamernte los configure?
y si estoy utilizando 16f84a
 
Thulsa Doom dijo:
pues ese era el problema, me ha funcionado he incluso el mio, al cambiar esos parametros en el icprog, lo del perro guardian lo de activar pwrt y lo del xt me ha funcionado, lo otro ya lo tenía bien ya que cargo diferentes microcontroladores sobre todo sx48 y sx52 que son los que lleva el chip de ps2 duo2 y duo2se, con el fluffy 2, ¿no hay alguna manera de que esos cambios los leve el hex y cuando lo cargue en el icprog el automaticamernte los configure?
y si estoy utilizando 16f84a


Que raro eh, yo uso el mismo pic16f84a y lo programé hace dias con ese .hex que le mandé y no dio problemas, no será que su pic esta defectuoso???

Pues si, puede leer el micro que ya funcionaba ahi mismo en el icprog, mire acá: https://www.forosdeelectronica.com/viewtopic.php?t=2065

Saludos
 
pues, he comprado dos pic, con uno he estado haciendo los ejercicios y el otro ha permanecido virgen, he probado con los dos y me hace exactamente lo mismo con los dos, si no desactivo el perro guardián y le indico el cristal y activo el pwrt no funciona
 
Thulsa Doom dijo:
pues, he comprado dos pic, con uno he estado haciendo los ejercicios y el otro ha permanecido virgen, he probado con los dos y me hace exactamente lo mismo con los dos, si no desactivo el perro guardián y le indico el cristal y activo el pwrt no funciona

La verdad no se que más pueda estar mal, el .hex que el mandé funciona perfecto haber pruebe con este lo único que hace es hacer parpadear un led del puerto b el de rb0, y si tienene bien conectado el cristal a 2 capacitores de 22picos y el reset en alto???
 

Adjuntos

  • prendeunled_179.txt
    615 bytes · Visitas: 9
ya lo he probado a pelo sin desactivar el WDT y sin cambiar el RC y no funciona no hace nada de nada. si desactivo el WDT y activo el PWRT y cambio el RC por XT funciona, pero no hace lo que me has dicho, se encienden todos los pines del puerto B y el RB0 parpadea.
y si el oscilador esta bien, tiene dos condensadores de 22p y un cristal de 4MHz y el reset a 5v
 
Thulsa Doom dijo:
ya lo he probado a pelo sin desactivar el WDT y sin cambiar el RC y no funciona no hace nada de nada. si desactivo el WDT y activo el PWRT y cambio el RC por XT funciona, pero no hace lo que me has dicho, se encienden todos los pines del puerto B y el RB0 parpadea.
y si el oscilador esta bien, tiene dos condensadores de 22p y un cristal de 4MHz y el reset a 5v

Si eso es lo que debía de hacer, si no quieres que los demás esten encendidos, limpia el puerto la regresar al banco 0 antes del ciclo1
Quedaría esa parte así.

INICIO
BSF ESTADO,5
CLRF PORTB
BCF ESTADO,5
CLRF PORTB

CICLO1
BCF PORTB,0
CALL TIMMER
BSF PORTB,0
CALL TIMMER
GOTO CICLO1

Bueno, con eso comprobamos que tanto tu pic como tu cargador si funcionan.
Ya se cuál va a ser el error, si estas conectando los leds en el puerto A??? En fin sospecho que los estas conectando en el puerto B, por ello te mando el asm para el puerto B.

Saludos
 

Adjuntos

  • recorreleds_puertob_100.zip
    390 bytes · Visitas: 10
Perdón que me meta en su plática pero creo entender que ya funcionó en el momento en que se modifican los parámetros de la palabra de configuración que es donde se habilita el WDT el PWRTE el CP y el OSC, y sí hay una forma de hacer que desde el programa se modifique esta palabra de configuración y es escribir:

list p=16F84A ; list directive to define processor
#include <p16F84A.inc> ; processor specific variable definitions

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

esta última línea indica que no hay protección de código, no hay perro guardián se habilita el PWRTE y se usa oscilador con cristal, compila el ASM con esta línea incluida y verás que al cargar el hex en ICPROG ya aparecen habilitadas o desahabilitadas las casillas correspondientes y el oscilador marcado como XT
 
roberto moreno dijo:
Perdón que me meta en su plática pero creo entender que ya funcionó en el momento en que se modifican los parámetros de la palabra de configuración que es donde se habilita el WDT el PWRTE el CP y el OSC, y sí hay una forma de hacer que desde el programa se modifique esta palabra de configuración y es escribir:

list p=16F84A ; list directive to define processor
#include <p16F84A.inc> ; processor specific variable definitions

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC

esta última línea indica que no hay protección de código, no hay perro guardián se habilita el PWRTE y se usa oscilador con cristal, compila el ASM con esta línea incluida y verás que al cargar el hex en ICPROG ya aparecen habilitadas o desahabilitadas las casillas correspondientes y el oscilador marcado como XT

No hay problema compañero es un foro abierto, pero su problema no era el de la palabar de configuración sino que estaba usando el puerto B.

Saludos
 
Atrás
Arriba