Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porBernardo Montes Cano Modificado hace 9 años
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
Tema 4 Formato de instrucciones del código fuente, operaciones aritméticas y lógicas Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
3
Instrucciones del Código fuente.
Clase 2 Instrucciones del Código fuente. A continuación se muestran las palabras propias del codigo fuente, esto quiere decir que estan ocupadas y nosotros no las podemos utilizar para nombrar una variable o una función. Las 32 palabras clave son: auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto ,if ,int ,long, register, return ,short, signed, sizeof, static, struct switch ,typedef, union, unsigned, void, volatile ,while. Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
4
Estructura de programación en C18
Clase 2 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 Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
5
Clase 2 Librerías Son un conjunto de subprogramas que permiten simplificar la programación, pueden contener datos o tareas especificas, existen algunas predeterminadas otras pueden ser creadas para satisfacer nuestras necesidades. (se pueden comparar con las aplicaciones que ya vienen predeterminadas en un smartphone) adc, ancomp, can2510, capture, campare, ctmu, ctype, delays, dpslp, EEP, errno, flash, float, geenricTypeDefs, i2c, io, limits, math, mwire, pmp, p18xxxxxxx - portb, pps, proMPT, pwm, reset, rtcc, setjmp, spi, stdarg, stddef, stdio, stdlib, string, sw_i2c, sw_spi, sw_uart, timers, usart, xlcd. Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
6
Clase 2 Pragma o Fuses PIC 18F4550
Son instrucciones que permiten configurar aspectos importantes del microcontrolador, cada fuse activa o desactiva una opción de funcionamiento. Los fuses son diferentes para cada Microcontrolador. (se pueden comparar con las configuraciones que pueden realizar para su smartphone, como tipo de letra, tema, tono, colores, entre otros.) PLL Prescaler Selection bits: CCP2 MUX bit: CPU System Clock Postscaler: Stack Full/Underflow Reset Enable bit: USB Clock Selection bit Single-Supply ICSP Enable bit: Oscillator Selection bits: ICPORT Fail-Safe Clock Monitor Enable bit: Extended Instruction Set Enable bit: Internal/External Oscillator Switchover bit: Background Debugger Power-up Timer Enable bit: Code Protection bit Block Brown-out Reset Enable bits: Boot Block Code Protection Brown-out Voltage bits: Data EEPROM USB Voltage Regulator Enable bit: Write Protection bit Block Watchdog Timer Enable bit: Boot Block Write Protection Watchdog Timer Postscale Select bits: Write Protection MCLR Pin Enable bit: Low-Power Timer 1 Oscillator Enable bit: Table Read Protection bit Block PORTB A/D Enable bit: Boot Block Table Read Protection Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
7
Declaración de variables
Clase 2 Declaración de variables Tipo Bytes Desde Hasta unsigned int 2 65535 signed long 4 unsigned long float 3,4x10-38 3,4x1038 double 8 1,7x10-308 1,7x10308 long double 10 3,4x 3,4x104932 Tipo Bytes Desde Hasta void Es nulo (NULL) no retorna nada signed char 1 -128 127 unsigned char 255 signed short 2 -32768 32767 unsigned short 65535 signed int Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
8
Declaración de variables
Clase 2 Declaración de variables Tipo_dato1 variable1, variable2, … , variablen; Tipo_dato2 variable3, variable4, … , variablem; Posición Global Posición Local #include <P18F4550.h> // declaración de variables globales //declaración de funciones char resistencia; short voltaje = 50; int Corriente; // inicio del código. void main (void){ // declaración de variables locales } #include <P18F4550.h> // declaración de variables globales //declaración de funciones // inicio del código. void main (void){ // declaración de variables locales char resistencia; short voltaje = 50; int Corriente; } Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
9
Declaración de Funciones
Clase 2 Declaración de Funciones Todo código debe contener una función fundamental llamada main, pero se pueden crear otras con otro nombre y solo ejecutarán las sentencias que se encuentran dentro de ellas. Tipo_dato_salida Nombre_función (Tipo dato_in){….} Crear una función Llamado a la función void función1 (void){ //sentencias de la función } Int función2 (void){ void función3 (char x){ void main (void){ función1 (); dato = función2 (); función3 (25); } Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
10
Estructura de programación en C18
Clase 2 Estructura de programación en C18 Configurar Pragma Declaraciónvariables Incluir Librerías Función main Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
11
Estructura de programación en C18
Clase 2 Estructura de programación en C18 #include <p18f4550.h> Configurar Pragma Declaraciónvariables Función main Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
12
Estructura de programación en C18
Clase 2 Estructura de programación en C18 #include <p18f4550.h> #pragma Declaraciónvariables Función main Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
13
Estructura de programación en C18
Clase 2 Estructura de programación en C18 #include <p18f4550.h> #pragma Int variable, char variable2 Función main Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
14
Inténtalo Nuevamente Clase 2
Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
15
Estructura de programación en C18
Clase 2 Estructura de programación en C18 #include <p18f4550.h> #pragma Int variable, char variable2 Void main (void) Configurar Pragma Declaraciónvariables Incluir Librerías Función main
16
Operadores Matemáticos y de comparación
Clase 2 Operadores Matemáticos y de comparación electronicayrobotica.wordpress.com Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
17
Clase 2 Operadores Lógicos: Operadores de manejo de bits:
electronicayrobotica.wordpress.com Operadores de manejo de bits: Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
18
Operadores de Asignación:
Clase 2 Operadores de Asignación: electronicayrobotica.wordpress.com Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
19
Condicionales en if – if else - switch
Clase 2 Condicionales en if – if else - switch Condicional if Condicional if - else if (condicional ){ //sentencias de la función else { } if (edad >= 18 ){ ++ mayor_edad; ++ menor_edad; if (condicional ){ //sentencias de la función } if (edad >= 18 ){ ++ adulto; if (edad >= 18 && edad<=65 ){ Ejecuta las sentencias, si el condicional es verdadero. Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
20
Clase 2 Diagrama de flujo if progra.usm.cl
Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
21
Clase 2 Condicional Switch Ejemplo de condicional Switch
Switch (Variable){ Case 0x01: //Sentencias.- Break; Case 0x02: Default: } Ejecuta las sentencias de cada caso, si la variable es igual al valor colocado en cada caso, de no ser igual a ninguno de los casos, ejecutará las sentencias de Default. Switch (Variable){ Case T: ++temperatura Break; Case F: ++flujo Case P: ++presión Default: ++otras_variables } Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
22
Diagrama de flujo Switch
Clase 2 Diagrama de flujo Switch Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
23
Clase 2 Bucles while - for Bucle While Bucle do while do{
while (condicional ){ //sentencias de la función } while (temperatura >= 25 ){ aire_acondicionado = 1; Ejecuta las sentencias, mientras el condicional se cumpla; do{ //sentencias de la función }while (condicional ); ++a; }while (a==5 ); Es muy parecida al bucle while, con la diferencia que la sentencia se ejecuta por lo menos una vez antes de preguntar. Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
24
Clase 2 Diagrama de flujo
Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
25
Clase 2 Bucles while - for Bucle for incremento Bucle for decremento
for (inicio ; final ; pasos ){ //sentencias de la función } for (i=0 ; i<= 10 ; i++){ led = 1; Delay10Ktcyx(200); led=0; _-1_0_1_2_3_4_5_6_7_8_9_10_11 for (inicio ; final ; pasos ){ //sentencias de la función } for (i=10; i>= 0; i=i-2){ led = 1; Delay10Ktcyx(200); led=0; _-1_0_1_2_3_4_5_6_7_8_9_10_11 Ejecuta las sentencias, para variables que se encuentren en el rango que va desde el inicio hasta el final y se mueve como se especifica en los pasos. Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
26
Clase 2 Diagrama de flujo for http://aprenderaprogramar.com/
Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
27
Bibliografía Tema 4 www.mikroe.com www.programiz.com www.mexchip.com
listas.20minutos.es micro887.blogspot.com progra.usm.cl Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas
28
Tema 4 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
Presentaciones similares
© 2024 SlidePlayer.es Inc.
All rights reserved.