View
239
Download
6
Category
Preview:
Citation preview
INSTITUTO LA PAZ DE QUERÉTARO, AC.
“LA CONSUMACIÓN DE UN MICROCONTROLADOR; CUERPO Y ALMA”
METODOLOGÍA DE LA INVESTIGACIÓN
PRESENTA:
MANUEL ALEJANDRO OSSIO DÍAZ
3° F N.L. 15
NOMBRE DEL PROFESOR:
LIC. BEATRIZ SÁNCHEZ IBARROLA
QUERÉTARO, QRO., 3 DE JUNIO DE 2014
Tema: Ingeniería en sistemas digitales y robótica
Delimitación del tema: micro controladores y sistemas digitales y robótica
Planteamiento del problema: En el presente trabajo se aborda el ampliar
el conocimiento sobre el uso y función de los micro controladores en la
electrónica y el análisis del avance tecnológico pueda llegar a sustituir la mano
de obra del hombre en la industria.
De mismo modo se abarca la siguiente cuestión ¿Puede el avance desmesurado
de la electrónica y robótica sustituir al hombre en el trabajo o la industria?, ¿Qué
son los micro controladores?
Justificación
Esta tesina se realiza con el fin de poder ampliar el conocimiento que se tiene
sobre los micro controladores que se estudian para la carrera de Ingeniero en
Sistemas Digitales y Robótica (ISD)1, además incitar a los jóvenes interesados
en esta carrera y aventurarlos a investigar sobre ella por su cuenta y poder
comprobar la hipótesis que se planteará a continuación.
Hipótesis1
El avance desmesurado de la electrónica y robótica no puede sustituir al hombre
en el trabajo o la industria debido a que la máquina necesita de atención y
mantenimiento.
Objetivos generales
Investigar más sobre el uso, historia y función de los micro controladores
en la ISD.
Objetivos específicos
Estudiar el uso, historia y función de los microcontroladores en la ISD.
Comprobar la hipótesis planteada.
Incitar a jóvenes que se encuentran en elección de carrera a probar y
descubrir más sobre ISD.
Comprobar que ISD es una carrera de amplio potencial en Querétaro, con
mucha demanda laboral.
Índice
Portada
Índice de contenido
Delimitación y planteamiento del problema
Objetivos
Introducción 1
Capítulo 1. Antecedentes Históricos 4
1.1. Historia a inicios del siglo XX1.1.1. Diodos1.1.2. Tríodos
1.2. Historia a mediados y finales del siglo XX1.3. Robótica
1.3.1. Tipos de robots1.4. Partes fundamentales1.5. Microcontroladores1.6. Sensores
Capítulo 2. Marco Teórico 15
1.2.
2.1. Microcontroladores2.1.1. Partes del microcontrolador
2.2. Microcontroladores y microprocesadores2.2.1. Características
2.3. Componentes de un microcontrolador2.4. Programa
2.4.1. Compilación del lenguaje de alto nivel2.5. Arquitecturas del MCU
2.5.1. Arquitectura de Von Neumann 2.5.2. Arquitectura de Harvard
Capítulo 3. El alma del microcontrolador 26
1.2.3.
3.1. Programación 3.2. Programa
3.2.1. Lenguajes de programación 3.2.1.1. Lenguajes de programación de alto nivel
3.3. Compilador3.4. Estructura del programa3.5. Constantes y variables3.6. Operadores
3.6.1. Operadores aritméticos3.6.2. Operadores de asignación3.6.3. Operadores de incremento y decremento3.6.4. Operadores racionales3.6.5. Operadores lógicos3.6.6. Operadores de manejo de bits
Capítulo 4. Investigación de campo 37
4.1. Diseño de la investigación
Capítulo 5. Análisis de resultados 42
5.1. Reporte de resultados
Conclusiones 49
Bibliografía y referencias 51
Introducción
En el siguiente trabajo se observará un trabajo de investigación sobre la
Ingeniería en sistemas digitales y robótica de los micro controladores y sistemas
digitales y robótica para ampliar el conocimiento sobre el uso y función de los
micro controladores en la electrónica y el análisis del avance tecnológico pueda
llegar a sustituir la mano de obra del hombre en la industria.
Los objetivos de esta investigación son:
Investigar más sobre el uso, historia y función de los micro controladores
en la ISD.
Estudiar el uso, historia y función de los microcontroladores en la ISD.
Comprobar la hipótesis planteada.
Incitar a jóvenes que se encuentran en elección de carrera a probar y
descubrir más sobre ISD.
Comprobar que ISD es una carrera de amplio potencial en Querétaro, con
mucha demanda laboral.
El enfoque científico de esta investigación es para poder aportar una obra que
amplíe y sirva de consulta a la gente que esté interesada en estudiar una
ingeniería en sistemas digitales y robótica, para poder ampliar el conocimiento
sobre un tema importante de la misma y podrá observar sobre lo que se conoce
sobre la robótica en la sociedad.
En este trabajo se llevó a cabo por medio de una investigación histórica pues se
realizaron los siguientes pasos:
Se enuncióun problema
Se recolectó información
Se analizaron los datos y las fuentes
Se formuló una hipótesis
Se elaboró el presente informe
Se llegóa una conclusión
El informe se realizóprimero pensando en que se quería aportar con esta
investigación y una vez que se decidió por una investigación informativa se
recolectaron datos de diversas fuentes documentales en bibliotecas y en
internet; todos esto datos se analizaron como dicta la metodología histórica y se
describió la información más importante del tema y una vez terminada la
investigación documental se prosiguió a realizar una investigación etnográfica
con el fin de comprobar la hipótesis formulada.
Terminado el informe se llegó a la conclusión de que hoy en día sin duda alguna
la robótica aplicada y los sistemas digitales han facilitado la vida del hombre en
un sin número de aspectos y que estos seguirán mejorándose a lo largo del
tiempo.
La hipótesis formulada fue rechazada pues con la investigación etnográfica se
verificó que la mano de obra del hombre en la industria será reemplazada pues
ésta ha avanzado de una forma desmesurada e increíble y con esta idea están
de acuerdo un 36.36% de la gente encuestada, y un 31.81% cree que esto no es
posible pues los robots requieren de mantenimiento y un 31.81% permanecen en
incertidumbre, pues estos por el momento requieren de mantenimiento, pero a
un futuro es posible que éstos sean completamente automáticos y no requieran
más del hombre.
Por esto se llegó a la conclusión de que por el momento que un robot no puede
reemplazar al hombre pero en el futuro con el avance tecnológico esta es una
posibilidad y no muy lejana.
Se le invita a leer ésta investigación para que pueda dar testimonio de lo que
aquí se presenta y pueda ampliar su conocimiento sobre los microcontroladores,
la robótica y los sistemas digitales.
Capítulo 1Antecedentes
Históricos
Capítulo 1
Antecedentes históricos
1.1 Historia a inicios del siglo XX
Los orígenes de la electrónica y la robótica moderna datan de muchos años
atrás, a inicios del siglo XX, antes de la II Guerra Mundial con la invención del
diodo.
Esta invención se le es atribuida a John Ambrose Fleming en 1904. El
funcionamiento de este dispositivo está basado en el efecto Edison. El efecto
Edison consiste en hacer pasar la electricidad desde un filamento a una placa
metálica situada en el interior de una lámpara incandescente. Se descubrió en
1883 por Thomas Edison, de ahí que lleve su nombre, y ha sido de vital
importancia para la creación de la válvula de radio y la base de la electrónica
actual.
El otro gran paso lo dio Lee De Forest cuando inventó el tríodo en 1906. Este
dispositivo es básicamente como el diodo de vacío, pero se le añadió una rejilla
de control situada entre el cátodo y la placa, con el objeto de modificar la nube
electrónica del cátodo, variando así la corriente de placa. Este fue un paso muy
importante para la fabricación de los primeros amplificadores de sonido,
receptores de radio, televisores, etc.
5
1.1.1 Diodos
Los diodos son componentes electrónicos de dos terminales que permite que la
corriente circule por ellos en un solo sentido. Son uno de los componentes que
más usos pueden tener dentro de la electrónica, su misión puede ir desde
simplemente proteger una zona del circuito por la que no queremos que la
corriente circule en la dirección que no debe; como se ve, tienen una función
muy importante y diversa. Funciones más importantes:
Proteger el circuito
Rectificar la corriente en el circuito
1.1.2 Tríodos
El Tríodo es un componente electrónico de tres electrodos utilizado para
amplificar una señal eléctrica mediante el control del movimiento de los
electrones.
El inventor del tríodo fue Alexander Lee De Forest, inventor estadounidense muy
importante al que se le atribuyen más de 300 patentes como por ejemplo del
circuito oscilador de alta frecuencia, el radioteléfono, los sistemas de transmisión
y recepción de radio, los sistemas de comunicación de los trenes, un altavoz, la
celda fotoeléctrica, la cámara de cine a prueba de ruidos y un aparato de
televisión y de televisión a colores.
6
Fue en 1906 cuando De Forest realizó uno de los avances más importantes en el
desarrollo de la electrónica al introducir en el tubo al vacío de Fleming un tercer
electrodo reticulado, llamado rejilla, que permite el paso de electrones.
Hasta ahora hemos podido ver que para inicios del siglo XX ya existían diversos
y pequeños aparatos, que evolucionaron y fueron precursores de la electrónica
moderna y que para mediados y finales del siglo serían aun más, más pequeños
y mejores. Es por esto que Albert Einstein nos decía: “¿Si supiese que es lo que
estoy haciendo, no le llamaría investigación, verdad?2
1.2 Historia a mediados y finales del siglo XX
Conforme paso el tiempo, las válvulas de vacio fueron perfeccionadas, se les
agregaron más electrodos (tetrodos, pentodos) y finalmente para una perfección
en estos, se volvieron más pequeños.
El mayor paso a esta perfección fue con el transistor de unión apareció. Este es
el dispositivo utilizado actualmente para la mayoría de las aplicaciones de la
electrónica. Sus ventajas respecto a las válvulas son entre otras: menor tamaño
y fragilidad, mayor rendimiento energético, menores tensiones de alimentación,
etc. El transistor no funciona en vacío como las válvulas, sino en un estado
2 VERLE, M (2009) PIC Microcontrollers - Programming in C, Recuperado el 11 de mayo de 2014 en: http://www.mikroe.com/products/view/285/book-pic-microcontrollers-programming-in-c/
7
sólido, razón por la que no necesita centenares de voltios de tensión para
funcionar.
1.3 Robótica
La robótica es una ciencia o rama de la tecnología, que estudia el diseño y
construcción de máquinas capaces de desempeñar tareas realizadas por el ser
humano o que requieren del uso de inteligencia.
Cuando hablamos de robótica y su origen, podemos remontarnos a siglos atrás
en el renacimiento, con los primeros bocetos de un robot hecho por Leonardo da
Vinci, pero el autor más importante y que moldeo la robótica moderna fue un
bioquímico y escritor ruso llamado Isaac Asimov.
Aunque parezca difícil de creer que un hombre que nada tuvo que ver con la
mecánica la eléctrica y la electrónica, halla acuñado el nombre de “robótica” y
aún más importante, las tres leyes de la robótica que hoy en día son vigorosas.
Ley cero: En 1985, Asimov publicó un relato en la que uno de sus robots
se ve obligado a herir a un ser humano por el bien del resto de la
humanidad. Surge así una nueva ley, considerada la Ley Definitiva, la
llamada Ley Cero, superior a todas las demás: "Un robot no puede
lastimar a la humanidad o, por falta de acción, permitir que la humanidad
sufra daños". Quedando así modificada la primera ley: "Un robot no debe
8
dañar a un ser humano, o permitir, por inacción, que un ser humano sufra
daño, a menos que tal acción viole la Ley Cero".
1. Un robot no puede causar daño a un ser humano ni, por omisión, permitir
que un ser humano sufra daños.
2. Un robot debe obedecer las órdenes dadas por los seres humanos, salvo
cuando tales órdenes entren en conflicto con la Primera Ley.
3. Un robot ha de proteger su existencia, siempre que dicha protección no
entre en conflicto con la Primera o la Segunda Ley.
Una vez definido el término de robótica, pasamos al primer robot creado y como
ha ido evolucionando la robótica desde entonces.
El primer robot de la época moderna fue creado por Grey Walters, en la década
de los 40, 1942 y lo llamó "Elsie la Tortuga”.
Posteriormente el Instituto de Investigación de la Universidad de Stanford, en
California en 1960 desarrolló a "Shakey" que era una caja inestable con ruedas,
que utilizaba memoria y razonamiento lógico para resolver problemas y navegar
en su entorno.
9
En la figura 1.1 se puede observar a “Elsie la tortuga” y en la figura 1.2 se puede
observar a “Shakey”.
Figura 1.1 Elsie la tortuga 3
Figura 1.2 Shakey4
3
4
10
1.3.1 Tipos de Robots
Hoy en día la amplitud de tipos de robots es muy extensa, y han ido mejorando
debido a las necesidades del hombre, como por ejemplo los robots industriales;
la clasificación más común en los robots es:
Androides
Son todos los robots que tienen forma humana, es decir, que tienen cabeza,
torso y extremidades.
Móviles
Son aquellos que constan o están dotados de cierta parte como piernas, ruedas
u orugas que permiten su movimiento.
Industriales
Son los utilizados en procesos de fabricación o manipulación
Médicos
Son todos aquellos cuya función es ser una prótesis para todo aquel usuario que
lo requiera.
Estos son una pequeña parte de todos los robots que han ido evolucionando a lo
largo de la historia de la robótica.
11
1.4 Partes fundamentales
Como los humanos, los robots han ido mejorando y adaptándose, y ellos como
nosotros constamos de partes fundamentales, las de los robots son:
1. Manipulador
1.1.Cuerpo
1.2.Brazo
1.3.Muñeca
1.4.Gripper
2. Elementos
2.1.Controlador
2.2.Dispositivos de entrada y salida
2.3.Dispositivos especiales
Principalmente, la función del manipulador es la de dar movimiento al robot y
hacer la función para la cual fue creado y/o programado.
La función de los elementos, específicamente el controlador, es controlar cada
uno de los movimientos del manipulador y conservar sus posiciones.
Los dispositivos de entrada y salida permiten introducir y ver los datos del
controlador. Para mandar instrucciones al controlador y para dar de alta
programas de control, comúnmente se utiliza una computadora adicional.
12
1.5 Microcontroladores
Podemos ver a los micro controladores como una pequeña computadora; y
¿Qué tiene una computadora? Varias partes, teclado, monitor CPU, entre otros.
De este modo un microcontrolador posee un microprocesador, memoria y
dispositivos periféricos (entrada/salida, puertos de comunicación, etc.)
Los dispositivos de entrada y salida permiten introducir y ver los datos del
controlador. Para mandar instrucciones al controlador y para dar de alta
programas de control, comúnmente se utiliza una computadora adicional.
Puede controlar casi cualquier cosa, pues consta de un programa o
programación más o menos complejo dependiendo de la actividad que realizara
y es ayudado por sensores o dispositivos que recogen y analizan la información
para que el robot pueda cumplir su función.
El Instituto Smithsoniano dice que: “los ingenieros de Texas Instruments Gary
Boone y Michael Cochran lograron crear el primer microcontrolador, TMS 1000,
en 1971”5; fue comercializado en 1974. Combina memoria ROM, memoria RAM,
microprocesador y reloj en un chip y estaba destinada a los sistemas embebidos.
Con el tiempo los microcontroladores se volvieron más económicos y útiles, pues
facilitaron la programación de los robots, además de que aumentaron su
practicidad, pues anteriormente solo se podían programar una vez como era el
5
13
caso del microcontrolador con memoria PROM o si se podían reprogramar varias
veces eran muy caros y para poder reprogramarlos se llevaba a cabo un proceso
meticuloso con luz ultravioleta.
1.6 Sensores
Los Sistemas Sensitivos son aquellos que permiten la interacción del robot con
el entorno, estos han avanzado con el tiempo y han mejorado, sobre todo en la
parte del análisis y la interpretación de un fenómeno físico a datos cuantificables
para que el robot pueda reaccionar.
Magnitudes físicas que es necesario medir para que un robot tenga algún
conocimiento del entorno:
Luz
Sonido y ultrasonido
Temperatura
Velocidad
Distancia
Entre otros
Ahora que vimos los orígenes de los sistemas digitales y la robótica, pasaré a
definir de modo complejo los microcontroladores que es el fin de este trabajo.
14
Capítulo 2Marco Teórico
Capítulo 2
Marco teórico
2.1 Microcontroladores
Un microcontrolador es un circuito integrado programable, capaz de ejecutar las
órdenes grabadas en su memoria. En su interior contiene una unidad central de
procesamiento (CPU), unidades de memoria (RAM y ROM), periféricos de
entrada y salida. Estas partes están interconectadas dentro del microcontrolador.
2.1.1 Partes del microcontrolador
CPU: La Unidad Central de Procesamiento es el componente principal
que interpreta las instrucciones contenidas en los programas y procesa
los datos. Las CPU proporcionan la característica fundamental del
ordenador digital (la programabilidad).
Memoria: se refiere a parte de los componentes que integran una
computadora. Son dispositivos que retienen datos informáticos durante
algún intervalo de tiempo.
Periféricos de entrada/salida: son los aparatos o dispositivos auxiliares e
independientes conectados a la unidad central de procesamiento a través
de los cuales se comunica con el mundo exterior, como a los sistemas
que almacenan o archivan la información, sirviendo de memoria auxiliar
16
sirven básicamente para la comunicación de la computadora con el medio
externo.
2.2 Microcontroladores y microprocesadores
Normalmente se comete el error de confundir y pensar que los
microprocesadores y los microcontroladores son lo mismo y no es así; la
diferencia radica en lo siguiente:
Los microprocesadores fueron creados antes que los microcontroladores y su
desarrollo está fundamentalmente orientado a los ordenadores personales o
estaciones de trabajo que necesitan gran potencia de cálculo, manejo de gran
cantidad de memoria y una velocidad de procesamiento mayor.
Los microprocesadores son diferentes, además de que poseen un
microprocesador dentro de ellos, sus registros internos son de 8, 16, 32 o 64 bits
solamente, y estos se han desarrollado para cubrir las más diversas aplicaciones
como:
Automoción
Comunicaciones
Electrodomésticos
Juguetes
Entre otros
17
Estos han sido creados para ser utilizados en aplicaciones puntuales, es decir,
donde se debe realizar un pequeño número de tareas con el menor costo
posible.
Para realizar las aplicaciones, el microprocesador ejecuta la programación que
posee en su memoria, la cual se explicara posteriormente que manifestara por
los periféricos.
2.2.1 Características
En un microcontrolador se buscan y son caracterizados por estas características:
1. Periféricos de entrada y salida: al igual que la capacidad de cálculo del
microcontrolador, se busca que sus periféricos sean de calidad y
eficientes.
2. Optimización de espacio: esta trata de que en el menor espacio posible
de memoria se puedan tener los elementos esenciales para desarrollar
una aplicación.
3. Seguridad en el funcionamiento: se busca que el funcionamiento correcto
del microcontrolador esté garantizado y en caso de que llegue a perder el
programa se pueda corregir la situación fácil y rápidamente.
4. Bajo consumo: como hay ocasiones en las que el microcontrolador se
utiliza en aparatos que usan baterías como en juguetes, es ideal que el
consumo de energía sea mínimo y eficiente
18
5. Protección contra copias: finalmente se busca que el microcontrolador
posea una protección contra copia o pirateo del programa y altere la
programación que posee.
2.3 Componentes de un microcontrolador
Figura 1.3 Esquema de bloques general de un microcontrolador6
Como ya se explico, los microcontroladores constan del CPU, las memorias y
sus periféricos de entrada y salida, pero en el esquema de la figura 1.3 se
pueden ver otros componentes que se explicaran a continuación al igual que los
previamente explicados pero de manera más precisa.
6
19
Los MCU7 disponen de un oscilador que genera los pulsos que sincronizan todas
las operaciones internas.
El CPU es el cerebro del MCU, este trae las instrucciones del programa uno a
uno desde la memoria donde están almacenados, las interpreta y las ejecuta;
dentro del CPU se incluyen los circuitos de la Unidad Aritmético Lógica (ALU)
que realiza las operaciones aritméticas y lógicas en función a los datos binarios.
Los temporizadores son circuitos sincrónicos para el conteo de los pulsos que
llegan a su poder para conseguir la entrada de reloj. Los temporizadores son uno
de los periféricos más habituales en los microcontroladores y se utilizan para
muchas tareas, como por ejemplo, la medición de frecuencia, implementación de
relojes, para el trabajo de conjunto con otros periféricos que requieren una base
estable de tiempo.
El perro guardián (WDT: Watchdog Timer) consta de un oscilador y contador
binario, que se encarga de mientras el programador trabaja en el MCU si el
contador del WDT llega a 0 reinicia el MCU y borra la programación que llevaba,
este es un periférico muy importante, pues garantiza el funcionamiento del MCU
y permite detectar posibles errores en su programación a tiempo.
7
20
El control de interrupciones es de los más importantes, pues brinda la capacidad
de sincronizar la ejecución de programas con acontecimientos externos; es decir,
cuando se produce una interrupción, el MCU automáticamente deja lo que está
haciendo, va a cierta dirección de su programa y ejecuta lo que encuentre a
partir de allí hasta encontrarse con otra instrucción que le hará abandonar la
interrupción y volver al lugar donde se encontraba antes de producirse dicha
interrupción.
Finalmente, los buses son los grupos de líneas eléctricas que conectan los
diferentes bloques del MCU y pueden ser de 3 tipos:
Dirección: transporta direcciones de entrada y salida o memoria
Datos: Transporta datos o instrucciones
Control: Transporta señales de control diversas
2.4 Programa
Los microcontroladores están diseñados para interpretar y procesar datos e
instrucciones en forma binaria. Patrones de 1 y 0 conforman el lenguaje de los
microcontroladores, y es lo único que son capaces de entender. Estos 1 y 0
representan la unidad mínima de información, conocida como bit, ya que solo
puede adoptar uno de dos valores posibles: 0 ó 1.
21
La representación de datos, instrucciones y señales en forma de bits es bastante
difícil para las personas que no conozcan y dominen el sistema de numeración
binario. Aún para los expertos es difícil la interpretación de instrucciones en
forma binaria o lenguaje máquina (el lenguaje maquina se le conoce también
como lenguaje de bajo nivel debido a que las instrucciones no son propias del
lenguaje humano). Es por esto que la programación comúnmente se lleva a cabo
en un lenguaje de alto nivel, es decir, un lenguaje que el lenguaje humano. El
uso de los lenguajes de alto nivel facilita enormemente la programación ya que
son familiares a nuestra manera de comunicarnos. Lenguajes como el C o
BASIC son comúnmente utilizados en la programación de microcontroladores.
2.4.1 Compilación del lenguaje de alto nivel
Los programas escritos en C, en BASIC, o en otro lenguaje de programación de
alto nivel debe ser transformado en lenguaje ó código de máquina, aquí entra
otro software de computadora que traduce y transforma nuestro programa a este
lenguaje para que el MCU sea capaz de entenderlo y acatarlo.
Una vez traducido, el programa se lleva a la memoria ROM del MCU por medio
de un programador físico (hardware) que escribe el programa en la memoria
interna antes mencionada.
22
Figura 1.4 Proceso de compilación del programa8
2.5 Arquitecturas del MCU
Existen dos tipos de arquitecturas, es decir, formas en las que están distribuidos
los componentes del MCU, estas son el estilo Harvard y el estilo Von Neumann.
2.5.1 Arquitectura Von Neumann
En esta arquitectura, el CPU está conectado a una memoria principal única
donde se guarda el programa y los datos, a la cual se accede a través de un
sistema de buses (control, direcciones y datos).
El tener un único bus hace que el microprocesador sea más lento en su
respuesta, ya que no puede buscar
en memoria una nueva instrucción mientras no finalicen las transferencias de
datos de la instrucción anterior.
8
23
Las principales limitaciones que nos encontramos con la arquitectura Von
Neumann son:
La limitación de la longitud de las instrucciones por el bus de datos, que
hace que el microprocesador tenga que realizar varios accesos a memoria
para buscar instrucciones complejas.
La
limitación de la velocidad de operación a causa del bus único para datos e
instrucciones que no deja acceder simultáneamente a unos y otras, lo cual
impide superponer ambos tiempos de acceso
24
Figura 1.5 Arquitectura Von Neumann9
2.5.2 Arquitectura Harvard
Este modelo, que utilizan los Microcontroladores PIC, tiene el CPU conectado a
dos memorias (una con las instrucciones y otra con los datos) por medio de
dos buses diferentes.
Como ambos buses son independientes y pueden acceder a las instrucciones y
los datos optimiza el uso de la memoria y nos da las siguientes ventajas:
El tamaño de las instrucciones no está relacionado con el de los datos, y
por lo tanto puede ser optimizado para que cualquier instrucción ocupe
una sola posición de memoria de programa, logrando así mayor velocidad
y menor longitud de programa.
El tiempo de acceso a las instrucciones puede superponerse con el de
los datos, logrando una mayor velocidad en cada operación.
Figura 1.6 Arquitectura Harvard 10
9
10
25
En este capítulo pudimos observar cómo está formado un MCU, su estructura
interna y sus características, a continuación pasare a explicar la parte más difícil
pero la más divertida cuando se habla de microcontroladores.
26
Capítulo 3El alma del
microcontrolador
Capítulo 3
El alma del microcontrolador
3.1 Programación
Como se explico en el punto 2.4 de esta obra, los microcontroladores están
diseñados para interpretar y procesar datos e instrucciones en forma binaria.
A continuación se hablara sobre los lenguajes de programación como c y todo lo
implica la elaboración de un programa para un MCU.
3.2 Programa
Cuando se habla sobre la programación de un microcontrolador contamos varias
opciones para realizarlo tales como:
C
BASIC
Lenguaje Ensamblador (ASSEMBLER)
Antes de entrar con los lenguajes de programación con las ventajas y
desventajas que nos ofrecen, dejemos en claro lo que es el programa.
Un programa informático es un conjunto de instrucciones que una vez
ejecutadas realizarán una o varias tareas, cuando es un programa de
microcontrolador, este lo almacena en su memoria y lo ejecuta, esto se
27
denomina el código ejecutable y está compuesto por una serie de 0’s y 1’s,
llamado código binario y dependiendo del tipo de MCU que se use y su
estructura, este código binario se puede conformar por palabras de 12, 14 ó 16
bits de ancho.
Cada palabra se interpreta por la Unidad Central de Procesamiento o CPU como
una instrucción para que se ejecute mientras el microcontrolador esté
funcionando. Todas las instrucciones que el microcontrolador llegue a reconocer
y ejecutar se les llaman en grupo como: conjunto de instrucciones. Cuando se
usa el código binario, es más fácil trabajar con el sistema de numeración
hexadecimal, el código que se esta ejecutando se representa con frecuencia
como una serie de números hexadecimales denominada código .hex.
3.2.1 Lenguajes de Programación
Como lo explicado anteriormente era muy difícil de elaborar, se creó el primer
lenguaje de programación llamado Assembler o Ensamblador (ASM); este
lenguaje de programación permitió al programador poder escribir y comprender
el código que estaba haciendo de una manera mucha más sencilla.
Este lenguaje consiste en diversas instrucciones que son abreviaturas con un
significado.
28
El lenguaje de ensamblador ofrece las siguientes ventajas:
A pesar de ser un lenguaje de bajo nivel, funciona con microcontroladores
de gama baja, media y alta.
Ofrece un máximo aprovechamiento de recursos
Permite explotar el máximo potencial del CPU a bajo costo en memoria
Fácil de usar
También consta de algunas desventajas como:
Solo funciona en CPU
Es muy difícil de usar para crear programas muy complejos
Un solo error puede alterar todo el equipo o programa.
3.2.1.1 Lenguajes de programación de alto nivel
Para poder superar las desventajas y errores que tenía el Ensamblador, se
crearon lenguajes de alto nivel como C o BASIC, en estos lenguajes se
cambiaron las instrucciones del Ensamblador por una sentencia, es decir, una
línea de código escrita.
A continuación se mostraran las ventajas y desventajas del leguaje C y BASIC
Ventajas en C
Es un lenguaje muy flexible que permite programar con múltiples estilos.
Impide operaciones sin sentido.
29
Desventajas
El programa tiende a volverse muy extenso y pesado.
Ventajas en BASIC
Es un leguaje muy sencillo de usar cuyas instrucciones se pueden
entender incluso entre las personas que desconocen del tema.
Desventajas
Se limita al uso de Windows.
Limita la generación del archivo .hex por lo que no optimiza el tamaño de
la memoria usada.
Todos los lenguajes vistos, sirven para crear las instrucciones que realizara el
microcontrolador, pero estas aun no son entendidas por éste, por lo cual se
tienen que traducir a código de máquina (binario).
3.3 Compilador
Es un programa de computadora que compila el archivo fuente o programa que
escribimos en cualquier tipo de lenguaje de programación, y lo traduce a código
binario para que sea entendido por el MCU.
El proceso de compilación comprende los siguientes pasos:
30
1. El archivo fuente contiene el código escrito por el programador.
2. El compilador ejecuta un preprocesador que busca todas las directivas
(estas empiezan con un #) en el código y las modifica.
3. El analizador sintáctico busca y elimina toda la información inútil en el
programa como espacios en blanco que ocupan espacio en la memoria.
4. El compilador analiza la información obtenida en los últimos pasos y
traduce el código a un archivo binario llamado .mcl.
5. El enlazador junta toda la información que se necesita para ejecutar el
programa de los archivos externos y la agrupa en un solo archivo
llamado .dbg.
6. Para terminar el generador.hex, compila el .dgb y lo convierte en un
archivo .hex que es el archivo que el MCU tendrá en su memoria.
Figura 1.7 Building o proceso de compilación11
11
31
3.4 Estructura del programa
Lo que se busca principalmente al escribir un programa es convertir el problema
en general o mayor, en pequeñas divisiones, es decir, en problemas más
pequeños.
Es lo que puede apreciar en la siguiente imagen:
Figura 1.8 Diagrama de flujo para solucionar un problema12
12
32
Como se puede observar, el proceso de compilación es el mismo al iniciar un
proyecto con MCU’s para dar solución a un problema, la estructura es la que
cambiara dependiendo el programa usado ya sea la cabecera, las directivas o la
función principal.
3.5 Constantes y variables
Las variables son datos que se nombran durante la programación, a estos datos
se les asigna un valor el cual puede ser cambiado durante la ejecución de un
programa, mientras que las constantes son datos que cuyo valor no se puede
cambiar durante la ejecución del programa.
Estos tienen una función importante durante la elaboración del programa, pues
facilitan el uso de datos para que sean interpretados en la acción que vaya a
realizar el MCU.
3.6 Operadores
Durante la programación, podemos hacer uso de operadores lógico
matemáticos, los cuales nos permiten realizar operaciones si algún programa asi
lo requiere, por ejemplo si queremos crear un programa para un MCU que
calcule la temperatura y la marque en una pantalla LCD hacemos uso de
operadores.
Existen 6 tipos de operadores en programación, estos son los siguientes:
33
Operadores aritméticos
Operadores de asignación
Operadores de incremento y decremento
Operadores relacionales
Operadores lógicos
Operadores de manejo de bits
3.6.1 Operadores aritméticos
Se utilizan en las operaciones aritméticas y siempre devuelven resultados
numéricos, estos son:
Suma +
Resta -
Multiplicación *
División /
3.6.2 Operadores de asignación
Asignan valores a las variables usando el carácter “=”
+= b+=5 b=b+5
34
-= b-=5 b=b-5
*= b*=5 b=b*5
/= b/=5 b=b/5
3.6.3 Operadores de incremento y decremento
Estos incrementan o reducen el valor de las variables por 1
++
- -
3.6.4 Operadores relacionales
Este tipo de operadores son utilizados para comparar dos valores, estos
operadores van de la mano con los operadores lógicos.
> mayor que < menor que == igual que
>= mayor o igual que <= menor o igual que ¡= diferente que
3.6.5 Operadores lógicos
35
Los operadores lógicos, nos permiten obtener veracidad sobre una expresión, de
modo que se pueda realizar otra función si el resultado es verdadero o falso
&& y || O ¡ No
3.6.6 Operadores de manejo de bits
Son como los operadores lógicos, pero en vez de aplicarse a una expresión, se
aplica sobre los bits de un operando.
En este capítulo se analizo de una manera sencilla las partes más importantes
de la programación de los MCU, se observo la metodología que se lleva a cabo
en el mismo, y a continuación se realizara una investigación de campo, con el fin
de resolver la hipótesis planteada al principio.
En el siguiente capítulo se explicará el tipo de muestra empleado asi como una
muestra de la encuesta que se aplicará
.
36
Capítulo 4Investigación de
campo
Capítulo 4
Investigación de campo
4.1 Diseño de la investigación
A continuación se realizará una encuesta, con el fin de poder resolver la
hipótesis formulada al inicio de la investigación, y poder observar cuánto conoce
la gente sobre robótica y la opinión que tienen de ésta.
El diseño de la investigación de campo será la siguiente:
Se realizará una encuesta por un muestreo no probabilístico a 2 especialistas
sobre el tema, pues estos al tener experiencia sobre el ámbito, y asi es más fácil
llegar a una conclusión y poder analizar la hipótesis.
También se efectuará una encuesta por muestro probabilístico de ponderación
bajo los siguientes criterios:
Se encuestará a la gente entre los 18 años y 45 años de edad
Se ejecutará una encuesta a una mujer y posteriormente a un hombre,
sucesivamente hasta entrevistar a 10 mujeres y 10 hombres.
El tamaño de la muestra se iba a elegir por medio de una fórmula para
determinar el tamaño de una muestra cuando se desconoce la población, pero al
momento de realizarla el tamaño de la muestra obtenido era muy bajo, por lo que
38
se decidió estandarizar a 20 encuestas. La fórmula de la cual se habló es la
siguiente:
n= z2 pqe2
Donde:
A continuación se enseña un cuestionario en blanco para servir de muestra:
39
n= Tamaño de la muestra
z=Valor estandarizado por nivel de confianza
p= Variabilidad positiva
q=Variabilidad negativa
e= Margen de error
Encuesta sobre robóticaEdad: Género:
La siguiente encuesta se realizara con el fin de poder resolver la hipótesis formulada al inicio de la investigación, y poder observar cuánto conoce la gente sobre robótica y la opinión que tienen de ésta.
Instrucciones: Señale con una x la opciones que usted considere mejor¿Cuál ó cuáles de los objetos aquí presentados describiría Usted como "robot"?
Imagen si no
¿Qué opinión tiene usted sobre los robots?(responda con una x, si es otro defina cuál)
Los robots son bastante útiles y facilitan nuestro trabajo
Los robots son juguetes
Los robots son una amenaza para el hombre
40
Otro:
(responda con una x, si es otro defina cuál)
En la industria
Como uso personal y diversión
Los robots no son útiles
otro:
¿Cree usted posible que los robots puedan sustituir la mano de obra del hombre?Si Dudoso No
¿Cuál de los siguientes robots considerada usted que deben ser operados por un hombre?Robot Si No
¡Gracias por su colaboración!
41
Capítulo 5Reporte de resultados
Capítulo 5
Reporte de resultados
5.1 Reporte de resultados
Al terminar de realizar la investigación etnográfica con las encuestas
a las 22 personas que se realizó en la plaza de la tecnología a las
personas que por ahí circulaban el día sábado 24 de mayo de 2014,
se obtuvieron los siguientes resultados:
1.- ¿Cuál ó cuáles de los objetos aquí presentados describiría Usted como
"robot"?
De esta pregunta se obtuvo lo siguiente:
1
2 3 4
43
Resultados 1° pregunta
Imagen 1 si es un robotImagen 1 no es un robotImagen 2 si es un robotImagen 2 no es un robotImagen 3 si es un robotImagen 3 no es un robotImagen 4 si es un robotImagen 4 no es un robot
La imagen número 1 es considerado un robot, es una aspiradora completamente
automática, con sensores para no chocar.
La imagen número 2 no es considerado un robot, es solamente un automóvil.
La imagen número 3 es un furby, un robot dedicado al entretenimiento
doméstico.
La imagen número 4 si es un robot, sacado de un videojuego llamado Titanfall.
De estos resultados, se puede observar que la mayoría de la gente tomada en la
muestra tiene conceptos sobre lo que es un robot y que no.
44
2.- ¿Qué opinión tiene usted sobre los robots?
Opinión sobre los robots
Son útiles y facilitan nuestro trabajoSon juguetesSon una amenza para el hombre
De ésta pregunta podemos ver que la mayoría de la gente de la muestra
encuestada piensa que los robots facilitan nuestra vida y son realmente útiles,
unos cuantos que solamente son juguetes y una persona considera que podrían
llegar a ser una amenaza.
45
3.- ¿En qué áreas puede ser útil un robot?
Área de utilidad de un robot
IndustriaUso personal y entretenimientoNo son útiles
De la pregunta sobre el área de aplicación de un robot, descubrimos que la
mayoría de las personas consideran que tienen mayor utilidad en la industria, un
porcentaje menor que son mejores para el uso personal y una persona que no
son realmente útiles.
4.- ¿Cree usted posible que los robots puedan sustituir la mano de obra del
hombre?
Hipótesis
Los robots remplazaran al hombre en el trabajoIncertidumbreLos robots no remplazaran al hombre en el trabajo
46
En ésta pregunta se puede observar que la incertidumbre sobre si esto pueda
suceder o no tiene un mismo peso que el porcentaje de las personas que
piensan que no es posible que suceda; sin embargo el porcentaje de personas
que creen que esto sea posible incluido uno de los expertos en el tema hace
pensar sobre el futuro aun incierto de los robots.
5.- ¿Cuál de los siguientes robots considera que deben ser operados por el
hombre?
1 23 4
47
Automatización de un robot
Imagen 1 es automáticoImagen 1 no es automáticoImagen 2 es automáticoImagen 2 no es automáticoImagen 3 es automáticoImagen 3 no es automáticoImagen 4 es automáticoImagen 4 no es automático
La imagen 1 es un robot automatizado, opera gracias a la programación que le
brindo un hombre.
La imagen 2 debe ser operado por un hombre, es un robot quirúrgico.
La imagen 3 no debe ser operado por un hombre, es un robot músico que toca el
programa que tiene grabado.
La imagen 4 debe ser operado por el hombre pues un robot operado por radio
control (RC).
De esto, podemos observar que la mayoría de la gente entiende el concepto de
automatización y sabe en qué robots se da y cuáles no.
48
Conclusión
La presente tesina tuvo como objetivo Investigar más sobre el uso, historia y
función de los micro controladores en la ISD, para incitar a todo aquel que leyera
este trabajo de conocer más sobre los microcontroladores y la carrera de ISD.
Para lograr esto, primero se realizó una extensa investigación documental sobre
toda la historia y origen de la robótica y de los sistemas digitales, de sus
orígenes del siglo XX y su evolución hasta nuestros días.
Posteriormente se prosiguió a investigar sobre lo que es y lo que hace un
microcontrolador, su estructura y características, terminando la investigación
documental con las bases y fundamentos de la programación del
microcontrolador.
Terminando la investigación documental se prosiguió a una investigación
etnográfica para poder calcular la veracidad o falsedad de la hipótesis planteada
la cual fue rechazada, debido a que con la investigación etnográfica se verificó
que la mano de obra del hombre en la industria será reemplazada pues está
avanzado de una forma desmesurada e increíble y con esta idea están de
acuerdo un 36.36% de la gente encuestada, y un 31.81% cree que ésto no es
posible pues los robots requieren de mantenimiento y un 31.81% permanecen en
incertidumbre, pues éstos por el momento requieren de mantenimiento, pero a
49
un futuro es posible que éstos sean completamente automáticos y no requieran
más del hombre.
Por esto se llegó a la conclusión de que por el momento que un robot no puede
reemplazar al hombre, pero en el futuro con el avance tecnológico ésta es una
posibilidad y no muy lejana.
Esta investigación no supuso ningún obstáculo muy difícil de superar pues fue
meramente un trabajo con una metodología histórica, por lo que el trabajo se
resumió a investigación pura en fuentes documentales.
Gracias a este trabajo se logró indagar aun más en el tema y se logró ampliar el
conocimiento tanto del autor de la presente tesina así como el del lector que la
posee en el momento; finalmente se puede concluir que esta investigación abrió
un campo amplio de futura investigación debido a que el progreso tecnológico
que genera el hombre no acabaráy la evolución de las máquinas permitirá una
investigación más a fondo sobre las máquinas del ayer, del hoy y del futuro.
50
Bibliografía y referencias
ORDUÑA, J, M., ARNAU, V., (1996), Arquitectura y programación de
microcontroladores, España, Llorens.
CEKIT S.A., (2011), Curso práctico sobre microcontroladores Tomo n°1,
Colombia, CEKIT S.A
HERMOSA, A., (2010), Electrónica digital fundamental y programable, España,
Marcombo.
MARTÍNEZ, H., (2012), Metodología de la investigación, México, CENGAGE
Learning.
USERS STAFF, (2011), Microcontroladores, Buenos Aires, Users shop
VALDÉS PÉREZ, F. Et al. (2007), Microcontroladores: Fundamentos y
aplicaciones con PIC, España, Marcombo.
REYES, C., (2008), Microcontroladores PIC, Ecuador, RISPERGRAF.
MANDADO PEREZ, E., (2007), Microcontroladores PIC: Sistema integrado para
el auto aprendizaje, España, Marcombo.
VERLE, M., (2009) PIC Microcontrollers - Programming in C, Serbia,
mikroElektronika.
USERS STAFF, (2007), Robótica: Guía teórica y práctica, Buenos Aires, Users
shop
OLLERO, A., (2001), Robótica: Manipuladores y robots móviles, España,
Marcombo.
(s/a) Shakey images. Recuperado el 30 de marzo de 2014 en:
http://www.ai.sri.com/shakey/images.php
51
(s/a) Electrónica estudio. Recuperado el 23 de abril de 2014 en:
http://www.electronicaestudio.com/microcontrolador.htm
EINSTEIN, A. (2009). Frases célebres. Consultada el 30 de marzo de 2014 en:
http://www.forosdeelectronica.com/f36/frases-celebres-27775/
VERLE, M (2009) PIC Microcontrollers - Programming in C, Recuperado el 11 de
mayo de 2014 en: http://www.mikroe.com/products/view/285/book-pic-
microcontrollers-programming-in-c/
CAMACHO, R, (2012) Arquitectura Von Neumann y arquitectura Harvard,
Recuperado el 23 de abril de 2014 en:
http://rcmcomputointegrado.blogspot.mx/2012/04/arquitectura-von-neumann.html
AUGARTEN, S. (1983) The Most Widely Used Computer on a Chip: The TMS
1000 Consultado el 31 de marzo de 2014 en:
http://smithsonianchips.si.edu/augarten/p38.htm
SERRA, E, Introducción a la programación, Recuperado el 11 de mayo de 2014
en: http://sputnik.epsj23.net/~eserra/elect/pics/pic16f84.html
WLATER, G. (2011). Las tortugas de Grey Walter. Recuperado el 30 de marzo
de 2014 en: http://vonneumannmachine.wordpress.com/2011/05/01/las-tortugas-
de-grey-walter/
52
Recommended