SlideShare une entreprise Scribd logo
1  sur  19
Los principiantes en electrónica
creen que un microcontrolador es
igual a un microprocesador. Esto
no es cierto. Difieren uno del otro
en muchos sentidos. La primera y
la más importante diferencia es su
funcionalidad. Para utilizar al
microprocesador en una aplicación
real, se debe de conectar con otros
componentes, en primer lugar, con
la memoria.
DEFINICIÓN
El microcontrolador ejecuta el programa
cargado en la memoria Flash. Esto se
denomina el código ejecutable y está
compuesto por una serie de ceros y unos,
aparentemente sin significado.
Dependiendo de la arquitectura del
microcontrolador, el código binario está
compuesto por palabras de 12, 14 o 16
bits de anchura. Cada palabra se
interpreta por la CPU como una
instrucción a ser ejecutada durante el
funcionamiento del microcontrolador.
CARACTERÍSTICAS
Proteus
Proteus es un entorno integrado diseñado para la realización
completa de proyectos de construcción de equipos electrónicos
en todas sus etapas: diseño, simulación, depuración y
construcción. Sin la utilización de la suite Proteus, el proceso
para construir un equipo electrónico basado en un
microprocesador se compone de las siguientes etapas
LENGUAJE DE PROGRAMACIÓN
Programación PIC en C
Bien ya tenemos nuestro primer ejemplo generado y
listo para cargarlo en nuestro simulador Proteus.
Vamos a ello: Arrancamos nuestro simulador Proteus y
pasamos a colocar nuestros dispositivos en el área de
trabajo. Empezaremos colocando el PIC, para ello
hacemos clic en el botón que pone Pick Devices según
se muestra en la figura de abajo.
Lenguaje C
El lenguaje C dispone de todas las ventajas de un lenguaje de
programación de alto nivel (anteriormente descritas) y le permite
realizar algunas operaciones tanto sobre los bytes como sobre
los bits (operaciones lógicas, desplazamiento etc.). Las
características de C pueden ser muy útiles al programar los
microcontroladores. Además, C está estandarizado (el estándar
ANSI), es muy portable, así que el mismo código se puede
utilizar muchas veces en diferentes proyectos.
 Lenguaje Visual Basic
