Curso de programación de PIC en PICBasic Pro

Si te compila, está bien, pero habrá que verificar que realmente queden como quieres.
Para esto, yo abro el archivo .hex con el WinPIC800 y los compruebo.

Para olvidarse de ese tipo de modificaciones con los archivos .inc, usa el PBP3.X
Este es para sistemas basados en x64, compila usando MPASMX, y los fuses los podrás escribir directamente por código.
 
Esos [ B ] y [ /B ] suenan a código HTML para poner en negrita esa parte por lo que se debería borrar. Si bien no conozco PBP, no creo que sea parte del programa, sino más bien que se coló en alguna edición.

Por la configuración del microcontrolador, hay programadores que te permiten modificar los "fuses" cuando se va a programar. Si el tuyo lo permite, modifica los mismos ahí o, una vez compilado, al abrir el .HEX en el programador comprueba que esta todo en su debido lugar.
 
Sí, ese BBCode extra no debe estar dentro del código, es algo que se coló y solía ser un bug de la antigua plataforma del Foro.
De hecho, era una tarea ardua para los moderadores editar los códigos que pegaban los usuarios, tan así, que tuve que realizar un programa que eliminara todo el BBCode y posteriormente volverlo a insertar ya limpio.
Nota: El BBCode está basado en HTML.

Aquí lo que pasa es lo siguiente, y no me gusta ser duro con mis respuestas, por eso de que ahora todo parece de cristal.
Sin embargo, es preciso mencionar lo siguiente:
Para empezar a programar, sea el lenguaje que sea, debes aprender a conocerlo.
Si PICBasic usa el compilador MPASM o MPASMX, es lógico que usará sus librerías.
Así que en este aspecto, solo basta estudiarlas y ahí se encontrará la información requerida.
En este caso del PBP, con leer los archivos .inc encontraremos los fuses y todas las definiciones necesarias para usarlas en PBP.
En su tiempo eso hacía yo y era lo que publicaba, no me encontraba los fuses por arte de magia.
Pero hay mucha gente perezosa que no le gusta leer ni estudiar y al primer error van a Internet en busca de ayuda.
Si tuvieran un poco de lógica e iniciativa propia, solventarían sus problemas sin requerir ayuda.

Yo se los dije muchas veces, lean los archivos .inc y los ejemplos de plantillas (templates) .asm de MPLAB porque ahí está lo que requieren.
 
Buenas tardes. Yo estoy queriendo conocer mejor el microcontrolador 18F452, pero su Datasheet está en inglés y no domino el inglés.
A
demás, estoy buscando un mejor traductor, porque el de Google, no pasa nada. ¿Alguna recomendación por allí?
Gracias.
 
Última edición por un moderador:
Hola, gente. Estoy interesado en esto por la escuela.
H
e estado programando en PBP usando el PIC16F877A y me ha salido bien hasta ahora.
S
olo tengo algunas dudas. ¿Dec1 y Dec2 al ponerlos en la LCD qué significaría?
que Dec es para escribir en el sistema decimal pero, ¿Dec1 y Dec2 qué son?
 
Última edición por un moderador:
En sí, DecX representa la cantidad de dígitos a mostrar.
Por ejemplo: si el valor es 3, usando Dec2, se mostrará: 03, si se usa Dec4, se mostrará: 0003, etc.

Para dudas de este tipo, PBP tiene un archivo de ayuda donde viene todo explicado.
 
Buenos días. En algún lugar del Foro encontré un programa para el Timer1 con ciclo de 1 Segundo con Xtal 32,768 Khz, y ahora deseo hacer funcionar el mismo circuito pero con TMR0
¿Dónde está la falla que no cuenta? Gracias por su apoyo, amigos.
 

Adjuntos

  • semeforo.rar
    1.3 KB · Visitas: 4
Última edición por un moderador:
En algún lugar del Foro encontré un programa para el Timer1 con ciclo de 1 Segundo con Xtal 32,768 Khz
El programa original lo escribí yo.
ahora deseo hacer funcionar el mismo circuito pero con TMR0
Si quieres usar el Timer 0, tienes que usar y configurar los registros del Timer 0
¿Dónde está la falla que no cuenta?
En que solo agregaste cosas pero no configuraste nada.
El Timer 0 no tiene un oscilador para cristal externo, y ese ejemplo que subí está dedicado al Timer 1 y su oscilador externo, así que te convendría más escribir un programa desde cero.

