Grabacion de microcontroladores_pic

Melvin Gustavo Balladares Rocha
Melvin Gustavo Balladares RochaIngeniero Electronico
SEMINARIO TALLER
GRABACION DE
MICROCONTROLADORES “PIC”
APLICADOS A LA ROBOTICA
EXPOSITOR: ING. MELVIN GUSTAVO
BALLADARES ROCHA
INTRODUCCION
• QUE ES UN MICROCONTROLADOR
• Un microcontrolador es un circuito integrado, en
cuyo interior posee toda la arquitectura de un
computador, esto comprende lo que es CPU,
memorias RAM, EEPROM, y circuitos de entrada
y salida.
• Existen muchas familias fabricantes de
microcontroladores, entre las más comunes
están:
• Atmel (AVR ), Hitachi (H8), Intel de 8 bits (8XC42, MCS51, 8xC251) o Intel de 16
bits (MCS96, MXS296), National Semiconductor (COP8), Microchip, Motorola
de 8 bits (68HC05, 68HC08, 68HC11) o de 16 bits (68HC12, 68HC16) o de 32
bits (683xx ), NEC (78K), Texas Instruments (TMS370) y Zilog (Z8, Z86E02).
APLICACIONES DE LOS
MICROCONTROLADORES
Grabacion de microcontroladores_pic
Un microcontrolador de fábrica, no realiza tarea alguna, este debe ser
programado para que realice desde el simple parpadeo de un led hasta el
sofisticado control de un robot.
ESTRUCTURA INTERNA
Un microcontrolador es capaz de realizar la tarea de
muchos circuitos lógicos como compuertas AND, OR,
NOT, NAND, conversores A/D, D/A, temporizadores,
decodificadores, etc., simplificando todo el diseño a
una placa de reducido tamaño y pocos elementos.
• Los PIC son una familia de microcontroladores
tipo RISC fabricados por Microchip Technology
Inc. y derivados del PIC1650, originalmente
desarrollado por la división de microelectrónica
de General Instrument.
• El nombre actual no es un acrónimo. En realidad,
el nombre completo es PICmicro, aunque
generalmente se utiliza como Peripheral
Interface Controller (controlador de interfaz
periférico).
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
Grabacion de microcontroladores_pic
TIPOS DE CRISTALES Y
OSCILADORES
EL MICROCONTROLADOR PIC
16F628A
Los microcontroladores PIC (Peripheral interface Controller). Uno de los
microcontroladores más populares en la actualidad es el PIC16F628A y sus
variantes PIC16F627A y PIC16F648A, estos modelos (serie A) soportan hasta
100.000 ciclos de escritura en su memoria FLASH, y 1’000.000 ciclos en su
memoria Eeprom, este reemplaza rápidamente al popular PIC16F84A, pues
presenta grandes ventajas como son:
• oscilador interno RC de 4MHZ,
• MCLR programable,
• mayor capacidad de corriente,
• programación en bajo voltaje
Lo hacen al PIC16F628A, como el microcontrolador ideal para
estudiantes y aficionados, ya que al tener oscilador interno y el
MCLR (master clear) sea programable, es mucho más sencillo
ponerlo en funcionamiento, basta con conectar al pin 14 a 5V y el
pin 5 a tierra para que empiece a trabajar.
CARACTERISTICAS GENERALES
Hasta aquí se puede resumir las características más relevantes del
PIC16F628A, estas son:
• Velocidad de operación hasta 20 MHZ con oscilador externo.
• Oscilador interno RC (resistencia condensador) de 4 MHZ calibrado
de fábrica al ±1 %.
• Admite 8 configuraciones de oscilador.
• 8 niveles de PILA.
• Procesador con arquitectura HARVARD.
• Conjunto reducido de instrucciones RISC (35) gama media.
• Instrucciones de un ciclo excepto los saltos (200nS por instrucción a
20 MHZ).
• Resistencias PULL-UP programables en el puerto B.
• Pin RA5 MCLR programable como reset externo o pin de entrada.
• Rango de operación desde 3V. hasta 5.5V.
• 15 pines de I/O y 1 sólo de entrada (RA5).
• Temporizador Perro guardián WDT independiente del oscilador.
• Programable con bajo voltaje LPV (5V.).
• Programación serial en Circuito ICSP por 2 pines: RB6 reloj y RB7
datos.
• Código de protección programable por sectores.
• Memoria de programa FLASH 2048K. de 100.000 ciclos escritura/borrado.
• Memoria de datos EEPROM de 1.000.000 ciclos escritura/borrado de 100 años
retención.
• 2 circuitos comparadores análogos con entradas multiplexadas.
• 3 Timers, Timer 0 a 8 bits, Timer 1 a 16 bits y Timer 2 a 8 bits.
• Módulos CCP, Captura compara 16 bits, y PWM, modulación de ancho
de pulso 10 bits.
• 10 fuentes de interrupción.
• Módulo de comunicación serial USART/SCI.
• Capacidad de corriente para encender led's directamente (25 mA I/O)
por cada pin.
CARACTERISTICAS GENERALES
RECONOCIMIENTO DE PINES Y
SUS FUNCIONES
Excluyendo los dos pines de alimentación,
todos los 16 pines restantes pueden ser
configurados como entradas o salidas, algunos
de ellos tienen funciones especiales.
RECONOCIMIENTO DE PINES Y
SUS FUNCIONES
HERRAMIENTAS PARA EL
MONTAJE DE PROYECTOS
• Protoboard.
• Resistencias de varios valores,
• Una PC con el siguiente software instalado: PROTEUS, SOFTWARE DIY K150,
MICROCODE STUDIO.( ademas de librerias de microcontroladores)
• leds
• Grabador pick150, microcontrolador PIC 16F628A, fuente de alimentación.
CALCULOS PARA EL MONTAJE
DE PROYECTOS
Es muy importante saber que en las salidas del microcontrolador al ser encendidas
mediante el programa, esta salida entrega el mismo valor de tensión con el que se energiza
el microcontrolador, es decir, si el microcontrolador es alimentado con 5V en sus salidas
tendremos 5V.
Por defecto del fabricante este recomienda que como máximo de carga para una salida del
microcontrolador solo se puede alimentar dos led’s. Si por algún motivo se desea mayor
corriente se utiliza un transistor.
Para realizar el cálculo de la resistencia para energizar el led debemos saber lo siguiente:
Tensión de trabajo del led 1.5V
Corriente nominal de un led 0.016A
Tensión de trabajo (salida microcontrolador) 5V
La caída de tensión de la resistencia es:
Ur = Ut - Uled
Ur = 5V – 1.5V
Ur = 3.5V
CALCULOS PARA EL MONTAJE
DE PROYECTOS
EMPEZANDO CON LA
PROGRAMACION
Para poder entender la diferencia entre los dos lenguajes de
programación, se debe tener en claro
qué es un lenguaje de alto nivel y qué es un lenguaje de bajo nivel, a
través del siguiente cuadro
podemos ver los niveles de programación.
DECLARACIONES DISPONIBLES
EN EL COMPILADOR
Debemos entender que declaraciones son cada una de las
palabras que el compilador pbp 2.47
tiene reservado para realizar una tarea específica, las más
utilizadas son: HIGH, LOW, PAUSE,
GOSUB, GOTO, LCDOUT, SERIN, SEROUT, FOR, NEXT, IF, THEN,
SOUND, END, un
ejemplo:
HIGH portb.3
A continuación las 83 instrucciones disponibles con una breve explicación.
DECLARACIONES DISPONIBLES
EN EL COMPILADOR
DECLARACIONES DISPONIBLES
EN EL COMPILADOR
DEFINE ADC_BITS 8 'Number of bits in ADCIN result
DEFINE ADC_CLOCK 3 'ADC clock source (rc = 3)
DEFINE ADC_SAMPLEUS 50 'ADC sampling time in microseconds
DEFINE BUTTON_PAUSE 10 'Button debounce delay in ms
DEFINE CCP1_REG PORTC 'Hpwm 1 pin port
DEFINE CCP1_BIT 2 'Hpwm 1 pin bit
DEFINE CCP2_REG PORTC 'Hpwm 2 pin port
DEFINE CCP2_BIT 1 'Hpwm 2 pin bit
DEFINE CHAR_PACING 1000 'Serout character pacing in us
DEFINE DEBUG_REG PORTB 'Debug pin port
DEFINE DEBUG_BIT 0 'Debug pin bit
DEFINE DEBUG_BAUD 2400 'Debug baud rate
DEFINE DEBUG_MODE 1 'Debug mode: 0 = True, 1 = Inverted
DEFINE DEBUG_PACING 1000 'Debug character pacing in us
DEFINE DEBUGIN_REG PORTB 'Debugin pin port
DEFINE DEBUGIN_BIT 0 'Debugin pin bit
DEFINE DEBUGIN_MODE 1 'Debugin mode: 0 = True, 1 = Inverted
DEFINE HPWM2_TMR 1 'Hpwm 2 timer select
DEFINE HPWM3_TMR 1 'Hpwm 3 timer select
DECLARACIONES DISPONIBLES
EN EL COMPILADOR
DEFINE HSER_BAUD 2400 'Hser baud rate
DEFINE HSER_CLROERR 1 'Hser clear overflow automatically
DEFINE HSER_SPBRG 25 'Hser spbrg init
DEFINE HSER_RCSTA 90h 'Hser receive status init
DEFINE HSER_TXSTA 20h 'Hser transmit status init
DEFINE HSER_EVEN 1 'Use only if even parity desired
DEFINE HSER_ODD 1 'Use only if odd parity desired
DEFINE HSER_BITS 9 'Use 9th bit for parity
DEFINE HSER2_BAUD 2400 'Hser(2) baud rate
DEFINE HSER2_CLROERR 1 'Hser(2) clear overflow automatically
DEFINE HSER2_SPBRG 25 'Hser(2) spbrg init
DEFINE HSER2_RCSTA 90h 'Hser(2) receive status init
DEFINE HSER2_TXSTA 20h 'Hser(2) transmit status init
DEFINE HSER2_EVEN 1 'Hser(2) Use only if even parity desired
DEFINE HSER2_ODD 1 'Hser(2) Use only if odd parity desired
DEFINE HSER2_BITS 9 'Hser(2) Use 9th bit for parity
DEFINE I2C_HOLD 1 'Pause I2C transmission while clock held low
DEFINE I2C_INTERNAL 1 'Use for internal EEPROM on 16CExxx and 12CExxx
DEFINE I2C_SCLOUT 1 'Set serial clock to bipolar instead of open-collector
DECLARACIONES DISPONIBLES
EN EL COMPILADOR
DEFINE I2C_SLOW 1 'Use for >8MHz OSC with standard speed devices
DEFINE I2C_SDA PORTA,0 'Data pin for I2C (12-bit core only)
DEFINE I2C_SCL PORTA,1 'Clock pin for I2C (12-bit core only)
DEFINE LCD_DREG PORTA 'LCD data port
DEFINE LCD_DBIT 0 'LCD data starting bit 0 or 4
DEFINE LCD_RSREG PORTA 'LCD register select port
DEFINE LCD_RSBIT 4 'LCD register select bit
DEFINE LCD_EREG PORTB 'LCD enable port
DEFINE LCD_EBIT 3 'LCD enable bit
DEFINE LCD_RWREG PORTE 'LCD read/write port
DEFINE LCD_RWBIT 2 'LCD read/write bit
DEFINE LCD_BITS 4 'LCD bus size 4 or 8
DEFINE LCD_LINES 2 'Number lines on LCD
DEFINE LCD_COMMANDUS 2000 'Command delay time in us
DEFINE LCD_DATAUS 50 'Data delay time in us
DEFINE LOADER_USED 1 'Bootloader Used
DEFINE NO_CLRWDT 1 'Forces manual use of CLRWDT
DEFINE ONINT_USED 1 'Serves as LOADER_USED for versions before 2.33
DEFINE PULSIN_MAX 1000 'Maximum counts allowed before pulsin times out
DEFINE OSC 4 'Oscillator speed in MHz: 3(3.58) 4 8 10 12 16 20 24 25 32 33 40
DECLARACIONES DISPONIBLES
EN EL COMPILADOR
DEFINE OSCCAL_1K 1 'Set OSCCAL for PIC12C671/CE673
DEFINE OSCCAL_2K 1 'Set OSCCAL for PIC12C672/CE674
DEFINE SER2_BITS 8 'Set number of data bits for Serin2 and Serout2
DEFINE SER2_ODD 1 'Use odd parity instead of even parity
DEFINE SHIFT_PAUSEUS 50 'Slow down the Shiftin and Shiftout clock
DEFINE USE_LFSR 1 'Use 18Cxxx LFSR instruction
DEFINE XINXLAT_OFF 1 'Don’t translate Xin commands to BS2 format
DEFINE XOUTXLAT_OFF 1 'Don’t translate Xout commands to BS2 format
DECLARACIONES DISPONIBLES
EN EL COMPILADOR
MICROCODE ESTUDIO
Antes o después de realizar el programa seleccionamos el microcontrolador a ser
utilizado en el programa MICROCODE STUDIO que se encuentra que se encuentra en
la tercera barra de herramientas en la parte superior izquierda por defecto se
encuentra el pic16f628, nosotros lo cambiamos a pic16f628a.
Terminado nuestro programa y seleccionado el
microcontrolador guardamos el archivo con el nombre
deseado.
MICROCODE ESTUDIO
Seleccionamos el directorio donde empezaremos a compilar y guardar
nuestros proyectos.
MICROCODE ESTUDIO
Terminado nuestro programa y seleccionado el microcontrolador
guardamos el archivo con el nombre deseado.
Guardado el programa realizamos la compilación del mismo con la primera
herramienta de la tercera
barra de herramientas con la tecla rápida F9.
MICROCODE ESTUDIO
Si el programa no contiene errores la compilación será correcta y en la parte inferior izquierda aparecerá un mensaje
indicando las palabras utilizada de la memoria del pic16f628a.
Para finalizar debemos simular nuestro programa y verificar si no tiene fallas.
MICROCODE ESTUDIO
PROTEUS
La simulación se la realiza en el programa
PROTEUS con la herramienta ISIS:
Los materiales para la simulación son los siguientes:
• pic16f628a
• led
• resistencia 220Ω
Para extraer los materiales abrimos la ventana de librerías, escribimos el código de la pieza a ser
utilizada y aceptamos con doble clic o pulsamos el icono de OK.
PROTEUS
De la misma manera para el led pero con el
nombre de “led animated” para poder simular
nuestro programa y visualizar la luminosidad
del led, escogemos el color de nuestro agrado.
PROTEUS
Para la resistencia buscamos “resistor” en la
lista de “category”, en la lista de “sub category”
buscamos la potencia de la resistencia en este
caso 0.6W.
PROTEUS
PROTEUS
En la parte izquierda aparecen los dispositivos extraídos de las
librerías en una lista para poderlos simular hacemos un clic
sobre el dispositivo y clic en la hoja de trabajo armando el
circuito, acomodamos el dispositivo donde nos sea más
ordenado.
PROTEUS
Realizamos las conexiones con el puntero del ratón sobre el extremo
del pin que queremos conectar damos un clic y desplazamos al primer
extremo de la resistencia terminado la conexión con otro clic y luego
del segundo extremo de la resistencia al ánodo del led.
Para que el led trabaje el cátodo debe ir conectado a negativo o a tierra. Para realizar la
conexión a tierra hacemos clic en el icono de “terminals mode”, clic en”ground” y clic en el la
hoja de trabajo para realizar la conexión.
En la cuarta línea que indica “programa file” hacemos clic en el icono de la carpeta abierta,
para cargar el programa buscamos el archivo. HEX donde guardamos el programa compilado
del MICROCODE STUDIO
PROTEUS
PROTEUS
Con esto termina la conexión ahora solo queda cargar el programa al
pic, para esto damos doble clic en el microcontrolador y nos aparecerá
una venta:
PROTEUS
PROTEUS
Clic sobre el archivo y abrir, después el
programa vuelve a la anterior ventana donde
ajustamos el valor del cristal a utilizar en la
quinta línea en este caso de 4Mhz.
Y por último OK para cerrar la ventana y play
para empezar la simulación.
Realizado todo esto verificamos que nuestro programa funcione
correctamente para llevarlo a la forma física.
PROTEUS
GRABANDO EL PROGRAMA AL
PIC
Antes de gravar el programa debemos aumentar 3 líneas principales:
Define CLOCK_FREQUENCY = 4 ' (4 Mhz) para el compilador => Pic Simulator Ide
DEFINE OSC 4
(Indicamos que el valor del cristal es de 4Mhz).
Define mclr_off
(Desactivamos el reseteo externo del pic para poder utilizar el pin RA.5).
CMCON = 7
(Desactivamos los comparadores de voltaje para que la compuerta A trabaje como digital).
Entonces el código queda de la siguiente forma:
GRABANDO EL PROGRAMA AL
PIC
Todo completo sera:
trisb.0=0 ;Convertimos Puerto b en Salidas
inicio: ; nombre de subrutina inicio
HIGH portb.1 ; enciende el led que esta
conectado en el pin 7
PAUSE 1000 ; espera un segundo
LOW portb.1 ; apaga el led
PAUSE 1000 ; espera un segundo
GOTO inicio ; continúa el programa para siempre
Volver diapositiva 45
GRABANDO EL PROGRAMA AL
PIC
Guardamos el código y lo compilamos
nuevamente. Si no colocamos estas cuatro
líneas tendremos problemas al montar el
circuito ya que por defecto el programa
utiliza cristal externo, reseteo del pic y los
comparadores de tensión, este último trae
problemas al utilizar la compuerta A como
entrada.
El programa que utilizaremos es el
MICROBURN, el primer paso a realizar es
abrir el soft observar el modelo y colocar
el pic en el grabador luego conectar este a
la PC.
Una vez conectado abrimos el programa y este
reconocerá el pic inmediatamente.
GRABANDO EL PROGRAMA AL
PIC
Si el pic es reconocido debemos
cargar el programa en la
herramienta “Load” e “Import
HEX”.
GRABANDO EL PROGRAMA AL
PIC
Una vez cargado se podrá apreciar que los números hexadecimales encontrados
en “Program Memory” cambian.
GRABANDO EL PROGRAMA AL
PIC
Presionamos el icono de “Program” y
el programa será grabado al pic,
podremos notar que los led’s del
grabador parpadean y si la grabación
es correcta aparecerá un mensaje con
el fondo de color verde.
GRABANDO EL PROGRAMA AL
PIC
Grabacion de microcontroladores_pic
Por último armamos el circuito.
MONTAJE DEL CIRCUITO
Grabacion de microcontroladores_pic
NOMBRES DE LOS PUERTOS
PARA LOS DIFERENTES MC
Nombre de los puertos para
los diferentes
Microcontroladores
(12fxx,16fxx,18fxx)
Nombre de los puertos para los diferentes
Microcontroladores (12fxx,16fxx,18fxx)
EJEMPLOS
Nombre de los puertos para
los diferentes
Microcontroladores
(12fxx,16fxx,18fxx)
Existen diferentes formas para realizar el parpadeo de un led a continuación
veremos las más utilizadas que nos servirán para los proyectos más avanzados y
para obtener comodidad al momento de programar.
Etiquetar o nombrar una puerta.
Las formas de etiquetar una puerta son varias, algunas ya vimos
antes pero las mostramos a continuación.
Led VAR Portb.0
Rojo VAR Porta.0
EJEMPLOS
Nombre de los puertos para
los diferentes
Microcontroladores
(12fxx,16fxx,18fxx)
Diseñar una señal de tipo cuadrada con ciclo útil de 50% on y 50% off frecuencia
de 1 Hz (Prender y apagar un led con lapso de un 1s)
En el siguiente programa daremos un nombre a un puerto para facilitar la programación.
Las diferencias son LED VAR PORTB.3 con esta línea etiquetamos a portb.3 con el nombre de
led, HIGH LED con esta línea encendemos el led y LOW LED apagamos el led. En este
ejemplo no se colocó la instrucción END ya que tenemos GOTO INICIO y el programa se
convertirá un ciclo sin fin.
EJEMPLOS
Nombre de los puertos para
los diferenteEl programa es el
siguiente:
s Microcontroladores
(12fxx,16fxx,18fxx)
Programación con números binarios.
El programa es el siguiente:
EJEMPLOS
Nombre de los puertos para
los diferentes
Microcontroladores
(12fxx,16fxx,18fxx)
Juegos de luces.
Diseñar una secuencia la intercalaremos las puertas del puerto B (0,2,4,6) encendidos y
(1,3,5,7) apagados por medio segundo, después de este (0,2,4,6) se apagaran y (1,3,5,7) se
encenderán por otro medio segundo después este proceso se repetirá.
EJEMPLOS
Nombre de los puertos para
los diferentes
Microcontroladores
(12fxx,16fxx,18fxx)
Diseñar un sistema de control de trafico (semáforo) en el cual tenga la calle 1
tenga 12s para conducir, 3 s para preparar el arranque y 12s para no circular.
La calle 2 12 s para no circular, 3 para preparar motor y 12 para circular.
Utilizar la asignación de variables de tipo “VAR”
Diseñar un sistema de arranque de 8 motores no simultaneo, el arranque de
motor deberá ser cada 2 segundo y cuando el ultimo motor se apague
después de 11 segundos prender todos durante 10s (no tomar en cuentas la
corriente de arranque por motor, ni la caída de tensión en el enganche)
EJEMPLOS
Nombre de los puertos para
los diferentes
Microcontroladores
(12fxx,16fxx,18fxx)
SUBRUTINAS ESPECIALES.-
Una subrutina especial como asi la podriamos
llamar seria la “GOSUB y el RETURN”
Ejemplo.-
Inicio:
Portb.0=%00000001
GUSUB tiempo
Portb.1=%11111111
GOSUB tiempo
Tiempo:
Pause 1000
RETURN
SUBRUTINAS ESPECIALES
La instrucción FOR-NEXT permite a un programa realizar n veces lo programado y su sintaxis es la siguiente:
Donde R es la variable asignada con el valor de 1 hasta 5, es decir se realizara 5 veces lo que este dentro del cuerpo del programa.
Ejemplo
Diseñar las luces de desplazamiento de izquierda a derecha, 7 veces a la izquierda y 7 a la derecha con intervalos de tiempo de 200ms.
INSTRUCCIONES FOR- NEXT
ENTRADAS
Proyectos con pulsadores.
En este capítulo veremos cómo utilizar
entradas a un pic para esto tenemos dos
opciones de circuitos.
En la conexión de la parte izquierda es cuando el pic recibe 5V o 1 lógico constantemente y
cuando sea oprimido el pulsador este recibirá 0V o 0 lógico. En la conexión de la parte
derecha pasa lo contrario el pic recibe 0V o cero lógico constantemente y cuando sea
oprimido el pulsador este recibirá 5V o 1 lógico.
Instrucciones IF-THEN-ELSE-ENDIF
Las siguientes instrucciones son muy utilizadas en los lenguajes de alto nivel, en el caso de
la programación de microcontroladores se utilizaran para diversas aplicaciones una de ellas
seran lo pulsadores.
1 de 70

