1. Primeros pasos programando un Microcontrolador: wp.me/p5P46A-b 2. Comenzando en PIC C: wp.me/p5P46A-n 3. Código del Video Visita: wp.me/p5P46A-y Lista de Reproducción del Curso Completo: goo.gl/5riyKn
La definición se hace es solo para dar un nombre de "portb" a la dirección de memoria dentro del PIC, Es la forma como yo aprendí a hacerlo hace muchos años. Saludos.
La instrucción Delay es buena, pero siempre la mejor práctica es usar los Timers del microcontrolador y utilizar un cristal de cuarzo para alcanzar la mayor presición de tiempo.
@@SergioACGiraldo Le cuento, tuve problemas para hacer comunicacion 1 wire con ccs y sospecho que es causado por imprecision en los delays, aunque no tengo osciloscopio para comprobarlo :(
buenos dias ingeniero, tengo entendido que el comando delay deja todo el sistema paralizado mientras se cumple el tiempo, en dado caso que este realizando un sistema con interrupciones, el pic trae librerias de contadores de tiempo? debido a que el delay no permitiria interrupciones y segun me parece, este pic trae contadores
Hola Sebastian, es correcto, el delay para el microcontrolador pero si se activa una interrupción el PIC la va a atender sin problemas. Para contar el tiempo de forma más precisa, tienes que usar los timers como tu mismo dices, te dejo el enlace donde hablamos un poco de ello: controlautomaticoeducacion.com/microcontroladores-pic/timer-pic/
No estoy seguro si para el PIC16F887 cargue, pero lo puedes hacer con el PIC16F877A, el cual es el mismo PIC solo que en su versión antigua. Basta con cambiar la librería del código por ese PIC.
Aunque muy buen material falta más detalle al momento de hacer un esquema o diagrama más gráfico que sea fácil ver cada componente y las conexiones. No basta decir que hice un cable el cual va a puerto número tal. Ayudaría ser más específico como que significan cada cosa y porque van ahí.
Que microcontrolador estas usando? y cual es tu fuente de reloj? un cristal, reloj interno? Debe ser la conficuración del reloj, te recomiendo veas este video: ua-cam.com/video/-ykaUSXijEQ/v-deo.html
@@SergioACGiraldo muchas gracias, ya pude resolver mi problema. Me ayudas con esta duda por favor, he visto que en otros canales donde utilizan output_b() en lugar de set_tris_b(), eso por qué? O son distintos lenguajes de programación?
disculpa la consulta, espero alguien me ayude el pic enciente pero no parpadea, graba el pickit y todo, lo verifico y escribo bien pero no parpadea y he hecho el programa muchas veces cual puede ser el problema'?? espero alguien me ayude
Si el pickit 2 sirve, pero no para los pics nuevos, sin embargo estos pics viejos como el 16f877a, 18f4550 debe servir. La conexión puedes verificarla en el manual del dispositivo, te dejo el link: www.microchip.com/developmenttools/ProductDetails/PartNO/PG164120
Lo arme en proteus y el tiempo se cumple.. Lo arme físicamente y el tiempo no coincide.. ejemplo software DELAY_MS(500) vida real 8segundos .. :v me tumbaron .. o no estaré configurando bien mi pickit3.. puede ser, alguien verifico esto y se cumplió ? tiempo exacto ..
Cualquiera diría que tonto es encender y apagar un LED pero no saben lo que se puede hacer aunado a muchas opciones más de todo este conglomerado de entorno tecnológico......
1. Primeros pasos programando un Microcontrolador: wp.me/p5P46A-b
2. Comenzando en PIC C: wp.me/p5P46A-n
3. Código del Video Visita: wp.me/p5P46A-y
Lista de Reproducción del Curso Completo: goo.gl/5riyKn
Exelente profesor.
Que bueno que te ha servido Jose, éxitos!!
¡Te amo! Gracias por hacer ese vídeo. Me sirvió para mi examen parcial.
Gracias
Se puede ocupar igual el output_ high y output_low
Claro que si. Saludos.
Una pregunta amigo, ¿es necesario definir la dirección del puerto B?, porque esto ya esta definido en la memoria RAM de registros especiales.
La definición se hace es solo para dar un nombre de "portb" a la dirección de memoria dentro del PIC, Es la forma como yo aprendí a hacerlo hace muchos años. Saludos.
Una consulta en caso que querer usar otra escala de "delay" no mS (mili Segundos) sino que uS (micro Segundos) como se podría hacer ???
Puedes usar delay_us(1000);
Buenos días, que tan precisa es la instruccion Delay en ccs? como podríamos comprobar dicha precisión? saludos
La instrucción Delay es buena, pero siempre la mejor práctica es usar los Timers del microcontrolador y utilizar un cristal de cuarzo para alcanzar la mayor presición de tiempo.
@@SergioACGiraldo Le cuento, tuve problemas para hacer comunicacion 1 wire con ccs y sospecho que es causado por imprecision en los delays, aunque no tengo osciloscopio para comprobarlo :(
buenos dias ingeniero, tengo entendido que el comando delay deja todo el sistema paralizado mientras se cumple el tiempo, en dado caso que este realizando un sistema con interrupciones, el pic trae librerias de contadores de tiempo? debido a que el delay no permitiria interrupciones y segun me parece, este pic trae contadores
Hola Sebastian, es correcto, el delay para el microcontrolador pero si se activa una interrupción el PIC la va a atender sin problemas. Para contar el tiempo de forma más precisa, tienes que usar los timers como tu mismo dices, te dejo el enlace donde hablamos un poco de ello: controlautomaticoeducacion.com/microcontroladores-pic/timer-pic/
Es posible poner un valor variable al delay? Por ejemplo, delay_ms(T); para poder modificar el valor de T deseado sin necesidad de cambiar el programa
Si, es posible. Saludos.
Profe como se faz para facer delay em minutos?
Disculpa y para hacerlo con el pic18f4550 como sería? Esque ya lo intente pero solo prende el led 1 y 2 y ocupo que prendan 6
Fíjate si el datasheet del pic eso te ayudará
Disculpa se puede cargar el código con el pic k150
No estoy seguro si para el PIC16F887 cargue, pero lo puedes hacer con el PIC16F877A, el cual es el mismo PIC solo que en su versión antigua. Basta con cambiar la librería del código por ese PIC.
@@SergioACGiraldo ok muchas gracias, entonces los pic son como los Arduino solo se cambia la librería, al igual que en Arduino la placa ?
Si, pero al igual q arduino, hay unos PICs mas poderosos que otros, que tienen más pines o características especiales. Saludos
tras días de busqueda di con una modificacion que deja programar 16f887 si gustas te paso el programa microburn modificado
pudiste?
El delay, cuanto tiempo maximo puede contar?
El parametro de entrada es un int16, o sea que puedes colocar valores entre 0-65535(int16) ms.
Hola Sérgio, me de um exemplo de como fazer o uso de todas as portas do pic 16f877a como saída em CCS gracias.
Com a intrução de Set Tris podes fazer isso. Algo do tipo:
set_tris_a(0);
set_tris_b(0);
set_tris_c(0);
set_tris_d(0);
set_tris_e(0);
Que salidas van a ser entradas y que salidas van a ser salidas :p
Fue gracioso, sabemos que quisiste decir Pines
Una pregunta por que me sale el error 51
Necesito los mismo pero con el led encendido una hora y apagado una hora...como pongo en delay??
Puedes colocar el delay de 1 segundo entro de un ciclo for que se repita 3600 veces
@@SergioACGiraldo Hola, puedes colocar un ejemplo .gracias
Aunque muy buen material falta más detalle al momento de hacer un esquema o diagrama más gráfico que sea fácil ver cada componente y las conexiones. No basta decir que hice un cable el cual va a puerto número tal. Ayudaría ser más específico como que significan cada cosa y porque van ahí.
Cuando pongo el delay a 500 MS se me prende y apaga cada 2 segundos, sabes por qué eso?
Que microcontrolador estas usando? y cual es tu fuente de reloj? un cristal, reloj interno? Debe ser la conficuración del reloj, te recomiendo veas este video: ua-cam.com/video/-ykaUSXijEQ/v-deo.html
@@SergioACGiraldo muchas gracias, ya pude resolver mi problema. Me ayudas con esta duda por favor, he visto que en otros canales donde utilizan output_b() en lugar de set_tris_b(), eso por qué? O son distintos lenguajes de programación?
Cómo se llama este tipo de lenguaje para programar?
Es lenguaje C. El compilador es PIC C COMPILER
disculpa la consulta, espero alguien me ayude
el pic enciente pero no parpadea, graba el pickit y todo, lo verifico y escribo bien pero no parpadea y he hecho el programa muchas veces
cual puede ser el problema'?? espero alguien me ayude
Cual PIC estás utilizando?
@@SergioACGiraldo 16f877,16f887,18f4550
solo me funciona con el pic 16f628
sirve pick 2
otra pregunta el cristal en que pines se conecta, gracias!
Si el pickit 2 sirve, pero no para los pics nuevos, sin embargo estos pics viejos como el 16f877a, 18f4550 debe servir. La conexión puedes verificarla en el manual del dispositivo, te dejo el link: www.microchip.com/developmenttools/ProductDetails/PartNO/PG164120
Lo arme en proteus y el tiempo se cumple.. Lo arme físicamente y el tiempo no coincide.. ejemplo software DELAY_MS(500) vida real 8segundos .. :v me tumbaron .. o no estaré configurando bien mi pickit3.. puede ser, alguien verifico esto y se cumplió ? tiempo exacto ..
Aqui está el programa verificado: ua-cam.com/video/4JsTYPHEZdg/v-deo.html
Has colocado el cristal de 4MHz?
Cualquiera diría que tonto es encender y apagar un LED pero no saben lo que se puede hacer aunado a muchas opciones más de todo este conglomerado de entorno tecnológico......