6_6_ MICROCONTROLADORES_ PIC'S_ 2014.pdf

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