Sie sind auf Seite 1von 16

INSTITUTO TECNOLÓGICO DE AGUASCALIENTES

DEPARTAMENTO DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA

INGENERÍA EN ELECTRÓNICA

MICROCONTROLADORES

UNIDAD I-II

PROGRAMACIÓN DEL MICROCONTROLADOR EN LENGUAJE


ENSAMBLADOR

PRÁCTICA #3 CONVERSOR ANÁLOGO DIGITAL (ADC) CON


LENGUAJE ENSAMBLADOR

No. DE CONTROL

TORRES GONZÁLEZ MARCO ANTONIO 16150572

MAESTRO: GUSTAVO ADOLFO SOSA SERNA

AGUASCALIENTES, AGS. 28 DE NOVIEMBRE DEL 2018


CONTENIDO

INTRODUCCIÓN ............................................................................................................ 3

OBJETIVO ...................................................................................................................... 3

MARCO TEÓRICO ......................................................................................................... 3

MATERIAL Y EQUIPO .................................................................................................... 9

PROCEDIMIENTO ........................................................................................................ 10

OBSERVACIONES ....................................................................................................... 15

CONCLUSION .............................................................................................................. 15

➢ Marco Antonio ..................................................................................................... 15

REFERENCIAS BIBLIOGRÁFICAS .............................................................................. 16

2
INTRODUCCIÓN
Una de las principales necesidades dentro de la vida cotidiana es hacer que un dispositivo
logre censar la información de los eventos del entorno y mediante algún proceso
interprete los datos que inciden en él, para que por medio de algún algoritmo ejecute
alguna acción determinada, automatizando de esta manera la tarea, buscando con ello
eficiente y reducir gastos de operación en la misma.

Para lograr este cometido el primer paso es lograr que por medio de algún proceso la
señal analógica de la cual depende la ejecutoria de la tarea pueda ser convertida a una
señal digital, ya que los dispositivos encargados del procesamiento de datos operan con
este tipo de señales, razón por la cual un conversor análogo digital es el elemento
medular de este cometido.

En la presente practica se muestra el proceso para poner en funcionamiento el módulo


del conversor análogo digital (ADC) del microcontrolador, para el cual en un primer
momento se establecieron los parámetros de operación según la ampliación a realizar;
siendo este el primer algoritmo en el que se emplea este periférico, la metodología
empleada en la presente tiene el objetivo de que se logre identificar la diferencia existente
entre el ADC- Flash y el ADC de aproximaciones sucesivas, y la importancia de reconocer
cual de los dos son el que posee el microcontrolador a manipular, para con ello incluir
por medio de software instrucciones que permitan disuadir las limitaciones del mismo,
para con ello obtener el resultado esperado.

OBJETIVO
Conocer, programar y comprobar programa desarrollado en clase

Aplicar y programar en lenguaje ensamblador un conversor análogo digital y proyectar el


valor generado en dos displays de 7 segmentos.

MARCO TEÓRICO
¿Qué es un Microcontrolador?

Un microcontrolador es un circuito integrado programable que contiene todos los

componentes necesarios para controlar el funcionamiento de una tarea determinada,


como el control de una lavadora, un teclado de ordenador, una impresora, un sistema de
3
alarma, etc. Para esto el microcontrolador utiliza muy pocos componentes asociados. Un
sistema con microcontrolador debe disponer de una memoria donde se almacena el
programa que gobierna el funcionamiento del mismo que una vez programado y
configurado, solo sirve para realizar la tarea asignada. La utilización de un
microcontrolador en un circuito reduce notablemente el tamaño y número de
componentes y, en consecuencia, disminuye el número de averías y el volumen y el peso
de los equipos, entre otras ventajas.

El microcontrolador es uno de los inventos más notables del siglo XX. En el mercado hay
gran cantidad de ellos, con multitud de posibilidades y características. Cada tipo de
microcontrolador sirve para una serie de casos y es el diseñador del sistema quien debe
decidir cuál es el microcontrolador más idóneo para cada uso.