Los lenguajes de programación de alto nivel (Basic entre otros) fueron
creados. La ventaja principal de estos lenguajes es la simplicidad de
escribir un programa. Varias instrucciones en ensamblador se
sustituyen por una sentencia en Basic. El programador ya no tiene que
conocer el conjunto de instrucciones del microcontrolador utilizado. Ya
no es posible conocer exactamente cómo se ejecuta cada sentencia,
de todas formas, ya no importa. Aunque siempre se puede insertar en
el programa una secuencia escrita en ensamblador.
Lenguaje Assembler
Como el proceso de escribir un código ejecutable era
considerablemente arduo, en consecuencia, fue creado el
primer lenguaje de programación denominado ensamblador
(ASM). Siguiendo la sintaxis básica del ensamblador, era más
fácil escribir y comprender el código. Las instrucciones en
ensamblador consisten en las abreviaturas con significado y a
cada instrucción corresponde una localidad de memoria.
EJEMPLOS
Lenguaje
Proteus
Lenguaje
PIC C
Lenguaje
Visual Basic
Lenguaje
Assembler
Normalmente los programas se escriben en el lenguaje
ensamblador cuando se requiere controlar completamente la
ejecución de programa. Como el proceso de escribir un código
ejecutable era considerablemente arduo, en consecuencia, fue
creado el primer lenguaje de programación denominado
ensamblador (ASM). El proceso de programación se hizo un poco
más complicado. Por otro lado, el proceso de escribir un programa
dejó de ser una pesadilla.
RESUMEN
Normally programs are written in assembly language when
required to completely control program execution. As the process
of writing executable code was considerably hard, therefore, it
was created the first programming language called Assembler
(ASM). The programming process took a little more complicated.
On the other hand, the process of writing a program ceased to
be a nightmare.
SUMMARY
En C existe el concepto de memoria dinámica. La memoria dinámica
es aquella que se puede reservar y liberar en tiempo de ejecución, es
decir, durante la ejecución del programa se liberará y se asignará
memoria para optimizar los recursos de la CPU, para ello se dispone
de funciones como malloc() y free(). El compilador CCS también
admite este tipo de funciones, para utilizarlas debemos de incluir el
archivo de cabecera stdlibm.h, ya veremos un ejemplo sobre la
asignación de memoria dinámica, si no utilizamos estas funciones la
reserva de memoria es estática, es decir, si declaramos un array de
nueve elementos el compilador le reservará memoria contigua a dicho
array al compilar el programa en los registros de propósito general
(GPR).
RECOMENDACIONES
Los microcontroladores PIC están en auge, utilizándose en proyectos
industriales, de investigación y para docencia. No tiene sentido que el
diseñador sólo pueda utilizar una única plataforma para desarrollar
aplicaciones con ellos. Parece más lógico que el diseñador utilice la que más
le convenga, o la que normalmente use. Para ello, hemos diseñado un
grabador para los microcontroladores PIC de la familia 16F87X y 16F8x, que
se puede implementar usando cualquier microcontrolador que disponga de
comunicaciones RS-232. Hemos definido un protocolo para la grabación y lo
hemos implementado en una tarjeta CT6811 y en una tarjeta prototipo con un
PIC16F876A. Se ha programado un cliente en Linux, que se comunica con el
grabador y que permite cargar programas ejecutables en la flash. El software
está bajo licencia GPL y toda la información sobre el grabador se ha liberado.
CONCLUSIONES
Hay que intentar siempre utilizar el tipo de dato que menos
memoria ocupe dentro de los valores que pueda utilizar la
variable. Si abusamos de los tipos grandes para almacenar
valores pequeños nos quedaremos sin memoria y en los
programas grandes es un dato que tenemos que tener en
cuenta.
APRECIACIÓN DEL EQUIPO
 Microprocesador: Es el circuito central más complejo de un sistema informatico. A modo de
ilustración, se le suele llamar por analogía el «cerebro» de un computador. Es un circuito
integrado conformado por millones de componentes electrónicos.
 Memoria Ram: Memoria principal, donde residen programas y datos, sobre la que se pueden
efectuar operaciones de lectura y escritura.
 Memoria de programa: Esta memoria almacena el programa de usuario, aunque también puede
contener datos alfanuméricos y textos variables.
 Convertidor A/D: Dispositivo que se encarga de convertir la señal analógica del sensor en
valores digitales procesables por la CPU de la cámara.
 Oscilador: Todo microcontrolador requiere de un oscilador el cual es el encargado de definir la
velocidad con la que se procesaràn las instrucciones. El PIC 16F84A tiene cuatro posibles
configuraciones de oscilador:
 LP: Cristal usado para bajo consumo de potencia
 XT: Cristal de cuarzo estándar
 HS: Cristal de alta velocidad
 RC: Resistor/capacitor, ofrece menor precisión en el oscilador
 Memoria EEPROM: EEPROM o E²PROM son las siglas de Electrically Erasable Programmable
Read-Only Memory. Es un tipo de memoria ROM que puede ser programada, borrada y
reprogramada eléctricamente
GLOSARIO DE TERMINOS
Programación de microcontroladores

Contenu connexe

Tendances

Microprocesador
MicroprocesadorMicroprocesador
MicroprocesadorSuarezJhon
 
Actuadores Eléctricos
Actuadores Eléctricos Actuadores Eléctricos
Actuadores Eléctricos alan moreno
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de ComunicaciónJosé Antonio Sandoval Acosta
 