Recomendados

Sistemas electronicos-de-comunicaciones-frenzel por
Sistemas electronicos-de-comunicaciones-frenzelSistemas electronicos-de-comunicaciones-frenzel
Sistemas electronicos-de-comunicaciones-frenzelNoe Reyes
19.8K vistas333 diapositivas
Apuntes circuitos secuenciales por
Apuntes circuitos secuencialesApuntes circuitos secuenciales
Apuntes circuitos secuencialeskgconchis
6.4K vistas13 diapositivas
DiseñO De Un Contador Con Flip Flops Tipo Jk por
DiseñO De Un Contador Con Flip Flops Tipo JkDiseñO De Un Contador Con Flip Flops Tipo Jk
DiseñO De Un Contador Con Flip Flops Tipo Jkguestff0bcb9e
108K vistas5 diapositivas
Transistores bipolares por
Transistores bipolaresTransistores bipolares
Transistores bipolaresTensor
1.4K vistas31 diapositivas
19206495 transmisor-fm por
19206495 transmisor-fm19206495 transmisor-fm
19206495 transmisor-fmJairo Nava
3.1K vistas24 diapositivas
Curso clp siemens por
Curso clp siemensCurso clp siemens
Curso clp siemensSENAI SP
1.6K vistas100 diapositivas

