Mostrando las entradas más recientes con la etiqueta Iniciando con PICs Mostrar las entradas más antiguas

Circuito RESET

Algo básico pero que no debemos olvidar es el circuito de reinicio, el reinicio se utiliza para poner el microcontrolador en un estado conocido (estado de inicio), normalmente, cuando un microcontrolador PIC se restablece la ejecución del programa se inicia desde la dirección 0 de la memoria del programa. El hecho de reinciar inicializa varios registros SFR dentro del microcontrolador.

Un microcontrolador PIC puede ser reiniciado cuando suceden cualquieras de las siguientes condiciones:
  • Reinicio durante el encendido (POR - Power On Reset).
  • Reinicio si hay nivel bajo en MCLR (conectado a un cero lógico).
  • Reinicio cuando el watchdog se desborda.
Como podemos ver en la siguiente imagen, MCLR esta conectado a 1 lógico por medio de una resistencia de 4.7k y el micro esta operando normalmente, pero al presionar un push-boton MCLR se conecta a un cero lógico y el micro se reinicia, cuando esto sucede el micro inicia nuevamente la ejecución del programa (desde la direccion 0 de la memoria del programa).



Leer Más.....

Conociendo un poco más sobre PICs

Es muy importante conocer los tipos de PICs que son usados actualmente, de manera que tengamos más opciones al momento de realizar cualquier aplicacion. El siguiente video nos da unos tips que son muy utiles cuando escogemos algun PIC.

Leer Más.....

Microcontroladores para Principiantes

como programo pics

¿No tienes idea de como iniciar en este mundo de la electronica?, ¿No tienes la menor idea de que hacer? Pero si tienes las ganas de aprender.... Bueno, entonces aqui te daré una idea de como empezar, estas son publicaciones que se encuentran en el blog, que se han explicado de la mejor manera, pero si aún asi no entiendes comentalo, primero que nada dividiremos esto a nivel Hardware y Software, osea, Fisicamente y Programando. Recomiendo que primero que lean la parte del Hardware y luego se pasen al Software.


Hardware


Inicio Rapido: ¿Qué necesito para usar PICs?
Caracteristicas de un PIC
Partes Basicas de un PIC
PIC16F84A
Programadora fácil de usar
Alimentación de un PIC
Microcontroladores: FAQ

Software

En este blog se utilizara el programa Microcode Studio & Pic Basic Pro, que es un lenguaje de alto nivel, en otras palabras es la forma más sencilla de programar.

PIC BASIC PRO Manual en Español
Como Cargar el archivo .hex en Proteus
Ic-Prog
Tu Primer Programa: Encendiendo un LED

Al seguir en orden cada enlace, considero que no tendrán problemas, pero si aún asi tienen dudas o considerán que falta algo más para que este completo no duden en comentarmelo.



Leer Más.....

Desplazamiento de Luces, otra version

Usaremos el PIC16F628A en este caso para realizar otra version del desplazamiento de luces, 8 LEDs son conectados al PORTB del PIC. Los LEDs cuentan con una separacion de tiempo de 500ms. El contador empieza de 7 decimal (que seria en binario 0000111) y llega a 192 (1100000) y lo repite nuevamente, lo explicare mas detalladamente, contamos con 8 LEDs, los cuales se encenderan de a tres, ¿como asi? encendiendo los leds hacia la izquierda, chequen la simulación;

pic16f628a

CODIGO DE PROGRAMACION REALIZADO EN PIC BASIC PRO

contador var byte
TRISB = 0

inicio:
contador = 7
repetir:
PORTB = contador
pause 500
if contador = 192 then inicio
contador = contador << 3
goto repetir
END





Leer Más.....

Conociendo un poco al PIC12F683

No podemos dejar atras a los hermanos menores de los PIC de la serie 16, asi que en esta ocasión veremos el PIC12F683 pero necesitaremos ver algunas caracteristicas de dicho PIC;

Caracteristicas de Alto Rendimiento del CPU RISC

  • Velocidad de funcionamiento: 20MHZ
  • Voltaje de funcionamiento: 2.0 - 5.5 voltios
  • Capacidad de Interrupción
  • Modos de direccionamientos directo, indirecto y relativo.
  • 35 Instrucciones