Tendrás que tener en cuenta que el Timer 1 es de 16 bits y el Timer 0 es de 8 bits, así que requerirás realizar una configuración de desborde que te convenga conforme a la frecuencia del oscilador y que aparte te sea cómodo usar para el contador.
 
Bueno eso si es cierto de que use su programa, y esa es la idea adaptarlo no?, le digo, aqui tengo un reloj con tmr0 (sacado del libro Carlos reyes.)configurado con pic 18f452, que funciona y tiene la misma configuracion del archivo anterior.
 

Adjuntos

  • respuesta.rar
    1.3 KB · Visitas: 5
Bueno eso sí es cierto de que usé su programa, y esa es la idea adaptarlo, ¿no?
Claro, para eso son los ejemplos, pero ese ejemplo es para el Timer 1 y tú quieres usar el Timer 0
Como funcionan diferente, por eso sugerí que inicies un programa desde cero.

aquí tengo un reloj con tmr0 (sacado del libro Carlos reyes.) configurado con PIC18F452, que funciona y tiene la misma configuracion del archivo anterior.
Pues no, en ese ejemplo sí están usando y configurando los registros del Timer 0
 
Buenas noches. Estuve realizando este proyecto de secuencia de LED con PIC16F628A y funciona a la perfección, pero cuando pasé a adaptar el código para un PIC18F452, la visibilidad de la pantalla LCD es una locura, aunque el Timer 0 funciona bien.
¿Qué sentencia me falta agregarle?
Adjunto el archivo.
 

Adjuntos

  • NUEVAPREGUNTA.rar
    1.1 KB · Visitas: 3
  • isiscrono.rar
    22.9 KB · Visitas: 3
Última edición por un moderador:
Hola...Como regla general, si en un microcontrolador te funciona y en otro, no, debes leer atentamente las hojas de datos de ambos dispositivos y fijarte las diferencias.

Para empezar seguramente los fusibles de programación serán distintos así como algunos módulos de hardware que incluya cada uno.

Revisando muy por arriba el programa "salta" un error en mi compilación del uso de una palabra reservada del sistema "loop" como etiqueta de una rutina cosa que no se debe hacer.

Loop se usa junto a Do

Captura de pantalla 2023-09-20 095551.jpg

El programa no tiene muchas referencias de que hacen las cosas y si las tiene es para un 84.

Si quieres ayuda debes "ayudar a que te ayuden" no hacérsela mas complicada porque eso desalienta a cualquiera que quiera orientarte.

Presenta "todo" el original que si te funciona("completo", simulación, archivo fuente y compilación) y lo mismo para la reforma para de esa forma ver que has echo.

Mi PBP es la versión 5.0.0.5 y el PBPX 3.1.2.1. Diferentes versiones tienen tratamiento diferente en algunos aspectos.

Si el microcontrolador que vas a usar es el 18F452, debes aprender todo sobre el leyendo la hoja de datos porque los ejemplos que encuentres para otros, generalmente no te funcionaran si no lo adaptas al nuevo microcontrolador.

Saludos.
 
Claro que sí.
M
ira, amigo @ricbevi, aquí adjunto la simulación de Proteus y el código en PBP con un PIC16F84A y no un PIC16F628A como dije.
A
llí desarrollé el pequeño programa y sí funciona la secuencia más el LCD.
Te cuento, el tiempo sí corre a un segundo con el Timer 0 previamente configurado con el 18F452, solo que la pantalla se raya, pero pongo el cristal a 4 MHz en Proteus y estabiliza también, pero tuerce la configuración del Timer 0.
Bueno, espero que se comprenda mi explicación.
Gracias.
 

Adjuntos

  • respuesta2.rar
    42.9 KB · Visitas: 6
