Sei sulla pagina 1di 49

6.6.

MICROCONTROLADORES

(C) [PICS]

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.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

El microcontrolador es un
sistema cerrado.

6.6.1 INTRODUCCIN A LOS C (PICS)


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.

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.
M. en C. DONACIANO QUINTERO MEJA

6.6.1 INTRODUCCIN A LOS PICS


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.

El PIC contiene todos los componentes de


un computador, se emplea para realizar
una tarea determinada para la cual ha
sido programado.
M. en C. DONACIANO QUINTERO MEJA

6.6.1.2

DIFERENCIA ENTRE UN MICROCONTROLADOR (C)


Y UN MICROPROCESADOR (P)

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.

Reloj

Esquema de un microcontrolador
M. en C. DONACIANO QUINTERO MEJA

6.6.1.2

DIFERENCIA ENTRE UN MICROPROCESADOR (P)


MICROCONTROLADOR (C)

Resumen, la diferencia entre microcontrolador y microprocesador es:


El MICROPROCESADOR es una parte del MICROCONTROLADOR, [P C].

Estructura de un sistema abierto basado en un microprocesador.


M. en C. DONACIANO QUINTERO MEJA

6.6.1.2

DIFERENCIA ENTRE UN MICROPROCESADOR (P)


MICROCONTROLADOR (C)

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.

El microcontrolador es un sistema cerrado, porque tiene retroalimentacin.


M. en C. DONACIANO QUINTERO MEJA

6.6.1.2

DIFERENCIA ENTRE UN MICROPROCESADOR (P)


MICROCONTROLADOR (C)
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).

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 .

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

6.6.2.1 ARQUITECTURA INTERNA


MICROCONTROLADOR
Las partes principales de un microcontrolador son:
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.

Un microprocesador posee todos los componentes de un computador, sin


embargo con unas caractersticas fijas que no pueden alterarse.
M. en C. DONACIANO QUINTERO MEJA

10

6.6.2.1 ARQUITECTURA INTERNA


MICROCONTROLADOR
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

11

6.6.2.1 ARQUITECTURA INTERNA


MICROCONTROLADOR
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

12

6.6.3 PRINCIPIOS DE FUNCIONAMIENTO


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.

El sistema PICAXE (fig.1) hace ms accesible la programacin (fig.2) de los


microcontroladores

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. M. en C. DONACIANO QUINTERO MEJA

13

6.6.4 MEMORIAS
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).
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.
M. en C. DONACIANO QUINTERO MEJA

14

6.6.5 REPRESENTACIN DE LA INFORMACIN


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

15

6.6.5 REPRESENTACIN DE LA INFORMACIN


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:

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

M. en C. DONACIANO QUINTERO MEJA

16

6.6.6 FUNDAMENTOS DE PROGRAMACIN


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..
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.

M. en C. DONACIANO QUINTERO MEJA

17

6.6.6 FUNDAMENTOS DE PROGRAMACIN


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.
Teclado hexadecimal

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.
M. en C. DONACIANO QUINTERO MEJA

18

6.6.6 FUNDAMENTOS DE PROGRAMACIN


CDIGO ASCII

M. en C. DONACIANO QUINTERO MEJA

19

6.6.6 FUNDAMENTOS DE PROGRAMACIN


LENGUAJES
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
El lenguaje ensamblador?
PHP
Es un tipo de lenguaje de bajo nivel utilizado para escribir programas informticos, y
constituye la representacin ms directa del cdigo mquina.
PowerBuilder
Fue usado principalmente en los inicios del desarrollo de software, cuando aun no se
Clarion
contaba con los potentes lenguajes de alto nivel.

M. en C. DONACIANO QUINTERO MEJA

20

6.6.6 FUNDAMENTOS DE PROGRAMACIN


LENGUAJES
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:
<<Traslade el contenido de la posicin de memoria X a la posicin de memoria Y.>>
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.

M. en C. DONACIANO QUINTERO MEJA

21

6.6.6 FUNDAMENTOS DE PROGRAMACIN


LENGUAJES
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.

M. en C. DONACIANO QUINTERO MEJA

22

6.6.6 FUNDAMENTOS DE PROGRAMACIN


LENGUAJES
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 <<hard>>
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
<<hard>> de la mquina.

M. en C. DONACIANO QUINTERO MEJA

Paradoja: "Para aprender un lenguaje de bajo nivel necesitamos tener un alto nivel......
Como programadores."
23

6.6.6 FUNDAMENTOS DE PROGRAMACIN


LENGUAJES
La

siguiente

imagen

ilustra

el

proceso

de

programacin

de

un

PIC.

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.

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.
M. en C. DONACIANO QUINTERO MEJA

24

6.6.6 FUNDAMENTOS DE PROGRAMACIN


LENGUAJES
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.

M. en C. DONACIANO QUINTERO MEJA

Unix, es un sistema operativo portable, multitarea y


multiusuario; desarrollado por empleados de los laboratorios Bell
25
de AT&T. 1991.

6.6.6 FUNDAMENTOS DE PROGRAMACIN


LENGUAJES
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:
Huella dactilar. microcontroladores

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).
M. en C. DONACIANO QUINTERO MEJA

26

