Muchas gracias a los que lean esto.
En el colegio estamos aprendiendo a usar este PIC, es el primero con el que empezamos y el único que nos proporcionó el establecimiento. No sabemos bien cómo es el tema de programar, estamos en proceso.
El problema es que, para adelantar un poco y poder ver resultados físicos, grabamos un programa ya armado en el PIC (un secuenciador). La primera vez que lo probamos anduvo. Intentamos modificar el programa para lograr uno como el del "Auto Fantástico", pero no funcionó. Y volvimos a grabar el secuenciador. Ya esta vez, no anduvo. Y no encontramos la falla, ni en el circuito ni en el programa.
Utilizamos el programa MPLAB para grabar. Ya buscamos por muchas páginas, pero seguimos sin encontrar una solución. Por este motivo, y como último recurso, acudimos a este foro.
Dejo el programa para que alguien que tenga más experiencia que nosotros vea si hay algún error, también dejo el circuito.
Desde ya muchas gracias a todos aquellos que pasen a leer esto y a los que nos puedan dar una mano.
En el colegio estamos aprendiendo a usar este PIC, es el primero con el que empezamos y el único que nos proporcionó el establecimiento. No sabemos bien cómo es el tema de programar, estamos en proceso.
El problema es que, para adelantar un poco y poder ver resultados físicos, grabamos un programa ya armado en el PIC (un secuenciador). La primera vez que lo probamos anduvo. Intentamos modificar el programa para lograr uno como el del "Auto Fantástico", pero no funcionó. Y volvimos a grabar el secuenciador. Ya esta vez, no anduvo. Y no encontramos la falla, ni en el circuito ni en el programa.
Utilizamos el programa MPLAB para grabar. Ya buscamos por muchas páginas, pero seguimos sin encontrar una solución. Por este motivo, y como último recurso, acudimos a este foro.
Dejo el programa para que alguien que tenga más experiencia que nosotros vea si hay algún error, también dejo el circuito.
Código:
__CONFIG _WDT_OFF&_PWRTE_ON&_XT_OSC&_LVP_OFF&_CP_OFF ; Configuración para
el programador
LIST p=16F877A
INCLUDE <P16F877A.INC>
ORG 0x00 ; Inicio de programa
N EQU 0x00
cont1 EQU 0x20
cont2 EQU 0x21
BCF STATUS,RP0 ; Accede a banco 0
BCF STATUS,RP1
CLRF PORTB ; Limpia PORTB
BSF STATUS,RP0 ; Accede a banco 1
CLRF TRISB ; Configura todas las patitas de PORTB como salidas
BCF STATUS,RP0 ; Regresa a banco 0
BSF PORTB,0 ; La línea RA0 de PORTB toma el valor 1, se enciende el LED
Encledsec
CALL Retardo ; Llamada a la rutina de retardo
RLF PORTB,1 ; Recorre el bit de RB0 a RB7
GOTO Encledsec ; Va a la etiqueta Encledsec
Retardo ; Rutina de retardo
MOVLW N
MOVWF cont1
Rep1
MOVLW N
MOVWF cont2
Rep2
DECFSZ cont2,1
GOTO Rep2
DECFSZ cont1,1
GOTO Rep1
RETURN ; Retorno a la llamada de rutina de retardo.
END ; Fin de programa
Desde ya muchas gracias a todos aquellos que pasen a leer esto y a los que nos puedan dar una mano.
Adjuntos
Última edición por un moderador: