La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

CURSO BASICO INTERMEDIO

Presentaciones similares


Presentación del tema: "CURSO BASICO INTERMEDIO"— Transcripción de la presentación:

1 CURSO BASICO INTERMEDIO
OSCAR PEÑALOZA 23/03/2017 CURSO BASICO INTERMEDIO TDA 88 23/03/2017 PIC STUDIO PIC STUDIO

2 PROGRAMADOR PSPROG 23/03/2017 PIC STUDIO

3 TDA 88 23/03/2017 PIC STUDIO

4 MICROCONTROLADOR PIC16F88
Un microcontrolador es un circuito integrado programable que contiene todos los componentes de una computadora. Es utilizado para controlar el funcionamiento de una tarea especifica. En su memoria solo reside un programa destinado a controlar una tarea específica. Sus líneas de entrada salida soportan conexiones de sensores y actuadores del dispositivo a controlar, solo soportan 20mA , y todos los recursos complementarios disponibles tienen como única finalidad atender sus requerimientos. 23/03/2017 PIC STUDIO

5 Diferencia entre un microcontrolador
y un microprocesador Un microprocesador es un sistema abierto con el que puede construirse una computadora con las características que se desee, acoplando los módulos necesarios, comos se muestra en la figura 1. Figura 1.- Estructura de un microprocesador 23/03/2017 PIC STUDIO

6 Figura 2.-Estructura de un microcontrolador
Un microcontrolador es un sistema cerrado que contiene una computadora completa y de requerimientos limitados que no se pueden modificar, como se muestra en la figura 2. Figura 2.-Estructura de un microcontrolador 23/03/2017 PIC STUDIO

7 Características básicas del PIC16F88
El microcontrolador PIC16F88 es un circuito integrado de 18 pines (patillas) fabricado con tecnología CMOS (Complementary metal–oxide–semiconductor), el cual se encuentra en diferentes encapsulados por ejemplo el DIP (versión convencional) y el SOIC (montaje superficial). Su frecuencia de operación esta en el rango de 4 Mhz a 20 Mhz. Los PIC’s que operan en una frecuencia de 4 Mhz podran operar sin ningun problema hasta los 10 Mhz. En la figura 3 se muestra como están organizados los pines del microcontrolador PIC16F88 23/03/2017 PIC STUDIO

8 Figura 3.-Organización de los pines del microcontrolador PIC16F88 (encapsulado tipo DIP)
23/03/2017 PIC STUDIO

9 Identificación de los pines utilizados para los puertos de Entradas y Salidas.
En la figura 3 podemos observar que el microcontrolador PIC16F88 contiene dos puertos denominados “A” y “B”. El puerto “A” tiene cinco líneas disponibles (RA0, RA1, RA2, RA3, RA4) y el puerto “B” tiene ocho líneas disponibles (RB0, RB1, RB2, RB3, RB4, RB5, RB6, RB7). Ambos puertos suman un total de trece líneas que podrán ser programadas independientemente como entradas o como salidas. Estas son las líneas que estarán destinadas para comunicar el microcontrolador con el mundo exterior como por ejemplo: Un motor Paso a Paso, diodos luminosos “LED’s, teclados matriciales, etc. El pin 3 del PIC16F88 perteneciente al puerto “A” = RA4 también tiene otra nomenclatura denominada “TOCKI” que significa que esta línea podrá ser programada como entrada, salida y temporizador/contador 23/03/2017 PIC STUDIO

10 Identificación de los pines de alimentación del microcontrolador PIC16F88.
El microcontrolador se alimenta con un voltaje de 5 Volts DC y los pines para ello son el pin No 14(+) y el pin No 5(-). Osciladores. Todo microprocesador o microcontrolador requiere de un circuito que le indique a que velocidad debe de operar. Este circuito es denominado como oscilador de frecuencia. El oscilador es el corazón del microcontrolador, por lo tanto este pequeño circuito no debe de faltar. Para el microcontrolador PIC16F88 el Pin No. 15 y el Pin No. 16 son utilizados para introducir la frecuencia de reloj. 23/03/2017 PIC STUDIO

11 El microcontrolador PIC16F88 utiliza cuatro periodos completos
de reloj por cada instrucción, por lo tanto si nuestra frecuencia de operación es de 4 Mhz, internamente en el microcontrolador se esta trabajando a 1 Mhz debido a que se toman cuatro pulsos de reloj completos para cada instrucción. El microcontrolador PIC16F88 puede utilizar cuatro tipos diferentes de osciladores de frecuencia. El tipo de oscilador dependerá de la precisión (ej: para las rutinas de tiempo), velocidad que es requiera para la aplicación. 23/03/2017 PIC STUDIO

12 23/03/2017 PIC STUDIO

13 En el momento de programar el microcontrolador se deberá
especificar el tipo de oscilador que se utilizara en la aplicación a desarrollar, es decir su frecuencia de operación. Ejemplo si su frecuencia de trabajo es de 10 Mhz, configuración del microcontrolador con el oscilador deberá estar en “HS”; pero la frecuencia de trabajo es de 4 Mhz entonces la configuración del microcontrolador deberá estar en “XT”. Oscilador tipo “HS” basado en un cristal para frecuencias mayores a 4 Mhz, 23/03/2017 PIC STUDIO

14 En esta figura mostramos la configuración básica obligatoria que debe tener el microcontrolador PIC16F88 para poder funcionar. 23/03/2017 PIC STUDIO

15 Es importante conocer loa límites de corriente de los puertos A y B cuando son programados como salidas o como entradas. Cuando son programados como salidas es denominado modo fuente por suministran corriente y cuando las líneas sean programadas como entradas son llamadas sumidero por que reciben corriente. 23/03/2017 PIC STUDIO

16 ARQUITECTURA INTERNA DEL PIC16F88
El microcontrolador PIC16F88 dispone de una estructura organizada interiormente conformado por bloques interconectados en donde se incluye la memoria RAM, los puertos de entrada y salida, la memoria EEPROM, etc. En la figura 8 se muestra la arquitectura interna del PIC16F88. 23/03/2017 PIC STUDIO

17 Figura 8 .-Arquitectura interna del PIC16F88.
23/03/2017 PIC STUDIO

18 REGISTROS IMPORTANTES DEL PIC16F88
Antes de programar el microcontrolador PIC16F88, es necesario conocer algunos aspectos básicos de la arquitectura del PIC16F88, específicamente en los detalles relacionados a la ubicación del comienzo de la memoria RAM, memoria EEPROM, registros reservados, etc. En la figura 9 se representa el mapa de memoria del PIC16F88. La estructura del PIC16F88 esta dividida en dos columnas denominadas banco 0 y banco 1. 23/03/2017 PIC STUDIO

19 Figura 9 .-Mapa de memoria del PIC16F84A.
23/03/2017 PIC STUDIO Figura 9 .-Mapa de memoria del PIC16F84A.

20 MEMORIA DE PROGRAMA TIPO EEPROM.
Esta memoria tipo Flash, aquí almacenaremos nuestro programa dentro del microcontrolador PIC16F88. Esta memoria puede ser escrita o borrada eléctricamente. La memoria Flash tiene la característica de poderse borrar en bloques completos y no podrá borrarse posiciones concretas o específicas, no es una memoria no es volátil, es decir, no pierde los datos si la energía es interrumpida. 23/03/2017 PIC STUDIO

21 PRACTICAS CON EL SISTEMA TDA 88
23/03/2017 PIC STUDIO

22 Ejemplo 1.- Utilizando el compilador de lenguaje C y TDA realice un programa que permita encender el LED B0 23/03/2017 PIC STUDIO

23 ENCIENDE EL 1º LED DEL PUERO B
#include <16F88.H> // Declara el pic a usar #fuses HS, NOPROTECT, NOWDT, // Declara los fusible a programar #use delay(clock= ) // Declara el valor del oscilador #use fast_io(A) // Declara los puertos #use fast_io(B) // que se utilizaran #byte salida=0x // se declara que se utilizara el bit 4 del puerto B inicializar( ) //función de inicializar puertos { set_tris_b(0x00); // se declara el puerto B como salida } main() // programa principal inicializar(); // llama a el programa inicializar while(TRUE) salida=0x01; // pone en 1º bit del puerto B 23/03/2017 PIC STUDIO

24 ENCIENDEN 8 LEDS Y A PAGAN
#include <16F84A.H> // Declara el pic a usar #fuses XT, NOPROTECT, NOWDT // Declara los fusible a programar #use delay(clock= ) // Declara el valor del oscilador #use fast_io(A) // Declara los puertos #use fast_io(B) // que se utilizaran #byte salida=0x // se declara todo el puerto B como salida inicializar( ) //función de inicializar puertos { set_tris_b(0x00); // se declara el puerto B como salida set_tris_a(0x00); // se declara el puerto A como salida } main() // programa principal inicializar(); // llama a el programa inicializar while(TRUE) salida=0xff; // pone en 1 al puerto B delay_ms(700); //el tiempo que se muestra en el display salida=0; // pone en 0 al puerto B }} 23/03/2017 PIC STUDIO

