Sie sind auf Seite 1von 40

CETIS 83

Microcontroladores

PRACTICA NO. 1 LUZ INTERMITENTE

Objetivo
Al trmino de la prctica el alumno ser capaz de manejar los puertos de salida digital del microcontrolador PICAXE, utilizando para ello la simulacin de una luz con encendido intermitente.

Fundamentacin terica
Al estar todos los microcontroladores integrados en un chip, su estructura fundamental y sus caractersticas bsicas son muy parecidas. Todos deben disponer de los bloques esenciales Procesador, memoria de datos y de instrucciones, lneas de E/S, oscilador de reloj y mdulos controladores de perifricos. Sin embargo, cada fabricante intenta enfatizar los recursos ms idneos para las aplicaciones a las que se destinan preferentemente. En esta prctica enfatiza el recurso de las lneas de E/S, mas sin embargo para una mejor comprensin del funcionamiento del microcontrolador y del tema, a lo largo de las prcticas se mencionar otras caractersticas de los microcontroladores.
Qu es un MICROCONTROLADOR?
Un Microcontrolador es un circuito integrado de muy alta escala de integracin el cual contiene tres unidades bsicas que lo identifican como tal y son CPU para procesar la informacin, Memoria de datos para guardar datos e instrucciones, una unidad de E/S

CPU
La Unidad de Procesamiento Central es el corazn del Microcontrolador y es aqu donde todas las operaciones aritmticas y lgicas son realizadas. Es decir, es la unidad que calcula todas las operaciones que son ordenadas por la memoria de programa.

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Memoria de Programa

Contiene las instrucciones organizadas en una secuencia particular para realizar una tarea. Tpicamente es denominada memoria de slo lectura (ROM) o tambin OTP, EPROM o FLASH que son memorias que una vez programadas almacenan la informacin aunque el sistema no sea energizado. Esto permite que el Microcontrolador ejecute el programa almacenado en Memoria inmediatamente despus de ser energizado.

Memoria de Datos

Esta es una memoria que puede ser escrita y leda segn sea requerdo por el programa. Tiene las funciones de almacenamiento de datos (pila) y como almacenamiento de variables. Este tpo de memoria es usualmente llamada memoria RAM (Memoria de Acceso Aleatorio). Cada localidad de memoria tiene una direccin nica con la cual el CPU encuentra la informacin necesaria. Los microcontroladores actuales contienen ambas memorias (Datos y Programa) incluidas dentro del circuito integrado. Por otro lado, resulta necesario contar con otras unidades que hacen posible el funcionamiento mnimo de un Microcontrolador que son Circuitera de Temporizacin y Entradas/Salidas.

Puertos de Entrada y Salida La principal utilidad de las patillas que posee la cpsula que contiene un microcontrolador es soportar las lneas de E/S que comunican al computador interno con los perifricos exteriores y segn los controladores de perifricos que posea cada modelo de microcontrolador, se destinan a proporcionar el soporte a las seales de entrada, salida y contr Todos los microcontroladores ol. destinan algunas de sus patillas a soportar lneas de E/S de tipo digital, esto es, todo o nada. Por lo general, estas lneas se agrupan de ocho en ocho formando Puertos. Aunque existen microcontroladores que disponen de otra forma estas lneas. Las lneas digitales de los Puertos pueden configurarse como Entrada o como Salida cargando un 1 un 0 en el bit correspondiente de un registro destinado a su configuracin. Algunos lenguajes de programacin, sobre todos los de alto nivel lo hacen de manera automtica cuando se programa el micro.

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Procedimiento
Una vez discutido el tema en clase con el maestro y tus compaeros, vas a realizar los siguientes pasos para poder realizar la prctica. 1. Escribe en el rea reservada el cdigo correspondiente al diagrama de flujo de la figura 1 en el lenguaje de alto nivel discutido en clase correspondiente al microcontrolador visto. (PICAXE) 2. Revisa las medidas de seguridad e higiene establecidas por el centro de cmputo. 3. Enciende la computadora e inicia la aplicacin correspondiente 4. Captura el cdigo escrito en el rea reservada en la aplicacin abierta en el punto anterior. 5. Compila el programa y depralo (quitar errores) 6. Simula el proceso que controla el programa. 7. Contesta el cuestionario adjunto a esta practica 8. Analiza el cuestionario y la simulacin 9. Para ACREDITAR la prctica pide al maestro te revise la simulacin Y da respuesta a las preguntas formuladas por l y a las modificaciones que se te pidan

Diagrama de Flujo
INICIO

Cdigo

Enciende pin0

Espera 1seg.

Apaga pin0

Espera 1seg.

Fig. 1

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Cuestionario
1. Qu es un microcontrolador?

2. Dibuja un diagrama a bloques que represente los elementos bsicos de la construccin de un microcontrolador

3. Cul es la funcin bsica de cada uno de las unidades bsicas que conforma un microcontrolador?

4. Escribe los comandos usados para la codificacin del programa, sus sintaxis y lo que hace (su funcin, consulta el manual 2 localizado en el men Ayuda del Programming Editor)

5. Qu es lo que simula el programa?

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

SELLO

PRACTICA NO. 2 CHAPA DE COMBINACION

Objetivo
Al trmino de la prctica el alumno estar capacitado para manejar los puertos de entradas y salidas digitales del microcontrolador PICAXE, utilizando para ello la simulacin de una chapa de combinacin.

Fundamentacin terica
Un Microcontrolador est diseado para realizar la tarea de muchos circuitos lgicos simplificando el diseo. Su uso es extremadamente popular por su facilidad de implementacin y costo. Los pasos necesarios que el usuario tiene que cubrir para desarrollar circuitos con Microcontroladores es determinar las tareas a realizar, escribirlas en un archivo, procesarlo para que despus se almacene a la memoria del Microcontrolador. Un Microcontrolador por definicin no tiene una funcin especial (Como la tendra un amplificador que amplifica una seal, un comparador la compara con otra y un regulador regular el voltaje.). Es decir, un Microcontrolador es un circuito integrado el cual, de no ser programado no realizar tarea alguna. Requiere de ser programado para que realice desde la tarea ms sencilla hasta el control ms complicado. La ventaja del uso de los Microcontroladores son muchas y muy diversas. Los circuitos discretos son alambrados permanentemente para realizar una funcin especfica. Si los requerimientos del diseo cambian, es probable que sea necesario redisear todo el circuito para ajustar estas nuevas necesidades. Con un Microcontrolador, la mayora de los cambios pueden implementarse simplemente reprogramando el dispositivo. Es decir, solo es necesario cambiar un programa y no el circuito lgico. Las aplicaciones de los microcontroladores son limitadas por la imaginacin del usuario, ya que se pueden encontrar en Televisiones, Teclados, Mdems, Impresoras, Lavadoras, Telfonos, Automviles, Lnea Blanca, Unidades de seguridad en la oficina y/o casa, VCRs, juegos de video, etc. Algunas fuentes estadsticas estiman que hoy en da se tienen alrededor de 250 Microcontroladores en una casa tpica de EU.

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