Más contenido relacionado

La actualidad más candente

Comunicación I2C y SPI por
Comunicación I2C y SPIComunicación I2C y SPI
Comunicación I2C y SPIJonathan Ruiz de Garibay
15K vistas13 diapositivas
ConversióN AnalóGica Digital Y ConversióN Digital AnalóGica por
ConversióN AnalóGica Digital  Y ConversióN Digital AnalóGicaConversióN AnalóGica Digital  Y ConversióN Digital AnalóGica
ConversióN AnalóGica Digital Y ConversióN Digital AnalóGicaEdgar Martinez
13K vistas13 diapositivas
El microcontrolador PIC16F877 por
El microcontrolador PIC16F877El microcontrolador PIC16F877
El microcontrolador PIC16F877SANTIAGO PABLO ALBERTO
225 vistas140 diapositivas
Simuladores electronicos por
Simuladores electronicosSimuladores electronicos
Simuladores electronicosAndresorozco981120
2.6K vistas5 diapositivas
Familias logicas caracteristicas por
Familias logicas caracteristicasFamilias logicas caracteristicas
Familias logicas caracteristicasLuisana Parra
1.4K vistas2 diapositivas
Memorias de un plc y su clasificación por
Memorias de un plc y su clasificaciónMemorias de un plc y su clasificación
Memorias de un plc y su clasificaciónDaniel
38.6K vistas5 diapositivas