25 CORRIMIENTO DEL PUERTO B
#include <16F84A.H> // Declara el pic a usar #fuses XT, NOPROTECT, NOWDT // Declara los fusible a programar #use delay(clock= ) // Declara el valor del oscilador #use fast_io(A) // Declara los puertos #use fast_io(B) // que se utilizaran #byte salida=0x // se declara que se utilizara el bit 4 del puerto B void inicializar( ) //función de inicializar puertos { set_tris_b(0x00); // se declara el puerto B como salida } void main() // programa principal inicializar(); // llama a el programa inicializar while(TRUE) salida=0x01; // enciende en 1º bit del puerto B delay_ms(700); //tiempo de espera salida=0x03; // enciende en 1º,2º bit del puerto B salida=0x07; // enciende en 1º,2º,3º bit del puerto B 23/03/2017 PIC STUDIO

26 salida=0x0f; // enciende en 1º,2º,3º,4º bit del puerto B
delay_ms(700); //tiempo de espera salida=0x1f; // enciende en 1º,2º,3º,4º,5º bit del puerto B salida=0x3f; // enciende en 1º,2º,3º,4º,5º,6º bit del puerto B salida=0x7f; // enciende en 1º,2º,3º,4º,5º,6º,7º bit del puerto B salida=0xff; // enciende en 1º,2º,3º,4º,5º,6º,7º,8º bit del puerto B } 23/03/2017 PIC STUDIO

27 ENCENDER UNO POR UNO LOS LEDS DEL PURTO B
#include <16F84A.H> // Declara el pic a usar #fuses XT, NOPROTECT, NOWDT // Declara los fusible a programar #use delay(clock= ) // Declara el valor del oscilador #use fast_io(A) // Declara los puertos #use fast_io(B) // que se utilizaran #byte salida=0x // se declara que se utilizara el bit 4 del puerto B inicializar( ) //función de inicializar puertos { set_tris_b(0x00); // se declara el puerto B como salida } main() // programa principal inicializar(); // llama a el programa inicializar while(TRUE) salida=0x01; // enciende en 1º bit del puerto B delay_ms(700); //tiempo de espera salida=0x02; // enciende en 2º bit del puerto B 23/03/2017 PIC STUDIO

28 salida=0x04; // enciende en 3º bit del puerto B
delay_ms(700); //tiempo de espera salida=0x08; // enciende en 4º bit del puerto B salida=0x10; // enciende en 5º bit del puerto B salida=0x20; // enciende en 6º bit del puerto B salida=0x40; // enciende en 7º bit del puerto B salida=0x80; // enciende en 8º bit del puerto B } 23/03/2017 PIC STUDIO

29 Contador del 0 al 9 #include <16F84A.H> // Declara el pic a usar
#fuses XT, NOPROTECT, NOWDT // Declara los fusible a programar #use delay(clock= )// Declara el valor del oscilador #use fast_io(A) // Declara los puertos #use fast_io(B) // que se utilizaran #byte salida=0x // se declara todo el puerto B como salida inicializar( ) //función de inicializar puertos { set_tris_b(0x00); // se declara el puerto B como salida set_tris_a(0x00); // se declara el puerto A como salida } main() // programa principal inicializar(); // llama a el programa inicializar while(TRUE) salida=0x3f;//el 0 en forma de 7 segmentos en hexadecimal delay_ms(700);// el tiempo que se muestra en el display salida=0x06; //el 1 en forma de 7 segmentos en hexadecimal salida=0x5b;//el 2 en forma de 7 segmentos en hexadecima 23/03/2017 PIC STUDIO

30 salida=0x4f;//el 3 en forma de 7 segmentos en hexadecimal
delay_ms(700);// el tiempo que se muestra en el display salida=0x66;//el 4 en forma de 7 segmentos en hexadecimal salida=0x6d; //el 5 en forma de 7 segmentos en hexadecimal salida=0x7c; //el 6 en forma de 7 segmentos en hexadecimal salida=0x07;//el 7 en forma de 7 segmentos en hexadecimal salida=0x7f;//el 8 en forma de 7 segmentos en hexadecimal salida=0x67;//el 9 en forma de 7 segmentos en hexadecimal } 23/03/2017 PIC STUDIO


Descargar ppt "CURSO BASICO INTERMEDIO"

Presentaciones similares


Anuncios Google