Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
si tengo una idea, pero no se como utilizarlo por que yo no soy programador, me gusta la electronica y estoy incursando en esta heramienta de mplab, me gustaria que me ayudaran, para ser mas claro, saber como utilizar este lenguaje.....
LIST P=16F84A
PA EQU 0x05
PB EQU 0x06
CONTA EQU 0x0C
ESTADO EQU 0x03
INTCON EQU 0x0B
TMR0 EQU 0x01
ORG 0
GOTO INICIO
ORG 5
INICIO CLRF CONTA
BSF ESTADO,5
CLRF PB
MOVLW 0xFF
MOVWF PA
BCF ESTADO,5
MOVLW 0x00
atras BTFSC PA,0
GOTO ver
MOVLW 0X01
ADDWF CONTA,1
MOVF CONTA,0
ver MOVWF PB
GOTO atras
END
#include <16f876.h>
#device ADC=10
#fuses HS,NOWDT,NOPROTECT,PUT,BROWNOUT,NOLVP,NOCPD,NOWRT
//SE DEFINE EL FORMATO PARA LA Tx a 9600 BAUDS VIA RS-232 STANDAR, DADO QUE SON LAS
//PROPIAS LIBRERIAS DEL COMPILADOR CCS, (VER EL LIBRO DE GARDER "PIC C")
//CON UN OSC. 4MHZ Vtx=1200 BAUDS , PARA UN OSC. 10MHZ Vtx=9600
#use delay (CLOCK=20000000)
#use rs232 (BAUD=4800, XMIT=PIN_C6, RCV=PIN_C7)
// SE DEFINE LA DIRECCION DEL PUERTO B COMO ELEMENTO DE ENTRADA SALIDA.
// ASI COMO LA DIRECCION DE MEMORIA DE CADA UNO DE LOS DEMAS PUERTOS A,B,C.
// DICHA INFORMACION SE ENCUENTRA ESPECIFICADA EN EL REGISTRO DE MEMORIA DEL PIC.
// (MAYOR INFORMACIÓN DATA SHEET DE MICROCHIP [url]WWW.MICROCHIP.COM[/url]
#use fast_io (b)
#byte porta = 5
#byte portb = 6
#byte portc = 7
// SE INCLUYE EL ENCABEZADO DE LA LIBRERIA PARA LA OPERACION DEL LCD
// POR EL PUERTO B,OBSERVAR PROGRAMA lcd_b.c
#include <lcd_b.c>
#use standard_io(C)
#use standard_io(A)
int j=0;
char cadena[71];
char *buffer=cadena; // UNION entre el puntero y el vector
#int_rda
void recepcion_serie() // Rutina de interrupción por recepción serie
{
buffer[j] = getc();
j++;
}
void main()
{
lcd_init();
lcd_putc("\fPreparando...\n");
enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);
while(true)
{if(cadena[17]=='V')
{ printf(lcd_putc,"\f ERROR DE\n\t RECEPCION");
delay_ms(10);
}
else
{If(input(pin_a1)==1)
{printf(lcd_putc,"\fTiempo=%c%c:%c%c",cadena[7],cadena[8],cadena[9],cadena[10]);//imprime el tiempo
printf(lcd_putc,"\nFecha=%c%c/%c%c/%c%c",cadena[55],cadena[56],cadena[57],cadena[58],cadena[59],cadena[60]);//imprime la fecha
delay_ms(10);
}
else
{printf(lcd_putc,"\fLat=%c%c%c%c.%c%c%c%c%c%c",cadena[20],cadena[21],cadena[22],cadena[23],cadena[25],cadena[26],cadena[27],cadena[28],cadena[29],cadena[30]); // imprime la latitud
printf(lcd_putc,"\nLon=%c%c%c%c%c.%c%c%c%c%c%c",cadena[32],cadena[33],cadena[34],cadena[35],cadena[36],cadena[38],cadena[39],cadena[40],cadena[41],cadena[42],cadena[43]);//imprime la longitud
printf(lcd_putc,"\n%d",j);
delay_ms(10);
}
}
if(j>=71)
{buffer[71]=(0);
j=0;
}
}
}
Pues para ayudarte siempre debes primero subir aqui el código que estas haciendoMe encata este foro me ha guiado en muchas ocasiones para practicar en ciertos temas.... ahora el problemita que tengo es con el puerto A del pic 16f877a he leido que tiene entradas y salidas digitales, y que hay que configurar el ADCON1 y modificar el registro TRISA, pero al poner los 3 primeros pines como entrada no me lo reconoce asi como no reconoce los que pongo como salida.... lo que quiero es encender un led del puerto A del pin A5 presionando un boton que se encuentra en el pin A0. Realmente no se que estoy haciendo mal. Agradeceria su ayuda. Gracias. Estoy usando MPLAB y Proteus.
LIST p=16F877A
INCLUDE<P16F877A.INC>
STATUS equ 0x3
PORTA equ 0x5
TRISA equ 0x5
org 0x00
movlw B'00000110'
movwf ADCON1
bsf STATUS,RP0
movlw B'00001111' ;bit 0-3 ENTRADAS y 4-7 SALIDAS
movwf TRISA
bcf STATUS,RP0
INICIO
btfss PORTA,0
goto ENCIENDE
bcf PORTA,0
goto ENCIENDE
ENCIENDE
bsf PORTA,0
goto INICIO
END