La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programar PIC`s en lenguaje C18 En 64 horas.

Presentaciones similares


Presentación del tema: "Programar PIC`s en lenguaje C18 En 64 horas."— Transcripción de la presentación:

1 Programar PIC`s en lenguaje C18 En 64 horas.
El siguiente material está desarrollado como complemento didáctico para la materia de microcontroladores, puede ser utilizados por docentes y estudiantes con disciplina de autoaprendizaje. Programar PIC`s en lenguaje C18 En 64 horas. Autor: Ramdhar Hadit Yusseff Vanegas Esp. En control e instrumentación industrial                            Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-CompartirIgual 2.5 Colombia.

2 Clase 4 Ejercicios

3 Estructura de programación en C18
Clase 4 Estructura de programación en C18 #include <p18f4550.h> #pragma Int variable, char variable2 Void main (void) Incluir Librerías Configurar Pragma o fuses Declaración de Variables y Funciones Crear código con función main

4 Configuración de los pragma
Clase 4 Configuración de los pragma

5 Configuración de puertos de entrada/salida.
Clase 4 Configuración de puertos de entrada/salida.

6 Clase 4 Ejercicio 1 Encender 4 leds del puerto “A mientras se mantenga accionado el pulsador.

7 Clase 4 Ejercicio 1 Encender 4 leds del puerto “A mientras se mantenga accionado el pulsador. /**************Espacio para librerías*******************/ #include <p18f4550.h> /***********Configuración de fuses o pragma**************/ #pragma config PLLDIV = 5, CPUDIV = OSC1_PLL2, USBDIV = 1 #pragma config FOSC = HSPLL_HS, FCMEN = OFF,IESO = OFF #pragma config PWRT = ON,BOR = OFF,BORV = 0 #pragma config VREGEN = OFF, WDT = OFF,WDTPS = 32768 #pragma config MCLRE = ON,LPT1OSC = OFF,PBADEN = OFF,CCP2MX = OFF #pragma config STVREN = OFF,LVP = OFF,XINST = OFF,DEBUG = OFF #pragma config CP0 = ON,CP1 = ON,CP2 = ON #pragma config CPB = ON,CPD = ON #pragma config WRT0 = ON,WRT1 = ON,WRT2 = ON, WRT3 = ON #pragma config WRTB = ON,WRTC = ON,WRTD = ON #pragma config EBTR0 = ON,EBTR1 = ON,EBTR2 = ON, EBTR3 = ON #pragma config EBTRB = ON

8 Clase 4 Ejercicio 1 Encender 4 leds del puerto “A mientras se mantenga accionado el pulsador. /*****Escacio para Declaracion de Variables ******/ /***********Espacio Para Funciones*************/  /************Aquí se escribe el Código***********/ void main(void){ TRISA=0x00; //Todos como salida TRISD=0xFF; //Todos como entrada LATB=0x00; //Leds Apagados while(1){ // ciclo en infinito if(PORTDbits.RD0==1){ // testeamos RD0. LATA=0x00; // todos los pines del PORTA a nivel bajo } else{ LATA=0xFF; // todos los pines del PORTA a nivel alto

9 Entradas y salidas con Timer
Tema 8 Entradas y salidas con Timer

10 Instrucciones Con C18 – Delay__TCYx(i)(4)
Clase 4 Instrucciones Con C18 – Delay__TCYx(i)(4) La Instrucción Delay___TCYx(i) permite configurar un retardo o una demora. Es decir un tiempo donde el microcontrolador no va a hacer nada. Para utilizar esta instrucción se debe incluir la librería delays.h Delay10TCYx(i) -> 10*Tcy*i Delay100TCYx(i) -> 100*Tcy*i Delay1KTCYx(i) -> 1000*Tcy*i Delay10KTCYx(i) -> 10000*Tcy*i TCYx = 4/fosc fosc = Frecuencia del oscilador i = Numero entero real entre 0 y 255

11 Instrucciones Con C18 – Delay__TCYx(i)(4)
Clase 4 Instrucciones Con C18 – Delay__TCYx(i)(4) Delay10KTCYx(100) K * TCYx * 100 10,000∗ 4 𝑓𝑜𝑐𝑠 ∗100 4,000,000 20,000,000 10,000∗ 4 20,000,000 ∗100 4,000,000 20,000,000 = 0,2 = 200ms for (i=1 ; i<=10 ; i++){ LATA = 0x0F; Delay10KTCYx(100); LATA = 0x00; }

12 Ejercicio 2 Leds Titilando
Clase 4 Ejercicio 2 Leds Titilando

13 Clase 4 Ejercicio 1 Encender 4 leds del puerto “A mientras se mantenga accionado el pulsador. /**************Espacio para librerías*******************/ #include <p18f4550.h> #include <delays.h> /***********Configuración de fuses o pragma**************/ #pragma config PLLDIV = 5, CPUDIV = OSC1_PLL2, USBDIV = 1 #pragma config FOSC = HSPLL_HS, FCMEN = OFF,IESO = OFF #pragma config PWRT = ON,BOR = OFF,BORV = 0 #pragma config VREGEN = OFF, WDT = OFF,WDTPS = 32768 #pragma config MCLRE = ON,LPT1OSC = OFF,PBADEN = OFF,CCP2MX = OFF #pragma config STVREN = OFF,LVP = OFF,XINST = OFF,DEBUG = OFF #pragma config CP0 = ON,CP1 = ON,CP2 = ON #pragma config CPB = ON,CPD = ON #pragma config WRT0 = ON,WRT1 = ON,WRT2 = ON, WRT3 = ON #pragma config WRTB = ON,WRTC = ON,WRTD = ON #pragma config EBTR0 = ON,EBTR1 = ON,EBTR2 = ON, EBTR3 = ON #pragma config EBTRB = ON

14 Clase 4 Ejercicio 1 Encender 4 leds del puerto “A mientras se mantenga accionado el pulsador. /*****Escacio para Declaracion de Variables ******/ char i=0; /************Aquí se escribe el Código***********/ void main(void){ TRISA=0x00; //Todos como salida TRISD=0xFF; //Todos como entrada LATA=0x00; //Leds Apagados while(1){ // ciclo en infinito if(PORTDbits.RD0==1){ // testeamos RD0. LATA = 0x00; // todos los pines del PORTA a nivel bajo } else{ for (i=1 ; i<=10 ; i++){ //Titila 10 veces LATA = 0x0F; Delay10KTCYx(100); //Demora 200ms LATA = 0x00;

15 Clase 4 Ejercicio Propuesto 1. la empresa Acuamatic lo buscó para desarrollar un sistema que le permita visualizar el nivel de agua en un tanque de reserva, los requerimientos del sistema son: Debe indicar en un arreglo de 10 leds el nivel de agua asumiendo que cada led es 10% del nivel. Cuando el nivel esté lleno se debe cerrar la entrada de agua, y cuando el nivel esté por debajo del 30% de la señal deben titilar en los dos últimos leds.

16 Bibliografía Tema 8 www.programiz.com www.microchip.com
Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas

17 Tema 8 Palabras clave Microcontrolador, PIC, 18f4550, Código fuente, Librerías, pragma, fuses, condicionales, funciones, variables. Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas


Descargar ppt "Programar PIC`s en lenguaje C18 En 64 horas."

Presentaciones similares


Anuncios Google