Última edición por un moderador:
Buenas noches, Amigos del Foro, antes que nada agradecer por sus habilidades para programar y conocer el Ingles para sacarle provecho a cuelquier Datashett, de cualquier micro, eh alli mis dificultades para programar.
Quiero mencionar que implemente un RELOJ CON ALARMA , Y PIC 18F452, nada de lo que esta en este programa es mi creatividad, porque saque la programación del reloj del amigo Darkbytes publicado en algún lugar del Foro, asi como los Fuses también para el micro y pueda correr, Gracias-

La implementación del Reloj es solamente de 1 alarma,que se activa y desactiva , pero en 2 casos que se puedan suscitar, como por ejemplo:

CASO 1: cuando la hora de encendido es >mayor a la hora de apagado.
CASO 2: cuando la hora de apagado es >mayor a la hora de encendido.

Este Reloj con Alarma puede ser utilizado para proyectos como:

encender letreros de publicidad con riego automático de agua, etc, etc,

Aqui subo el proyecto , muchas gracias Amigos, espero no haya faltado las reglas del foro, porque ultimamente , estuve muy faltoso creo,, jajaa.

A este proyecto , despues quiero implementarlo con una SECUENCIA DE LEDS que enciendan y apaguen segun un tiempo "x" para animar un proyecto por alli, agregandole INT por TMR0, ya lo estuve haciendo pero tengo dudas, alli les preguntare otra vez.
Gracias
 

Adjuntos

  • RELOJ ALarma 18f452 ok.rar
    133 KB · Visitas: 15
BUenos dias, Amigos, por aqui una vez mas molestando para consultarles, estuve queriendo adicionarle al proyecto Reloj alarma posteado aqui: Curso de programación de PIC en PICBasic Pro . Una secuencia de Tiempos que se visualisen en encendido de leds, y estuve queriendo cuadrar el problema con TIMER 0 Y este PIC 18F45550 pero les cuento que me pierdo,y a la vez, estoy desilucionado, y practicamente queriendo abandonar el PIC BASIC PRO, por su poca informacion en la web acerca de INTERRUPCIONES, en contrastes con el Lenguaje C, que si veo mas y mas rica informacion, entonces, recurro a Ustedes y me puedan dar una pista de lo que quiero hacer, aqui abajo adjunto un bosquejo de lo es lo que deseo hacer. espero me puedan dar una manito. GRACIAS

Aqui adjunto un archivo Bloc de Notass con el bosquejo, estara bien asi lo que estoy haciendo para hacer funcionar mis leds adicionales con tiempos independientes. Una manito mas por favor . gracias
 

Adjuntos

  • TAREA.rar
    312 bytes · Visitas: 10
  • TAREA01.rar
    414 bytes · Visitas: 7
Última edición por un moderador:
Saludos a todos. Soy nuevo en ésto de los PIC y me pregunto si alguien sabe cómo, o mejor aun, si tienen un programa de ejemplo de cómo usar los comparadores internos.
(Ojo que no es el ADC) que trae el PIC16F628A
Les agradezco la ayuda, mi gente.
 
Última edición por un moderador:

Adjuntos

  • 16F628A CMCON I.rar
    15.9 KB · Visitas: 6
  • 16F628A CMCON II.rar
    19.4 KB · Visitas: 6
Saludos a todos. Soy nuevo en ésto de los PIC y me pregunto si alguien sabe cómo, o mejor aun, si tienen un programa de ejemplo de cómo usar los comparadores internos.
(Ojo que no es el ADC) que trae el PIC16F628A
Les agradezco la ayuda, mi gente.
Hola...Si aceptas una sugerencia, lee la hoja de datos del fabricante aquí donde en su apartado 10, trata el tema de los comparadores internos y sus configuraciones.

También puede interesarte la sección 11, donde trata la programación del registro interno de la referencia de tensión para usar con dichos comparadores.

Subo solo dichas secciones extraídas de este documento.

Junto al excelente aporte que te realizo D@rkbytes, espero que sea de utilidad.

Saludos.
 

Adjuntos

  • PIC16F627A_628A_648A Data Sheet_Compa_Refre.pdf
    140 KB · Visitas: 3
Atrás
Arriba