En esta prctica se dar nfasis en el manejo de las entradas digitales. Los valores que pueden ingresar por este tipo de entradas nicamente pueden tener dos valores, como el sistema numrico utilizado para representar estos valores es el binario, entonces tenemos que cuando ingresa un voltaje cercano o igual a los 0 volts se dice que ingresa un 0, por lo contrario, cuando ingresa un voltaje cercano o igual a 5 volts, se dice que ingresa un 1. Existen diferentes maneras de capturar este valor, dependiendo de lenguaje y el microcontrolador a usar. Si estas usando el sistema PICAXE, el lenguaje usado es el BASIC. Los puertos de entrada/salida estn identificados como input y output respectivamente, seguido del nmero del puerto. En este micro son definidos bit por bit y no en conjuntos de 8 bits como en otros micros. Para mayor informacin consulte la hoja de datos del micro o las ayudas incluidas en el software Programming Editor distribuido libremente en Internet. El cdigo correspondiente a la entrada de datos digitales se puede escribir como sigue:

let bit0 = pin0


Esta lnea de comando lo que hace es leer el valor 0 o 1 entrante y lo almacena en la variable bit0, ya definida por el compilador. Este valor se puede manipular ms delante segn las necesidades. Para la chapa de combinacin se emplean varias entradas, entre mas sean ms son las combinaciones y menos la probabilidad de que se les pueda atinar a la combinacin. Si estas usando el microcontrolador PICAXE, selecciona el 18M, este tiene varias entradas. Por lo tanto tendrs que definir las necesarias segn el procedimiento que se menciona ms delante. Ejemplo de tres variables declaradas para 8 combinaciones posibles: let bit0 = pin0 let bit1= pin1 let bit2 = pin2 Bit2 0 0 0 0 1 1 1 1 bit1 0 0 1 1 0 0 1 1 Bit0 0 1 0 1 0 1 0 1

Tabla 1 Combinaciones de tres variables binarias


Kalikrates L. Prezas Hernndez

Procedi iento
Una vez di tido el tema en clase con el maest o y t s compaeros y haber realizado ejercicios similares, vas a realizar los si ientes pasos para poder realizar la prctica. 1. Analiza el diagrama de sit aci n de la figura 3 2. Da lectura al modo de funcionamiento de la simulaci n 3. Llena la tabla 2 con todas las combinaciones posibles y selecciona la combinaci n con la que puerta se abrir una vez entrada la combinaci n 4. Escribe en el rea reservada el cdigo correspondiente al diagrama de flujo de la figura 4 en el lenguaje de alto nivel discutido en clase correspondiente al microcontrolador visto. 5. Revisa las medidas de seguridad e higiene establecidas por el centro de cmputo. 6. Enciende la computadora e inicia la aplicacin correspondiente 7. Captura el cdigo escrito en el rea reservada en la aplicacin abierta en el punto anterior. 8. Compila el programa y depralo (quitar errores) 9. Simula el proceso que controla el programa. 10. Contesta el cuestionario adjunto a esta practica 11. Analiza el cuestionario y la simulacin 12. Para ACRE TAR la prctica pide al maestro te revise la simulacin Y da respuesta a las preguntas formuladas por l y a las modificaciones que se te pidan

Di rama de situaci n

Figura 3 Puerta con chapa de combinacin

Ka ikra es L. Prezas Hernndez

S 83

Microcon ro adores

CETIS 83

Microcontroladores

bit3

bit2

bit1

bit0

Tabla 2 Combinaciones de cuatro variables binarias

Modo de funcionamiento

La chapa cuenta con:


y

4 botones pulsadores (conectados a input 0, input 1, input 2 e input 3) que ingresan ya sea un 0 un 1, lo que da un total de 16 combinaciones y solo una de ellas permite abrir la puerta. Una aldaba elctrica (conectada a output 0) que libera la puerta cuando se activa (se le aplica voltaje 1) y que permite trabar la puerta cuando se desactiva (no se aplica voltaje). Un sensor (conectado a input 4) que cuando en su salida presenta un voltaje (1 lgico) indica que la puerta est abierta y cuando no tiene voltaje (0 lgico) indica que la puerta est cerrada. Una lmpara (conectada a output 1) que cuando se ilumina indica que la puerta esta destrabada y cuando est apagada indica que la puerta est trabada.

El usuario cuando llega a la puerta, ingresa la combinacin utilizando cuatro botones, e inmediatamente se activa la aldaba y se enciende la lmpara indicando que la puede empujar para pasar a travs de ella. Tiene 2 segundos para empujar la puerta, al trmino si no la abri, tendr que ingresar de nueva cuenta la combinacin. Si la abri, entonces la lmpara permanece encendida mientras que la puerta est abierta, la aldaba se desactiva para permitir trabar la puerta. Cuando la cierra, la lmpara se apaga y la puerta se traba.

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Diagrama de Flujo
INICIO Desactivar aldaba

Leer sensor de puerta SI Puerta abierta? NO Prender lmpara Apagar lmpara

Leer combinacin

NO Combinacin correcta? SI Activa aldaba Prende lmpara Desactiva aldaba

Espera 2 seg.

Leer sensor de puerta SI Puerta abierta? SI NO

Leer sensor de puerta NO Puerta abierta?

Figura 4 Diagrama de flujo Puerta con chapa de combinacin


Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Cdigo

Cuestionario

1. Porque se dice que un microcontrolador no tiene una funcin especfica? 2. Qu ventajas tiene el empleo de un microcontrolador sobre un conjunto de circuitos alambrados? 3. Para esta aplicacin, Dnde se le ve la ventaja de usar un microcontrolador en lugar de circuitos discretos alambrados? 4. Escribe los nuevos comandos usados para esta prctica, su sintaxis y su funcin (que hace). 5. Qu simula la prctica?

Nota: Puedes usar el reverso de esta hoja para escribir tus respuestas.

SELLO

Kalikrates L. Prezas Hernndez

Objeti o
Al trmino de la prctica el alumno estar capacitado para elaborar programas de control vial con cierto nivel de complejidad, utilizando para ello la simulacin de un semforo de control vehicular para una calle de doble sentido de un carril en reparacin.

