La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

CURSO BASICO INTERMEDIO 01/01/2014PIC STUDIO. 01/01/2014PIC STUDIO.

Presentaciones similares


Presentación del tema: "CURSO BASICO INTERMEDIO 01/01/2014PIC STUDIO. 01/01/2014PIC STUDIO."— Transcripción de la presentación:

1 CURSO BASICO INTERMEDIO 01/01/2014PIC STUDIO

2 01/01/2014PIC STUDIO

3 01/01/2014PIC STUDIO

4 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. 01/01/2014PIC 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 01/01/2014PIC STUDIO

6 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 01/01/2014PIC STUDIO

7 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 PICs 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 01/01/2014PIC STUDIO

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

9 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 LEDs, 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 01/01/2014PIC STUDIO

10 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. 01/01/2014PIC 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. 01/01/2014PIC STUDIO

12 01/01/2014PIC 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, 01/01/2014PIC STUDIO

14 En esta figura mostramos la configuración básica obligatoria que debe tener el microcontrolador PIC16F88 para poder funcionar. 01/01/2014PIC 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. 01/01/2014PIC 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. 01/01/2014PIC STUDIO

17 Figura 8.-Arquitectura interna del PIC16F88. 01/01/2014PIC 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. 01/01/2014PIC STUDIO

19 Figura 9.-Mapa de memoria del PIC16F84A. 01/01/2014PIC STUDIO

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. 01/01/2014PIC STUDIO

21 01/01/2014PIC STUDIO

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

23 #include // 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=0x06 // 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 } 01/01/2014PIC STUDIO

24 #include // 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=0x06 // 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 delay_ms(700); //el tiempo que se muestra en el display } }} 01/01/2014PIC STUDIO

25 #include // 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=0x06 // 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 delay_ms(700); //tiempo de espera salida=0x07; // enciende en 1º,2º,3º bit del puerto B delay_ms(700); //tiempo de espera 01/01/2014PIC 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 delay_ms(700); //tiempo de espera salida=0x3f; // enciende en 1º,2º,3º,4º,5º,6º bit del puerto B delay_ms(700); //tiempo de espera salida=0x7f; // enciende en 1º,2º,3º,4º,5º,6º,7º bit del puerto B delay_ms(700); //tiempo de espera salida=0xff; // enciende en 1º,2º,3º,4º,5º,6º,7º,8º bit del puerto B delay_ms(700); //tiempo de espera } 01/01/2014PIC STUDIO

27 #include // 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=0x06 // 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 delay_ms(700); //tiempo de espera 01/01/2014PIC 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 delay_ms(700); //tiempo de espera salida=0x10; // enciende en 5º bit del puerto B delay_ms(700); //tiempo de espera salida=0x20; // enciende en 6º bit del puerto B delay_ms(700); //tiempo de espera salida=0x40; // enciende en 7º bit del puerto B delay_ms(700); //tiempo de espera salida=0x80; // enciende en 8º bit del puerto B delay_ms(700); //tiempo de espera } 01/01/2014PIC STUDIO

29 #include // 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=0x06 // 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 delay_ms(700);// el tiempo que se muestra en el display salida=0x5b;//el 2 en forma de 7 segmentos en hexadecima delay_ms(700);// el tiempo que se muestra en el display 01/01/2014PIC 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 delay_ms(700);// el tiempo que se muestra en el display salida=0x6d; //el 5 en forma de 7 segmentos en hexadecimal delay_ms(700);// el tiempo que se muestra en el display salida=0x7c; //el 6 en forma de 7 segmentos en hexadecimal delay_ms(700);// el tiempo que se muestra en el display salida=0x07;//el 7 en forma de 7 segmentos en hexadecimal delay_ms(700);// el tiempo que se muestra en el display salida=0x7f;//el 8 en forma de 7 segmentos en hexadecimal delay_ms(700);// el tiempo que se muestra en el display salida=0x67;//el 9 en forma de 7 segmentos en hexadecimal delay_ms(700);// el tiempo que se muestra en el display } 01/01/2014PIC STUDIO


Descargar ppt "CURSO BASICO INTERMEDIO 01/01/2014PIC STUDIO. 01/01/2014PIC STUDIO."

Presentaciones similares


Anuncios Google