Upload
david-vazquez
View
19
Download
0
Embed Size (px)
Citation preview
ELECTRNICA
DIGITAL
APLICADA
M. en C. DONACIANO QUINTERO MEJA
Material didctico para alumnos de 6 semestre, materia ELECTRNICA DIGITAL
APLICADA, de la carrera de Ingeniera Mecnica
6.6. MICROCONTROLADORES
(C) [PICS]
6.6.1 INTRODUCCIN A LOS C
MICROCONTROLADORES (C) HISTORIA En los aos 1950 se us el trmino CPU (Central Processing
Unit) para referirse a una caja que contena circuitos con vlvulas electrnicas para procesar datos.
Actualmente esta funcin se ha logrado implementar en un solo chip o pastilla de material semiconductor, denominado microprocesador.
Aunque ninguna mquina es realmente inteligente en el sentido de que pueda pensar y decidir, se dice que el microprocesador es la parte inteligente del computador, porque compara resultados de operaciones y toma caminos previstos, de acuerdo al programador.
Por lo tanto un microcontrolador es un dispositivo electrnico encargado de gobernar, regular, supervisar y operar, uno o ms PROCESOS.
Por ejemplo, el controlador electrnico del aire acondicionado, acopia la informacin de los sensores de temperatura, los procesa y acta en consecuencia.
M. en C. DONACIANO QUINTERO MEJA
.
2
El microcontrolador es un
sistema cerrado.
6.6.1 INTRODUCCIN A LOS C (PICS)
3
PIC Un microcontrolador es un circuito integrado de alta escala de
integracin que incorpora la mayor parte de los elementos que
configuran un controlador. Entonces un Microcontrolador es un
Circuito Integrado Programable (PIC) que contiene todos los
componentes de un computador, se emplea para realizar una tarea
determinada para la cual ha sido programado.
HISTORIA
1976: Surgen las primeras
microcomputadoras de un solo
chip, que ms tarde se
denominarn microcontroladores.
Dos de los primeros
microcontroladores son el 8048
de Intel y el 6805R2 de Motorola.
M. en C. DONACIANO QUINTERO MEJA
6.6.1 INTRODUCCIN A LOS PICS
4
El PIC contiene todos los componentes de
un computador, se emplea para realizar
una tarea determinada para la cual ha
sido programado.
Por lo tanto un MICROCONTROLADOR bsico contiene los siguientes
componentes:
*PROCESADOR o CPU (Unidad Central de Proceso) (Central Processing
Unit).
* Memoria RAM para contener los datos (Memoria voltil, temporal).
* Memoria para el programa tipo ROM /PROM /EPROM
(Memoria de Lectura).
* Lneas de E/S para comunicarse con el exterior.
Diversos mdulos para el control de perifricos (Temporizadores, Puertos Serie y Paralelo, CAD: Conversores Analgico / Digital, CDA: Conversores
Digital / Analgico, etc.).
*Generador de impulsos de reloj que sincronizan el funcionamiento de todo el
Sistema.
M. en C. DONACIANO QUINTERO MEJA
6.6.1.2 DIFERENCIA ENTRE UN MICROCONTROLADOR (C) Y UN MICROPROCESADOR (P)
5
Esquema de un microcontrolador
Diferencia entre microcontrolador y microprocesador:
El primero es un sistema cerrado autnomo e independiente, mientras que el
segundo es una parte del primero, que forma parte del sistema total.
M. en C. DONACIANO QUINTERO MEJA
Reloj
6.6.1.2 DIFERENCIA ENTRE UN MICROPROCESADOR (P) MICROCONTROLADOR (C)
6
Estructura de un sistema abierto basado en un microprocesador.
Resumen, la diferencia entre microcontrolador y microprocesador es:
El MICROPROCESADOR es una parte del MICROCONTROLADOR, [P C].
M. en C. DONACIANO QUINTERO MEJA
6.6.1.2 DIFERENCIA ENTRE UN MICROPROCESADOR (P) MICROCONTROLADOR (C)
7
El microcontrolador es un sistema cerrado, porque tiene retroalimentacin.
Tambin el Microcontrolador, es un computador completo, aunque de
limitadas prestaciones, que est contenido en el chip de un circuito integrado
y se destina a gobernar una sola tarea.
M. en C. DONACIANO QUINTERO MEJA
6.6.1.2 DIFERENCIA ENTRE UN MICROPROCESADOR (P) MICROCONTROLADOR (C)
8
STMicroelectronics, uno de los mayores fabricantes de microcontroladores para aplicaciones de consumo mdicas e
industriales, ha extendido su familia de microcontroladores de ultra bajo consumo STM8L EnergyLite .
En otras palabras, los microcontroladores son los cerebros de cualquier sistema de control. Un microcontrolador es un microprocesador equipado con
su propia memoria de forma que pueda funcionar de forma autnoma.
Adems los microcontroladores estn equipados normalmente con diversos
perifricos que se pueden controlar por software (programacin).
M. en C. DONACIANO QUINTERO MEJA
6.6.2 DIFERENCIA ENTRE UN (CC) Y UN MICROPROCESADOR (P)
CPU: Se dice que un microprocesador es un sistema abierto porque su
configuracin es variable de acuerdo con la aplicacin a la que se destine.
M. en C. DONACIANO QUINTERO MEJA
.
9
6.6.2.1 ARQUITECTURA INTERNA MICROCONTROLADOR
10
1. Procesador
2. Memoria voltil para contener el programa (RAM).
3. Memoria de lectura y escritura para guardar los datos (ROM).
4. Lneas de E/S para los controladores de perifricos:
a) Comunicacin paralelo
b) Comunicacin serie
c) Diversos puertos de comunicacin (I2C para PIC, USB, etc.)
5. Recursos auxiliares:
a) Circuito de reloj (clk)
b) Temporizadores
c) Conversores AD y DA
d) Comparadores analgicos
e) Proteccin ante fallos de alimentacin
f) Estado de reposo o de bajo consumo, etc.
Las partes principales de un microcontrolador son:
M. en C. DONACIANO QUINTERO MEJA
Un microprocesador posee todos los componentes de un computador, sin
embargo con unas caractersticas fijas que no pueden alterarse.
6.6.2.1 ARQUITECTURA INTERNA MICROCONTROLADOR
11
1.- Arquitectura Von Neuman.- Es una arquitectura
tradicional de las computadoras y los micros, donde la
Unidad Central de Procesos (CPU), est conectada a
una sola Memoria, donde se guardan las instrucciones
del programa y datos.
Al tener un sola memoria hace que el micro sea ms
lento en su respuesta, ya que no puede buscar en su
memoria una nueva instruccin mientras no finalice la
transferencia de datos de la instruccin anterior.
Desventajas:
a.- Limitacin de la longitud de las instrucciones.
b.- La limitacin de la velocidad de operacin.
M. en C. DONACIANO QUINTERO MEJA
6.6.2.1 ARQUITECTURA INTERNA MICROCONTROLADOR
12
2.- Arquitectura Harvard
Esta arquitectura tiene la CPU conectada a 2 memorias por medio de dos Buses diferentes. Una
memoria contiene solamente las instrucciones del Programa y la otra solo almacena datos
(memoria de Datos).
Ambos Buses son totalmente independientes, adems la CPU puede acceder a los datos para
completar la ejecucin de una instruccin y al mismo momento leer la instruccin a ejecutar.
Ventajas:
a.- El tamao de las instrucciones pueden ser optimizadas para que cualquier instruccin ocupe
una sola posicin de memoria del programa, logrando as una mayor velocidad y menor longitud
del programa.
b.- El tiempo de acceso a las instrucciones puede sobreponerse con el de los datos, logrando
una mayor velocidad en dicha operacin.
M. en C. DONACIANO QUINTERO MEJA
6.6.3 PRINCIPIOS DE FUNCIONAMIENTO
13
FUNCIONAMIENTO BSICO
Dispositivos o circuitos integrados chips son circuitos electrnicos que tienen miles o millones de celdas que permiten retener temporalmente cargas elctricas. La presencia de una
carga elctrica en la celda equivale a tener memorizado o escrito un 1 binario (5 volts), y la
ausencia de voltaje (cero volts) equivale a tener un 0. Por ser el bit una unidad muy pequea para
uso prctico, la memoria se organiza en bancos o hileras de chips que permitan retener kilobytes
(miles de grupos de ocho bits) o megabytes (millones de grupos de ocho bits), para ubicar y poder
encontrar posteriormente cada uno de los bytes de datos escritos en la memoria, a cada celda o
posicin de memoria se le asigna una direccin que la identifique.
Cmo funciona? Un microcontrolador ejecuta instrucciones de acuerdo al conjunto de
ordenamientos creados en un programa. Estas instrucciones son ledas de la memoria de programa
para ejecutarlas, una detrs de otra. La memoria del programa contiene las instrucciones que
queremos que el microcontrolador ejecute. Programar un microcontrolador consiste en introducir
estas instrucciones en la memoria del microcontrolador.
M. en C. DONACIANO QUINTERO MEJA
El sistema PICAXE (fig.1) hace ms accesible la programacin (fig.2) de los
microcontroladores
6.6.4 MEMORIAS
14
Se denomina RAM (Random Access Memory) que significa "memoria de acceso directo, es una
memoria voltil y se destina a guardar las variables y los datos en forma temporal, o sea retiene
temporalmente la informacin, las instrucciones de los programas y los resultados parciales de
operaciones de la CPU. Los tipos de programas para soportar esta funcin son: DRAM, SRAM y
CACHE, principalmente, a saber:
Memoria Cache: Almacena los datos transferidos mas recientemente entre la memoria RAM y el
microprocesador.
MEMORIAS
La memoria se puede usar para grabar programas o informacin,
como en el caso de la memoria ROM, los discos CD-ROM, el disco
duro o los diskettes, o se puede usar para retener, leer y manipular temporalmente los datos, tal
como ocurre con la memoria RAM.
Memoria ROM: (Read Only Memory). Su contenido es inalterable desde que el fabricante graba
informacin en el chip, este tipo de escritura ocurre una sola vez (grabada en forma permanente).
Los tipos de programas adecuados para soportar esta funcin son: PROM, EPROM, EEPROM Y
FLASH, principalmente, a saber:
Memoria PROM: Programmable ROM, esta memoria en cripta su trabajo mediante fusibles para
proteger el cdigo del contenido.
Memoria EPROM: (Erasable Programmable Read Only Memory) Memoria que se puede borrar y
volver a grabar varias veces la informacin mediante luz ultravioleta (Erasable PROM).
M. en C. DONACIANO QUINTERO MEJA
6.6.5 REPRESENTACIN DE LA INFORMACIN
15
Tanto las instrucciones como los datos se
consideran como informacin, sta se representa en
un sistema binario. La unidad mnima de
informacin es el bit, que puede tomar slo 2
posibles valores, cero o uno.
Representar un bit mediante una lnea de seal es
simple, (cuando no hay voltaje o tensin indica un 0
y cuando hay tensin un 1).
Si agrupamos 8 bits, tendremos 1 byte. Con 1 byte
podemos representar 256 (0-255) valores distintos,
desde 00000000 hasta 11111111.
Si queremos ms rango de valores podemos utilizar
2 bytes y llegar hasta 65,536 valores.
Entonces los microcontroladores sencillos son
de 8 bits, esto significa que operan con datos de
8 bits.
Tambin existen microcontroladores de 16, 32 y 64
bits (llamadas palabras words) que se usan para aplicaciones ms potentes.
M. en C. DONACIANO QUINTERO MEJA
6.6.5 REPRESENTACIN DE LA INFORMACIN
16
GRFICA PARA CONVERTIR UN NMERO BINARIO A BASE HEXADECIMAL
Donde se separan los nmeros binarios en grupo de 4 dgitos, a saber:
(0111) = 7 y el (1101) = 13 = D.
El nmero equivalente en Hexadecimal es: D7
En resumen el sistema hexadecimal es el que ms se utiliza en programacin
El sistema hexadecimal est relacionado con el sistema binario porque cada cifra hexadecimal
representa 4 bits del sistema binario. Un byte se representa en hexadecimal con 2 cifras
hexadecimales. Veamos esto ms claramente en el siguiente grfico:
M. en C. DONACIANO QUINTERO MEJA
6.6.6 FUNDAMENTOS DE PROGRAMACIN
17
Un microcontrolador, es una maquina que procesa datos de acuerdo con un
programa de instrucciones. Por ejemplo, a un computador le podramos encomendar la
labor de sumar, multiplicar, dividir datos, etc..
M. en C. DONACIANO QUINTERO MEJA
BUS DE DATOS
Un Bus, es un camino electrnico por el cual circula informacin entre los diversos
dispositivos conectados entre s. Un computador u ordenador tiene principalmente dos
clases de BUSES: - Bus de Datos: Por ste canal circulan los datos de un dispositivo a otro.
- Bus de Direcciones: Por este canal viajan las direcciones de memorias donde estn los datos que quiere leer o
escribir el procesador y relacione donde se encuentran estos datos.
6.6.6 FUNDAMENTOS DE PROGRAMACIN
18
CDIGO ASCII
El cdigo A.S.C.I.I. (American Standard Code
for Information Interchange) es un convenio
adoptado para asignar a cada carcter un valor
numrico.
Se trata de un cdigo de 7 bits con capacidad
para 128 smbolos que incluyen todos los
caracteres alfanumricos del ingls, con
smbolos de puntuacin y algunos caracteres
de control de la transmisin.
M. en C. DONACIANO QUINTERO MEJA
Con posterioridad, con la aparicin de los microordenadores y la gran expansin entre
ellos (IBM-PC y compatibles), la ampliacin del cdigo ASCII realizada por esta marca a
8 bits, con capacidad para 128 smbolos adicionales, experimenta un considerable auge,
siendo en la actualidad muy utilizada (se observa a continuacin), para ciertas
nacionalidades, se han diseado otras pginas especficas que requieren de un software
externo. En la lengua espaol y en las de la mayora de los dems pases de la UE (Unin
Europea), esta tabla cubre todas las necesidades del idioma.
Teclado hexadecimal
6.6.6 FUNDAMENTOS DE PROGRAMACIN
CDIGO ASCII
19 M. en C. DONACIANO QUINTERO MEJA
6.6.6 FUNDAMENTOS DE PROGRAMACIN
LENGUAJES
20 M. en C. DONACIANO QUINTERO MEJA
Para el aprendizaje de algn lenguaje de programacin, han existido muchas disputas de
cmo o cual es el mejor de ellos para comenzar mencionaremos el Java.
Por lo tanto un lenguaje simple es el Java, donde el aprendizaje se enfoca sobre la
orientacin a objetos y no es perturbado por semnticas complejas del lenguaje. Por el
contrario un lenguaje ms complicado es el C. Entre los lenguajes orientados a objetos destacan los siguientes:
Smalltalk Objective-C C++ Ada 95 Java Ocaml Python Delphi Lexico (en castellano) C# Eiffel Ruby ActionScript Visual Basic PHP PowerBuilder Clarion
El lenguaje ensamblador?
Es un tipo de lenguaje de bajo nivel utilizado para escribir programas informticos, y
constituye la representacin ms directa del cdigo mquina.
Fue usado principalmente en los inicios del desarrollo de software, cuando aun no se
contaba con los potentes lenguajes de alto nivel.
6.6.6 FUNDAMENTOS DE PROGRAMACIN
LENGUAJES
21 M. en C. DONACIANO QUINTERO MEJA
INTRODUCCIN AL LENGUAJE ENSAMBLADOR Lenguaje de Bajo Nivel
Muchos dispositivos programables (como los microcontroladores) aun cuentan con el ensamblador
como la nica manera de ser manipulados. Los ensambladores han estado disponibles desde la
dcada de 1950.
Se denomina lenguaje mquina a la serie de datos que la parte fsica de la computadora digital o
hardware, es capaz de interpretar, slo distingue datos de tipo binario (0,1).
Instruccin.- La informacin que hace que el hardware de la computadora realice una determinada
actividad de llama instruccin. Por consiguiente una instruccin es un conjunto de unos y ceros, por lo
que al conjunto de dichas instrucciones que son interpretadas directamente por la mquina se
denomina lenguaje mquina.
Lenguaje mquina.- Fue el primer lenguaje que empleo el hombre para la programacin de las
primeras computadoras. Una instruccin en lenguaje mquina puede representarse de la siguiente
forma:
011011001010010011110110
La anterior secuencia de dgitos binarios (bits) puede indicar a la computadora que:
Si lo vemos escrito de esta forma, lo entenderemos fcilmente, ya que est en nuestro lenguaje
natural, pero la mquina elemental ser incapaz de entender.
6.6.6 FUNDAMENTOS DE PROGRAMACIN
LENGUAJES
22 M. en C. DONACIANO QUINTERO MEJA
INTRODUCCIN AL LENGUAJE ENSAMBLADOR Lenguaje de Bajo Nivel
Ejemplo: TRASLADAR 11010110, 00011101
Esto indicara que el contenido de la posicin 11010110 haba que pasarlo a la posicin 00011101
si se sabe que al grupo alfabtico TRASLADAR le corresponde la secuencia de bits 11110101.
La mquina traducira la anterior instruccin como:
11110101 11010110 00011101
Al grupo alfabtico se le denomina mnemotcnico, y existir un mnemotcnico por cada
instruccin.
Se le da este nombre porque sirve para recordar con mayor facilidad el conjunto de instrucciones de
una determinada mquina.
De esta forma aparecieron los lenguajes ensambladores (Assembler, en ingls). Poco a poco, con el
avance de la programacin (Software), estas primeras y sencillas ayudas se fueron haciendo ms
complejas, permitiendo que, adems de los mnemotcnicos correspondientes a la operacin a
realizar, ejemplo.:
TRASLADAR POS-A POS-B
PROGRAMA FUENTE.- El programa escrito de esta manera se llama programa fuente, y el
ensamblador, ensambla o traduce estos programas al lenguaje mquina.
6.6.6 FUNDAMENTOS DE PROGRAMACIN
LENGUAJES
23 M. en C. DONACIANO QUINTERO MEJA
INTRODUCCIN AL LENGUAJE ENSAMBLADOR Lenguaje de Bajo Nivel
SISTEMA OPERATIVO. Aun con todas estas sofisticaciones y ayudas, el programador de lenguaje
ensamblador debe conocer perfectamente el sistema fsico (Hardware) llamado sistema operativo
de la mquina con que trabaja, pues aunque emplee mnemotcnicos, etiquetas, etc., stas sirven
para indicar una posicin de memoria determinada, un registro o cualquier otra parte de la mquina.
Por eso se dice que el
lenguaje ensamblador es un
lenguaje de bajo nivel, es
decir, ligado con el
concreto de una determinada
mquina.
Aqu radica la diferencia
importante con los lenguajes
ms complejos, llamados de
alto nivel, como el Basic,
Pascal, Cobol, etc., ya que
en stos el programador no
tiene porque reconocer el
de la mquina.
Paradoja: "Para aprender un lenguaje de bajo nivel necesitamos tener un alto nivel......
Como programadores."
6.6.6 FUNDAMENTOS DE PROGRAMACIN
LENGUAJES
24 M. en C. DONACIANO QUINTERO MEJA
La siguiente imagen ilustra el proceso de programacin de un PIC.
Cdigo mquina
Llamado lenguaje de mquina, est formado por instrucciones sencillas, que - dependiendo de la
estructura del procesador- pueden especificar:
1.-Registros especficos para operaciones aritmticas, direccionamiento o control de funciones.
2.- Posiciones de memoria especficas (offset).
3.- Modos de direccionamiento usados para interpretar operandos.
EN RESUMEN: LENGUAJUE
Un programa escrito en lenguaje ensamblador consiste en una serie de instrucciones que corresponden
al flujo de rdenes ejecutables que pueden ser cargadas en la memoria de un sistema basado en el microprocesador.
6.6.6 FUNDAMENTOS DE PROGRAMACIN
LENGUAJES
25 M. en C. DONACIANO QUINTERO MEJA
INTRODUCCIN AL LENGUAJE ENSAMBLADOR Lenguaje de Bajo Nivel
Las operaciones disponibles en la mayora de los conjuntos de instrucciones incluyen:
* mover
llenar un registro con un valor constante mover datos de una posicin de memoria a
un registro o viceversa escribir y leer datos de dispositivos.
* computar
sumar, restar, multiplicar o dividir los valores de dos registros, colocando el resultado
en uno de ellos o en otro registro, etc.
Ejemplo 1 de lenguaje ensamblador (MS SENCILLO):
Este ejemplo es mover un Robot a diferentes direcciones, partiendo de un punto A al punto B, con cuatro instrucciones:
MOVER hacia Arriba
MOVER hacia Abajo
MOVER hacia la Derecha
MOVER hacia la izquierda
Estas instrucciones se deben de inscribir de tal forma
que las entienda un Microcontrolador, para tal efecto
se utiliza un Lenguaje llamado Ensamblador.
Unix, es un sistema operativo portable, multitarea y
multiusuario; desarrollado por empleados de los laboratorios Bell
de AT&T. 1991.
6.6.6 FUNDAMENTOS DE PROGRAMACIN
LENGUAJES
26 M. en C. DONACIANO QUINTERO MEJA
INTRODUCCIN AL LENGUAJE ENSAMBLADOR Lenguaje de Bajo Nivel
Ejemplo 1 de lenguaje ensamblador, (continua..) Estas instrucciones se deben de inscribir de tal forma que las entienda un Microcontrolador, para tal
efecto se utiliza un Lenguaje llamado Ensamblador, donde:
MOVE direccin, metros.
Si queremos mover el Robot hacia arriba tres metros, escribimos:
MOVE arriba,3 (Move espacio direccin coma metros)
Ahora se queremos mover el Robot hacia la derecha 8 metros, escribimos:
MOVE derecha,8
Quedando claro la sintaxis de estas instrucciones para el microcontrolador.
Entonces para mover al Robot del punto A al punto B, tendremos que indicar la siguiente
programacin en secuencia:
MOVE arriba,1
MOVE derecha,3
MOVE arriba,2
MOVE derecha,7
MOVE abajo,5
Ahora que ya se inscribieron estas instrucciones como hacemos para que las entienda o las realice
el microcontrolador. Primero se traduce estas instrucciones de lenguaje ensamblador (programa
fuente) a un cdigo maquina, es decir ceros y unos (0,1).
Huella dactilar. microcontroladores
6.6.6 FUNDAMENTOS DE PROGRAMACIN LENGUAJES
27 M. en C. DONACIANO QUINTERO MEJA
SINTAXIS DE UNA LNEA EN UN PROGRAMA ENSAMBLADOR
El formato de una sentencia (las instrucciones y las directivas)
de instruccin es el siguiente:
[etiqueta] nombr _ instruccin [operandos] [comentario]
Campo de etiqueta. Es el nombre simblico de la primera posicin de una instruccin, puntero o dato.
Consta de hasta 31 caracteres que pueden ser las letras de la A a la Z, los nmeros del 0 al 9 y algunos
caracteres especiales como @, _, . y $. Reglas:
Si se utiliza el punto . ste debe colocarse como primer carcter de la etiqueta.
- El primer carcter no puede ser un dgito.
- No se pueden utilizar los nombres de instrucciones o registros como
nombres de etiquetas.
Campo de nombre. Contiene el mnemnico de las instrucciones vistas en el captulo anterior, o bien una
directiva de las que veremos ms adelante.
Campo de operandos. Indica cuales son los datos implicados en la operacin. Puede haber 0, 1 2; en
el caso de que sean dos al 1 se le llama destino y al 2 - separado por una coma - fuente.
mov ax, es:[di] --> ax destino es:[di] origen
Campo de comentarios. Cuando en una lnea hay un punto y coma (;) todo lo que sigue en la lnea es
un comentario que realiza aclaraciones sobre lo que se est haciendo en ese programa, resulta de gran
utilidad de cara a realizar futuras modificaciones al mismo (; segmento de la memoria de pantalla).
6.6.6 FUNDAMENTOS DE PROGRAMACIN LENGUAJES
28 M. en C. DONACIANO QUINTERO MEJA
El lenguaje de programacin C (ttulo original en ingls: The C Programming Language) es un libro de programacin publicada en 1978,
escrito por Brian Kernighan y Dennis Ritchie. El libro fue parte importante del
desarrollo y popularizacin del lenguaje C y sigue siendo ampliamente ledo y
utilizado hoy en da, es considerado por muchos como la referencia
autorizada de C, y a veces se le refiere como 'La biblia de C'.
La versin de C escrita en este libro es a veces referida como K&R C (por los
apellidos de los autores), con el propsito de distinguir esta primera versin
con la posterior que describe un C estandarizado, ANSI C. [ANSI (American
National Standars Institute, por sus siglas en ingls].
Si se le compara con el desarrollo en lenguaje ensamblador, el
uso de interrupciones desde ANSI C representa un ahorro
considerable en tiempo, debido a la gran simplificacin en el
manejo de bits, registros y variables, por ejemplo en el
microcontrolador 16F88.
6.6.6 FUNDAMENTOS DE PROGRAMACIN LENGUAJES
29 M. en C. DONACIANO QUINTERO MEJA
El lenguaje de programacin C
Historia
En 1988 la segunda edicin del libro fue publicada, actualizada para cubrir los cambios
hechos al lenguaje producto del nuevo estndar ANSI C, particularmente con la
inclusin de material de referencia en las libreras estndar. La segunda edicin (la ms
reciente hasta el 2010) del libro ha sido traducida a 20 idiomas.
ANSI C, estandarizado por primera vez en 1988, ha sido sometido a varias revisiones,
la ms reciente de ellas es la ISO/IEC 9899:1999 (tambin conocida como "C99"),
adoptada como un estndar ANSI en Marzo del 2000. An as, no ha sido presentada
una nueva edicin del libro para cubrir los recientes cambios.
C++ es un lenguaje de programacin diseado a mediados de los aos 1980 por
Bjarne Stroustrup. La intencin de su creacin fue el extender al exitoso lenguaje de
programacin C con mecanismos que permitan la manipulacin de objetos.
El nombre C++ fue propuesto por Rick Mascitti en el ao 1983,
cuando el lenguaje fue utilizado por primera vez fuera de un
laboratorio cientfico.
Antes se haba usado el nombre "C con clases". En C++,
la expresin "C++" significa "incremento de C" y se refiere
a que C++ es una extensin de C.
6.6.6 FUNDAMENTOS DE PROGRAMACIN LENGUAJES
30 M. en C. DONACIANO QUINTERO MEJA
El lenguaje de programacin C
Bsicos y Variables
Los tipos de datos bsicos definidos por C son caracteres, nmeros enteros y nmeros en coma
flotante. Los caracteres son representados por char, los enteros por short, int, long y los nmeros en
coma flotante por float y double. Los tipos bsicos disponibles y su tamao son:
6.6.7 APLICACIONES (C)
31 M. en C. DONACIANO QUINTERO MEJA
Las aplicaciones especficas de los microcontroladores son tan enormemente variadas
que no se exagera cuando se dice que estn limitadas solamente por la imaginacin del
diseador.
Ejemplo un Microchip dispone de cuatro familias de microcontroladores de 8 bits para
adaptarse a las necesidades de la mayora de los clientes potenciales.
Puede controlar cualquier cosa y suele estar incluido en el mismo dispositivo que
controla, ejemplos:
- Maquinas expendedora de productos.
- Controles de acceso tanto de personas como de objetos.
- Maquinas herramientas, motores, temporizadores.
- Sistemas autnomos de control, incendio, humedad, temperatura, etc.
- Telefona, Automatismos, Medicina, Automocin, etc. etc.
APLICACIONES AUTOMOTRICES
-Control de encendido e inyeccin de combustible. -Sistema de frenado.
-Sistema de navegacin.
6.6.7 APLICACIONES (C)
32 M. en C. DONACIANO QUINTERO MEJA
Otros ejemplos de aplicaciones:
Instrumentos porttiles compactos: beeper, nivel metro digital, identificador o probador de circuitos integrados
Dispositivos perifricos: plotters, teclado, mdems, buffer para impresoras Dispositivos autnomos: fotocopiadoras, mquinas de escribir, decodificador de TV, telfonos de tarjeta
Ms aplicaciones automotrices: control de encendido e inyeccin de combustible, sistema de frenos ABS, control dinmico de la suspensin,
sistemas de navegacin, alarmas automotrices.
Otros: telfonos celulares, cerraduras electrnicas, sistemas de seguridad.
Las comunicaciones y los
productos de consumo
general absorben ms de la
mitad de la produccin de
microcontroladores. El resto
se distribuye entre el sector
de la automocin, los
computadores y la industria.
M. en C. DONACIANO QUINTERO MEJA
33
FIN
SCADA y Automatizacin de Sistemas de Potencia
Estructura tipica de un microcontrolador
M. en C. DONACIANO QUINTERO MEJA 34
FIN
Microcontroladores PIC de 8 Pines
M. en C. DONACIANO QUINTERO MEJA
35
FIN
TERMINALES del Encapsulado DIP - PIC16C84/F84
36
FIN
El microprocesador. La atadora automtica RS 7 ofrece la ltima tecnologa para
embutidos, tiene un orificio mximo de salida de 75 mm de dimetro
37
FIN
El microprocesador. Maquinas tortilladoras completamente automticas producen
aproximadamente 12 millones de toneladas anuales de tortillas que consume el mercado
mexicano.
M. en C. DONACIANO QUINTERO MEJA
38
FIN
Robtica, insumos, microrobots, microcontroladores, picaxe.
M. en C. DONACIANO QUINTERO MEJA
39
FIN
Robtica, Aplicacin de microcontroladores.
M. en C. DONACIANO QUINTERO MEJA
40
FIN
Robot y mdulo adicional para Boe-Bot, p/seguir una lnea pintada Parallax - 28108
M. en C. DONACIANO QUINTERO MEJA
41
FIN
Aplicaciones de los microcontroladores en biomedicina
[Diagrama a bloques de un oxmetro (oxigenacin)].
M. en C. DONACIANO QUINTERO MEJA
42
FIN
Cristal lquido (LCD de efecto de campo)
M. en C. DONACIANO QUINTERO MEJA
43
FIN
Microcontrolador flexible: Fabricado con un semiconductor orgnico llamado pentaceno y un aislante tambin orgnico. Lo mejor del asunto es que su coste de produccin es ms barato que el de los chips actuales, casi la dcima
parte que para fabricar un chip de silicio [20].
44
FIN
Aplicaciones de los microcontroladores. La automatizacin ha contribuido en gran
medida al incremento del tiempo libre y de los salarios reales de la mayora de los
trabajadores de los pases industrializados. Tambin ha permitido incrementar la
produccin y reducir los costes, poniendo coches, refrigeradores, televisiones, telfonos y
otros productos al alcance de ms gente.
M. en C. DONACIANO QUINTERO MEJA 45
BIBLIOGRAFA (1)
Pginas de INTERNET:
http:/www.wikipedia.org
www.asifunciona.com
www.Unicrom.com
www.slideshare.net
http://huarpe.com / electrnica / o1/aoinstrum.html http://www.google.com.mx/imgres?q=microcontroladores+pic&um=1&hl=es&sa=N&biw=1
http://www.diarioelectronicohoy.com/imagenes/2010/03/Microcontroladores-con-circuito-RF-incluido.jpg&w=560&h=359&ei=
http://www.delectro.dyndns.org/Deselec_microcontroladores.htm.
http://noticiasit.tincan.es/familia-de-microcontroladores-con-tecnologia-energylite%E2%84%A2/.
http://www.google.com.mx/imgres?q=microcontroladores&start=263&um=1&hl=es&sa=N&biw=1600&bih=806&addh=36&tbm=isch&tbnid=ITwG1mJbiKTMFM:&imgrefurl=
http://www.google.com.mx/imgres?q=sistema+binario.+0,1&um=1&hl=es&biw=1600&bih=806&tbm=isch&tbnid=dTKC4lmNhUoqFM:&imgrefurl=
http://www.google.com.mx/imgres?q=arquitectura+Von+Neumann+de+un+microcontrolador&um=1&hl=es&biw=1600&bih=806&tbm=isch&tbnid=b62-bZTQBJpAiM:&imgrefurl=http://www.dipity.com/rfcharria/Historia-de-los-Computadores/&docid=5NTpDWRX7NGEXM&imgurl=
M. en C. DONACIANO QUINTERO MEJA 46
BIBLIOGRAFA (2)
Pginas de INTERNET http://durango.quebarato.com.mx/gomez-palacio/diseno-de-proyectos-electronicos-
con-microcontroladores__583280.
http://www.taringa.net/comunidades/saberelec/134963/%C2%BB-Microcontroladores-Pic-%C2%BB(Introduccion).html.
http://www.google.com.mx/imgres?q=microcontroladores&um=1&hl=es&sa=N&biw=1600&bih=806&tbm=isch&tbnid=WpV63T_XrRaziM:&imgrefurl
http://buenosaires.quebarato.com.ar/capital-federal/robotica-insumos-microrobots-microcontroladores-picaxe-robotica-escolar.
Mdulo adicional para Boe-Bot, p/seguir una lnea pintada Parallax 28108. http://www.google.com.mx/imgres?q=aplicaciones+de+microcontroladores+pic&start
=323&um=1&hl=es&biw=1600&bih=806&tbm=isch&tbnid=8If9vRJkShZUSM:&imgrefurl=
http://www.infoepe.es/t/Aplicaciones/7.aspx&docid=edQgzluOzQfOkM&imgurl=
http://www.infoepe.es/odin/images/3947/Microcontroladores-PIC18F2450-y-4450-presentados-por-Microchip-Technology.jpg&w=
http://www.google.com.mx/imgres?q=lenguaje+ensamblador+para+pic&start=108&um=1&hl=es&biw=1600&bih=806&tbm=isch&tbnid=h7XXqfSpYQnEvM:&imgrefurl=htt
html Manual de Electrnica
47
BIBLIOGRAFA (3)
Pginas de INTERNET
http://www.sapiensman.com/ESDictionary/imagenes/step%20motor.jpg
http://huarpe.com/electronica/ao1/aoinstrum
http://olmo.pntic.mec.
http://www.bibliodgsca.unam. http://www.lafacu.com/apuntes/informatica/manual.
http://www.google.com.mx/imgres?q=aplicaciones+de+los+microcontroladores&um=1&hl=es&sa=N&biw=1600&bih=806&tbm=isch&tbnid=RmatvjpnoopyNM:&imgrefurl=
http://isa.umh.es/vr2/servicios.htm&docid=To_BECdzfnHXnM&imgurl=
http://isa.umh.es/vr2/servicios/robot.jpg&w=443&h=356&ei=SRlRT7b5OqbLsQL2uJyxDg&zoom=1&iact=hc&vpx=760&vpy=160&dur=4741&hovh=201&hovw=250&tx=94&ty=112&sig=105203124550678638354&page=1&tbnh=83&tbnw=103&start=0&ndsp=52&ved=1t:429,r:5,s:0
http://ss-escalante.blogspot.com/2010/03/lenguaje-ensamblador-1.html
htpp:/www.cfe.org http://www.freepik.es/vector-gratis/registrate-en-lenguaje-c-de-clip-art_382266.htm
http://micro-biomed.blogspot.com/2009/08/aplicaciones-de-los-microcontroladores.html
http://www.google.com.mx/imgres?q=lenguaje+c&start=105&um=1&hl=es&sa=N&biw=1600&bih=806&addh=36&tbm=isch&tbnid=5AQENSPoGMPaGM.
48
BIBLIOGRAFA (3)
http://www.google.com.mx/imgres?q=arquitectura+harvard+de+un+microcontrolador&um=1&hl=es&biw=1600&bih=806&tbm=isch&tbnid=EiWZX8YZdto6uM:&imgrefurl=
http://www.vdi-e.es/tecnologias/telegestion-y-comunicaciones/
http://www.google.com.mx/imgres?q=arquitectura+harvard+de+un+microcontrolador&start=538&um=1&hl=es&biw=1600&bih=806&tbm=isch&tbnid=YcI6C-XzKriVgM:&imgrefurl=http://www.inforcuaticos.cl/content/1-pagina-principal%3F%2520page%3D6&docid=DngvBJLoc7vBLM&imgurl=
http://www.risco.it/es/page_206.html. Atadora de embutidos.
http://www.webelectronica.com.ar/news08/nota08/picaxe.htm .
http://grupos.emagister.com/debate/lenguages_de_bajo_nivel/1055-756854.
http://wiki.webdearde.com/index.php?title=Tutorial:_Programaci%C3%B3n_de_PICs_en_Ensamblador.
http://www.puntoflotante.net/INTERRUPTC.htm.
[20]. http://gizmologia.com/2011/02/crean-microprocesadores-flexibles-con-semiconductores-organicos
M en C. DONACIANO QUINTERO MEJA. 16 02 2012
49
BIBLIOGRAFA (3)
http://www.google.com.mx/imgres?q=arquitectura+harvard+de+un+microcontrolador&um=1&hl=es&biw=1600&bih=806&tbm=isch&tbnid=EiWZX8YZdto6uM:&imgrefurl=
http://www.vdi-e.es/tecnologias/telegestion-y-comunicaciones/
http://www.google.com.mx/imgres?q=arquitectura+harvard+de+un+microcontrolador&start=538&um=1&hl=es&biw=1600&bih=806&tbm=isch&tbnid=YcI6C-XzKriVgM:&imgrefurl=http://www.inforcuaticos.cl/content/1-pagina-principal%3F%2520page%3D6&docid=DngvBJLoc7vBLM&imgurl=
http://www.risco.it/es/page_206.html. Atadora de embutidos.
http://www.webelectronica.com.ar/news08/nota08/picaxe.htm
FUENTES DE INFORMACIN 1. Boylestad. Electrnica. Teora de Circuitos. Ed. Prentice Hall.
2. BOLTON. W. Mecatrnica , Sistemas de Control Electrnico en al Ingeniera Mecnica y Elctrica. Editorial Alfa omega. Tercera edicin. Mxico. Feb.2006
3. HERNANDEZ. Jorge DUQUE. Edison. Curso practico de electrnica moderna. Compaa Editorial Tecnolgica CEKIT.
4. Foros de Electrnica. Comunidad Internacional de Electrnicos. Espaa.
5. Historia del CD. UNIVERSIDAD ABIERTA INTERAMERICANA.
6. DISEO DE UN SISTEMA DE CONTROL Y POTENCIA APLICADO A ENERGAS RENOVABLES por Joan Berenguer Soler. Barcelona, Espaa. 12 de Enero de 2011.
M en C. DONACIANO QUINTERO MEJA. 16 02 2012