Caracteristicas Especiales del Microcontrolador

  • Memoria Flash: 3584 octetos (2048 palabras)
  • Data SRAM: 128 byte
  • Data EEPROM: 256 bytes
  • Precisión del oscilador interno de 8 MHz de fábrica calibrado de ± 1%
  • Ahorro de energía en modo reposo
  • Codigo de protección programable
  • Power-on Reset
  • Resistencia de escritura en la memoria FLASH de 100,000 veces,
  • Resistencia de escritura en la memoria EEPROM de 1,000,000 veces,
  • Retencion de datos de 40 años según el fabricante.
Caracteristicas más Generales
  • 6 pines de I/O con dirección de control individuales.
  • Modulo comparador analogico.
  • 1 Comparador Analogico.
  • Timer0: Temporizador/contador de 8bits con 8bits de prescaler programable.
  • Timer1: De 16-bit temporizador / contador con prescaler.
  • Timer2: 8-bits temporizador /contador de 8 bits con período de registro.
  • Modulo PWM de comparación y captura, el cual;
  • Tiene 16-bit de Captura, max resolucion 12.5 ns
  • Comparacion, max resolution 200 ns
  • 10-bit PWM, max frequency 20kHz
EN RESUMEN:

Parameter Name Value
Program Memory Type Flash
Program Memory (KB) 3.5
CPU Speed (MIPS) 5
RAM Bytes 128
Data EEPROM (bytes) 256
Capture/Compare/PWM Peripherals 1 CCP
Timers 2 x 8-bit, 1 x 16-bit
ADC 4 ch, 10-bit
Comparators 1
Temperature Range (C) -40 to 125
Operating Voltage Range (V) 2 to 5.5
Pin Count 8



PIC12F683

Para más información ver la hoja de datos.



Leer Más.....

Alimentación de un PIC

Con anterioridad ya habia comentado algo respecto el voltaje que usa un PIC, Suministro de Voltaje de un Micro, incluso recomiendo fuentes de voltaje que pueden armar, pero he estado recibiendo un par de correos en donde me preguntan, fisicamente, ¿como alimento al pic? ¿que patas utilizo para alimentar al pic? entre otras preguntas, otro detalle que me comentan es que en Proteus no se conecta ninguna pata de alimentación, pero la razon es que ya trae por default la alimentacion conectada por esa razon es que no se ve ninguna pata de alimentacion.

Para dejar más claro este pequeño inconveniente, para alimentar un PIC se necesitara lo siguiente:

El segundo punto se explica a continuacion, en los programas de simulacion como PROTEUS esto no es necesario como comente ya viene integrada. Pero aún asi deseamos ver conectadas las patas de alimentación, conoscamos los pines de alimentación de uno de los PICs más conocidos:

alimentacion de un pic

alimentacion pic

Las patas de alimentacion de estos PICs son la numero 5 y 14 para ambos, ¿porque lo se? porque estan identificados como VSS y VDD donde Vss va conectado a Tierra (en otras palabras al lado negativo de la fuente de voltaje) y Vdd va conectado a corriente continua (en otras palabras al lado positivo de la fuente de voltaje) con esas patas conectadas el PIC puede trabajar de lo contrario no hara nada, porque no tendra "vida". Visto en un diagrama:

alimentacion de un pic

En si esa seria la manera de conectar un PIC a una fuente de voltaje o fuente de alimentación, espero haber sido claro, sino comenten para poder ayudarles.

Leer Más.....

Especificaciones de un PIC

Cuando necesitamos utilizar un PIC en algún proyecto tenemos que tener en cuenta las especificaciones y funciones que tiene, primero que nada los microcontroladores PIC son manufacturados por Microchip Technology Inc. claramente estos PIC son los más populares y los más usados.

Los Microcontroladores estan disponibles con caracterisitcas distintas, dependera del uso que le demos, entre las cosas que debemos de tener en cuenta son;

Tipo de Memoria:
  • Flash
  • OTP
  • ROM
  • ROMless
Entradas y Salidas (I/O)
  • 4-18 pines
  • 20-28 pines
  • 32-44 pines
  • 45 o más pines
Tamaño de Memoria
  • 0.5 - 1 K
  • 2 - 4 K
  • 8 - 16 K
  • 24 - 32 K
  • 48 - 64 K
  • 96 - 128 K
Caracterisitcas Especiales
  • CAN
  • USB
  • LCD
  • Control de Motores
  • Radio Frecuencia

En el mercado hay tantas diferencias, pero realmente todo dependera de nosotros, para que lo utilicemos, aunque es facil decir usare el PIC16F84A y listo! pero eso es cuando hacemos practicas de colegio o de universidad, ó cuando los proyectos no son tan complejos, pero eso si, SIEMPRE debemos de tener en cuenta las caracteristicas y funciones de nuestro PIC. Más adelante explicare más sobre estas caracteristicas aqui escritas.