En los últimos años han tenido un gran auge los microcontroladores PIC fabricados por
Microchip Technology Inc. Los PIC- Peripheral Interface Controller (controlador de
interfaz periférico) son una familia de microcontroladores que ha tenido gran aceptación
y desarrollo en los Últimos gracias a que sus buenas características, bajo precio, reducido
consumo, pequeño tamaño gran calidad, fiabilidad y abundancia de información, lo
convierten en muy fácil, cómodo. [1]

Diferencia entre microprocesador y microcontrolador

El microprocesador es un circuito integrado que contiene la Unidad Central de Proceso


(UCP), también llamada procesador, de un computador. La UCP está formada por la
Unidad de Control, que interpreta las instrucciones, y el Camino de Datos, que las ejecuta.

Las patitas de un microprocesador sacan al exterior las líneas de sus buses de


direcciones, datos y control, para permitir conectarle con la Memoria y los Módulos de
E/S y configurar un computador implementado por varios circuitos integrados. Se dice
que un microprocesador es un sistema abierto porque su configuración es variable de
acuerdo con la aplicación a la que se destine (Ver figura 1).

4
Figura 1. Estructura de sistema abierto con microprocesador

Un microcontrolador es un sistema cerrado que contiene un computador completo y de


prestaciones limitadas que no se pueden modificar. [2]

Figura 2. Estructura de sistema cerrado con microcontrolador

Arquitectura de un microcontrolador

El microprocesador ejecuta instrucciones almacenadas como números binarios


organizados secuencialmente en la memoria principal. La ejecución de las instrucciones
se puede realizar en varias fases. Cada una de estas fases se realiza en uno o
varios ciclos de CPU, dependiendo de la estructura del procesador, y concretamente de
su grado de segmentación. La duración de estos ciclos viene determinada por
la frecuencia de reloj, y nunca podrá ser inferior al tiempo requerido para realizar la tarea
individual.

En un microprocesador podemos diferenciar diversas partes:


5
• Puerto de E/S
• Memoria cache
• Coprocesador matemático
• Registros
• Memoria
• Puertos

Figura 3 “Estructura interna del microcontrolador”


Lenguaje ensamblador

El lenguaje máquina es difícil de utilizar ya que se aleja de su forma natural de


expresarse, por esto se utiliza el lenguaje ensamblador, que es la forma de
expresar las instrucciones de una forma más natural al hombre y que, sin embargo, es
muy cercana al microcontrolador porque cada una de sus instrucciones corresponde a
otra en código máquina que el microcontrolador es capaz de interpretar.
El lenguaje ensamblador utiliza nemónicos que son grupos de caracteres alfanuméricos
que simbolizan las órdenes a realizar. Los nemónicos se corresponden con las iniciales
del nombre de la inducción en inglés, de forma que "recuerdan" la operación que realiza
la instrucción, lo que facilita su memorización.
Así. por ejemplo: para facilitar al microcontrolador PICl6F84: "suma 58 al registro de
trabajo W y guarda el resultado en este mismo registro W", en ensamblador sería "addlw
d ''58'" que es mucho más amable que "1111100011l010" del lenguaje máquina.

6
Tabla 1 “Instrucciones lenguaje ensamblador”

Conversor análogo digital

El objetivo básico de un ADC es transformar una señal eléctrica análoga en un número


digital equivalente. De la misma forma, un DAC transforma un número digital en una señal
eléctrica análoga. Esta función exige que los pasos intermedios se realicen de forma
óptima para no perder información. Según el tipo de componente y su aplicación existen
distintos parámetros que lo caracterizan, éstos pueden ser: la velocidad de conversión,
la resolución, los rangos de entrada, etc. Por ejemplo, una mayor cantidad de bit, implica
mayor precisión, pero también mayor complejidad. Un incremento en un solo bit permite
disponer del doble de precisión (mayor resolución), pero hace más difícil el diseño del
circuito, además, la conversión podría volverse más lenta.