La actualidad más candente(20)

ConversióN AnalóGica Digital Y ConversióN Digital AnalóGica por Edgar Martinez
ConversióN AnalóGica Digital  Y ConversióN Digital AnalóGicaConversióN AnalóGica Digital  Y ConversióN Digital AnalóGica
ConversióN AnalóGica Digital Y ConversióN Digital AnalóGica
Edgar Martinez13K vistas
Familias logicas caracteristicas por Luisana Parra
Familias logicas caracteristicasFamilias logicas caracteristicas
Familias logicas caracteristicas
Luisana Parra1.4K vistas
Memorias de un plc y su clasificación por Daniel
Memorias de un plc y su clasificaciónMemorias de un plc y su clasificación
Memorias de un plc y su clasificación
Daniel38.6K vistas
Programacion Lenguaje Assembler 25 10 07 por Carlos Pastorino
Programacion Lenguaje Assembler 25 10 07Programacion Lenguaje Assembler 25 10 07
Programacion Lenguaje Assembler 25 10 07
Carlos Pastorino38.8K vistas
Microcontroladores: Los microcontroladores AVR de ATMEL parte 1 por SANTIAGO PABLO ALBERTO
Microcontroladores: Los microcontroladores AVR de ATMEL parte 1Microcontroladores: Los microcontroladores AVR de ATMEL parte 1
Microcontroladores: Los microcontroladores AVR de ATMEL parte 1
Ciclo de instrucciones CPU por Eduardo Suarez
Ciclo de instrucciones CPUCiclo de instrucciones CPU
Ciclo de instrucciones CPU
Eduardo Suarez19.1K vistas
Seaparat elect pote por Luis Sanchez
Seaparat elect poteSeaparat elect pote
Seaparat elect pote
Luis Sanchez18.8K vistas
Laboratorio 3 electrónica de potencia I por gino machuca
Laboratorio 3 electrónica de potencia ILaboratorio 3 electrónica de potencia I
Laboratorio 3 electrónica de potencia I
gino machuca1.3K vistas

Similar a Grabacion de microcontroladores_pic

Pic16 f877 por
Pic16 f877Pic16 f877
Pic16 f877Lopez Guzman
1.2K vistas22 diapositivas
Microcontroladores pic14f84a por
Microcontroladores pic14f84aMicrocontroladores pic14f84a
Microcontroladores pic14f84adanqueas
599 vistas29 diapositivas
At89c52 por
At89c52At89c52
At89c52Ulises Paz
2.1K vistas53 diapositivas
Microprosedador por
MicroprosedadorMicroprosedador
Microprosedadordy vc
65 vistas8 diapositivas
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886 por
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886Victor Asanza
5.6K vistas17 diapositivas
Ud1 3 microcontrolador_pic por
Ud1 3 microcontrolador_picUd1 3 microcontrolador_pic
Ud1 3 microcontrolador_picarnadillo
721 vistas42 diapositivas

Similar a Grabacion de microcontroladores_pic(20)

Microcontroladores pic14f84a por danqueas
Microcontroladores pic14f84aMicrocontroladores pic14f84a
Microcontroladores pic14f84a
danqueas599 vistas
Microprosedador por dy vc
MicroprosedadorMicroprosedador
Microprosedador
dy vc65 vistas
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886 por Victor Asanza
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
⭐⭐⭐⭐⭐ (Práctica 6) DESARROLLO DE APLICACIONES CON PIC16F886
Victor Asanza5.6K vistas
Ud1 3 microcontrolador_pic por arnadillo
Ud1 3 microcontrolador_picUd1 3 microcontrolador_pic
Ud1 3 microcontrolador_pic
arnadillo721 vistas
Introducción pic 16 f 84 universidad de la marina mercante por Daniel Remondegui
Introducción pic 16 f 84   universidad de la marina mercanteIntroducción pic 16 f 84   universidad de la marina mercante
Introducción pic 16 f 84 universidad de la marina mercante
Daniel Remondegui1.4K vistas
⭐⭐⭐⭐⭐ (Práctica 2) DESARROLLO DE APLICACIONES CON #PIC16F886 por Victor Asanza
⭐⭐⭐⭐⭐ (Práctica 2) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 2) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 2) DESARROLLO DE APLICACIONES CON #PIC16F886
Victor Asanza2.3K vistas
101172 pic16f877-en-espanol1 por grana2810
101172 pic16f877-en-espanol1101172 pic16f877-en-espanol1
101172 pic16f877-en-espanol1
grana281088 vistas
Tutorial-pic16 f877a- algunas-mejoras por Aldo Corp
Tutorial-pic16 f877a- algunas-mejorasTutorial-pic16 f877a- algunas-mejoras
Tutorial-pic16 f877a- algunas-mejoras
Aldo Corp545 vistas
Ud1 4 caracteristicas_pic16_f84a por arnadillo
Ud1 4 caracteristicas_pic16_f84aUd1 4 caracteristicas_pic16_f84a
Ud1 4 caracteristicas_pic16_f84a
arnadillo400 vistas
Implementacion del 16F84A por MicroPart
Implementacion del 16F84AImplementacion del 16F84A
Implementacion del 16F84A
MicroPart3.4K vistas
Microcontroladores: Fundamentos de microprocesadores y microcontroladores por SANTIAGO PABLO ALBERTO
Microcontroladores: Fundamentos de microprocesadores y microcontroladoresMicrocontroladores: Fundamentos de microprocesadores y microcontroladores
Microcontroladores: Fundamentos de microprocesadores y microcontroladores
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886 por Victor Asanza
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
⭐⭐⭐⭐⭐ (Práctica 3) DESARROLLO DE APLICACIONES CON #PIC16F886
Victor Asanza5.6K vistas

Más de Melvin Gustavo Balladares Rocha

seminario.pptx por
seminario.pptxseminario.pptx
seminario.pptxMelvin Gustavo Balladares Rocha
8 vistas42 diapositivas
telefonia movil.pptx por
telefonia movil.pptxtelefonia movil.pptx
telefonia movil.pptxMelvin Gustavo Balladares Rocha
7 vistas154 diapositivas
10. normas trabajo en altura telecomunicaciones bolivia.pptx por
10. normas trabajo en altura telecomunicaciones bolivia.pptx10. normas trabajo en altura telecomunicaciones bolivia.pptx
10. normas trabajo en altura telecomunicaciones bolivia.pptxMelvin Gustavo Balladares Rocha
257 vistas141 diapositivas
14. telefonia 5g.pptx por
14. telefonia 5g.pptx14. telefonia 5g.pptx
14. telefonia 5g.pptxMelvin Gustavo Balladares Rocha
8 vistas69 diapositivas
4. ENTES REGULADORES.pptx por
4. ENTES REGULADORES.pptx4. ENTES REGULADORES.pptx
4. ENTES REGULADORES.pptxMelvin Gustavo Balladares Rocha
7 vistas63 diapositivas
8. instalacion en radiofrecuencia.pptx por
8. instalacion en radiofrecuencia.pptx8. instalacion en radiofrecuencia.pptx
8. instalacion en radiofrecuencia.pptxMelvin Gustavo Balladares Rocha
25 vistas79 diapositivas

