Beruflich Dokumente
Kultur Dokumente
MICROCONTROLADORES
PIC LENGUAJE C
ING. DANIEL SALGADO QUITO: 2614586 0999942422
MICROCONTROLADOR
ES UN CIRCUITO INTEGRADO EN CUYO INTERIOR POSEE TODA LA ESTRUCTURA DE UN COMPUTADOR.
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 Int1 Short Int Int8 Int16 Long Int32 TAMAO 1 bit 8 bits 16 bits 32 bits RANGO 01 0 a 255 0 a 65535 0 a 4294967295 DESCRIPCION Entero de 1 bit Entero Entero de 16 bits Entero de 32 bits
VARIABLES
Las variables se pueden expresar en decimal, octal, hexadecimal o en binario: 127:Decimal 0127: Octal 0x127: Hexadecimal 0b01111111: Binario a : Caracter
VARIABLES
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
Un led (de la sigla inglesa LED: Light-Emitting Diode: diodo emisor de luz, tambin diodo luminoso) .
PROYECTO 2 SEMAFORO
PROYECTO 2 SEMAFORO
CODIGO PIC C
#include <16f877a.h> #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); } }
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 5
PROYECTO 5
CODIGO PIC C
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
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
PROYECTO 7
TRANSISTORES
LOS TRANSISTORES PUEDEN FUNCIONAR COMO AMPLIFICADORES O EN CORTE Y SATURACION SEGN LA CONFIGURACION QUE SE DISEE EL CIRCUITO.
PNP
NPN
PROYECTO 8
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
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
PROYECTO 11
SERVOMOTOR
1500 us
500 us
2500 us
HITEC
500us 20msus
PROYECTO 12
LCD 2X16
UN DISPLAY DE CRISTAL LIQUIDO, ES UN DISPOSITIVO QUE NOS PERMITE MOSTRAR INFORMACION ALFANUMERICA O CARACTERS DISEADOS.
PROYECTO 13
PROYECTO 13
KEYPAD
EL TECLADO 4X4 O 4X3 ES UNA MATRIZ DE PULSADORES EL CUAL NOS PERMITE CONTROLAR VARIOS PULSADORES CON POCOS PINES.
PROYECTO 14
PROYECTO 14
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 PIC SEALES ANALOGAS
0V A 5V
0 A 1024
PROYECTO 15
PROYECTO 15
//\flimpia pantalla,%4
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
PROYECTO 16
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
PROYECTO 17
COMUNICACIN SERIAL
PERMITE EL ENVIO RECEPCION DE DATOS ENTRE DISPOSITIVOS QUE SOPORTAN ESTE TIPO DE COMUNICACIN.
PROYECTO 18
PROYECTO 18
PROYECTO 19
PROYECTO 19
CODIGO PICC
PROYECTO 20
PROYECTO 20
CODIGO PICC #include <16F877A.h> #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 <lcd.c> #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); }}
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
PROYECTO 21
PROYECTO 21
PROYECTO 22
PROYECTO 22
#include <16f877a.h> #include <hdm64gs12.c> #include <graphics.c> #fuses HS, NOWDT #use delay(clock=8000000) #include <lcd.c> 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); } }
PROYECTO 23
IDENTIFICACION POR RF
PROYECTO 23
IDENTIFICACION POR RF
#include <16F877A.h> #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 <lcd.c> void main(){ char dato[5]; int x; lcd_init(); lcd_gotoxy(1,1); printf(lcd_putc,"ACERQUE TAG"); while(1){ for (x=0;x<=4;x++){ dato[x]=getchar(); } for (x=0;x<=4;x++){ dato[x]=getchar(); } printf(lcd_putc,"\fCODIGO:"); printf(lcd_putc,"\n"); for(x=0;x<=5;x++){ printf(lcd_putc,"%u,",dato[x]); } delay_ms(3000); if((dato[0]=48)&&(dato[1]=48)&&(dato[2]=48)&&(dato[3]=48)&&(dato[4]=48)){ printf(lcd_putc,"\fACCESO PERMITIDO"); delay_ms(5000); }else printf(lcd_putc,"\fACCESO NO PERMITIDO"); delay_ms(5000); } }