7
• Tipo Flash
El método flash emplea comparadores que realizan su operación con respecto a una
tención de referencia contra la entrada analógica. Cundo la entrada analógica supera
la tención de referencia se genera un nivel alto en el comparador. Para realizar la
operación se requieren 2n -1 compradores para la conversión de un código binario de
n bits, por lo tanto, una de las desventajas es que el numero de compradores para la
generación de un numero binario de un tamaño razonables es muy grande. La
principal ventaja es la rapidez con la que realiza el proceso el arreglo ya que casi es
inmediato. [3]

Figura 4 “Estructura interna de un ADC tipo flash”

• Aproximaciones sucesivas
La SAR permite realizar un diseño de bajo consumo con una velocidad y precisión
moderadas y es por esto que es ideal para equipos portátiles con baterías como fuente
de alimentación, sistemas de adquisición de datos, mediciones en la industria,
sistemas de control, biomedicina y demás.
La Figura 5 muestra la arquitectura general de un convertidor por aproximaciones
sucesivas, donde Vin es la señal analógica y Vref un voltaje de referencia constante.
En este tipo de arreglos la metodología consiste básicamente en el desglose mediante
particiones segmentadas de un valor inicial para identificar el punto de ubicación del
valor censando por el puerto, buscando así obtener un valor equivalente en binario,

8
por lo que es indispensable al momento de la realización del programa en donde el
módulo se emplee asignar un tiempo de inhabilitación para permitir al
microcontrolador realizar la asignación de la señal que se introduzca. [4]

Figura 5 “Estructura interna de un ADC de aproximaciones sucesivas”

MATERIAL Y EQUIPO

• Fuente de Alimentación de C.D a 5V.


• Protoboard.
• Microcontrolador 18F4550.
• Capacito electrolítico 1uF-16v
• 2 resistencia de 10 kΩ
• 1 resistencia de 1 kΩ
• 1 potenciómetro 10 kΩ
• 2 transistores 2N2907
• 7 resistencias de 100 Ω.
• 2 display ánodo común
• Programador de microcontroladores
• Computadora
• Pulsador
• Resistencias 39 kΩ
• Cables banana caimán.

9
PROCEDIMIENTO

1. Como primer paso se declararon los registros especiales de función del


microcontrolador (FSR) con variables para su practicidad (datos extraídos del
datasheet) así como la declaración de una variable temporal para su empleo como
generadora de tiempo mediante su disminución, una de las novedades de este
programa es la implementación del módulo del conversor análogo digital (ADC), para
esto se consideraron los tres registro del mismo ADCON0, ADCON1, ADCON2, los
cuales se inicializaran en un valor específico posteriormente para operar según
nuestras necesidades, cabe señal que en esta situación empleamos justificación en
alto, esto para tener los bits más significativos al momento de leer el dato generado
por el decodificador análogo digital (Ver figura 6).

Figura 6. “Declaración de FSR”

2. Debido a que al encender el microcontrolador todos los puertos son entradas, se


procedió a definir estos, para determinar los dos como salida, además de la
inicialización de los registros del ADC, predeterminando de esta manera el puerto a
emplear, la configuración del reloj, el tiempo de adquisición y la justificación del dato
generado (Ver figura 7).

10
Figura 7. “Se hace la asignación de salida al TRS del puerto C y D, así como configuración del módulo
del conversor Análogo-Digital”

3. Mediante una etiqueta se generó un apartado, para con ello permanecer en él y


responder a manera de cíclico, en este se encenderá el conversor análogo digital,
control ubicado en el bit 1 del registro ADCON0, el cual permanecerá en uno hasta
que termine de hacer la conversión, generando así un intervalo de tiempo para que el
ADC no se vea perturbado por la interferencia de otros valores, ya que este se
concentrara en un dato hasta que termine de hacer la conversión (ver figura 8).