Fundamentaci n terica
Arquitectura Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clsica de von Neumann, en el momento presente se impone la arquitectura Harvard. La arquitectura de von Neumann se caracteriza por disponer de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se acce a travs de un sistema de buses nico de (direcciones, datos y control) mientras que la arquitectura Harvard dispone de dos memorias independientes, una que contiene slo instrucciones y otra slo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultneamente en ambas memorias.

Los microcontroladores PIC responden a la arquitectura Harvard.

! 

ra 5 Diagrama a bloques de la arquitectura HARVARD

 

PRACTICA NO. 3 S AFORO Calle e re arac


  

Ka ikra es L. Prezas Hernndez

S 83

Microcon ro adores

CETIS 83

Microcontroladores

En esta prctica como en todas las realizadas en este curso, cuando se programa el microcontrolador es decir cuando se pasa de la computadora al chip, el programa, este se almacena en la memoria de instrucciones. La memoria de datos se analizara en prcticas posteriores. Los buses es el medio que comunica la CPU con la memoria y es por donde viajan los datos.

Reloj principal (recurso comn bloque esencial) Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta frecuencia, que configura los impulsos de reloj usados en la sincronizacin de todas las operaciones del sistema. Generalmente, el circuito de reloj est incorporado en el microcontrolador y slo se necesitan unos pocos componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos componentes suelen consistir en un cristal de cuarzo junto a elementos pasivos o bien un resonador cermico o una red R-C. Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero lleva aparejado un incremento del consumo de energa. Temporizadores o "Timers" Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta de acontecimientos que suceden en el exterior (contadores). Para la medida de tiempos se carga un registro con el valor adecuado y a continuacin dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj o algn mltiplo hasta que se desborde y llegue a 0, momento en el que se produce un aviso. Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en alguna de las patitas del microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dichos impulsos. En esta prctica se da nfasis en el uso de los temporizadores, no para medir el tiempo de impulsos del exterior, sino para mantener al CPU ocioso. De la misma forma, de manera interna se carga algn registro con un valor proporcional al tiempo solicitado, el cual se incrementa o decrementa hasta desbordarse, momento en el cual concluye el tiempo especificado.

Kalikrates L. Prezas Hernndez

Procedimiento
Una vez discutido el tema en clase con el maestro y tus compaeros, vas a realizar los siguientes pasos para poder realizar la prctica. 1. Analiza el diagrama de situacin de la figura 6 2. Leer el modo de funcionamiento del semforo. 3. Analiza el diagrama de tiempos de la figura 7 4. Escribe en el rea reservada el cdigo correspondiente al diagrama de flujo de la figura 8 en el lenguaje de alto nivel discutido en clase correspondiente al microcontrolador visto. 5. Revisa las medidas de seguridad e higiene establecidas por el centro de c mputo. 6. Enciende la computadora e inicia la aplicacin correspondiente, selecciona el PICAXE 18M 7. Captura el cdigo escrito en el rea reservada en la aplicacin abierta en el punto anterior. 8. Compila el programa y depralo (quitar errores) 9. Simula el proceso que controla el programa. 10. Contesta el cuestionario adjunto a esta practica 11. Analiza el cuestionario y la simulacin 12. Para ACREDITAR la prctica pide al maestro te revise la simulacin Y da respuesta a las preguntas formuladas por l y a las modificaciones que se te pidan

Figura 6. Diagrama de situacin de una calle en reparacin.

Ka ikra es L. Prezas Hernndez

S 83

Microcon ro adores

&

'

#" $

CETIS 83

Microcontroladores

Modo de funcionamiento
La calle corre en direccin norte sur y sur norte. El sistema de semaforizacion cuenta con: Una par de botones denominados PB1 y PB2. Dos semforos uno para la direccin NORTE-SUR y otro para la direccin SUR-NORTE. Cada uno con dos luces una ROJA y la otra VERDE, selecciona libremente que salidas (output) van conectadas a las luces
y y

y y

El PB1 conectado al input 0 pin0, enciende y apaga todo el sistema. El PB2conectado al input 1 o pin1 cuando est apagado, las dos luces rojas de ambas direcciones estn intermitentes, 1 seg. Apagadas y 1 segundo encendida. Cuando el PB2 est encendido, el funcionamiento es como se muestra en el diagrama de tiempos de la figura 3.

Direccin N-S

LV LR LV

Direccin S-N LR 8s. 3s. 8s. 3s. BIS

Fig. 3 Diagrama de tiempos Semforo de calle en

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

INICIO

Leer estado de PB1


SI
DIR. N-S y S-N LV->OFF, LR->ON

Si PB1 = 0
NO

Espera 8seg.

Apagar Todas las luces

Leer estado de PB2


NO

DIR. N-S y S-N LV->OFF, LR->OFF

SI

Si PB2 = 1

Espera 8seg.

DIR. N-S LV->ON, LR->OFF DIR. S-N LV-> OFF, LR -> ON

DIR. N-S LV->OFF, LR->ON DIR. S-N LV-> OFF, LR -> ON

DIR. N-S LV->OFF, LR->ON DIR. S-N LV-> ON, LR -> OFF

DIR. N-S LV->OFF, LR->ON DIR. S-N LV-> ON, LR -> OFF

Espera 8seg.

Espera 3seg.

Espera 8seg.

Espera 3seg.

Fig. 8. Diagrama de flujo Semforo calle en reparacin

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Cuestionario
1. Cules son los DOS tipos de arquitectura empleados en la construccin de microcontroladores

2. Cules son las caractersticas de cada arquitectura empleada en la construccin de microcontroladores

3. Qu es un bus?

4. Escribe los nuevos comandos empleados en esta prctica, sus sintaxis y su funcin (que hace cada comando, consulta el manual 2localizado en el men ayuda del Programming Editor).

5. En qu consiste la simulacin?

SELLO

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

PRCTICA NO. 4

Objetivo
Al trmino de la prctica el alumno desarrollara la capacidad para configurar los puertos del microcontrolador de la familia PIC16Fxx ya sea como entrada o como salida, usando el lenguaje ensamblador.

Fundamentacin terica
Por ser la primera prctica donde se estudia el microcontrolador de la familia ya mencionada, el marco terico aqu descrito es un poco extenso a comparacin de las otras. Solo se muestran los contenidos necesarios para entender el desarrollo de la prctica. Durante el desarrollo de las dems en su tipo, se vern otros contenidos pertinentes para su comprensin. El microcontrolador usado para esta prctica es el PIC16F84A. Aunque a la fecha se considera obsoleto, este servir como punto de partida para su estudio, ya que los ms actualizados de esta familia siguen la misma filosofa en su arquitectura y funcionamiento.
Algunas de las Caractersticas del PIC16F84A
y y y y y y y

y y y y y