Leer Más.....

Videotutoriales usando Pic Basic Pro

Con anterioridad les mostre una página donde hay videos donde muestran como programar pics desde 0 con explicacion y simulacion, ahora les muestro otros videos pero con el programa pic basic pro, los videos contienen lo siguiente:

  • Codigo de programacion bien detallado.
  • Explicación del mismo
  • Simulacion realizada en Proteus
Por el momento hay 6 videos, realizado por diegokillemall, usando el PIC16F628A y el PIC12F629, chequen su canal de videos dando clic en su nick.



Inclusive ha realizado videos usando MATLAB y SIMULINK igualmente bien explicados.


Leer Más.....

+ Videotutoriales PIC

Como podran notar en la entrada anterior les comente respecto a unos videotutoriales que hablan sobre los PIC ahora ya hay más videotutoriales en linea, los cuales no necesitas descargar, los puedes ver como si estuvieras en youtube, por el momento hay 10 videos. Así que si te interesa checalos, clic sobre la imagen.


Leer Más.....

Videotutoriales Para Programar PICs desde 0

Cansado de leer libros sobre microcontroladores, pues problema resuelto, en MicroPIC podrás encontrar videotutoriales que empiezan desde 0, en español y con todo lujo de detalles.

Son 6 las lecciones que nos regala el maestro Roosvelt Aristizabal en ficheros .MOV compatibles con Quicktime. Empiezan con el PIC 16F628 para continuar con el famoso PIC 16F84, explorando la datasheet de cada microcontrolador.

Leer Más.....

Usando Proton...

Navegando por ahi, me encontre con un blog el cual enseña con unos cuantos tutoriales programar PICs de manera sencilla, ellos usan el compilador PROTON que es como PIC BASIC Pro, pero que es aún mas facil de realizar programas y más didactico, en Doppel Blog te muestran como puedes hacerlo, les dejo una reseña del blog;

A partir de este momento vamos a colocar una serie de ejemplos sencillos que muestran como iniciarse con este compilador para micros, con esto no pretendo que después de leer esta serie de articulos ud. sea experto en microcontroladores, pero si intento que muchas personas que están interesadas en los PIC’s puedan comenzar haciendo sus primeros programas de una forma sencilla, no piense que vamos a hacer todo el trabajo por ud. aqui es donde necesitamos que cada uno ponga su parte, leyendo y familiarizandose con el compilador y sus instrucciones, y eso ya corre por su cuenta.-

Primeramente necesitamos tener los programas instalados así que si está interesado a prepararse.-

Puede descargar proton en su versión lite, cuya limitación es la cantidad de 50 líneas de código y no mas de 4 modelos diferentes de pic’s dos de la serie 12fxxx y dos de la serie 16fxxx, para comenzar será mas que suficiente.

Photobucket

clic sobre la imagen


Leer Más.....

Suministro de Voltaje para Microcontroladores

La gran mayoria de los Microcontroladores opera con lógica estandar de voltaje que son +5v. Algunos Microcontroladores operan hasta un minimo de +2.7 voltios y otros tienen una tolerancia maxima de +6v sin presentar ningun problema, pero siempre es bueno revisar el datasheet del PIC que usaran para saber cuales son sus limites respecto al suministro de voltaje para su funcionamiento.

Por lo general se usa un regulador de voltaje (7805) para obtener el voltaje deseado de 5 voltios cuando se usan baterias o adaptadores de voltaje. Por ejemplo cuando usamos una bateria de 9v podemos usar dicho regulador.

Si necesitan armar una fuente pueden checar los siguientes links:

Fuente de 5V
Fuente Regulable

Leer Más.....

Desplazamiento de Luces usando LEDs

Desplazando de izq a derecha y de derecha a izq


Practica:Desplazando LEDs

Descripción: 8 LEDs son conectados al PORTB del PIC. Los LEDs cuentan con una separacion de tiempo de 240ms. El contador empieza de 1 (10000000) y llega a 128 (00000001) y lo repite nuevamente, lo explicare mas detalladamente, contamos con 8 LEDs, los cuales se encenderan de a uno, ¿de que manera? encendiendo los leds hacia la izquierda:

se enciende el led1 equivale a 00000001 en decimal 1
se enciende el led2 equivale a 00000010 en decimal 2
se enciende el led3 equivale a 00000100 en decimal 4
se enciende el led4 equivale a 00001000 en decimal 8
se enciende el led5 equivale a 00010000 en decimal 16
se enciende el led6 equivale a 00100000 en decimal 32
se enciende el led7 equivale a 01000000 en decimal 64
se enciende el led8 equivale a 10000000 en decimal 128

y hacia la derecha es a la inversa. Nuestro programa constara de dos fases inciara desplazando hacia la izquierda (en decimal seria en 1) y comparará si es igual a 64(en decimal) si no es asi pues sigue desplazando hacia la izquierda eso lo hace con el operador aritmetico << si la comparacion sale cierta se salta a inicioDOS (etiqueta utilizada en el programa) el cual coloca el contador en 128 (osea 10000000) con esto empieza el desplazamiento hacia la derecha y realiza nuevamente la comparacion si es igual a 1(en decimal) se pasa al desplazamiendo hacia la izquierda sino sigue igual desplazando hacia la derecha con el operador aritmetico >> para entenderlo chequen el codigo y la simulacion.

Nota: El voltaje consumido por el LED es aproximadamente de 2V. Asumiendo que la corriente que consume el LED es de 10mA, calculando la resistencia:

R=V/I=(5-2)/10mA= 0.3K = 330 Ohms

Materiales:

PIC16F84A
Resistencia de 330Ohms, 4.7K
8 LEDs
Cristal de 4MHZ


Estructura del Programa

'DEFINICIONES
contador var byte
contadorDOS var byte

'DEFINIENDO PUERTO
TRISB = 0

'iniciando programa
'desplazando hacia la izquierda
inicio:
contador = 1
repetir:
PORTB = contador
pause 240
if contador = 64 then inicioDOS
contador = contador <<>

'desplazando hacia la derecha
inicioDOS:
contadorDOS = 128
repetirDOS:
PORTB = contadorDOS
PAUSE 240
if contadorDOS = 2 then inicio
contadorDOS = contadorDOS >> 1
goto repetirDOS

END

DIAGRAMA
Photobucket

SIMULACION


Photobucket

++ DESCARGAR ARCHIVO ++

Photobucket



Leer Más.....

Pic Basic Pro: Manual en Español

Para todo buen programa se necesita un buen tutorial, cuando empeze a utilizar este programa encontre un buen tutorial en español con las instrucciones a utilizar.

++ Descargar Tutorial ++
Photobucket


Tambien hay un tutorial ONLINE: ver link Traducido en TodoPic

El que descargan lo encontre en Emagister, les dejo el link por si lo quieren chekar:

Solo queda agradecerle a la persona que lo tradujo, por esa labor tan importante.



Leer Más.....

Practicas Realizadas con el PIC16F84A

Al fin realice el video las practicas, me costo, el programa de movie make me fallo cuando estaba por finalizar de editar el video, asi que me toco hacerlo en otro programa, pero ya esta. El video de las primeras 4 practicas:

Cada una de las practicas tienen su diagrama, animacion, detalles de la programacion, simulacion y video. Pronto màs.... Espero opiniones respecto a estas primeras practicas... a ver que les parecio....

Leer Más.....

El Encendido de LEDs pares e Impares

PRACTICA 4


Practica: Encendido LEDs pares e impares con intervalos de tiempo.

Descripción: 8 LEDs son conectados al PORTB del PIC. Cuando el se inicia o cuando se pulsa reset, pasara la siguiente secuencia:

Encienden los LEDs impares
Espera 1 segundo
Encienden los LEDs pares
Espera 1 segundo
Encienden los LEDS impares
…………..
…………..
…………..

Se enviara al PORTB un numero hexadecimal, aunque tambien se puede hacer con uno decimal.

Hexadecimal($)-------- Decimal(%)
_____AA____________ 10101010_____ IMPARES
_____55____________ 01010101_____PARES

Donde 0 es un cero logico, y 1 un 1 logico. Para pasar a hexadecimal utilice el programa HEXER. Realmente depende de la persona si usar hexadecimal o decimal.

Nota: El voltaje consumido por el LED es aproximadamente de 2V. Asumiendo que la corriente que consume el LED es de 10mA, calculando la resistencia:
R=V/I=(5-2)/10mA= 0.3K = 330 Ohms

Materiales:

PIC16F84A
Resistencia de 330Ohms, 4.7K
8 LED
Cristal de 4MHZ
Push Botton

