Está en la página 1de 11

UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE MICROPROCESADORES (ELT 3912) _____________________________________________________________________________

LABORATORIO N 1

RETARDOS DE TIEMPO CON MICROCONTROLADORES PIC


1.- Objetivo

-Incentivar al alumno en el diseo de microcontroladores PIC -Realizar diseos de Sistemas de Control -Mediante el lenguaje Assembler realizar circuitos. -Usando Software de simulacin para PICs se compilara y simulara los archivos escritos en Assembler. - Para comprobar la veracidad del simulador y compilador se usar Proteus versin 7.10 para dibujar el circuito y simular en tiempo real. programa para controlar diferentes

2.- Fundamento Terico.El PIC16F84A esta fabricado en tecnologa CMOS, posee memoria FLASH, y consumo bajo de potencia. Est compuesto bsicamente de una memoria ROM (1024 palabras de memoria de programa), una memoria RAM (de acceso aleatorio, 68 bytes), lneas de entrada y salida (2 Puertos) y una lgica de control que coordina la interaccin de los dems bloques. Estos micros pertenecen a la gama media y dispones de un set de 35 instrucciones, tipo RISC (Computador con Set de Instrucciones Reducido) pocas pero muy poderosas.Algunas funciones especiales que dispone este PIC:

Temporizador programable (Timer). Si se quiere medir periodos de tiempo entre eventos, generar temporizaciones o salidas con frecuencia especfica, etc.

Perro Guardin o Watchdog. Consiste en un temporizador que, cuando se desborda ya pasa por 0, provoca un reset automtico, utilizado para sistemas que no tienen control de un supervisor, y al bloquearse el micro se resetea. Si se utiliza el cdigo debe resetearlo antes de que se desborde.

UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE MICROPROCESADORES (ELT 3912) _____________________________________________________________________________

Memoria EEPROM de 64 bytes, para guardar datos que no se alteran a pesar de quitar la alimentacin.

Interrupciones, cuando una seal externa, o una condicin interna activa una lnea de interrupcin, dejando de lado la tarea que esta ejecutando, atiende dicha interrupcin y luego contina con lo que estaba haciendo.

Proteccin ante fallo de alimentacin. Se trata de un circuito que resetea al micro cuando el voltaje Vdd es inferior al mnimo.

Estado de bajo consumo. Sleep. Si el micro debe esperar mucho tiempo sin hacer nada, posee una instruccin especial, Sleep, que lo pasa al estado de reposo. Al activarse una interrupcin se despierta y reanuda su trabajo. (Reset externo, desbordamiento de Watchdog, interrupcin por RB0, interrupcin por cambio de nivel en RB4 a RB7, interrupcin por escritura completada en EEPROM)

Veamos el diagrama de pines, para ver como estn distribuidos sus pines. Este microcontrolador cuenta con dos puertos configurables como estradas y salidas, y consta de 18 pines los cuales se encuentran asignados de la siguiente manera:

El puerto A tiene solo cinco pines, el pin 3, sea, RA4/TOCKI puede ser configurado a su vez como entrada/salida o como temporizador/contador. Cuando es salida se comporta como colecto abierto, por lo tanto debemos poner una resistencia Pull-up a Vdd de 1 Kohm. Cuando se configura como entrada, funciona como disparador Schmitt Trigger por lo que puede reconocer seales con un poco de distorsin. El puerto B tiene 8 pines que pueden ser configurados como entrada/salida. RB0 puede programarse adems como entrada de interrupcin externa. Los pines RB4 a RB7 pueden

UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE MICROPROCESADORES (ELT 3912) _____________________________________________________________________________

programarse para responder a interrupciones por cambio de estado y los pines RB6 y RB7 se corresponden con lneas de entrada de reloj y entrada de datos cuando esta en modo programacin. MCLR/Vpp, es la entrada de reset si esta a nivel bajo, tambin es habilitador de tensin de programacin. Cuando su tensin es Vdd el PIC funciona normalmente. Vss y Vdd, son los pines de masa y alimentacin. La tensin de alimentacin esta comprendida entre los 2 y 5.5 Volt. OSC1/CLKIN y OSC2/CLKOUT, pines de entrada externa de reloj y salida de oscilador a cristal respectivamente.-

Capacidad de corriente de los puertos. La mxima capacidad de corriente de cada uno de los pines de los puertos en modo sumidero es de 25 mA y modo fuente de 20 mA. La mxima capacidad de corriente total de los puestos es, Puerto A: Modo sumidero 80 mA; Modo fuente 50 mA. Puerto B: Modo sumidero 150 mA; Modo fuente 100 mA.