Repertorio de 35 Instrucciones. Todas las instrucciones se ejecutan en un solo ciclo excepto las de salto que necesitan dos. Memoria de programa Flash de 1 K x 14 bits. Memoria RAM dividida en 2 reas: 22 registros de propsito especfico (SFR) y 68 de propsito general (GPR) como memoria de datos. Contador de programa de 13 bit (lo que en teora permitira direccionar 4 KB de memoria, aunque el 16F84 solo dispone de 1KB de memoria implementada). ALU de 8 bits y registro de trabajo W del que normalmente recibe un operando que puede ser cualquier registro, memoria, puerto de Entrada/Salida o el propio cdigo de instruccin. 4 fuentes de interrupciones: o A travs del pin RB0/INT. o Desbordamiento del temporizador TMR0. o Interrupcin por cambio de estado de los pins 4:7 del Puerto B. o Completada la escritura de la memoria EEPROM. 1.000.000 de ciclos de borrado/escritura de la memoria EEPROM. PortA de 5 bits <RA0:RA4>. PortB de 8 bits <RB0:RB7>. Contador/Temporizador TMR0 de 8 bits con divisor programable. Puede operar bajo 4 modos diferentes de oscilador.

Kalikrates L. Prezas Hernndez

Disposicin de patillas para encapsulado DIL 18:

Descripcin de patillas

Nombre OSC1/CLKIN OSC2/CLKOUT MCLR RA0 RA1 RA2 RA3 RA4/T0CKI RB0/INT RB1 RB2 RB3 RB4

N 16 15 4 17 18 1 2 3 6 7 8 9 10

Tipo I O I/P I/O I/O I/O I/O I/O I/O I/O I/O I/O I/O

Descripcin Entrada del oscilador a cristal/Entrada de la fuente de reloj externa Salida del oscilador a cristal. En el modo RC, es una salida con una frecuencia de OSC1 Reset/Entrada del voltaje de programacin. Puerto A bidireccional, bit 0 Puerto A bidireccional, bit 1 Puerto A bidireccional, bit 2 Puerto A bidireccional, bit 3 Tambin se utiliza para la entra de reloj para el TMR0 Puerto B bidireccional, bit 0 Puede seleccionarse para entrada de interrupcin externa Puerto B bidireccional, bit 1 Puerto B bidireccional, bit 2 Puerto B bidireccional, bit 3 Puerto B bidireccional, bit 4 Interrupcin por cambio de estado Puerto B bidireccional, bit 5 Interrupcin por cambio de estado Puerto B bidireccional, bit 6 Interrupcin por cambio de estado Puerto B bidireccional, bit 7 Interrupcin por cambio de estado Tierra de referencia Alimentacin

RB5

11

I/O

RB6

12

I/O

RB7 Vss Vdd

13 5 14

I/O P P

Ka ikra es L. Prezas Hernndez

S 83

Microcon ro adores

0) 1

Acerca de la memoria

La memoria de programa es el rea donde se almacena el programa del usuario. E organizada st con palabras de 14 bits con un total de 1 K, del tipo Flash, que durante el funcionamiento esde solo lectura. Slo se ejecutar el cdigo contenido en esta memoria, pudiendo almacenar en ella una cantidad limitada de datos como parte de la instruccin RETLW. En una sola palabra se agrupa el cdigo de la instruccin y el operando o su direccin. El tipo de memoria utilizada en este microcontrolador, podr ser grabada o borrada elctricamente a nuestro antojo desde el programador. La memoria tipo Flash tiene la caracterstica de poderse borrar en bloques completos y no podrn borrarse posiciones concretas o especficas. Este tipo de memoria no es voltil, es decir, no pierde los datos si se interrumpe la energa. Debido a que el PIC16F84A tiene un contador de programa de 13 bit puede direccionar un espacio de memoria de 8K x 14, sin embargo slo el pimer 1K x 14 r (0000h-03FFh) est implementado fsicamente.

La memoria de datos est organizada en dos pginas o bancos de registro, banco 0 y banco 1. Para cambiar de pgina se utiliza un bit del registro STATUS (RP0). Cada banco se divide a su vez en dos reas:
y y

RFS (Registros de Funciones Especiales) RGP (Registros de Propsito General)

En la figura siguiente nos podemos hacer una idea de cmo estn distribuidos:

Ka ikra es L. Prezas Hernndez

S 83

Microcon ro adores

76 8

CETIS 83

Microcontroladores

La primera rea (0x00 a 0x0B) es la de RFS (Registros de Funciones Especiales) que controlan el funcionamiento del dispositivo. Estos se emplean para el control del funcionamiento de la CPU y de los perifricos. La segunda rea (0x0C a 0x4F de 68 bytes SRAM) es la de RGP (Registros de Propsito General), y puede accederse a ellos tanto directa como indirectamente haciendo uso del registro FSR. Banco 0:
y y

Este banco est formado por 80 bytes, desde la posicin 00 hasta la 4Fh (de la 0 a la 79). El rea RFS consta de 12 registros que sern utilizados por funciones especiales del microcontrolador. Comienza en la direccin 00h y termina en la 0Bh, es decir, de la 0 a la 11. El rea RGP consta de 68 registros de memoria RAM que sern utilizados para almacenar datos temporales requeridos por los programas. Comienza en la direccin 0Ch y termina en la posicin 4Fh (de la 12 a la 79). Esta parte es la memoria de registros de propsito general.

Banco 1:
y

Este banco tiene las mismas dimensiones que el anterior, pero su uso es menor, ya que no tiene banco para registros de propsito general. Solamente tiene una seccin de registros especiales que van de la posicin 80h a la 8Bh ( de la 128 a la 139)

La memoria RAM as como algunos registros especiales son los mismos en los dos bancos del mapa de memoria del PIC. La anchura de los bytes en la memoria es de 8 bis.

Puertos de E/S

El PIC16F84 dispone de dos puertos digitales de E/S paralelos de uso general denominados Puerto A y Puerto B. Puerto A El puerto A dispone de 5 lneas de la RA0 a la RA4, en la que hay que distinguir la A4 o T0CKI (Timer 0 Clock Input) que est compartida con la entrada para el Timer 0 (TMR0) a travs de un trigger Schmitt y que cuando se configura como salida es de drenador abierto, por lo que debe colocarse una resistencia de polarizacin.

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Puerto B El puerto B dispone de 8 lneas de E/S que van desde la RB0 a la RB7 (la lnea RB0 o INT es compartida con la entrada de interrupcin externa). Adems, las lneas RB4 a RB7 pueden programarse una interrupcin por cambio de estado de cualquiera de estas lneas

Configuracin de los puertos de Entrada/Salida

