Curso Pic Ccs Compiler01-2014

87
MICROCONTROLADORES PIC LENGUAJE C CURSO PROGRAMACION DE QUITO: 2614586 0999942422 ING. DANIEL SALGADO

Transcript of Curso Pic Ccs Compiler01-2014

  • MICROCONTROLADORES

    PIC

    LENGUAJE C

    CURSO PROGRAMACION DE

    QUITO: 2614586 0999942422 ING. DANIEL SALGADO

  • MICROCONTROLADOR

    ES UN CIRCUITO INTEGRADO EN

    CUYO INTERIOR POSEE TODA LA

    ESTRUCTURA DE UN

    COMPUTADOR.

    PROCESADOR

    MEMORIAS

    PUERTOS DE ENTRADA Y SALIDA

  • MICROCONTROLADOR

    PIC MICROCHIP

    SOPORTAN 100.000 CICLOS DE

    ESCRITURA Y BORRADO EN SU

    MEMORIA FLASH.

    1000.000 EN SU MEMORIA EEPROM

    TIEMPO DE RETENCION DE 100

    AOS

  • PIC 16F628A

    MEMORIA FLASH 2K

    18 PINES

    DOS PUERTOS A,B

    COMPARADORES ANALOGOS

    VELOCIDAD DE OPERACIN 20

    MHZ

    OSC INTERNO 4 MHZ

    COMUNICACIN SERIAL

    CANALES PWM

  • PIC 16F628A

  • PIC 16F870

    MEMORIA FLASH 2K

    28 PINES

    TRES PUERTOS A,B,C

    5 CONVERSORES A/D

    VELOCIDAD DE OPERACIN 20 MHZ

    CANALES PWM

    COMUNICACIN SERIAL

  • PIC16F870

  • PIC16F877A

    40 PINES

    MEMORIA FLASH DE 8K

    EEPROM 256 BYTES

    33 PINES I/O

    PUERTOS A,B,C,D,E

    CONVERSOR ANALOGO DIGITAL

    MULTICANAL DE 10 BIT

    USART COMUNICACIN SERIAL

    VELOCIDAD DE OPERACIN HASTA

    20MHZ CON OSCILADOR EXTERNO

  • PIC 16F877A

  • PIC12F675

    8 PINES

    MEMORIA FLASH 1K

    MEMORIA EEPROM 128 BYTES

    1 PUERTO GPIO

    6 PINES I/O

    4 CONVERSORES A/D 10 BITS

    OSCILADOR INTERNO DE 4 MHZ

    VELOCIDAD DE OPERACIN

    HASTA 20 MHZ

  • 12F675

  • CONSIDERACIONES

    BASICAS

    1.- RECUERDE QUE EL PIC ES DE

    TECNOLOGIA CMOS, QUIERE DECIR QUE

    CONSUME MUY POCA CORRIENTE PERO AL A

    VEZ ES SUCEPTIBLE A DAOS POR

    ESTATICA.

    2.-PROCURAR UTILIZAR UN REGULADOR DE

    5V 7805CV Y NO UN ADAPTADOR DE PARED

    3.- NO SOBREPASE LOS NIVELES DE

    CORRIENTE MAXIMA DE 25mA POR CADA PIN

    DEL MICRO YA SEA PARA SALIDA O PARA

    ENTRADA.

  • COMPILADOR C Es una poderosa herramienta de

    desarrollo para

    microcontroladores PIC.

    Proporciona la solucin ms fcil

    al cliente para las aplicaciones en

    vas de desarrollo para sistemas

    embebidos.

    Adems suministra los

    controladores (drivers) para

    diversos dispositivos como LCD,

    convertidores AD, RTC, EEPROM

    RS232, I2C, USB, etc.

  • ESTRUCTURA DE UN

    PROGRAMA EN C

    DIRECTIVAS DE PREPROCESADO: Controlan la conversin del

    programa a cdigo mquina por

    parte del compilador.

    PROGRAMAS O FUNCIONES: Conjunto de instrucciones. Puede

    haber uno o varios; en cualquier

    caso siempre debe haber uno

    definido como principal mediante

    la inclusin de la llamada main().

  • ESTRUCTURA DE UN

    PROGRAMA EN C

    INSTRUCCIONES: Indican como se debe comportar el PIC en todo

    momento.

    COMENTARIOS: Permiten describir lo que significa cada sentencia

    del programa.

  • TIPOS DE DATOS

    TIPO TAMAO RANGO DESCRIPCION

    Int1 Short

    1 bit 0 1 Entero de 1 bit

    Int Int8

    8 bits 0 a 255 Entero

    Int16 Long

    16 bits 0 a 65535 Entero de 16 bits

    Int32 32 bits 0 a 4294967295 Entero de 32 bits

    Float 32 bits +-1175x1038 a 3402x10-38 Punto Flotante

    Char 8 bit 0 a 255 Caracter

    Void - - Sin valor

    Signed Int8

    8 bits -128 a +128 Entero con signo

    Signed Int16

    16 bits -32768 a +32768 Entero largo con signo

    Signed Int32

    32 bits -231 a +(231-1) Entero 32 bit con signo

  • VARIABLES

    Las variables se pueden expresar en decimal, octal, hexadecimal o en binario:

    127:Decimal

    0127: Octal

    0x127: Hexadecimal

    0b01111111: Binario

    a : Caracter

  • VARIABLES

    TIPO NOMBRE_VARIABLE[=VALOR INICIAL]

    EJEMPLO:

    Float tdato=200.2;

    Int8 val=120;

    Las variables en un programa pueden ser de tipo LOCAL o GLOBAL. Las variables locales slo se utilizan en la funcin donde se encuentran declaradas; las variables globales se pueden utilizar en todas las funciones del programa.

  • FUNCIONES

    Las funciones son bloques de sentencias; todas las sentencias se deben enmarcar dentro de las funciones. Al igual que las variables, las funciones deben de iniciarse antes de utilizarse.

    Una funcin puede ser invocada desde una sentencia de otra funcin. Una funcin puede devolver un valor a la sentencia que la ha llamado.

  • FUNCIONES

    El tipo de dato se indica en la definicin de la funcin; en el caso de no indicarse nada se entiende que es un int8 y en el caso de no devolver un valor se debe especificar el valor VOID.

    Tipo_Dato Nombre_Funcintipo (param1,param2,)

    {

    sentencias

    }

  • Declaraciones de control

    If - else

    While

    Do-While

    For

    Switch-Case

    Return

    Break, Continue y goto

  • Un led (de la sigla inglesa LED: Light-Emitting Diode: diodo emisor de luz, tambin diodo luminoso) .

  • PROYECTO1

    PARPADEO DE UN LED

  • PROYECTO1

    PARPADEO DE UN LED

    CODIGO PIC C #include #fuses HS,NOWDT #use delay (clock=8000000) #use fast_io(B)// inicializa el puerto B void main(){ set_tris_B(0);//declaro puerto B como salida Output_B(0);//encero el puerto while(1){ //ciclo de repeticion infita output_high(pin_b0); delay_ms(1000); output_low(pin_b0); delay_ms(1000); } }

  • PROYECTO 2

    SEMAFORO

  • PROYECTO 2

    SEMAFORO

    CODIGO PIC C #include #fuses HS,NOWDT #use delay (clock=8000000) #use fast_io(B)// inicializa el puerto B void main(){ set_tris_B(0);//declaro puerto B como salida Output_B(0);//encero el puerto while(1){ //ciclo de repeticion infita output_high(pin_b2); delay_ms(10000); output_low(pin_b2); output_high(pin_b1); delay_ms(4000); output_low(pin_b1); output_high(pin_b0); delay_ms(10000); output_low(pin_b0); delay_ms(10000); } }

  • PROYECTO 3

    SEMAFORO PEATONAL

  • PROYECTO 3

    SEMAFORO PEATONAL

    CODIGO PIC C #include #fuses HS,NOWDT #use delay (clock=8000000) #use fast_io(B)// inicializa el puerto B #use fast_io(C) void main(){ set_tris_B(0);//declaro puerto B como salida Output_B(0);//encero el puerto set_tris_C(0);//declaro puerto B como salida Output_C(0);//encero el puerto while(1){ //ciclo de repeticion infita output_B(0b00000100); output_C(0b00000001); delay_ms(10000); output_B(0b00000010); delay_ms(5000); output_B(0b00000001); output_C(0b00000010); delay_ms(10000); } }

  • PULSADORES

    Un botn o pulsador es un dispositivo utilizado para

    activar alguna funcin. Los botones son de diversa

    forma y tamao y se encuentran en todo tipo de

    dispositivos, aunque principalmente en aparatos

    elctricos o electrnicos.

  • PROYECTO 4

    LECTURA DE UN PULSADOR

  • PROYECTO 4

    LECTURA DE UN PULSADOR

    CODIGO PIC C

    #include #fuses HS,NOWDT #use delay (clock=8000000) #use fast_io(B) #use fast_io(D) void main(){ set_tris_D(255); set_tris_B(0); Output_B(0); while(1){ if (input(PIN_D0)==0){ output_high(Pin_B0); } else{ output_low(Pin_B0); }}}

  • PROYECTO 5

    LECTURA Y ESCRITURA EN PUERTOS

  • PROYECTO 5

    LECTURA Y ESCRITURA EN PUERTOS

    CODIGO PIC C #include #fuses HS,NOWDT #use delay (clock=8000000) #use fast_io(B) #use fast_io(D) void main(){ byte numero=0; set_tris_D(255); set_tris_B(0); Output_B(0); while(1){ numero=input_D(); output_B(numero); } }

  • DISPLAY 7 SEGMENTOS ANODO

    COMUN

    El display de 7 segmentos o visualizador de 7 segmentos es un componente que se utiliza para la representacin de nmeros en muchos dispositivos electrnicos debido en gran medida a su simplicidad

  • PROYECTO 6

    CONTADOR CICLICO CON DISP 7SEG

  • DECODIFICADOR 74LS47

    EL C.I. 74LS47 ES UN DECODIFICADOR DE BINARIO A

    7SEGMENTOS ANODO COMUN.

    SE INGRESA UN NUMERO BINARIO DE 4 BITS POR LAS

    ENTRADAS A,B,C,D Y ESTE ENCIENDE LOS LEDS NECESARIOS

    PARA VISUALIZAR CORRECTAMENTE EL NUMERO EN EL

    DISPLAY.

  • PROYECTO 7

    CONTADOR 0-9 CON PULSO Y 7447

  • PROYECTO 7

    CONTADOR 0-9 CON PULSO Y 7447

    CODIGO PIC C void main(){

    byte numero=0;

    set_tris_d(0);//declaro puerto D como SALIDA

    set_tris_b(255);//declaro puerto B como entrada

    Output_d(0);//encero el puerto

    delay_ms(500);

    while(1){

    if (input(PIN_b0)==0){

    numero++;

    if (numero==10){

    numero=0;

    }

    delay_ms(200);

    }

    output_d(numero);

    delay_ms(500);

    }

    }

  • TRANSISTORES

    LOS TRANSISTORES PUEDEN FUNCIONAR COMO

    AMPLIFICADORES O EN CORTE Y SATURACION SEGN LA

    CONFIGURACION QUE SE DISEE EL CIRCUITO.

    PNP NPN

  • PROYECTO 8

    CONTADOR 0-99 MULTIPLEXADO

  • MOTOR DC

    EL MOTOR DE CORRIENTE CONTINUA CONVIERTE LA ENERGIA

    ELECTRICA EN MECANICA, PRODUCIENDO UN MOVIENTO.

    SE PUEDE CONTROLAR TANTO LA VELOCIDAD COMO EL

    SENTIDO DEL GIRO.

  • PWM

    LA MODULACION DE ANCHO DE PULSO PWM, ES UNA TECNICA

    EN LA QUE SE MODIFICA EL CICLO DE TRABAJO DE UNA SEAL

    PERIODICA PARA CONTROLAR LA CANTIDAD DE ENERGIA QUE

    SE ENVIA A UNA CARGA.

  • PROYECTO 9

    CONTROL DE VELOCIDAD MOTOR DC

  • PUENTE H

    EL CIRCUITO PUENTE H PERMITE LA POLARIZACION DE UN

    MOTOR DE TALMANERA QUE PUEDA GIRAR TANTO EN SENTIDO

    HORARIO Y COMO EN SENTIDO ANTIHORARIO

  • PROYECTO 10

    CONTROL DE SENTIDO DE GIRO MOTOR DC

  • MOTOR PASO A

    PASO

    El motor paso a paso est concebido de tal manera que gira un determinado ngulo proporcional a la "codificacin" de tensiones aplicadas a sus entradas . La posibilidad de controlar en todo momento esta codificacin permite realizar desplazamientos angulares lo suficientemente precisos, dependiendo el ngulo de paso (o resolucin angular) del tipo de motor (puede ser tan pequeo como 1,80 hasta unos 15).

  • PROYECTO 11

    CONTROL MOTOR PASO A PASO UNIPOLAR

  • SERVOMOTOR

    HITEC

    500us

    2500us

    1500us

    20msus

    500us

  • PROYECTO 12

    CONTROL SERVO MOTOR

  • LCD 2X16

    UN DISPLAY DE CRISTAL LIQUIDO, ES UN DISPOSITIVO QUE NOS

    PERMITE MOSTRAR INFORMACION ALFANUMERICA O CARACTERS

    DISEADOS.

  • PROYECTO 13

    MANEJO DE LCD 2X16

  • PROYECTO 13

    MANEJO DE LCD 2X16

    CODIGO PIC C #include #fuses HS,NOWDT #use delay (clock=8000000) #include //trabaja por default en el puerto D void main(){ lcd_init(); //inicializa LCD while(1) { lcd_gotoxy(4,1);//COLUMNA FILA printf(lcd_putc,"MEGATRONICA"); //texto a visualizar delay_MS(500); lcd_gotoxy(2,2); printf(lcd_putc,"uCONTROLADORES"); delay_MS(500); } }

  • KEYPAD

    EL TECLADO 4X4 O 4X3 ES UNA MATRIZ DE PULSADORES EL CUAL

    NOS PERMITE CONTROLAR VARIOS PULSADORES CON POCOS

    PINES.

  • PROYECTO 14

    LECTURA DE TECLADO 4X3 CON PICC

  • PROYECTO 14

    LECTURA DE TECLADO 3X4 CON PIC

    #include #FUSES NOWDT,hs,noprotect,nolvp #use delay(clock=8000000) #include #include void main() { char tecla; PORT_B_PULLUPS(true);//habilito resistencias pullups en el micro lcd_init(); kbd_init();//inicializo el teclado while(true){ tecla=kbd_getc();//leo la tecla presionada if(tecla!=0){ //si el valor de tecla es distinto de 0 lcd_gotoxy(4,1); printf(lcd_putc,"tecla= %c",tecla);//%c escribo caracter } } }

  • CONVERSOR AD

    EL CONVERSOR ANALOGO DIGITAL PERMITE EL MUESTREO DE SEALES ANALOGICAS Y EL PROCESAMIENTO DIGITAL EN EL MICROCONTROLADOR. LOS MICROCONTROLADORES PIC TIENEN CONVERSORES AD MULTICANALES DE 10 BITS.

    SENSORES ANALOGOS

    SEALES ANALOGAS

    PIC

    0V A 5V 0 A 1024

    EL REGISTRO

    ADCON1 CONFIGURA EL

    PUERTO A COMO A/D

  • PROYECTO 15

    CONVERSOR ANALOGO DIGITAL

  • PROYECTO 15

    CONVERSOR ANALOGO DIGITAL

    CODIGO PICC #include #device adc=10 //configuro conversor ad a 10 bits #fuses HS,NOWDT #use delay (clock=8000000) #include //trbaja por default en el puerto D void main(){ int16 dato=0; setup_adc_ports(AN0); setup_adc(adc_clock_internal); lcd_init(); while(1){ dato=read_adc(); printf(lcd_putc,"\f ADC= %4lu",dato); //\flimpia pantalla,%4 4espacios,lu entero largo sin signo delay_ms(300); } }

  • LM35

    ES UN SENSOR DE TEMPERATURA ANALOGICO, VARIA 10mV POR

    CADA GRADO CENTIGRADO ES DECIR SI SE ENCUENTRA A

    TEMPERATURA AMBIENTE 20 GRADOS EN SU PIN DE SALIDA SE

    OBTIENE 200mV

  • PROYECTO 16

    TERMOMETRO DIGITAL CON LM35

  • PROYECTO 16

    TERMOMETRO DIGITAL CON LM35

    CODIGO PICC #include #device adc=10 #fuses HS,NOWDT #use delay (clock=8000000) #include //trbaja por default en el puerto D void main(){ int16 dato=0; float TEMP=0; setup_adc_ports(AN0); setup_adc(adc_clock_internal); lcd_init(); while(1){ dato=read_adc(); TEMP=dato/2.05; printf(lcd_putc,"\f ADC= %4lu",dato); //\flimpia pantalla,%4 4espacios,lu entero largo sin signo printf(lcd_putc,"\n TEMP= %1.2f",TEMP); //\n salto a la segundafila,1.2 1entero 2 decimales,f flotante delay_ms(300); } }

  • SENSOR DE DISTANCIA

    El sensor GP2Y0A21 es un sensor infrarrojo anlogo capaz de medir

    la distancia dentro de un rango de 10cm a 80cm, se utiliza

    comnmente en robots para la deteccin de objetos y obstculos.

  • SENSOR DE DISTANCIA

  • PROYECTO 17

    SENSOR DE DISTANCIAS CON GP2Y0A21

  • PROYECTO 17

    SENSOR DE DISTANCIAS CON GP2Y0A21

    CODIGO PICC #include #device adc=10 //configuro conversor ad a 10 bits #fuses HS,NOWDT #use delay (clock=4000000) #include //trbaja por default en el puerto D void main(){ int16 valorleido=0; float voltios,dist; setup_adc_ports(AN0); setup_adc(adc_clock_internal); lcd_init(); while(1){ valorleido=read_adc(); voltios=5*valorleido/1024.0; if (voltios=0.4 && voltios=0.5 && voltios=0.75 && voltios=1 && voltios=1.25 && voltios=1.75 && voltios=2.25 && voltios=3) dist=99; dist=dist+2; printf(lcd_putc,"\fDIST= %1.2f",dist); printf(lcd_putc,"\nVOLT= %1.2f",voltios); delay_ms(500); } }

  • COMUNICACIN SERIAL

    PERMITE EL ENVIO RECEPCION DE DATOS ENTRE DISPOSITIVOS

    QUE SOPORTAN ESTE TIPO DE COMUNICACIN.

  • PROYECTO 18

    ENVIO DE DATOS SERIAL PIC - PC

  • PROYECTO 18

    ENVIO DE DATOS SERIAL PIC - PC

    Cdigo PICC #include #fuses hs,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP #use delay(clock=8000000) #use rs232(baud=9600, parity=N, xmit=PIN_C6, rcv=PIN_C7, bits=8) //baud=velocidad de transmicion,parity=np paridad,xmit=pintransmisor,rcv=pinreceptor,bits=formato de 8 bits //ej si transmito la letra A mayuscula :bit de inicio1/01000001/0bit de parada #byte PORTD = 0x08 int num; void main() { set_tris_D(0b11111111); printf("INICIANDO RS232 ");//ENVIO TEXTO while(1) { num=input_d(); printf("%u ",num); //%u entero delay_ms(1000); } }

  • PROYECTO 19

    RECEPCION DE DATOS SERIAL PC - PIC

  • PROYECTO 19

    RECEPCION DE DATOS SERIAL PC - PIC

    CODIGO PICC #include #fuses hs,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP #use delay(clock=8000000) #use rs232(baud=9600, parity=N, xmit=PIN_C6, rcv=PIN_C7, bits=8) #include void main(){ char tecla; lcd_init(); lcd_gotoxy(1,1); printf(lcd_putc,"RXD:"); while(1){ tecla=getchar(); printf(lcd_putc,"%c",tecla); Delay_ms(100); }

  • COMUNICACIN INALAMBRICA

    POR BLUETOOTH

    Bluetooth es una especificacin industrial para Redes Inalmbricas de rea Personal (WPAN) que posibilita la transmisin de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia en la banda ISM de los 2,4 GHz. Los principales objetivos que se pretenden conseguir con esta norma son: Facilitar las comunicaciones entre equipos mviles y fijos. Eliminar los cables y conectores entre stos. Ofrecer la posibilidad de crear pequeas redes inalmbricas y facilitar la sincronizacin de datos entre equipos personales.

  • COMUNICACIN INALAMBRICA

    POR BLUETOOTH

    1. REALIZAR COMUNICACIN SERIAL PARA ENVIO DE DATOS CONFIGURACION 8,N,1,9600

    2. EMPAREJAR DISPOSITIVOS CLAVE 1234

    3. HABILITAR SERVICIO DE PUERTO SERIE, IDENTIFICAR EN CUAL PUERTO COM SE HA CONECTADO EL MODULO BLUETOOTH

  • PROYECTO 20

    ENVIO Y RECEPCION DE DATOS

    INALAMBRICOS POR BLUETOOTH

  • PROYECTO 20

    ENVIO Y RECEPCION DE DATOS

    INALAMBRICOS POR BLUETOOTH CODIGO PICC #include #fuses hs,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP #use delay(clock=8000000) #use rs232(baud=9600, parity=N, xmit=PIN_C6, rcv=PIN_C7, bits=8) #include #use fast_io(B) void main(){ char dato; set_tris_B(0); output_b(0); lcd_init(); lcd_gotoxy(1,1); printf(lcd_putc,"RXD:"); while(1){ dato=getchar(); printf(lcd_putc,"%c",dato); printf("\fDATO RECIBIDO:%c",dato); IF(dato==65)output_high(pin_b6); IF(dato==66)output_low(pin_b6); IF(dato==67)output_high(pin_b7); IF(dato==68)output_low(pin_b7); }}

  • APP INVENTOR

    APLICACINES

    ANDROID

  • EDITOR DE BLOQUES

  • MODULO GSM

    GLOBAL SYSTEM FOR MOBILE COMMUNICATION, SE DISEO PARA

    CUBRIR UNA GRAN VARIEDAD DE SERVICIOS QUE INCLUYEN

    TRANSMICION DE VOZ, DATOS, SERVICIOS DE MANEJO DE MENSAJES

    ENTRE EQUIPOS MOBILES SMS.

    MEDIANTE SMS SE PUEDE TRANSMITIR TEXTOS O DATOS ENTRE DOS

    MOVILES.

    ES IMPORTANTE REALIZAR EL CONECIONADO DEL CONVERSOR TTL - RS232 Y CONFIGURAR LA VELOCIDAD DE TRANSMICION A 115200 BAUD DEPENDIENDO DEL MODELO DEL MODEM CELULAR QUE SE UTILICE

  • MODULO GSM

    PARA LA COMUNICACIN ENTRE EL MODEM Y EL MICROCONTROLADOR SE

    UTILIZA LA COMUNICACIN SERIAL MEDIANTE EL ENVIO DE COMANDOS AT.

    COMANDOS AT PRINCIPALES

    AT+CMGF=1 CONFIGURO AL MODEM EN MODO TEXTO AT+CMGS=0999942422 NUMERO AL CUAL SE VA ENVIAR SMS ATD0999942422; REALIZA UNA LLAMADA AL NUM INDICADO ATH; CUELGA LA LLAMADA AT+CSQ DEVUELVE LA CALIDAD O NIVEL DE LA SEAL AT+CMGL=REC UNREAD OBTIENE LISTADO DE MSJ RECIBIDOS AT+CMGL=REC READ OBTIENE LISTADO DE MSJ LEIDOS AT+CMGL=ALL DESPLIEGA TODOS LOS MENSAJES

  • PROYECTO 21

    ENVIO DE MENSAJES ESCRITO POR GSM

  • PROYECTO 21

    ENVIO DE MENSAJES ESCRITO POR GSM

  • PROYECTO 21

    ENVIO DE MENSAJES ESCRITO POR GSM #include #fuses hs,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP #use delay(clock=20000000) #use rs232(baud=115200, parity=N, xmit=PIN_C6, rcv=PIN_C7, bits=8) #use fast_io(B) void mensaje(){ output_high(pin_b6); output_high(pin_b7); printf("AT"); printf("%c",13); printf("%c",10); delay_ms(200); printf("AT+CMGF=1"); printf("%c",13); printf("%c",10); delay_ms(100); printf("AT+CMGS="); printf("%c",34); printf("0999942422"); printf("%c",34); printf("%c",13); printf("%c",10); delay_ms(200); printf("GSM MEGATRONICA"); printf("%c",13); printf("%c",10); delay_ms(100); printf("%c",26); delay_ms(8000); output_low(pin_b6); output_low(pin_b7); } void main(){ char dato; set_tris_B(0b00111111); output_b(0); delay_ms(1500); while(1){ delay_ms(500); if(input(PIN_b0)==0){ mensaje(); }}}

  • PROYECTO 22

    MANEJO DE PANTALLA GRAFICA 128*64

  • PROYECTO 22

    MANEJO DE PANTALLA GRAFICA 128*64

    #include #include #include #fuses HS, NOWDT #use delay(clock=8000000) #include void main() { char TXT1[]="MEGATRONICA"; char TXT2[]="GLCD"; glcd_init(on); //inicializo el LCD while(1){ // glcd_text57(5,1,TXT1,2,1); glcd_text57(23,15,TXT2,3,1); // 57:tamao en pixeles, 33 pos en X, 30 pos en Y, 1 tamao, 1 color delay_ms(2000); glcd_rect(32,40,46,60,1,1); //(x1,y1,x2,y2,fill,color) delay_ms(2000); glcd_rect(64,40,78,60,0,1); delay_ms(2000); glcd_fillscreen(0); // sirve para borrar la pantalla delay_ms(2000); glcd_circle(64,32,32,1,1); //(x,y,radio,fill,color) delay_ms(2000); glcd_fillscreen(0); glcd_line(1,1,127,63,1); //(x1,y1,x2,y2,color) delay_ms(2000); glcd_fillscreen(0); } }

  • RFID Identificacion por

    radio frecuencia

    RFID (siglas de Radio Frequency IDentification, en espaol identificacin por radiofrecuencia) es un sistema de almacenamiento y recuperacin de datos remoto que usa dispositivos denominados etiquetas, tarjetas, transpondedores o tags RFID. El propsito fundamental de la tecnologa RFID es transmitir la identidad de un objeto (similar a un nmero de serie nico) mediante ondas de radio. Las tecnologas RFID se agrupan dentro de las denominadas Auto ID (automatic identification, o identificacin automtica)

  • PROYECTO 23

    IDENTIFICACION POR RF

  • PROYECTO 23

    IDENTIFICACION POR RF

    #include #fuses hs,NOWDT,NOPROTECT,PUT,NOBROWNOUT,NOLVP #use delay(clock=8000000) #use rs232(baud=9600, parity=N, xmit=PIN_C6, rcv=PIN_C7, bits=8) #include void main(){ char dato[5]; int x; lcd_init(); lcd_gotoxy(1,1); printf(lcd_putc,"ACERQUE TAG"); while(1){ for (x=0;x