estaba queriendo usar un código de picbasic en protón, le hice varios cambios y y el unico error que me da es por las declaraciones de este tipo DIM A PORTC.0
Les muestro el programa completo:
Device = 16F877
XTAL = 4
LCD_TYPE = 0 ' Our LCD is the alphanumeric type
LCD_DTPIN = PORTB.4 ' For Proteus Virtual Hardware Board LCD Data is PORTB.4,5,6,7
LCD_RSPIN = PORTB.2 ' LCD RS pin
LCD_ENPIN = PORTB.1 ' LCD EN pin
LCD_INTERFACE = 4 ' We're using a 4-bit LCD interface
LCD_LINES = 2 ' We're using a 2-Line LCD
TRISB = 0 ; PUERTO B SALIDA
DIM A PORTC.0 ;nombres para los pines de las filas
DIM B PORTC.1
DIM C PORTC.2
DIM D PORTC.3
DIM UNO PORTC.4 ;nombres para los pines de las columnas
DIM DOS PORTC.5
DIM TRES PORTC.6
DIM CUATRO PORTC.7
BARRIDO:
LOW A ;hacer bajo la 1era fila
IF UNO = 0 THEN PRINT AT 1 , 1 ,"1" ;si 1ra tecla es presionada sacar 1,(línea1,columna1 del LCD)
IF DOS = 0 THEN PRINT AT 1 , 1," 2" ;si 2da tecla es presionada sacar 2
IF TRES = 0 THEN PRINT AT 1 , 1," 3" ;si 3ra tecla es presionada sacar 3
IF CUATRO = 0 THEN PRINT AT 1 , 1,"A" ;si 4ta tecla es presionada sacar 10
HIGH A ;poner en alto la 1era fila
LOW B ;hacer bajo la 2da fila
IF UNO = 0 THEN PRINT AT 1 , 1," 4" ;si 1ra tecla es presionada sacar 4
IF DOS = 0 THEN PRINT AT 1 , 1," 5" ; y así sucesivamente
IF TRES = 0 THEN PRINT AT 1 , 1," 6"
IF CUATRO = 0 THEN PRINT AT 1 , 1,"B"
HIGH B ;poner en alto la 2da fila
LOW C ;hacer bajo la 3ra fila
IF UNO = 0 THEN PRINT AT 1 , 1," 7" ;fila3,columna4
IF DOS = 0 THEN PRINT AT 1 , 1," 8"
IF TRES = 0 THEN PRINT AT 1 , 1," 9"
IF CUATRO = 0 THEN PRINT AT 1 , 1,"C"
HIGH C ;poner en alto la 3ra fila
LOW D ;hacer bajo la 4ta fila
IF UNO = 0 THEN PRINT AT 1 , 1,"*"
IF DOS = 0 THEN PRINT AT 1 , 1," 0"
IF TRES = 0 THEN PRINT AT 1 , 1,"#"
IF CUATRO = 0 THEN PRINT AT 1 , 1,"D"
HIGH D ;poner en alto la 4ta fila
DELAYMS 10 ;pausa de 10 milisegundos
GOTO BARRIDO ;continuar el barrido de teclas
END