Cualquier lnea puede funcionar como entrada o como salida. Sin embargo, si acta como entrada la informacin que se introduce no se memoriza, por lo que la informacin debe ser mantenida hasta que sea leda. Si la lnea acta como salida, el bit que procede del bus de datos se guarda en la bscula, con lo que la informacin que ofrece esta patita permanece invariable hasta que se reescriba este bit. Los bits de cada puerto se configuran mediante los bits correspondientes de dos registros especiales de control: Registro de Datos denominados PORTA PORTB: Se pueden leer o escribir segn que el puerto correspondiente se utilice como entrada o como salida.
y

Registro de Control denominado TRISA TRISB: En los registros de Control se programa el sentido de funcionamiento de cada una de las lneas de E/S. Colocando un "0" en el correspondiente bit del registro TRISA TRISB, la lnea queda programada como salida mientras que colocando un "1" la lnea queda programada como entrada. Por ejemplo, si ponemos un 0 en el bit 3 del registro TRISA la patilla RA3 ser una salida y si ponemos un 1 en el bit 4 del registro TRISB entonces la patilla RB4 ser una entrada.

Lenguaje Ensamblador

Cada Microcontrolador tiene un set de instrucciones. El usuario puede organizar las instrucciones en un orden lgico para crear un programa. El Microcontrolador ejecuta el programa para realizar una tarea especfica. Para comprender completamente un programa debemos entender los siguientes conceptos:

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Instruccin Una instruccin es un patrn de dgitos binarios el cual debe estar a disposicin del microcontrolador en el tiempo y forma que ste lo requiera. Por ejemplo, cuando el procesador de un microcontrolador PIC16F84A recibe el patrn binario de 12 bits '0000 0100 0000' en el momento adecuado, significa: Clear (borrar o poner a cero) el registro W, y corresponde a la instruccin CLRW. Opcode El Opcode (Operation Code) es un cdigo numrico de la instruccin que representa la operacin a ser realizada por el CPU. Es decir, el Opcode es un grupo de bits los cuales le indican al Microcontrolador qu operacin en particular hay que realizar. Por ejemplo un 64 podra significar limpiar el Acumulador. Mnemnicos Los Mnemnicos son nombres asignados a una operacin en particular. Cada mnemnico es asociado con un opcode. El usuario puede hacer referencia a una operacin por medio de un mnemnico ADD en lugar del Opcode 84. Con el uso de los mnemnicos se hace ms fcil escribir un programa. Por ejemplo, el mnemnico LD representa la operacin Cargar. En conclusin el usuario tendr que crear una secuencia de tareas para realizar una accin de control. Esta secuencia de tareas ser representada por instrucciones (mnemnicos). Luego entonces, es necesario convertir estos mnemnicos a lenguaje entendible para el Microcontrolador, por lo tanto, se traslada esta secuencia de mnemnicos a una secuencia de Opcodes y datos adicionales Programa

Un programa es una serie de instrucciones mediante las cuales un sistema basado en CPU realiza una tarea en particular y la forma ms simple de realizar un programa es mediante el lenguaje ensamblador

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Para introducir un programa en ensamblador en un sistema basado en CPU tenemos que traducirlo a hexadecimal o a binario. Para realizarlo a su vez se utiliza un programa de ordenador, llamado programa ensamblador. ste sera un ejemplo de programacin en ensamblador o mnemnicos:
Inicio: org BSF Clrf Movlw Movwf BCF 0 STATUS, RP0 TRISA 0xFF TRISB STATUS, RP0

Desventajas del ensamblador

Existe una gran diferencia entre el juego de instrucciones de un sistema basado en CPU y las tareas que este debe realizar. Las instrucciones tienden a hacer cosas como: sumar contenidos de dos registros, desplazar el contenido de un acumulador un bit, o colocar un nuevo valor en el contador de programa. Por otro lado, centrndonos en el caso de los microcontroladores, este deber hacer cosas como: reaccionar cuando una entrada digital se activa, comprobar si un valor analgico se ha excedido de un cierto umbral, activar un rel en un momento determinado, mostrar resultados en un panel LCD, comunicarse va serie con otros dispositivos, etc. El programador en lenguaje ensamblador debe "traducir" estas tareas a secuencias de simples instrucciones. Esto no suele ser fcil y consume tiempo de trabajo. Otro inconveniente es la no portabilidad. Cada microprocesador o microcontrolador posee su propio juego de instrucciones en el y su propia arquitectura interna. Un programa en ensamblador escrito para el PIC16F84A, no correr en un 65C02, Z80, 8080, 8051, o cualquier otro sistema basado en CPU. Incluso dentro de los PIC hay diferencias entre las distintas gamas como nmero y tipo de instrucciones, recursos disponibles, direccin de registros o uso de la memoria. Para solucionar estos problemas estn los programas de alto nivel, como el lenguaje C o Basic.

Registros

Un registro es un espacio en la memoria de datos del microcontrolador en el que podemos guardar informacin, existen tambin unos registros en los cuales podemos configurar el microcontrolador o saber el estado de este o algunos de sus perifricos. En el programa ensamblador anterior, se usan los registros TRISA y TRISB para configurar los puertos Ay B como salida y entrada respectivamente.

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Un registro est compuesto por 8 bits los cuales se representan dndoles un numero segn su posicin, de esta manera el bit menos significativo (LSB) se le da el nmero 0 y el ms significativo (MSB) el 7.

BIT

7 6 5 4 3 2 1 0

REGISTRO X X X X X X X X Donde X puede ser 1 0. A los bits del 0 al 3 se les denomina nibbles inferior, y del 4 al 7 se denominan nibbles superior.

STATUS (status register)

03h o STATUS: REGISTRO DE ESTADO. Contiene el estado Aritmtico de la ALU, la causa de reset y los bits de preseleccin de pgina para la memoria de datos. En la figura se muestran los bits correspondientes a este registro. Los bits 5 y 6 (RP0 y RP1) son los bits de seleccin de pagina (Bank 0 y Bank 1), para el direccionamiento directo de la memoria de datos; solamente RP0 se usa e los n PIC 16F84. RP1 se puede utilizar como un bit de propsito general de lectura/escritura. Los bits TO y PD no se pueden modificar por un proceso de escritura; ellos muestran la condicin por la cual se ocasiono el ultimo reset.

IRP bit 7 IRP RP1,0 T0 PD Z DC C

RP1 bit 6

RP0 bit 5

T0 bit 4

PD bit 3

Z bit 2

DC bit 1

C bit 0