Figura 8. “Ciclo del ADC”

4. Una vez terminado el proceso de conversión se almacena el valor en el registro del


ADRESH, de este se direccionará el valor hacia el registro de trabajo “W”, y se
procederá hacer la separación de cada cifra, para decodificar cada uno por individual
y mostrarlo en los displays mediante un proceso de conmutación (ver figura 9).

11
Figura 9. “Decodificación”

5. Para lograr la decodificación se empleo el contador del programa, el cual aumenta por
dos, por lo que el valor de cada cifra del dato generado por el ADC se multiplicara por
dos para que corresponda con el valor de cada retlw con el que esta asociada en el
contador del programa y así este devuelva el valor correcto al registro de trabajo “W”
(ver figura 10).

Figura 10. “Decodificación y asociación a valor del contador de programa

6. Como elemento terminal del programa se generó una subrutina para la generación de
tiempo y con ello lograr apreciar el cambio de comportamiento de encendido de los
leds (Ver figura 11).

12
Figura 11. “Sub rutina tiempo”

7. Para probar el programa procedimos a simularlo en Proteus, así cómo su armado en


Protoboard (De la Figura 11 a la 14).

Figura 11. “Decodificación del valor correspondiente de la caída de tención en el potenciómetro”

Figura 12. “Decodificación del valor correspondiente de la caída de tención en el potenciómetro”

13
Figura 13. “Construcción física”

Figura 14. “Construcción física”

14
OBSERVACIONES
En esta ocasión la frecuencia empleada de 1MHz fue suficiente para evitar que el efecto
de la conmutación del encendido del display fuera notorio.

CONCLUSION
➢ Marco Antonio
En la actualidad una de las necesidades de mayor demanda dentro de cualquier proceso
es la implementación de un sistema cuya funcionalidad sea el control del proceso a
ejecutarse, para lo cual es factico lograr generar una interface de comunicación entre las
variables reales proporcionadas por la misma metodología (señales analógicas) y el
controlador, el cual mayoritariamente responde únicamente a señales digitales, área en
la que es indispensable emplear un conversor análogo digital para generar las
condiciones idóneas de operación.

En la presente practica logramos mediante el módulo del conversor análogo digital


transformar la señal análoga de la caída de tención en un potenciómetro a una señal
digital con el cual, logramos proyectar en dos displays de 7 segmentos el valor que le
corresponde a la señal de entrada, la cual muestra la proporción correspondiente en el
intervalo para el cual fue configurado desde 00 hasta FF el cual representa un valor en
hexadecimal.

Concluyo que los conversores análogo digital son módulos de suma utilidad dentro de la
electrónica razón por la que resulta tácito emplear técnicas que eficiente su ejecutoria,
área en la que un circuito programable se perfila como una gran alternativa ahorrando así
contingencias inesperadas, además de que estos son elementos ya incluidos en la
mayoría de los microcontroladores comerciales.

15
REFERENCIAS BIBLIOGRÁFICAS

[1] F. R. L. J. L. Enrique Palacios, Microcontrolador PIC16F84, Alfaomega Ra-Ma, 2004.

[2] I. A. M. JOSÉ M. ANGULO USATEGUI, MICROCONTROLADORES «PIC». Diseño


práctico de aplicaciones. Primera parte:, McGRAW-HILL/INTERAMERICANA DE
ESPAÑA, S. A. U., 2003.

[3] R. I. Hueso, «Diseño de un ADC con esquema de autocalibracion,» 2008. [En línea].
Available: http://bibing.us.es/proyectos/abreproy/70059/fichero/CAPITULO2.pdf.

[4] V. A. F. Sierra, Trabajo de grado para obtener el titulo de ingeniero electronico,


Pontificia Univeersidad Javeriana ed.

16

Das könnte Ihnen auch gefallen