El Oscilador externo. Es un circuito externo que le indica al microcontrolador la velocidad a la que debe trabajar. Puede utilizar cuatro tipos distintos: RC, Oscilador con resistencia y condensador (Poco preciso) XT, Cristal de cuarzo. HS, Cristal de alta velocidad LP, Cristal de baja frecuencia y bajo consumo de potencia. Al momento de programar un micro se debe especificar que tipo de oscilador se usa. Internamente la frecuencia del oscilador es dividida por 4, as que si temeos un oscilador de 4 MHz, la frecuencia de trabajo es de 1 MHz, por lo que cada instruccin se ejecuta cada 1 us. Aqu utilizaremos un cristal XT de 4 MHz que debe ir acompaado de dos condensadores:

UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE MICROPROCESADORES (ELT 3912) _____________________________________________________________________________

Reset. El PIC 16F84A posee un temporizador interno conectado al pin de reset, que funciona cuando se da alimentacin al microcontrolador. Esto hace que al encender el sistema el microcontrolador quede en reset por un tiempo mientras se estabilizan todas las seales del circuito. Para tener control sobre el reset se utiliza el siguiente circuito:

Estructura interna del Microcontrolador.

Arquitectura del PIC, existen dos arquitecturas, la clsica de Von Neumann y la arquitectura Harvard, esta ultima es la que usan los PICs. Dispone de dos memorias independientes, una que contiene solo instrucciones y la otra solo contiene datos. Ambas disponen de sus respectivos buses de acceso y es posible realizar operaciones de acceso simultneamente en ambas.

UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE MICROPROCESADORES (ELT 3912) _____________________________________________________________________________

Memoria del programa. Aqu almacenamos nuestro programa o cdigo que debe ejecutar, en el PIC16F84A es FLASH, es rpida, de bajo consumo y alta capacidad de almacenamiento. Se divide en 2048 posiciones, pero este PIC solo tiene implementadas 1024 posiciones, de 0x00 hasta 0x3FF.

UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE MICROPROCESADORES (ELT 3912) _____________________________________________________________________________

Cuando ocurre un reset, el contador de programa (PC) apunta a la direccin 0x00, y el micro inicia nuevamente. Aqu se debe escribir todo lo relacionado con la iniciacin del mismo, por ejemplo configuracin de puertos, etc. Si ocurre una interrupcin PC apunta a la direccin 0x04, y aqu debemos escribir el cdigo necesario para atender a dicha interrupcin. Memoria RAM esttica. Donde se encuentran los 24 registros especficos (SFR) y 68 registros de propsito general (GPR). Se halla dividida en 2 Bancos de 128 bytes cada uno.

UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE MICROPROCESADORES (ELT 3912) _____________________________________________________________________________

Algo que se debe tener en cuenta es la pila o Stack, que consta de 8 posiciones, cada posicin contiene la direccin y datos de la instruccin que se esta ejecutando, as cuando se ejecuta una llamada call o una interrupcin, el PC sabe donde regresar. (Limitar las llamadas anidadas)

UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE MICROPROCESADORES (ELT 3912) _____________________________________________________________________________

RETARDOS DE TIEMPO El pic 16F84A tiene un oscilador interno de 4MHz, si utilizamos ese oscilador tenemos que todas las instrucciones se ejecutan en 1uS, exceptuando los saltos que tardan 2 ciclos, es decir 2uS. Tomando en cuenta eso vamos a generar nuestros retardos, pero siempre partiendo de la suposicin de que se esta trabajando a una frecuencia de 4MHz, si es as, crear rutinas de retardo para nuestro pic es muy sencillo. Supongamos que tenemos la siguiente subrutina:

Retardo:

movlw movwf

N CONT CONT,f Ciclo

;1 ;1 ; 1 x (N-1) + 2 ; 2 x (N-1) + 2

Ciclo:

decfsz Goto

A la derecha de cada instruccin aparece el nmero de ciclos que tomar cada una. Las primeras dos toman solamente 1 ciclo, la tercera decfsz toma (N-1)+2, porque decrementar N-1 veces la variable N y en el ltimo decremento har un salto, es por eso el +2. La instruccin goto se ejecuta en 2 ciclos y se ejecutar N-1 veces, es por eso que se toma como 2*(N-1). De esta forma tenemos que el nmero de ciclos, y por lo tanto el tiempo que tendremos de retardo est dado por la siguiente expresin: 1+1+(1)(N-1)+2+(2)(N1) , 4+N-1+2N-2, o lo que es lo mismo 3N+1. Si queremos un retardo de 100uS entonces tenemos que 3N+1=100, despejando tenemos N=(100-1)/3=33, asi que para tener un retardo de 100uS el valor de la variable N debe ser 33.

3.- Prctica en Laboratorio Realizar los siguientes programas en assembler, compilar y simular en el simulador IDE PIC, luego realizar el circuito y simular en Proteus 7.10

UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE MICROPROCESADORES (ELT 3912) _____________________________________________________________________________

Turno: 8:30 10:00 1) Disear el sistema de control para el semaforo de la calle Brasil y Ejercito Nacional 2) Disear un circuito para controlar un ventilador de aire el cual gira 7 segundos a la izquierda y 10 segundos a la derecha, el ventilador funciona en forma continua. Disear el circuito de control y potencia. 3) Disear un circuito para un rgano electrnico de una octava, en las cuales las letras DO, RE MI, FA, SOL, LA, SI y DO tienen frecuencias distintas de trabajo. 4) Disear un circuito para controlar la secuencia de 8 motores, en el cual arranca el primer motor cuando se activa un pulsador de arranque, los dems motores se activan uno por vez a razn de 4 segundos. Implementar con leds. 5) Realizar un programa para controlar el permetro de una fabrica de 1000 metros cuadrados, la alarma tiene 4 sensores fotoelctricos conectados en cada esquina y se activan despus de 100 mseg, cuando algn objeto o persona rompe el haz de luz, la alarma suena en forma intermitente cada 800 mseg. 6) Realizar un programa para arrancar 4 motores en conexin estrella triangulo con un intervalo de 5 segundos entre la conexin de Estrella y Triangulo, los motores deben tener un intervalo de arranque de 7 segundos. 7) Disear un circuito para controlar un motor paso a paso unipolar el cual funciona a 220 milisegundos. Disear el circuito de control y potencia. 8) Disear un circuito para controlar un motor paso a paso bipolar el cual funciona a 100 Hz. Disear el circuito de control y potencia. 9) Realizar un programa para activar 10 cintas transportadoras cada 5 segundos, los 10 motores funcionaran por espacio de 5000 milisegundos y luego se apagaran por completo.

UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE MICROPROCESADORES (ELT 3912) _____________________________________________________________________________

10) Realizar un programa para controlar 3 velocidades en un motor DC de 6V. En un instante inicial el motor arrancar en baja velocidad y automaticamente pasar a media velocidad en un tiempo de 3 segundos, posteriormente aumentar a su maxima velocidad en 5 segundos. Turno 10:30 a 12:00 1) Disear un circuito para controlar la apertura de un garaje el cual se debe abrir por espacio de 1500 milisegundos completamente y luego esperar 2000 milisegundos para que salga la movilidad y cerrarse en 1500 milisegundos. Disear el circuito de control y potencia. 2) Disear un circuito para controlar un motor paso a paso unipolar el cual funciona a 175 milisegundos. Disear el circuito de control y potencia. 3) Disear un circuito para un secuencial de luces programable de 7 canales, el

usuario podra escoger 5 secuencias diferentes. La secuencia de luces debe ser de 850 mseg. 4) Disear un circuito para controlar motor DC el cual gira 10 segundos a la izquierda y 12 segundos a la derecha, el motor funciona en forma continua. Disear el circuito de control y potencia. 5) Realizar un programa para activar 9 cintas transportadoras cada 6 segundos, los 9 motores funcionaran por espacio de 10.000 milisegundos y luego se apagaran por completo. 6) Realizar un programa para invertir el giro de 5 motores DC en forma instantanea, el arranque de los mismos tendra un intervalo de 4 segundos entre motor y motor, los 5 motores funcionaran 10 segundos y luego invertiran su giro. Este proceso se realiza en forma ciclica. 7) Disear un circuito para un piano electrnico de una octava, en las cuales las letras DO, RE MI, FA, SOL, LA, SI y DO tienen frecuencias distintas de trabajo.

UNIVERSIDAD TECNICA DE ORURO FACULTAD NACIONAL DE INGENIERIA CARRERA: INGENIERIA ELECTRICA ELECTRONICA LABORATORIO DE MICROPROCESADORES (ELT 3912) _____________________________________________________________________________

8) Disear el sistema de control para el semaforo de la calle Pagador y Bolivar. 9) Disear un circuito para controlar un motor paso a paso bipolar el cual funciona a 120 Hz. Disear el circuito de control y potencia 10) Realizar un programa para una alarma de una casa con 2 puertas de acceso, en la cual cada puerta tiene un final de carrera, adems detrs de cada puerta existe un sensor de vibracin, el cual se activara apenas vibre la puerta, el control deber tener un pulsador de encendido y otro de apagado. La alarma sonara en forma ininterrumpida cada 1300 mseg. Nota.- El informe deber ser entregado en forma manuscrita (puntabola ) y en CD, adjuntando el calculo y diseo del circuito, diagrama de flujos, el programa en Assembler y la simulacin en PIC Simulator IDE y Proteus.

También podría gustarte