Selector de pgina para direccionamiento indirecto. Este bit no se utiliza efectivamente en el PIC 16F84, por lo que se puede utilizar como un bit de propsito general. Selectores de pgina para un seleccionamiento directo. Solamente RP0 se utiliza en el PIC 16F84, 0 selecciona banco 0 y 1 selecciona banco 1. RP1 se puede utilizar como un bit de propsito general. Time Out o bit de finalizacin del temporizador. Se coloca en 0 cuando el circuito de vigilancia Watchdog finaliza la temporizacin Power Down o bit de bajo consumo. Se coloca en 0 por la instruccin sleep. Zero o bit de cero. Se coloca en 1 cuando el resultado de una operacin aritmtica o lgica es cero. Digit Carry o bit de acarreo de dgito. En operaciones aritmticas se activa cuando hay un acarreo entre el bit 3 y 4, es decir cuando hay acarreo entre el nible de menor y de mayor peso. Carry o bit de acarreo. En instrucciones aritmticas se activa cuando se presenta acarreo desde el bit ms significativo del resultado.

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

f (file register)

Este carcter se usa para definir registros de cualquier tipo. Cualquier instruccin que contenga este campo, contendr la direccin de un registro, no su contenido. Un registro puede variar entre las direcciones 00h y 7Fh. En el caso de los registros especiales en vez de la direccin podemos poner directamente el nombre del registro que el ensamblador se encargar luego de traducir a la direccin real. Ejemplo, instruccin BSF f,b , Pone a 1 el bit b del registro f. En lugar de escribir BSF 03,5 Podemos escribir BSF STATUS,5

Con lo que se pone a 1 el bit 5 del registro STATUS. Seleccionando as el banco 1

w (working register)

w da nombre al acumulador de los PICs, el cual lo vimos anteriormente cuando tratamos los registros. Este no es un registro situado en un banco de memoria, si no que es independiente. A diferencia que el anterior, cuando nos referimos a l, nos referimos al contenido. Su uso es muy sencillo, pues lo usaremos principalmente para pasar informacin de un registro a otro, o para contener la informacin entre dos o ms instrucciones.
b (bit addres dentro de un registro)

Esta letra define la direccin de un bit dentro de un byte. En ciertas ocasiones en vez de modificar o acceder a bytes tendremos que modificar o acceder a bits. De esta manera podemos especificar a una instruccin que posicin ocupa el bit sobre el cual recaer la accin que esta ejecute. Al igual que en los registros especiales, podemos poner directamente el nombre de un bit dentro de un registro. Ejemplo: En lugar de escribir BCF STATUS,5 Podemos escribir BCF STATUS,RP0

Con lo que se pone a 0 el bit 5 del registro STATUS. Seleccionando as el banco 0.

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

l o k (literal)

Este valor ser almacenado en la propia instruccin en tiempo de ensamblado, esto significa que son los valores que introducimos en las instrucciones para que trabaje con ellos (independientemente de los datos que podamos almacenar o contener en la EEPROM de datos). El valor que podemos introducir dentro de un literal est comprendido entre 0 y 255, ya que es el mximo que puede representar un byte.
d (destiny bit)

Donde encontremos esta letra, debemos especificar donde se almacenar el resultado de una instruccin, en w o en un registro. Puesto que esto no es un lenguaje de alto nivel, no podemos almacenar el resultado de una operacin sobre una tercera variable o registro, as que este deber ser almacenado en el registro origen (sobrescribindose), o en el acumulador. Esto se define a travs de dos valores:
y y

1: El resultado se almacenar en f. 0: El resultado se almacenar en w.

Estructura de un programa en ensamblador

Para hacer la tarea del programador ms grata, se usan algunas convenciones. Cada uno puede adoptar las que ms le agraden y ayuden para ser ms productivo. En general, las convenciones son cualquier accin que facilita la revisin y comprensin de un programa, especialmente el que uno mismo ha escrito cuando tiene que revisarlo algunos meses despus. Una convencin puede ser la siguiente:
y y y y y y y y y y

Comentario descriptivo del programa (utilizar una cabecera estandarizada). Definir el microcontrolador que se usar (con las directivas LIST e INCLUDE). Introducir las opciones de compilacin (que sern vistas ms adelante) (opcional). Establecer las constantes que se usarn (con la directiva EQU). Reservar espacios de memoria (directiva RES) (si es necesario). Configurar los puertos. Desarrollar el programa con comentarios, en lo posible explicando cada lnea de cdigo.. Los mnemnicos escritos en minscula y las constantes y variables en mayscula hacen que el cdigo escrito sea ms visible. Colocar las rutinas en el mismo sitio, todas contiguas. Dibujar diagramas de flujo o escribir seudocdigo.

Kalikrates L. Prezas Hernndez

Su estructura en un programa ejemplo muy simple:

Hemos visto la estructura general. Ahora veremos la posicin de los elementos del cdigo por 4 columnas:

Columna 1: Etiqu tas. Las etiquetas se rigen por las siguientes normas: o Debe situarse en la primera columna. o Debe contener nicamente caracteres alfanumricos. o El mximo de caracteres es de 31. Columna 2: Operaci . En esta columna se situarn las instrucciones. El campo del cdigo de operacin es el nico que nunca puede estar vaco; ste siempre contiene una instruccin o una directiva del ensamblador. Columna 3: Opera dos. El campo de operndoos o de direccin puede contener una direccin o un dato, o puede estar en blanco. Normalmente contendr registros o literales con los que se operar (f, l o k , b y w). Columna 4: Comentario. El campo del comentario o de etiquetas es opcional. Aqu se situar cualquier comentario personalizado que deseemos. Estos son tiles para saber qu hace un programa sin tener que descifrar el cdigo entero. El compilador (ensamblador) ignorar todo texto ms all del carcter punto y coma ";".
Q R P

Ka ikra es L. Prezas Hernndez

S 83

Microcon ro adores

DC E

CETIS 83

Microcontroladores

Etiquetas (label)

Las etiquetas se sitan a la izquierda de las instrucciones y sirven para agrupar fragmentos de cdigo. Estos fragmentos pueden ser de dos tipos:
y y

El primer tipo no es un fragmento tal cual, si no que es un punto del programa al que podremos saltar de manera incondicional a travs de la instruccin adecuada. El segundo tipo es denominado subrutina. Este empieza con una etiqueta y acaba con la instruccin RETURN o RETLW, que veremos ms adelante.

Deberemos tener en cuenta:


y y y

y y

La etiqueta es el primer campo en una lnea en lenguaje ensamblador y puede no existir. Si una etiqueta est presente, el ensamblador la define como el equivalente a la direccin del primer byte correspondiente a esa instruccin. Esta etiqueta puede volver a usarse en otro lugar pero como operando de una instruccin. El ensamblador reemplazar sta etiqueta por el valor de cuando fue creada. Se usan frecuentemente en las instrucciones de salto. No puede existir ms de una etiqueta en la primera columna o primer campo de instruccin. No pueden usarse como nombres de etiquetas a palabras ya reservadas por el ensamblador ( ORG, EQU, etc.) o nombres de instrucciones ( movlw, call, nop, etc.)