Más de Melvin Gustavo Balladares Rocha(20)

Último

ENTREGA Inclusión Vehicular IND Retroactiva (1).pdf por
ENTREGA Inclusión Vehicular IND Retroactiva (1).pdfENTREGA Inclusión Vehicular IND Retroactiva (1).pdf
ENTREGA Inclusión Vehicular IND Retroactiva (1).pdfPAUL ESPINOZA HUANUCO
6 vistas1 diapositiva
Aplicaciones de los Materiales .docx.pdf por
Aplicaciones de los Materiales .docx.pdfAplicaciones de los Materiales .docx.pdf
Aplicaciones de los Materiales .docx.pdfNaydelinMartinez2
6 vistas25 diapositivas
MATERIALES Y HERRAMIENTAS PARA INSTALACIONES ELECTRICAS.docx por
MATERIALES Y HERRAMIENTAS PARA INSTALACIONES ELECTRICAS.docxMATERIALES Y HERRAMIENTAS PARA INSTALACIONES ELECTRICAS.docx
MATERIALES Y HERRAMIENTAS PARA INSTALACIONES ELECTRICAS.docxvillacrezja7
7 vistas8 diapositivas
HOJAS MSDS.pptx por
HOJAS MSDS.pptxHOJAS MSDS.pptx
HOJAS MSDS.pptxcalidadtlaltomayo
5 vistas28 diapositivas
MECANICA DE FLUIDOS II-Consolidado II.pdf por
MECANICA DE FLUIDOS II-Consolidado II.pdfMECANICA DE FLUIDOS II-Consolidado II.pdf
MECANICA DE FLUIDOS II-Consolidado II.pdfMatematicaFisicaEsta
11 vistas1 diapositiva
MINEDU guia_prevención atención acoso estudiantes.pdf por
MINEDU guia_prevención atención acoso estudiantes.pdfMINEDU guia_prevención atención acoso estudiantes.pdf
MINEDU guia_prevención atención acoso estudiantes.pdfGustavoRojasVega
9 vistas34 diapositivas

Último(20)

MATERIALES Y HERRAMIENTAS PARA INSTALACIONES ELECTRICAS.docx por villacrezja7
MATERIALES Y HERRAMIENTAS PARA INSTALACIONES ELECTRICAS.docxMATERIALES Y HERRAMIENTAS PARA INSTALACIONES ELECTRICAS.docx
MATERIALES Y HERRAMIENTAS PARA INSTALACIONES ELECTRICAS.docx
villacrezja77 vistas
MINEDU guia_prevención atención acoso estudiantes.pdf por GustavoRojasVega
MINEDU guia_prevención atención acoso estudiantes.pdfMINEDU guia_prevención atención acoso estudiantes.pdf
MINEDU guia_prevención atención acoso estudiantes.pdf
GustavoRojasVega9 vistas
PROTOCOLO MANEJO DE RESIDUOS ORGÁNICOS por INGENIERIAJFB
PROTOCOLO MANEJO DE RESIDUOS ORGÁNICOSPROTOCOLO MANEJO DE RESIDUOS ORGÁNICOS
PROTOCOLO MANEJO DE RESIDUOS ORGÁNICOS
INGENIERIAJFB10 vistas
Transporte terrestre de materiales y residuos peligrosos por Ramses CF
Transporte terrestre de materiales y residuos peligrososTransporte terrestre de materiales y residuos peligrosos
Transporte terrestre de materiales y residuos peligrosos
Ramses CF8 vistas
Numeros reales.pdf por TecnoWaifu
Numeros reales.pdfNumeros reales.pdf
Numeros reales.pdf
TecnoWaifu18 vistas