Programacion en WinCupl
Programacion en WinCuplProgramacion en WinCupl
Programacion en WinCuplGilbert_28
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpuIsaí Beto Matz Mijes
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfazXavi Flores
 
Lenguajes De Bajo Nivel
Lenguajes De Bajo NivelLenguajes De Bajo Nivel
Lenguajes De Bajo Nivelguestbf0046
 
Arquitectura del procesador
Arquitectura del procesadorArquitectura del procesador
Arquitectura del procesadorYESENIA CETINA
 
Circuitos secuenciales sincronos y asincronos
Circuitos secuenciales sincronos y asincronosCircuitos secuenciales sincronos y asincronos
Circuitos secuenciales sincronos y asincronosAlexa Ramirez
 

Tendances (20)

La importancia de los microcontroladores
La importancia de los microcontroladoresLa importancia de los microcontroladores
La importancia de los microcontroladores
 
Practica 7 Flip Flop
Practica 7 Flip FlopPractica 7 Flip Flop
Practica 7 Flip Flop
 
Microprocesador
MicroprocesadorMicroprocesador
Microprocesador
 
Arquitectura harvard
Arquitectura harvardArquitectura harvard
Arquitectura harvard
 
Actuadores Eléctricos
Actuadores Eléctricos Actuadores Eléctricos
Actuadores Eléctricos
 
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
Fundamentos de TelecomunicacionesUnidad 5 Dispositivos de ComunicaciónFundamentos de TelecomunicacionesUnidad 5 Dispositivos de Comunicación
Fundamentos de Telecomunicaciones Unidad 5 Dispositivos de Comunicación
 
Programacion en WinCupl
Programacion en WinCuplProgramacion en WinCupl
Programacion en WinCupl
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Organización y estructura interna del cpu
Organización y estructura interna del cpuOrganización y estructura interna del cpu
Organización y estructura interna del cpu
 
Subrutinas de retardo
Subrutinas de retardoSubrutinas de retardo
Subrutinas de retardo
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
 
Ciclo de instrucción
Ciclo de instrucciónCiclo de instrucción
Ciclo de instrucción
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Lenguajes De Bajo Nivel
Lenguajes De Bajo NivelLenguajes De Bajo Nivel
Lenguajes De Bajo Nivel
 
Arquitectura del procesador
Arquitectura del procesadorArquitectura del procesador
Arquitectura del procesador
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887Módulo Timer 1 del PIC16F887
Módulo Timer 1 del PIC16F887
 
Circuitos secuenciales sincronos y asincronos
Circuitos secuenciales sincronos y asincronosCircuitos secuenciales sincronos y asincronos
Circuitos secuenciales sincronos y asincronos
 
macros Lenguaje ensamblador
macros Lenguaje ensambladormacros Lenguaje ensamblador
macros Lenguaje ensamblador
 
Microcontroladores
MicrocontroladoresMicrocontroladores
Microcontroladores
 

Similaire à Programación de microcontroladores

Electronica industrial MOD 3 programacion aplicada.pdf
Electronica industrial MOD 3 programacion aplicada.pdfElectronica industrial MOD 3 programacion aplicada.pdf
Electronica industrial MOD 3 programacion aplicada.pdfWalterCuellarFierro
 
Electonica de potencia, diodos de rectificacion
Electonica de potencia, diodos de rectificacionElectonica de potencia, diodos de rectificacion
Electonica de potencia, diodos de rectificacionBEYMARCALLECONDE
 
Microcontroladores octubreromeroyjimmy
Microcontroladores octubreromeroyjimmyMicrocontroladores octubreromeroyjimmy
Microcontroladores octubreromeroyjimmyjimmy Apanu Inoach
 
Assembler
AssemblerAssembler
Assemblerwai258
 
Qué es un microcontrolador
Qué es un microcontroladorQué es un microcontrolador
Qué es un microcontroladorDaysi Morante
 
Microcontrolador pic
Microcontrolador picMicrocontrolador pic
Microcontrolador picMirkoBlanco
 