Ejemplo:
DATO INICIO EQU movlw goto 05h DATO INICIO

La instruccin goto INICIO causa que la direccin de la instruccin con la etiqueta INICIO (movlw) se cargue en el PC (Contador de Programa). Por lo tanto sta instruccin ser luego ejecutada.

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Procedimiento
Una vez que ya se vio lo necesario y algo ms para la realizacin de la prctica sigue los siguientes pasos: 1. Llena la tabla 3 2. Analiza el diagrama de flujo de la figura 9 y escribe en el rea reservada el programa en el lenguaje ensamblador 3. Revisa las medidas de seguridad e higiene establecidas por el centro de cmputo. 4. Enciende la computadora e inicia la aplicacin correspondiente. MPLAB y selecciona el PIC16F84A 5. Captura el programa en la aplicacin abierta en el punto anterior. 6. Compila el programa y depralo (quitar errores) 7. Simula el programa. 8. Contesta el cuestionario adjunto a esta practica 9. Analiza el cuestionario y la simulacin 10. Para ACREDITAR la prctica pide al maestro te revise la simulacin Y da respuesta a las preguntas formuladas por l y a las modificaciones que se te pidan

Instrucciones usadas Instruccion bsf f,b Tarea que realiza

bcf

f,b k f k etiqueta

movlw movfw addwl goto

Tabla 3 Instrucciones Mnemonicos usados en la prctica

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Diagrama de flujo
INICIO CABECERA La tarea que realiza el programa Nombre del autor TIPO DE MICROCONTROLADOR A USAR

DEFINICION DE CONSTANTES Y O VARIABLES


S

Empieza a grabar en la direccin 0 00


T

Configuracin de puertos Seleccin del banco 1

Configura puerto A como entrada