6.6.6 FUNDAMENTOS DE PROGRAMACIN


LENGUAJES
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).

M. en C. DONACIANO QUINTERO MEJA

27

6.6.6 FUNDAMENTOS DE PROGRAMACIN


LENGUAJES
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.

M. en C. DONACIANO QUINTERO MEJA

28

6.6.6 FUNDAMENTOS DE PROGRAMACIN


LENGUAJES
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.
M. en C. DONACIANO QUINTERO MEJA

29

6.6.6 FUNDAMENTOS DE PROGRAMACIN


LENGUAJES
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:

M. en C. DONACIANO QUINTERO MEJA

30

6.6.7 APLICACIONES

(C)

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.

M. en C. DONACIANO QUINTERO MEJA

31

6.6.7 APLICACIONES

(C)

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

32

FIN
SCADA y Automatizacin de Sistemas de Potencia

Estructura tipica de un microcontrolador

M. en C. DONACIANO QUINTERO MEJA


33

FIN

Microcontroladores PIC de 8 Pines

M. en C. DONACIANO QUINTERO MEJA


34

FIN

TERMINALES del Encapsulado DIP - PIC16C84/F84

M. en C. DONACIANO QUINTERO MEJA


35

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

36

FIN

El microprocesador. Maquinas tortilladoras completamente automticas producen


aproximadamente 12 millones de toneladas anuales de tortillas que consume el mercado
mexicano.
37

FIN

Robtica, insumos, microrobots, microcontroladores, picaxe.


M. en C. DONACIANO QUINTERO MEJA
38

FIN

Robtica, Aplicacin de microcontroladores.


M. en C. DONACIANO QUINTERO MEJA
39

FIN

Robot y mdulo adicional para Boe-Bot, p/seguir una lnea pintada Parallax - 28108
M. en C. DONACIANO QUINTERO MEJA
40

FIN

Aplicaciones de los microcontroladores en biomedicina


[Diagrama a bloques de un oxmetro (oxigenacin)].

M. en C. DONACIANO QUINTERO MEJA


41

FIN

Cristal lquido (LCD de efecto de campo)

M. en C. DONACIANO QUINTERO MEJA


42

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].
M. en C. DONACIANO QUINTERO MEJA
43

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.

44

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-circuitoRF-incluido.jpg&w=560&h=359&ei=
http://www.delectro.dyndns.org/Deselec_microcontroladores.htm.
http://noticiasit.tincan.es/familia-de-microcontroladores-con-tecnologiaenergylite%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+microcont
rolador&um=1&hl=es&biw=1600&bih=806&tbm=isch&tbnid=b62bZTQBJpAiM:&imgrefurl=http://www.dipity.com/rfcharria/Historia-de-losComputadores/&docid=5NTpDWRX7NGEXM&imgurl=
M. en C. DONACIANO QUINTERO MEJA
45

BIBLIOGRAFA (2)
Pginas de INTERNET

http://durango.quebarato.com.mx/gomez-palacio/diseno-de-proyectos-electronicoscon-microcontroladores__583280.
http://www.taringa.net/comunidades/saberelec/134963/%C2%BBMicrocontroladores-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-microrobotsmicrocontroladores-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:&imgref
url=
http://www.infoepe.es/t/Aplicaciones/7.aspx&docid=edQgzluOzQfOkM&imgurl=
http://www.infoepe.es/odin/images/3947/Microcontroladores-PIC18F2450-y-4450presentados-por-Microchip-Technology.jpg&w=
http://www.google.com.mx/imgres?q=lenguaje+ensamblador+para+pic&start=108&u
m=1&hl=es&biw=1600&bih=806&tbm=isch&tbnid=h7XXqfSpYQnEvM:&imgrefurl=htt
html Manual de Electrnica
M. en C. DONACIANO QUINTERO MEJA
46

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=SRlRT7b5OqbLsQ
L2uJyxDg&zoom=1&iact=hc&vpx=760&vpy=160&dur=4741&hovh=201&hovw=2
50&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-cde-clip-art_382266.htm
http://micro-biomed.blogspot.com/2009/08/aplicaciones-de-losmicrocontroladores.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.
47

BIBLIOGRAFA (3)
http://www.google.com.mx/imgres?q=arquitectura+harvard+de+un+microcontrol
ador&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+microcontrola
dor&start=538&um=1&hl=es&biw=1600&bih=806&tbm=isch&tbnid=YcI6CXzKriVgM:&imgrefurl=http://www.inforcuaticos.cl/content/1-paginaprincipal%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_PI
Cs_en_Ensamblador.
http://www.puntoflotante.net/INTERRUPTC.htm.
[20]. http://gizmologia.com/2011/02/crean-microprocesadores-flexibles-consemiconductores-organicos

M en C. DONACIANO QUINTERO MEJA.

16 02 2012

48

BIBLIOGRAFA (3)
http://www.google.com.mx/imgres?q=arquitectura+harvard+de+un+microcontrol
ador&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+microcontrola
dor&start=538&um=1&hl=es&biw=1600&bih=806&tbm=isch&tbnid=YcI6CXzKriVgM:&imgrefurl=http://www.inforcuaticos.cl/content/1-paginaprincipal%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

49

Potrebbero piacerti anche