Estructura del Programa

'DEFINIENDO PUERTO
TRISB = 0

'iniciando programa
inicio:
PORTB = $AA

pause 1000
PORTB = $55
pause 1000
goto inicio
end

Diagrama


Simulacion


++ Descargar Documentacion y archivos ++
Photobucket

Leer Más.....

LEDs como luces de advertencia

PRACTICA 3

Practica: Encendido de LED como luces de advertencia

Descripción: 2 LEDs están conectados a un pin del puerto del Pic (PORTB (RB0)), y los LEDs encienden alternadamente con 1 segundo de espera.

Nota: El voltaje consumido por el LED es aproximadamente de 2V. Asumiendo que la corriente que consume el LED es de 10mA, calculando la resistencia:
R=V/I=(5-2)/10mA= 0.3K = 330 Ohms

Materiales:
- PIC16F84A
- Resistencia de 330Ohms, 4.7K
- 2 LED
- Cristal de 4MHZ
- Push Botton


Estructura del Programa

Mismo programa Practica 1

DIAGRAMA
Photobucket

SIMULACION
Photobucket

++ Descargar Archivo ++

Photobucket

Leer Más.....

PIC16F84A: Encendiendo un Led con secuencia

PRACTICA 2

Practica: Encendido de un Led a distintos intervalos

Descripción: Un LED es conectado a un pin del puerto del Pic (PORTB (RB0)), y el led enciende con ciertos intervalos como lo muestra la siguiente secuencia:

Enciende 3 veces con intervalos de 300ms en cada encendido.
2 segundos de pausa.
Enciende 3 veces con intervalos de 300ms en cada encendido.
2 segundos de pausa.
Enciende 3 veces con intervalos de 300ms en cada encendido.
2 segundos de pausa.
Y así sucesivamente.


Nota: El voltaje consumido por el LED es aproximadamente de 2V. Asumiendo que la corriente que consume el LED es de 10mA, calculando la resistencia:
R=V/I=(5-2)/10mA= 0.3K = 330 Ohms

Materiales:
- PIC16F84A
- Resistencia de 330Ohms, 4.7K
- LED
- Cristal de 4MHZ
- Push Botton


Estructura del Programa


'Definiendo Variables
contador var byte 'Declara contador como un byte

'Inicio del programa
TRISB=0 'Coloca el puertob como salida

INICIO:
for contador = 1 to 3
PORTB.0=1 'enciende el LED
PAUSE 300 'espera 300ms
PORTB.0=0 'apaga el LED
pause 300 'espera 300ms
next contador 'repite el ciclo 3 veces
pause 2000 'espera 2 segundos
goto INICIO
END
'ver en el foro programa


DIAGRAMA
Photobucket

SIMULACION
Photobucket

++ Descargar Documentacion y archivos ++
Photobucket

Leer Más.....

Encendiendo un LED con PIC16F84A

PRACTICA 1

Practica: Encendido de un Led

Programa: MicroCode Studio y PicBasic Pro

Descripción: Un LED es conectado a un pin del puerto del Pic (PORTB (RB0)), y el led enciende con intervalos de 1 segundo.

El voltaje consumido por el LED es aproximadamente de 2V. Asumiendo que la corriente que consume el LED es de 10mA, calculando la resistencia:

R=V/I=(5-2)/10mA= 0.3K = 330 Ohms

Estructura del Programa:
' Definir variables
LED VAR PORTB.0
' EMPIEZA EL PROGRAMA

TRISB.0 = 0
AGAIN:

LED = 1

PAUSE 1000
LED = 0

PAUSE 1000
GOTO AGAIN

END
'la explicacion del programa la encontraran en el foro

Diagrama:

Simulacion
encendido led con pic

++ Descargar Documentacion y archivos ++
Photobucket

Nota: mas adelante colocare el video

Leer Más.....

¿Como cargar archivo .hex en PROTEUS?

¿Como cargar archivo .hex en PROTEUS?

Primero abrimos el programa y cargamos el circuito a utilizar:



Luego dependiendo la version del PROTEUS que tengas, clic derecho sobre el PIC y veras que tendra un contorno rojo, luego clic izquierdo y aparecerá la siguiente ventana:



En la pestaña Program File, clic en el icono de carpeta y buscaras el archivo .hex, luego en el reloj a utilizar ya dependera de cual es el que necesites, en este caso necesitaba uno de 4MHZ.

Asi de facil.

Leer Más.....