Grabacion de microcontroladores_pic

  • 1. SEMINARIO TALLER GRABACION DE MICROCONTROLADORES “PIC” APLICADOS A LA ROBOTICA EXPOSITOR: ING. MELVIN GUSTAVO BALLADARES ROCHA
  • 2. INTRODUCCION • QUE ES UN MICROCONTROLADOR • Un microcontrolador es un circuito integrado, en cuyo interior posee toda la arquitectura de un computador, esto comprende lo que es CPU, memorias RAM, EEPROM, y circuitos de entrada y salida.
  • 3. • Existen muchas familias fabricantes de microcontroladores, entre las más comunes están: • Atmel (AVR ), Hitachi (H8), Intel de 8 bits (8XC42, MCS51, 8xC251) o Intel de 16 bits (MCS96, MXS296), National Semiconductor (COP8), Microchip, Motorola de 8 bits (68HC05, 68HC08, 68HC11) o de 16 bits (68HC12, 68HC16) o de 32 bits (683xx ), NEC (78K), Texas Instruments (TMS370) y Zilog (Z8, Z86E02).
  • 6. Un microcontrolador de fábrica, no realiza tarea alguna, este debe ser programado para que realice desde el simple parpadeo de un led hasta el sofisticado control de un robot. ESTRUCTURA INTERNA
  • 7. Un microcontrolador es capaz de realizar la tarea de muchos circuitos lógicos como compuertas AND, OR, NOT, NAND, conversores A/D, D/A, temporizadores, decodificadores, etc., simplificando todo el diseño a una placa de reducido tamaño y pocos elementos.
  • 8. • Los PIC son una familia de microcontroladores tipo RISC fabricados por Microchip Technology Inc. y derivados del PIC1650, originalmente desarrollado por la división de microelectrónica de General Instrument. • El nombre actual no es un acrónimo. En realidad, el nombre completo es PICmicro, aunque generalmente se utiliza como Peripheral Interface Controller (controlador de interfaz periférico).
  • 14. TIPOS DE CRISTALES Y OSCILADORES
  • 15. EL MICROCONTROLADOR PIC 16F628A Los microcontroladores PIC (Peripheral interface Controller). Uno de los microcontroladores más populares en la actualidad es el PIC16F628A y sus variantes PIC16F627A y PIC16F648A, estos modelos (serie A) soportan hasta 100.000 ciclos de escritura en su memoria FLASH, y 1’000.000 ciclos en su memoria Eeprom, este reemplaza rápidamente al popular PIC16F84A, pues presenta grandes ventajas como son: • oscilador interno RC de 4MHZ, • MCLR programable, • mayor capacidad de corriente, • programación en bajo voltaje
  • 16. Lo hacen al PIC16F628A, como el microcontrolador ideal para estudiantes y aficionados, ya que al tener oscilador interno y el MCLR (master clear) sea programable, es mucho más sencillo ponerlo en funcionamiento, basta con conectar al pin 14 a 5V y el pin 5 a tierra para que empiece a trabajar.
  • 17. CARACTERISTICAS GENERALES Hasta aquí se puede resumir las características más relevantes del PIC16F628A, estas son: • Velocidad de operación hasta 20 MHZ con oscilador externo. • Oscilador interno RC (resistencia condensador) de 4 MHZ calibrado de fábrica al ±1 %. • Admite 8 configuraciones de oscilador. • 8 niveles de PILA. • Procesador con arquitectura HARVARD. • Conjunto reducido de instrucciones RISC (35) gama media. • Instrucciones de un ciclo excepto los saltos (200nS por instrucción a 20 MHZ). • Resistencias PULL-UP programables en el puerto B. • Pin RA5 MCLR programable como reset externo o pin de entrada. • Rango de operación desde 3V. hasta 5.5V. • 15 pines de I/O y 1 sólo de entrada (RA5). • Temporizador Perro guardián WDT independiente del oscilador. • Programable con bajo voltaje LPV (5V.). • Programación serial en Circuito ICSP por 2 pines: RB6 reloj y RB7 datos. • Código de protección programable por sectores.
  • 18. • Memoria de programa FLASH 2048K. de 100.000 ciclos escritura/borrado. • Memoria de datos EEPROM de 1.000.000 ciclos escritura/borrado de 100 años retención. • 2 circuitos comparadores análogos con entradas multiplexadas. • 3 Timers, Timer 0 a 8 bits, Timer 1 a 16 bits y Timer 2 a 8 bits. • Módulos CCP, Captura compara 16 bits, y PWM, modulación de ancho de pulso 10 bits. • 10 fuentes de interrupción. • Módulo de comunicación serial USART/SCI. • Capacidad de corriente para encender led's directamente (25 mA I/O) por cada pin. CARACTERISTICAS GENERALES
  • 19. RECONOCIMIENTO DE PINES Y SUS FUNCIONES Excluyendo los dos pines de alimentación, todos los 16 pines restantes pueden ser configurados como entradas o salidas, algunos de ellos tienen funciones especiales.
  • 20. RECONOCIMIENTO DE PINES Y SUS FUNCIONES
  • 21. HERRAMIENTAS PARA EL MONTAJE DE PROYECTOS • Protoboard. • Resistencias de varios valores, • Una PC con el siguiente software instalado: PROTEUS, SOFTWARE DIY K150, MICROCODE STUDIO.( ademas de librerias de microcontroladores) • leds • Grabador pick150, microcontrolador PIC 16F628A, fuente de alimentación.
  • 22. CALCULOS PARA EL MONTAJE DE PROYECTOS Es muy importante saber que en las salidas del microcontrolador al ser encendidas mediante el programa, esta salida entrega el mismo valor de tensión con el que se energiza el microcontrolador, es decir, si el microcontrolador es alimentado con 5V en sus salidas tendremos 5V. Por defecto del fabricante este recomienda que como máximo de carga para una salida del microcontrolador solo se puede alimentar dos led’s. Si por algún motivo se desea mayor corriente se utiliza un transistor. Para realizar el cálculo de la resistencia para energizar el led debemos saber lo siguiente: Tensión de trabajo del led 1.5V Corriente nominal de un led 0.016A Tensión de trabajo (salida microcontrolador) 5V
  • 23. La caída de tensión de la resistencia es: Ur = Ut - Uled Ur = 5V – 1.5V Ur = 3.5V CALCULOS PARA EL MONTAJE DE PROYECTOS
  • 24. EMPEZANDO CON LA PROGRAMACION Para poder entender la diferencia entre los dos lenguajes de programación, se debe tener en claro qué es un lenguaje de alto nivel y qué es un lenguaje de bajo nivel, a través del siguiente cuadro podemos ver los niveles de programación.
  • 25. DECLARACIONES DISPONIBLES EN EL COMPILADOR Debemos entender que declaraciones son cada una de las palabras que el compilador pbp 2.47 tiene reservado para realizar una tarea específica, las más utilizadas son: HIGH, LOW, PAUSE, GOSUB, GOTO, LCDOUT, SERIN, SEROUT, FOR, NEXT, IF, THEN, SOUND, END, un ejemplo: HIGH portb.3
  • 26. A continuación las 83 instrucciones disponibles con una breve explicación.
  • 29. DEFINE ADC_BITS 8 'Number of bits in ADCIN result DEFINE ADC_CLOCK 3 'ADC clock source (rc = 3) DEFINE ADC_SAMPLEUS 50 'ADC sampling time in microseconds DEFINE BUTTON_PAUSE 10 'Button debounce delay in ms DEFINE CCP1_REG PORTC 'Hpwm 1 pin port DEFINE CCP1_BIT 2 'Hpwm 1 pin bit DEFINE CCP2_REG PORTC 'Hpwm 2 pin port DEFINE CCP2_BIT 1 'Hpwm 2 pin bit DEFINE CHAR_PACING 1000 'Serout character pacing in us DEFINE DEBUG_REG PORTB 'Debug pin port DEFINE DEBUG_BIT 0 'Debug pin bit DEFINE DEBUG_BAUD 2400 'Debug baud rate DEFINE DEBUG_MODE 1 'Debug mode: 0 = True, 1 = Inverted DEFINE DEBUG_PACING 1000 'Debug character pacing in us DEFINE DEBUGIN_REG PORTB 'Debugin pin port DEFINE DEBUGIN_BIT 0 'Debugin pin bit DEFINE DEBUGIN_MODE 1 'Debugin mode: 0 = True, 1 = Inverted DEFINE HPWM2_TMR 1 'Hpwm 2 timer select DEFINE HPWM3_TMR 1 'Hpwm 3 timer select DECLARACIONES DISPONIBLES EN EL COMPILADOR
  • 30. DEFINE HSER_BAUD 2400 'Hser baud rate DEFINE HSER_CLROERR 1 'Hser clear overflow automatically DEFINE HSER_SPBRG 25 'Hser spbrg init DEFINE HSER_RCSTA 90h 'Hser receive status init DEFINE HSER_TXSTA 20h 'Hser transmit status init DEFINE HSER_EVEN 1 'Use only if even parity desired DEFINE HSER_ODD 1 'Use only if odd parity desired DEFINE HSER_BITS 9 'Use 9th bit for parity DEFINE HSER2_BAUD 2400 'Hser(2) baud rate DEFINE HSER2_CLROERR 1 'Hser(2) clear overflow automatically DEFINE HSER2_SPBRG 25 'Hser(2) spbrg init DEFINE HSER2_RCSTA 90h 'Hser(2) receive status init DEFINE HSER2_TXSTA 20h 'Hser(2) transmit status init DEFINE HSER2_EVEN 1 'Hser(2) Use only if even parity desired DEFINE HSER2_ODD 1 'Hser(2) Use only if odd parity desired DEFINE HSER2_BITS 9 'Hser(2) Use 9th bit for parity DEFINE I2C_HOLD 1 'Pause I2C transmission while clock held low DEFINE I2C_INTERNAL 1 'Use for internal EEPROM on 16CExxx and 12CExxx DEFINE I2C_SCLOUT 1 'Set serial clock to bipolar instead of open-collector DECLARACIONES DISPONIBLES EN EL COMPILADOR
  • 31. DEFINE I2C_SLOW 1 'Use for >8MHz OSC with standard speed devices DEFINE I2C_SDA PORTA,0 'Data pin for I2C (12-bit core only) DEFINE I2C_SCL PORTA,1 'Clock pin for I2C (12-bit core only) DEFINE LCD_DREG PORTA 'LCD data port DEFINE LCD_DBIT 0 'LCD data starting bit 0 or 4 DEFINE LCD_RSREG PORTA 'LCD register select port DEFINE LCD_RSBIT 4 'LCD register select bit DEFINE LCD_EREG PORTB 'LCD enable port DEFINE LCD_EBIT 3 'LCD enable bit DEFINE LCD_RWREG PORTE 'LCD read/write port DEFINE LCD_RWBIT 2 'LCD read/write bit DEFINE LCD_BITS 4 'LCD bus size 4 or 8 DEFINE LCD_LINES 2 'Number lines on LCD DEFINE LCD_COMMANDUS 2000 'Command delay time in us DEFINE LCD_DATAUS 50 'Data delay time in us DEFINE LOADER_USED 1 'Bootloader Used DEFINE NO_CLRWDT 1 'Forces manual use of CLRWDT DEFINE ONINT_USED 1 'Serves as LOADER_USED for versions before 2.33 DEFINE PULSIN_MAX 1000 'Maximum counts allowed before pulsin times out DEFINE OSC 4 'Oscillator speed in MHz: 3(3.58) 4 8 10 12 16 20 24 25 32 33 40 DECLARACIONES DISPONIBLES EN EL COMPILADOR
  • 32. DEFINE OSCCAL_1K 1 'Set OSCCAL for PIC12C671/CE673 DEFINE OSCCAL_2K 1 'Set OSCCAL for PIC12C672/CE674 DEFINE SER2_BITS 8 'Set number of data bits for Serin2 and Serout2 DEFINE SER2_ODD 1 'Use odd parity instead of even parity DEFINE SHIFT_PAUSEUS 50 'Slow down the Shiftin and Shiftout clock DEFINE USE_LFSR 1 'Use 18Cxxx LFSR instruction DEFINE XINXLAT_OFF 1 'Don’t translate Xin commands to BS2 format DEFINE XOUTXLAT_OFF 1 'Don’t translate Xout commands to BS2 format DECLARACIONES DISPONIBLES EN EL COMPILADOR
  • 33. MICROCODE ESTUDIO Antes o después de realizar el programa seleccionamos el microcontrolador a ser utilizado en el programa MICROCODE STUDIO que se encuentra que se encuentra en la tercera barra de herramientas en la parte superior izquierda por defecto se encuentra el pic16f628, nosotros lo cambiamos a pic16f628a.
  • 34. Terminado nuestro programa y seleccionado el microcontrolador guardamos el archivo con el nombre deseado. MICROCODE ESTUDIO
  • 35. Seleccionamos el directorio donde empezaremos a compilar y guardar nuestros proyectos. MICROCODE ESTUDIO
  • 36. Terminado nuestro programa y seleccionado el microcontrolador guardamos el archivo con el nombre deseado. Guardado el programa realizamos la compilación del mismo con la primera herramienta de la tercera barra de herramientas con la tecla rápida F9. MICROCODE ESTUDIO
  • 37. Si el programa no contiene errores la compilación será correcta y en la parte inferior izquierda aparecerá un mensaje indicando las palabras utilizada de la memoria del pic16f628a. Para finalizar debemos simular nuestro programa y verificar si no tiene fallas. MICROCODE ESTUDIO
  • 38. PROTEUS La simulación se la realiza en el programa PROTEUS con la herramienta ISIS:
  • 39. Los materiales para la simulación son los siguientes: • pic16f628a • led • resistencia 220Ω Para extraer los materiales abrimos la ventana de librerías, escribimos el código de la pieza a ser utilizada y aceptamos con doble clic o pulsamos el icono de OK. PROTEUS
  • 40. De la misma manera para el led pero con el nombre de “led animated” para poder simular nuestro programa y visualizar la luminosidad del led, escogemos el color de nuestro agrado. PROTEUS
  • 41. Para la resistencia buscamos “resistor” en la lista de “category”, en la lista de “sub category” buscamos la potencia de la resistencia en este caso 0.6W. PROTEUS
  • 42. PROTEUS En la parte izquierda aparecen los dispositivos extraídos de las librerías en una lista para poderlos simular hacemos un clic sobre el dispositivo y clic en la hoja de trabajo armando el circuito, acomodamos el dispositivo donde nos sea más ordenado.
  • 43. PROTEUS Realizamos las conexiones con el puntero del ratón sobre el extremo del pin que queremos conectar damos un clic y desplazamos al primer extremo de la resistencia terminado la conexión con otro clic y luego del segundo extremo de la resistencia al ánodo del led.
  • 44. Para que el led trabaje el cátodo debe ir conectado a negativo o a tierra. Para realizar la conexión a tierra hacemos clic en el icono de “terminals mode”, clic en”ground” y clic en el la hoja de trabajo para realizar la conexión. En la cuarta línea que indica “programa file” hacemos clic en el icono de la carpeta abierta, para cargar el programa buscamos el archivo. HEX donde guardamos el programa compilado del MICROCODE STUDIO PROTEUS
  • 45. PROTEUS Con esto termina la conexión ahora solo queda cargar el programa al pic, para esto damos doble clic en el microcontrolador y nos aparecerá una venta:
  • 47. PROTEUS Clic sobre el archivo y abrir, después el programa vuelve a la anterior ventana donde ajustamos el valor del cristal a utilizar en la quinta línea en este caso de 4Mhz.
  • 48. Y por último OK para cerrar la ventana y play para empezar la simulación. Realizado todo esto verificamos que nuestro programa funcione correctamente para llevarlo a la forma física. PROTEUS
  • 49. GRABANDO EL PROGRAMA AL PIC Antes de gravar el programa debemos aumentar 3 líneas principales: Define CLOCK_FREQUENCY = 4 ' (4 Mhz) para el compilador => Pic Simulator Ide DEFINE OSC 4 (Indicamos que el valor del cristal es de 4Mhz). Define mclr_off (Desactivamos el reseteo externo del pic para poder utilizar el pin RA.5). CMCON = 7 (Desactivamos los comparadores de voltaje para que la compuerta A trabaje como digital). Entonces el código queda de la siguiente forma:
  • 50. GRABANDO EL PROGRAMA AL PIC Todo completo sera: trisb.0=0 ;Convertimos Puerto b en Salidas inicio: ; nombre de subrutina inicio HIGH portb.1 ; enciende el led que esta conectado en el pin 7 PAUSE 1000 ; espera un segundo LOW portb.1 ; apaga el led PAUSE 1000 ; espera un segundo GOTO inicio ; continúa el programa para siempre
  • 52. GRABANDO EL PROGRAMA AL PIC Guardamos el código y lo compilamos nuevamente. Si no colocamos estas cuatro líneas tendremos problemas al montar el circuito ya que por defecto el programa utiliza cristal externo, reseteo del pic y los comparadores de tensión, este último trae problemas al utilizar la compuerta A como entrada. El programa que utilizaremos es el MICROBURN, el primer paso a realizar es abrir el soft observar el modelo y colocar el pic en el grabador luego conectar este a la PC. Una vez conectado abrimos el programa y este reconocerá el pic inmediatamente.
  • 53. GRABANDO EL PROGRAMA AL PIC Si el pic es reconocido debemos cargar el programa en la herramienta “Load” e “Import HEX”.
  • 54. GRABANDO EL PROGRAMA AL PIC Una vez cargado se podrá apreciar que los números hexadecimales encontrados en “Program Memory” cambian.
  • 55. GRABANDO EL PROGRAMA AL PIC Presionamos el icono de “Program” y el programa será grabado al pic, podremos notar que los led’s del grabador parpadean y si la grabación es correcta aparecerá un mensaje con el fondo de color verde.
  • 58. Por último armamos el circuito. MONTAJE DEL CIRCUITO
  • 60. NOMBRES DE LOS PUERTOS PARA LOS DIFERENTES MC Nombre de los puertos para los diferentes Microcontroladores (12fxx,16fxx,18fxx) Nombre de los puertos para los diferentes Microcontroladores (12fxx,16fxx,18fxx)
  • 61. EJEMPLOS Nombre de los puertos para los diferentes Microcontroladores (12fxx,16fxx,18fxx) Existen diferentes formas para realizar el parpadeo de un led a continuación veremos las más utilizadas que nos servirán para los proyectos más avanzados y para obtener comodidad al momento de programar. Etiquetar o nombrar una puerta. Las formas de etiquetar una puerta son varias, algunas ya vimos antes pero las mostramos a continuación. Led VAR Portb.0 Rojo VAR Porta.0
  • 62. EJEMPLOS Nombre de los puertos para los diferentes Microcontroladores (12fxx,16fxx,18fxx) Diseñar una señal de tipo cuadrada con ciclo útil de 50% on y 50% off frecuencia de 1 Hz (Prender y apagar un led con lapso de un 1s) En el siguiente programa daremos un nombre a un puerto para facilitar la programación. Las diferencias son LED VAR PORTB.3 con esta línea etiquetamos a portb.3 con el nombre de led, HIGH LED con esta línea encendemos el led y LOW LED apagamos el led. En este ejemplo no se colocó la instrucción END ya que tenemos GOTO INICIO y el programa se convertirá un ciclo sin fin.
  • 63. EJEMPLOS Nombre de los puertos para los diferenteEl programa es el siguiente: s Microcontroladores (12fxx,16fxx,18fxx) Programación con números binarios. El programa es el siguiente:
  • 64. EJEMPLOS Nombre de los puertos para los diferentes Microcontroladores (12fxx,16fxx,18fxx) Juegos de luces. Diseñar una secuencia la intercalaremos las puertas del puerto B (0,2,4,6) encendidos y (1,3,5,7) apagados por medio segundo, después de este (0,2,4,6) se apagaran y (1,3,5,7) se encenderán por otro medio segundo después este proceso se repetirá.
  • 65. EJEMPLOS Nombre de los puertos para los diferentes Microcontroladores (12fxx,16fxx,18fxx) Diseñar un sistema de control de trafico (semáforo) en el cual tenga la calle 1 tenga 12s para conducir, 3 s para preparar el arranque y 12s para no circular. La calle 2 12 s para no circular, 3 para preparar motor y 12 para circular. Utilizar la asignación de variables de tipo “VAR”
  • 66. Diseñar un sistema de arranque de 8 motores no simultaneo, el arranque de motor deberá ser cada 2 segundo y cuando el ultimo motor se apague después de 11 segundos prender todos durante 10s (no tomar en cuentas la corriente de arranque por motor, ni la caída de tensión en el enganche) EJEMPLOS Nombre de los puertos para los diferentes Microcontroladores (12fxx,16fxx,18fxx)
  • 67. SUBRUTINAS ESPECIALES.- Una subrutina especial como asi la podriamos llamar seria la “GOSUB y el RETURN” Ejemplo.- Inicio: Portb.0=%00000001 GUSUB tiempo Portb.1=%11111111 GOSUB tiempo Tiempo: Pause 1000 RETURN SUBRUTINAS ESPECIALES
  • 68. La instrucción FOR-NEXT permite a un programa realizar n veces lo programado y su sintaxis es la siguiente: Donde R es la variable asignada con el valor de 1 hasta 5, es decir se realizara 5 veces lo que este dentro del cuerpo del programa. Ejemplo Diseñar las luces de desplazamiento de izquierda a derecha, 7 veces a la izquierda y 7 a la derecha con intervalos de tiempo de 200ms. INSTRUCCIONES FOR- NEXT
  • 69. ENTRADAS Proyectos con pulsadores. En este capítulo veremos cómo utilizar entradas a un pic para esto tenemos dos opciones de circuitos.
  • 70. En la conexión de la parte izquierda es cuando el pic recibe 5V o 1 lógico constantemente y cuando sea oprimido el pulsador este recibirá 0V o 0 lógico. En la conexión de la parte derecha pasa lo contrario el pic recibe 0V o cero lógico constantemente y cuando sea oprimido el pulsador este recibirá 5V o 1 lógico. Instrucciones IF-THEN-ELSE-ENDIF Las siguientes instrucciones son muy utilizadas en los lenguajes de alto nivel, en el caso de la programación de microcontroladores se utilizaran para diversas aplicaciones una de ellas seran lo pulsadores.

