Programar PIC`s en lenguaje C18 En 64 horas.

Slides:



Advertisements
Presentaciones similares
CURSO BASICO INTERMEDIO
Advertisements

DATSI, FI, UPM José M. Peña Programación en C DATSI, FI, UPM José M. Peña Programación en C.
LOGROS DEL PERÍODO Utiliza de forma correcta las funciones para entrada y salida de datos en c++. Utiliza los elementos básicos de un programa en c++.
Repaso para la construcción del intérprete 2012
Fundamentos de la Programación Estructurada
Programación, Algoritmos y Estructuras de Datos
Funciones. Programación, Algoritmos y Estructuras de Datos.
EJERCICIOS DE PROGRAMACION
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Tema Función main Elementos básicos del lenguaje.
Comparador de iluminación Sensor de puerta Potencia Iluminación Generador Alarma.
FUNCIONES EN C.
INFORMATICA I Arreglos 2 CLASE 18.
INFORMATICA I Funciones CLASE 13.
VECTORES.
Quinta Clase Patricio A. Navarrete Junio 3 de 2011.
Entrada / salida digital con ccs
Unidad 3 Punteros.
Funciones y procedimientos
Eduardo Valbuena Aitor Arana.  El proyecto consiste en programar y simular el marcador de un partido de baloncesto  El partido se compone de 4 cuartos.
Tema 9 Estructuras.
Microcontroladores PIC16F84A.
Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
Décimo Curso de Programación Básica con NQC “Tercera Clase” Cristián A. Arenas Ulloa Septiembre 5 de 2009.
FUNCIONES EN C. SOBRE FUNCIONES... Caja negra in_1 in_N out_1 In_2 Función: Nombre. (Con el cual es invocada). Entradas. (Parámetros de la función). Salida.
STACK BUFFERS OVERFLOWS. Linux con nucleos 2.4 & 2.6 en arquitectura i386 y compatibles. strcpy(); ANSI C (string.h) David Reguera García.
Unidad III Elementos del lenguaje C++
Índice. Revisando conceptos acerca de la memoria.
Lenguaje C Ing. Sonia Alexandra Pinzón Nuñez
Elaborado por Fernando Torre - Universidad Simón Bolívar ARREGLOS CI Computación I Universidad Simón Bolívar Dpto. de Computación y Tecnología de.
Informática Ingeniería en Electrónica y Automática Industrial
Introducción a la Programación
Búsqueda. Búsqueda Secuencial Es el método de búsqueda más sencillo En un arreglo o lista ligada consiste en ir visitando cada uno de sus elementos y.
Computación II Repaso de java Karina Figueroa Mora.
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
PIC16F877 Timers.
LENGUAJE “C” Programación. Condicionales Los condicionales permiten al programa escoger entre varios posibles resultados dependiendo de la evaluación.
Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String
 En computación es un conjunto de líneas de señal que el microprocesador o CPU utilizan para intercambiar datos con otros componentes como teclados,
Estructuras de Repetición (Hacer-Mientras)
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Alto Nivel. Y Es un compilador. YContiene un conjunto de palabras.
1 Algunas ideas básicas en C++ Agustín J. González ELO-329.
Programar PIC`s en lenguaje C18 En 64 horas. El siguiente material está desarrollado como complemento didáctico para la materia de microcontroladores,
Elementos del lenguaje C++
Programar PIC`s en lenguaje C18 En 64 horas. El siguiente material está desarrollado como complemento didáctico para la materia de microcontroladores,
1 Algunas ideas básicas de C++ Agustín J. González ELO-329.
LENGUAJE C PARA PICS PIC 18F4550.
Sesión 08: Interrupciones - IRQ. 2009/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Circuitos Digitales III 2010/1 Sistemas Digitales.
INTRODUCCIÓN A ARDUINO
Sesión 2. Este algoritmo ordena un arreglo de forma ascendente o descendente comparando la casilla de arriba con la casilla consecutiva de abajo, utiliza.
Programar PIC`s en lenguaje C18 En 64 horas.
Programar PIC`s en lenguaje C18 En 64 horas.
Programar PIC`s en lenguaje C18 En 64 horas.
Programar PIC`s en lenguaje C18 En 64 horas.
LENGUAJE “C” Programación.
LENGUAJE “C” Programación.
Manejo de puertos El ejercicio que se propone para el día de hoy es activar dos leds, con alguna secuencia elegida por cada grupo. Utilizando dos pulsadores,
Algoritmo.
Javier Mauricio Galvis Moreno
EAR EMTIIB Curso-Taller programación en Lenguaje C para microcontroladores PIC PIC18F452.
Repaso de archivos #include int main(void) { FILE *fp; fp=fopen(“prueba.txt”, “w”); if (fp==NULL) { printf(“Error al abrir el archivo\n”); printf(“No lo.
ARREGLOS O ARRAYS.
Características de “C” Esta conformado por un Ambiente Integrado. Es un Lenguaje de Nivel medio.Es un compilador. Contiene un conjunto de palabras reservadas.
Sistemas de numeración Sistema de numeración decimal: En el sistema decimal el número 342 significa 3 centenas, 4 decenas y 2 unidades es decir 342 = 3x100+4x10+2x1.
Introducción al Lenguaje C (II) Cadenas de caracteres, archivos de cabecera, lectura y escritura Fundamentos de Programación Departamento de Lenguajes.
Introducción al Lenguaje C (I) Tipos básicos, arrays y punteros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión
SISTEMAS ELECTRÓNICOS 3ºGIERM1 1. Introducción 2. Tipos de datos 3. Estructuras típicas de programación 4. Manejo de bits Tema 7. Programación de microcontroladores.
PANTALLA LCD.
SENTENCIAS CONTROL DE FLUJO EN C I.E. Mario Jiménez.
Teclado y Display Ing. Marcelo Trujillo Profesor Asociado
Transcripción de la presentación:

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.

Funcionamiento y programación de displays 7 segmentos. Tema 9 Funcionamiento y programación de displays 7 segmentos.

Clase 5 Display de segmentos Dispositivo de comunicación visual al usuario, conformado por un arreglo de leds en 7 segmentos denominados a, b, c, d, e, f, g, dp que permiten representar los números decimales del 0 al 9. también existen otros modelos con arreglos de leds de 14, 16 y 35 segmentos.

Clase 5 Display 7 segmentos piccmania.blogspot.com y www.prof2000.pt/users/lpa

Display 7 segmentos Cátodo Común Clase 5 Display 7 segmentos Cátodo Común NUM DP G F E D C B A DEC HEXA 1 63 0X3F 6 0X06 2 91 0X5B 3 79 0X4F 4 102 0X66 5 109 0X6D 125 0X7D 7 0X07 8 127 0X7F 9 111 0X6F www.thelearningpit.com

Display 7 segmentos Ánodo Común Clase 5 Display 7 segmentos Ánodo Común NUM DP G F E D C B A DEC HEXA 1 3 0X03 249 0XF9 2 164 0XA4 176 0XB0 4 163 0X99 5 146 0X92 6 130 0X82 7 248 0XF8 8 128 0X80 9 144 0X90 www.thelearningpit.com

Ejercicio 7 Segmentos Clase 5 Escriba correctamente el numero binario y hexadecimal que debe tener un puerto para representar los siguientes números en un display ánodo común (AC) y cátodo común (CC). BIN: BIN: BIN: BIN: HEX: HEX: HEX: HEX:

Clase 5 Como crear un vector Tipo de variable_Nombre de Vector_[cantidad de columnas del vector] Int vector [4] = {posición 0, posición 1, posición 2, posición 3} unsigned char Display7Seg [10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F}; for (i=0; i<=9;i++) { LATB = Display7Seg[i]; Delay10KTCYx(250); }

Ejercicio 3 Display 7 Segmentos Incremento y Decremento. Clase 5 Ejercicio 3 Display 7 Segmentos Incremento y Decremento.

Clase 5 Ejercicio 3 Display 7 Segmentos Incremento y Decremento. /**************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

Clase 5 Ejercicio 3 Display 7 Segmentos Incremento y Decremento. unsigned char i; //Para controlar vizualización del Display unsigned char Display7Seg[10]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0xFF, 0x6F};    void main (void){ TRISD = 0xFF; //Todos como entrada. TRISB = 0X00; //Todos como salida.- PORTB = 0x3F; //Comienza en cero.- i=0; while(1){ if(PORTDbits.RD0 == 0 && PORTDbits.RD1 == 0){// ambos presionados resetea LATB = Display7Seg[i]; Delay10KTCYx(250); }   else if( PORTDbits.RD0 == 0 ){ // Se incrementa cuenta.- ++i; if( i==10 ){ I = 0; } //Volvemos a 0.- LATB=Display7Seg[i]; Delay10KTCYx(250); } else if(PORTDbits.RD1==0){ // Se decrementa cuenta.- --i; if(i==255){i=9;} //Volvemos a 9.-

Funcionamiento y programación de varios displays 7 segmentos. Tema 10 Funcionamiento y programación de varios displays 7 segmentos.

Ejercicio 4 Configuración de varios display 7 segmentos. Clase 5 Ejercicio 4 Configuración de varios display 7 segmentos.

Ejercicio 4 Configuración de varios display 7 segmentos. Clase 5 Ejercicio 4 Configuración de varios display 7 segmentos. /**************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

Ejercicio 4 Configuración de varios display 7 segmentos. Clase 5 Ejercicio 4 Configuración de varios display 7 segmentos. /*******Espacio para definiciones*************/   #define UnidadBit PORTAbits.RA0 #define DecenaBit PORTAbits.RA1 #define CentenaBit PORTAbits.RA2 unsigned char i; //Para controlar vizualización del Display unsigned char Display7Seg[10] = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0xFF, 0x6F};   

Ejercicio 4 Configuración de varios display 7 segmentos. Clase 5 Ejercicio 4 Configuración de varios display 7 segmentos. /***********Espacio Para Funciones*************/ void Visualizacion (void){ for(i=1;i<=20;++i){ LATB =Display7Seg[Unidad]; UnidadBit =1; //Enciendo Display Unidad.- Delay1KTCYx(5); //Demora de 5 ms (XT=4MHz) UnidadBit =0; LATB =Display7Seg[Decena]; DecenaBit =1; Delay1KTCYx(5); DecenaBit =0; LATB=Display7Seg[Centena]; CentenaBit =1; CentenaBit =0; //Apago Display Centena.- }

Ejercicio 4 Configuración de varios display 7 segmentos. Clase 5 Ejercicio 4 Configuración de varios display 7 segmentos. void main(void){ TRISA = 0xF0; //Todos como entrada.- TRISB = 0X00; //Todos como salida.- PORTA = 0x00;   char Unidad=0; char Decena=0; char Centena=0;   while(1){ Visualizacion(); ++Unidad; if(Unidad==10){ Unidad=0; ++Decena; if(Decena==10){ Decena=0; ++Centena; }

Turno Turno Caja Boton Clase 5 Ejercicio Propuesto 2. El Banco Interamericano lo buscó para desarrollar un sistema que le permita optimizar la atención a sus clientes, por medio de fichas y turnos, los requerimientos del sistema son: Cada cajero(a), debe tener un dispositivo en el cual se visualice el turno actual, y un botón que al pulsarlo incremente el valor del turno. Debe existir un tablero grande, donde los clientes puedan ver el turno actual, y la caja que esta atendiendo ese turno. Turno Turno Caja Boton

Bibliografía Tema 10 piccmania.blogspot.com www.prof2000.pt/users/lpa www.microchip.com www.thelearningpit.com http://electronica-teoriaypractica.com www.canalgif.net/ Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas

Tema 10 Palabras clave Microcontrolador, PIC, 18f4550, Puertos, Display 7 Segmentos, Ánodo Común, Cátodo Común, Puertos de salida, Código C18. www.canalgif.net/ Programación de PIC 18F4550 en C18 Autor: Ramdhar Hadit Yusseff Vanegas