Oriente conceptos de programacion
Oriente conceptos de programacionOriente conceptos de programacion
Oriente conceptos de programacionshariweya
 
Microcontroladores Ciscx
Microcontroladores CiscxMicrocontroladores Ciscx
Microcontroladores CiscxElohim Flores
 
Conceptos de programacion oriente
Conceptos de programacion orienteConceptos de programacion oriente
Conceptos de programacion orienteshariweya
 
PROGRAMACION DE LOS PIC 2021-1.pdf
PROGRAMACION DE LOS  PIC 2021-1.pdfPROGRAMACION DE LOS  PIC 2021-1.pdf
PROGRAMACION DE LOS PIC 2021-1.pdfSistemadeEstudiosMed
 
Optimizacion de codigo
Optimizacion de codigoOptimizacion de codigo
Optimizacion de codigoAndresDvila
 
Principios de la programación.
Principios de la programación.Principios de la programación.
Principios de la programación.David Menjivar
 
PROGRAMACIÓN DE MICROCONTROLADOR
PROGRAMACIÓN DE MICROCONTROLADORPROGRAMACIÓN DE MICROCONTROLADOR
PROGRAMACIÓN DE MICROCONTROLADORAlcira Gonzales
 

Similaire à Programación de microcontroladores (20)

Electronica industrial MOD 3 programacion aplicada.pdf
Electronica industrial MOD 3 programacion aplicada.pdfElectronica industrial MOD 3 programacion aplicada.pdf
Electronica industrial MOD 3 programacion aplicada.pdf
 
Electonica de potencia, diodos de rectificacion
Electonica de potencia, diodos de rectificacionElectonica de potencia, diodos de rectificacion
Electonica de potencia, diodos de rectificacion
 
Microcontroladores octubreromeroyjimmy
Microcontroladores octubreromeroyjimmyMicrocontroladores octubreromeroyjimmy
Microcontroladores octubreromeroyjimmy
 
Programación de microcontroladores
Programación de microcontroladoresProgramación de microcontroladores
Programación de microcontroladores
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Assembler
AssemblerAssembler
Assembler
 
CURSO DE PICS.pptx
CURSO DE PICS.pptxCURSO DE PICS.pptx
CURSO DE PICS.pptx
 
Risc
RiscRisc
Risc
 
Qué es un microcontrolador
Qué es un microcontroladorQué es un microcontrolador
Qué es un microcontrolador
 
PROGRAMACIÓN DE MICROCONTROLADOR
PROGRAMACIÓN DE MICROCONTROLADORPROGRAMACIÓN DE MICROCONTROLADOR
PROGRAMACIÓN DE MICROCONTROLADOR
 
Microcontrolador pic
Microcontrolador picMicrocontrolador pic
Microcontrolador pic
 
Oriente conceptos de programacion
Oriente conceptos de programacionOriente conceptos de programacion
Oriente conceptos de programacion
 
Microcontroladores Ciscx
Microcontroladores CiscxMicrocontroladores Ciscx
Microcontroladores Ciscx
 
Conceptos de programacion oriente
Conceptos de programacion orienteConceptos de programacion oriente
Conceptos de programacion oriente
 
PROGRAMACION DE LOS PIC 2021-1.pdf
PROGRAMACION DE LOS  PIC 2021-1.pdfPROGRAMACION DE LOS  PIC 2021-1.pdf
PROGRAMACION DE LOS PIC 2021-1.pdf
 
Optimizacion de codigo
Optimizacion de codigoOptimizacion de codigo
Optimizacion de codigo
 
Principios de la programación.
Principios de la programación.Principios de la programación.
Principios de la programación.
 
Mipag web
Mipag webMipag web
Mipag web
 
PROGRAMACIÓN DE MICROCONTROLADOR
PROGRAMACIÓN DE MICROCONTROLADORPROGRAMACIÓN DE MICROCONTROLADOR
PROGRAMACIÓN DE MICROCONTROLADOR
 