Notas del editor

  1. Un microcontrolador es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria. Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora: unidad central de procesamiento, memoria y periféricos de entrada/salida. Algunos microcontroladores con un consumo de baja potencia (mW o microvatios). Por lo general, tendrá la capacidad para mantener la funcionalidad a la espera de un evento como pulsar un botón o de otra interrupción, el consumo de energía durante el estado de reposo (reloj de la CPU y los periféricos de la mayoría) puede ser sólo nanovatios, lo que hace que muchos de ellos muy adecuados para aplicaciones con batería de larga duración. Otros microcontroladores pueden servir para roles de rendimiento crítico, donde sea necesario actuar más como un procesador digital de señal (DSP), con velocidades de reloj y consumo de energía más altos. Cuando es fabricado el microcontrolador, no contiene datos en la memoria ROM. Para que pueda controlar algún proceso es necesario generar o crear y luego grabar en la EEPROM o equivalente del microcontrolador algún programa, el cual puede ser escrito en lenguaje ensamblador u otro lenguaje para microcontroladores; sin embargo, para que el programa pueda ser grabado en la memoria del microcontrolador, debe ser codificado en sistema numérico hexadecimal que es finalmente el sistema que hace trabajar al microcontrolador cuando éste es alimentado con el voltaje adecuado y asociado a dispositivos analógicos y discretos para su funcionamiento.1
  2. El PIC original se diseñó para ser usado con la nueva CPU de 16 bits CP16000. Siendo en general una buena CPU, ésta tenía malas prestaciones de entrada y salida, y el PIC de 8 bits se desarrolló en 1975 para mejorar el rendimiento del sistema quitando peso de E/S a la CPU. El PIC utilizaba microcódigo simple almacenado en ROM para realizar estas tareas; y aunque el término no se usaba por aquel entonces, se trata de un diseño RISC que ejecuta una instrucción cada 4 ciclos del oscilador. En 1985 la división de microelectrónica de General Instrument se separa como compañía independiente que es incorporada como filial (el 14 de diciembre de 1987 cambia el nombre a Microchip Technology y en 1989 es adquirida por un grupo de inversores) y el nuevo propietario canceló casi todos los desarrollos, que para esas fechas la mayoría estaban obsoletos. El PIC, sin embargo, se mejoró con EPROM para conseguir un controlador de canal programable. Hoy en día multitud de PICs vienen con varios periféricos incluidos (módulos de comunicación serie, UARTs, núcleos de control de motores, etc.) y con memoria de programa desde 512 a 32.000 palabras (una palabra corresponde a una instrucción en lenguaje ensamblador, y puede ser de 12, 14, 16 ó 32 bits, dependiendo de la familia específica de PICmicro).
  3. La memoria RAM está destinada al almacenamiento de información temporal que será utilizada por el procesador para realizar cálculos u otro tipo de operaciones lógicas. En el espacio de direcciones de memoria RAM se ubican además los registros de trabajo del procesador y los de configuración y trabajo de los distintos periféricos del microcontrolador. Es por ello que en la mayoría de los casos, aunque se tenga un espacio de direcciones de un tamaño determinado, la cantidad de memoria RAM de que dispone el programador para almacenar sus datos es menor que la que puede direccionar el procesador. El tipo de memoria utilizada en las memorias RAM de los microcontroladores es SRAM Máscara ROM. el microcontrolador se fabrica con el programa,. Memoria PROM (Programmable Read-Only Memory) también conocida como OTP (One Time Programmable). Este tipo de memoria, también es conocida como PROM o simplemente ROM. Los microcontroladores con memoria OTP se pueden programar una sola vez, con algún tipo de programador. Se utilizan en sistemas donde el programa no requiera futuras actualizaciones y para series relativamente pequeñas, EEPROM (Electrical Erasable Programmable Read Only Memory).
  4. La memoria de instrucciones puede tener una capacidad mínima de 512 palabras de 12 bits hasta una máxima de 2.048 posiciones de la misma longitud. En la figura siguiente se observan los tres bloques en los que esta dividido el Mapa de Memoria de programa del PIC, los 8 niveles de stack, los vectores de memoria como el Reset, o el de interrupcion,ademas de cada una de las paginas de la memoria, los vectores El que lleva el control de el uso de la memoria es el PC (Program Counter) de 13 bit capaz de accesar una memoria de 8Kx14 bit. El Vector de interrupcion es el 0004H, ahi es la parte del programa a donde el micro ira despues de cualquier interrupcion. la memoria dePrograma contiene todas las instrucciones a ejecutar como el movimiento de datos de un registro a otro,
  5. pero la memoria de datos es quien los contiene. Ademas de esto, en ella esta la informacion bit a bit de cada SFR. Registro de funciones especiales
  6. La memoria de datos esta particionada en cuatro bancos numerados del 1 al 4 por supuesto, cada banco tiene 128 bytes y las primeras direcciones del banco estan reservadas para los SFR (Special Function Registers) como los puertos o los registros Tris de cada uno de ellos. Cada banco es seleccionable mediante el registro Status usando los bit 5 y 6. A su vez el registro Status esta reflejado en cada uno de los bancos.
  7. Bajo costo · Bajo consumo de potencia · Alta inmunidad al ruido · Distintos modelos adecuados para cada necesidad · Herramientas de desarrollo gratuitas · Fácil de empezar a usar · Abundante información técnica gratuita oficial y de terceros (ambas por Internet) · Protección del código de programa por encriptación · Modo SLEEP (estado de reposo o de muy bajo consumo) · Predisposición para osciladores RC (Resistor/Capacitor), XT (XTal), HS (High Speed) y LP (Low Power) · Solo 35 instrucciones RISC (Reduced Instruction Set Computer) · Interrupciones programables · Circuito de vigilancia tipo perro guardián (watch dog timer o WDT) · Modelos con conversores A/D · Modelos con salida PWM (modulación de anchura de pulsos) · Modelos con varios temporizadores internos Controlador de interfaz periferico
  8. Lo hacen al PIC16F628A, como el microcontrolador ideal para estudiantes y aficionados, ya que al tener oscilador interno y el MCLR (master clear) sea programable, es mucho más sencillo ponerlo en funcionamiento, basta con conectar al pin 14 a 5V y el pin 5 a tierra para que empiece a trabajar.