Configura puerto B como salida (Dos instrucciones a usar


U

Seleccin del banco 0

Leer puerto A y almacenarlo en W

Sumar 0 17 al contenido de W (La suma se guarda en W


U T

Sacar por el puerto B la suma (La suma esta en W


U

Figura 9 Diagrama de flujo Configuracin de puertos


Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Cdigo

Cuestionario

1. 2. 3. 4. 5. 6. 7.

Cmo est organizada la memoria en el PIC16F84A? Cmo se accede a los bancos de memoria? Qu funcin tienen los registros funcin especial (SFR)? Qu funcin tienen los registros de propsito general? Cules son los registros donde se configuran los puertos A y B como entrada como salida? Cmo se configura el puerto B como salida? Para sta prctica cual fue la funcin del registro STATUS?

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

PRACTICA NO. 5 HIDRONEUMATICO

Objetivo
Al termino de la prctica el alumno desarrollara la capacidad de ajustar el encendido y apagado de la bomba de un hidroneumtico para mantener los niveles de presin requeridas dentro de un sistema hidrulico.

Fundamentacin terica
El marco terico que encierra esta prctica se extiende hacia los sistemas de control automtico, tipos de

controladores industriales y en especial al control TODO NADA. Adems de los principios de


funcionamiento de los convertidores analgico digital, recurso especial con el que cuenta la mayora de los microcontroladores. La figura 9 muestra el diagrama a bloques de un sistema de control automtico (realimentado o de lazo

cerrado). El punto de inters es el bloque que hace referencia al tipo de controlador.


Accin de control Error Controlador Planta Proceso Valor real

Valor deseado

Medicin

Figura 9 Diagrama a bloques de un sistema de control realimentado Para esta prctica la funcin del controlador es desempeado por el microcontrolador junto con el programa almacenado en el. El Diagrama a bloques de la figura 9 se refiere a un control automtico. Su funcin bsica es el de sustituir la presencia del hombre en el control de algn proceso y consiste en compara el valor real de la salida de un proceso o planta, con la entrada de referencia (valor deseado), determina la desviacin o error y produce

Kalikrates L. Prezas Hernndez

una seal de control que tendera a reducir esa desviacin a un valor de cero o un valor muy pequeo.La manera en la cual el control automtico produce la seal de control se denomina accin de control. Los controladores automticos industriales se clasifican segn la accin de control como:

1. De dos posiciones, encendido y apagado, Todo o nada (On,/Off) 2. Proporcionales 3. Integrales 4. Proporcional mas integral 5. Proporcional mas derivativo 6. Proporcional mas integral mas derivativo Casi todos los controladores industriales emplean como fuente de energa la electricidad o un fluido presurizado, tal como el aceite o el aire. Los controladores tambin pueden clasificarse, de acuerdo con el tipo de energa que utilizan en su operacin, como neumticos, hidrulicos o elctricos. El tipo de controlador que se use debe decidirse con base en la naturaleza de la planta y las condiciones operacionales, incluyendo consideraciones tales como seguridad, costo, disponibilidad, confiabilidad, precisin, peso y tamao. El funcionamiento de un controlador todo o nada con brecha diferencial (ciclo de histresis) se puede visualizar tomando como ejemplo la accin de control a la temperatura, representado en la siguiente grafica:

Figura 9: Grfica que refleja la dinmica del control ON /OFF con ciclo de histresis
En la grfica se muestra que el controlador responde con dos estados dependiendo del valor de la temperatura deseada (Tdes). El control solo presenta dos estados de salida.

Ka ikra es L. Prezas Hernndez

S 83

Microcon ro adores

WV X

CETIS 83

Microcontroladores

El controlador permanece en estado de ENCENDIDO hasta que rebasa el lmite superior (Tdes + T1), en ese momento se apaga, y permaneces as hasta que llega al lmite inferior (Tdes- T1). A la diferencia entre el lmite superior y el lmite inferior se le denomina Brecha diferencial. Existen aplicaciones en que los estados se invierten. Es decir al llegar al lmite superior se enciende y al llegar al lmite inferior se apaga.

Convertidor analgico digital


Un convertidor analgico-digital (CAD), (ADC) es un dispositivo electrnico capaz de convertir una entrada analgica de voltaje (seal continua en el tiempo) en un valor binario, Se utiliza en equipos electrnicos como ordenadores, grabadores de sonido, de vdeo, equipos de telecomunicaciones y para el caso que nos ocupa vienen incluidos en los microcontroladores y estn clasificados como recursos especiales. La seal analgica, que vara de forma continua en el tiempo, se conecta a la entrada del dispositivo y se somete a un muestreo a una velocidad fija, se cuantifica y se obtienen as una seal digitalizada. El marco terico del muestreo y la cuantificacin no es el propsito de analizarla en esta prctica, por lo que se deja al lector su estudio por separado. Para adquirir la habilidad del manejo de parmetros del proceso a controlar, es necesario conocer lo bsico sobre su funcionamiento: Los convertidores poseen dos seales de entrada llamadas Vref+ y Vref- y determinan el rango en el cual se convertir una seal de entrada. El dispositivo establece una relacin entre su entrada (seal analgica) y su salida (digital) dependiendo de su resolucin. Esta resolucin se puede saber, siempre y cuando conozcamos el valor mximo (voltaje) que la entrada de informacin utiliza y la cantidad mxima de la salida en dgitos binarios. A manera de ejemplo, el convertidor anlogo digital ADC0804 tiene la capacidad de con vertir una muestra analgica de entre 0 y 5 voltios con una salida de 8 bits por lo que respectivamente: su resolucin sern

Resolucin = valor analgico / (2^8) Resolucin = 5 V / 256 Resolucin = 0.0195v o 19.5mv. Resolucin = LSB Lo anterior quiere decir que por cada 19.5 milivoltios que aumente el nivel de tensin entre las entradas nomencladas como "Vref+" y "Vref-" que ofician de entrada al conversor, ste aumentar en una unidad su salida (siempre sumando en forma binaria bit a bit).
Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Por ejemplo: Entrada (volts) 0 0,02 0,04 1,0 5,0 Salida (binario) 0000 0000 0000 0001 0000 0010 0011 0011 1111 1111

Procedimiento
Una vez discutido el tema en clase con el maestro y tus compaeros y de haber realizado ejercicios, vas a realizar los siguientes pasos para poder realizar la prctica. 1. Analiza el diagrama de situacin de la figura 10 2. Leer el modo de funcionamiento del sistema hidrulico. 3. Analiza la accin de control del controlador TODO NADA mostrada en la figura 11 4. Escribe en el rea reservada el cdigo correspondiente al diagrama de flujo de la figura 12 en el lenguaje de alto nivel discutido en clase correspondiente al microcontrolador visto. 5. Revisa las medidas de seguridad e higiene establecidas por el centro de cmputo. 6. Enciende la computadora e inicia la aplicacin correspondiente, selecciona el microcontrolador PIC16F877 7. Captura el cdigo escrito en el rea reservada en la aplicacin abierta en el punto anterior. 8. Compila el programa y depralo (quitar errores) 9. Simula el proceso que controla el programa. 10. Contesta el cuestionario adjunto a esta practica 11. Analiza el cuestionario y la simulacin 12. Para ACREDITAR la prctica pide al maestro te revise la simulacin Y da respuesta a las preguntas formuladas por l y a las modificaciones que se te pidan

Kalikrates L. Prezas Hernndez

Diagrama de situacin

Figura 10 Hidroneumtico. Sistema de presin de agua

Funcionamiento
Un hidroneumtico es un sistema ahorrador de agua que nos proporciona un suministro de agua constante y una presin uniforme en todas las salidas de agua. Se llama hidroneumtico porque es un equipo que requiere para su funcionamiento una combinacin adecuada de aire y agua, para lo cual se cuenta con un tanque de aire y un diafragma de accin controlada que contiene agua y que evita su contacto con el metal del tanque que provoca olores y sabores desagradables.

El sistema cuanta con:

y y

Como ya se menciono un tanque donde se almacena el agua a presin Una bomba (conectada al puerto B, bit 0) que cuando se activa (se pone en 1) succiona agua de una cisterna para meterla al tanque.

Una cisterna donde se almacena agua proveniente del sistema de agua municip Cuenta con un al. flotador y una vlvula que cuando se llena deja de suministrarse agua. Tambin cuenta con un sensor (conectado al puerto B, bit 4) que cuando se activa (se pone en 1) indica que la cisterna no tiene agua.

Un sensor (manmetro) conectado en la tubera cerca del tanque (conectado al puerto A, AN0) que indica la presin del agua en todo sistema. Entrega un voltaje en un rango de 0v a 5V, donde 0v indica que la presin en el sistema es de 0lb/pul2 y 5V indica 80 lb/pul2.

Ka ikra es L. Prezas Hernndez

S 83

Microcon ro adores

dc e

CETIS 83

Microcontroladores

Un interruptor (conectado al puerto B, bit 5) cuya funcin es la de puesta en marcha del sistema. Esto quiere decir que cuando se activa (se pone en 1) permite que la bomba trabaje cuando la presin de agua en la tubera esta fuera del rango requerido. Y cuando se desactiva (se pone en 0) la bomba no trabaja, no importando la presin existente. Una lmpara (conectada al puerto B, bit 1) que se enciende cuando la cisterna no tiene agua.

Para la puesta en marcha, el usuario solo tiene que activar el botn pulsador. La bomba del hidroneumtico entrar en funcionamiento cuando la presin en el sistema sea menor o igual a 20 lb/pul2 y dejara de funcionar cuando la presin alcance 30 lb/pul2. (Ver la accin de control figura 11) Si la cisterna no tiene agua, una . lmpara se encender. Aun y cuando este en marcha el sistema, si no tiene agua la bomba no funcionara, esto para evitar que se dae.

Accin de control

Bomba ON

Bomba OFF Lb pul2 20 Lb pul2 Presin Central 25 lb pul2


p p

30 Lb pul2

Figura 11 Accin del control Hidroneumtico

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Diagrama de flujo
INICIO Declarar Variables

NO Hay agua en cisterna? Prender Lmpara SI

SI

Interruptor en ON?

NO

Apagar Bomba Leer presin

SI Presin <= 20 lb pul2?


q q

NO NO SI

Prender Bomba

Presin > 30 lb pul2?

Apagar Bomba

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Cdigo

Kalikrates L. Prezas Hernndez

CETIS 83

Microcontroladores

Cuestionario
1. Escribe tres caractersticas de un control automtico

2. Cul es la caracterstica principal de un controlador TODO NADA?

3. Cul es la funcin de un convertidor analgico digital?

4. Cules son los procesos por los que una seal analgica pasa para ser digitalizada?

5. En qu consiste la simulacin?

6. Si el microcontrolador se alimenta con un voltaje de 10 Volts mismos que se usan como referencia los ADC integrados. Cul es la resolucin si el nmero de bits de salida es 10?

7. Tomando en cuenta la resolucin del punto anterior. Si se est midiendo la temperatura y 0 Volts de entrada corresponden a 0 oC y 10 Volts a 50 oC. Cul sera el dato convertido en binario y en decimal si la temperatura medida es de 30 0 C.

SELLO

Kalikrates L. Prezas Hernndez

Das könnte Ihnen auch gefallen