Arqutectura risc
Arqutectura riscArqutectura risc
Arqutectura risc
 

Plus de Microprocesador Dennis Marilyn (7)

Array bidimensional
Array bidimensionalArray bidimensional
Array bidimensional
 
Salto condicional
Salto condicionalSalto condicional
Salto condicional
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 
Arquitectura RISC
Arquitectura RISCArquitectura RISC
Arquitectura RISC
 
Arquitectura CISC
Arquitectura CISCArquitectura CISC
Arquitectura CISC
 
Arquitectura del Microprocesador
Arquitectura del MicroprocesadorArquitectura del Microprocesador
Arquitectura del Microprocesador
 
Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 

Dernier

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 

Dernier (11)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

Programación de microcontroladores

  • 1.
  • 2. Los principiantes en electrónica creen que un microcontrolador es igual a un microprocesador. Esto no es cierto. Difieren uno del otro en muchos sentidos. La primera y la más importante diferencia es su funcionalidad. Para utilizar al microprocesador en una aplicación real, se debe de conectar con otros componentes, en primer lugar, con la memoria. DEFINICIÓN
  • 3. El microcontrolador ejecuta el programa cargado en la memoria Flash. Esto se denomina el código ejecutable y está compuesto por una serie de ceros y unos, aparentemente sin significado. Dependiendo de la arquitectura del microcontrolador, el código binario está compuesto por palabras de 12, 14 o 16 bits de anchura. Cada palabra se interpreta por la CPU como una instrucción a ser ejecutada durante el funcionamiento del microcontrolador. CARACTERÍSTICAS
  • 4. Proteus Proteus es un entorno integrado diseñado para la realización completa de proyectos de construcción de equipos electrónicos en todas sus etapas: diseño, simulación, depuración y construcción. Sin la utilización de la suite Proteus, el proceso para construir un equipo electrónico basado en un microprocesador se compone de las siguientes etapas LENGUAJE DE PROGRAMACIÓN
  • 5. Programación PIC en C Bien ya tenemos nuestro primer ejemplo generado y listo para cargarlo en nuestro simulador Proteus. Vamos a ello: Arrancamos nuestro simulador Proteus y pasamos a colocar nuestros dispositivos en el área de trabajo. Empezaremos colocando el PIC, para ello hacemos clic en el botón que pone Pick Devices según se muestra en la figura de abajo.
  • 6. Lenguaje C El lenguaje C dispone de todas las ventajas de un lenguaje de programación de alto nivel (anteriormente descritas) y le permite realizar algunas operaciones tanto sobre los bytes como sobre los bits (operaciones lógicas, desplazamiento etc.). Las características de C pueden ser muy útiles al programar los microcontroladores. Además, C está estandarizado (el estándar ANSI), es muy portable, así que el mismo código se puede utilizar muchas veces en diferentes proyectos.
  • 7.  Lenguaje Visual Basic Los lenguajes de programación de alto nivel (Basic entre otros) fueron creados. La ventaja principal de estos lenguajes es la simplicidad de escribir un programa. Varias instrucciones en ensamblador se sustituyen por una sentencia en Basic. El programador ya no tiene que conocer el conjunto de instrucciones del microcontrolador utilizado. Ya no es posible conocer exactamente cómo se ejecuta cada sentencia, de todas formas, ya no importa. Aunque siempre se puede insertar en el programa una secuencia escrita en ensamblador.
  • 8. Lenguaje Assembler Como el proceso de escribir un código ejecutable era considerablemente arduo, en consecuencia, fue creado el primer lenguaje de programación denominado ensamblador (ASM). Siguiendo la sintaxis básica del ensamblador, era más fácil escribir y comprender el código. Las instrucciones en ensamblador consisten en las abreviaturas con significado y a cada instrucción corresponde una localidad de memoria.
  • 13. Normalmente los programas se escriben en el lenguaje ensamblador cuando se requiere controlar completamente la ejecución de programa. Como el proceso de escribir un código ejecutable era considerablemente arduo, en consecuencia, fue creado el primer lenguaje de programación denominado ensamblador (ASM). El proceso de programación se hizo un poco más complicado. Por otro lado, el proceso de escribir un programa dejó de ser una pesadilla. RESUMEN
  • 14. Normally programs are written in assembly language when required to completely control program execution. As the process of writing executable code was considerably hard, therefore, it was created the first programming language called Assembler (ASM). The programming process took a little more complicated. On the other hand, the process of writing a program ceased to be a nightmare. SUMMARY
  • 15. En C existe el concepto de memoria dinámica. La memoria dinámica es aquella que se puede reservar y liberar en tiempo de ejecución, es decir, durante la ejecución del programa se liberará y se asignará memoria para optimizar los recursos de la CPU, para ello se dispone de funciones como malloc() y free(). El compilador CCS también admite este tipo de funciones, para utilizarlas debemos de incluir el archivo de cabecera stdlibm.h, ya veremos un ejemplo sobre la asignación de memoria dinámica, si no utilizamos estas funciones la reserva de memoria es estática, es decir, si declaramos un array de nueve elementos el compilador le reservará memoria contigua a dicho array al compilar el programa en los registros de propósito general (GPR). RECOMENDACIONES
  • 16. Los microcontroladores PIC están en auge, utilizándose en proyectos industriales, de investigación y para docencia. No tiene sentido que el diseñador sólo pueda utilizar una única plataforma para desarrollar aplicaciones con ellos. Parece más lógico que el diseñador utilice la que más le convenga, o la que normalmente use. Para ello, hemos diseñado un grabador para los microcontroladores PIC de la familia 16F87X y 16F8x, que se puede implementar usando cualquier microcontrolador que disponga de comunicaciones RS-232. Hemos definido un protocolo para la grabación y lo hemos implementado en una tarjeta CT6811 y en una tarjeta prototipo con un PIC16F876A. Se ha programado un cliente en Linux, que se comunica con el grabador y que permite cargar programas ejecutables en la flash. El software está bajo licencia GPL y toda la información sobre el grabador se ha liberado. CONCLUSIONES
  • 17. Hay que intentar siempre utilizar el tipo de dato que menos memoria ocupe dentro de los valores que pueda utilizar la variable. Si abusamos de los tipos grandes para almacenar valores pequeños nos quedaremos sin memoria y en los programas grandes es un dato que tenemos que tener en cuenta. APRECIACIÓN DEL EQUIPO
  • 18.  Microprocesador: Es el circuito central más complejo de un sistema informatico. A modo de ilustración, se le suele llamar por analogía el «cerebro» de un computador. Es un circuito integrado conformado por millones de componentes electrónicos.  Memoria Ram: Memoria principal, donde residen programas y datos, sobre la que se pueden efectuar operaciones de lectura y escritura.  Memoria de programa: Esta memoria almacena el programa de usuario, aunque también puede contener datos alfanuméricos y textos variables.  Convertidor A/D: Dispositivo que se encarga de convertir la señal analógica del sensor en valores digitales procesables por la CPU de la cámara.  Oscilador: Todo microcontrolador requiere de un oscilador el cual es el encargado de definir la velocidad con la que se procesaràn las instrucciones. El PIC 16F84A tiene cuatro posibles configuraciones de oscilador:  LP: Cristal usado para bajo consumo de potencia  XT: Cristal de cuarzo estándar  HS: Cristal de alta velocidad  RC: Resistor/capacitor, ofrece menor precisión en el oscilador  Memoria EEPROM: EEPROM o E²PROM son las siglas de Electrically Erasable Programmable Read-Only Memory. Es un tipo de memoria ROM que puede ser programada, borrada y reprogramada eléctricamente GLOSARIO DE TERMINOS