Definir pines de entrada y salida en pic16f57

#1
Que tal no tengo muchos conocimientos en esto de los pics por eso si alguien sabe como le puedo hacer para definir los pines de entrada y salida de un pic16f57 encapsulado dip de 28 pines siempre habia trabajo con el pic16f84 pero me compre un 16f57 y no se como de configuran los pines para que sea entrada y salida lo intente igual que como lo hacia con el pic 16f84 usando por jemplo clrf trisa, pero aqui el mplab me marca error lo intente reemplazando el tris por port y me lo ejecuta bien pero se supone que el port es para ya leer o escribir un en puerto correspondiente y para configurar entradas y salidas supuestamente debe de usarse el tris y no el port si alguien sabe como hacer se lo agradeceria
 
#2
en ocasiones el MPLab toma en cuenta el uso de mayusculas, ademas el TRISA y el TRISB no estan definidos en el include de ese integrado ; postea el codigo asi sera mas facil auxiliarte
 
#3
javierrrbo, te recomiendo que uses el PIC16F870 de 28 pines , el 16f57 está un poquito obsoleto. También podrias usar un PIC16F886 que es lo más nuevo de esa familia.
Si programas en ASM tengo ejemplos para el PIC16F876 que es de 28 pines tambien.
 
#5
;*********************************** Elemental_05.asm ***********************************
;
;ensamblador para el pic1657
;
;
; ZONA DE DATOS *********************************************************************

LIST P=16F57 ; Procesador utilizado.
INCLUDE <P16F5X.INC> ; Definición de algunos operandos utilizados.
__CONFIG _CP_OFF & _WDT_OFF & _XT_OSC

; ZONA DE CÓDIGOS *******************************************************************

ORG 0 ; El programa comienza en la dirección 0.
Inicio
bcf STATUS,PA0 ; pone a cero el bit pa0 del registro status.
bcf STATUS,PA1 ; pone a cero el bit pa1 del registro status.
movlw b'00001111' ;configurar puerto a como entradas
movwf TRISA
clrf TRISB ;configurar todo el puerto b como salida
clrf TRISC ;configurar todo el puerto c como salida

principal

end
 
#6
mejor pongo el archivo asi se puede apreciar mejor el codigo



para usarlo para el pic16f57 cambie el include, el list, el RP0 por PA0 , elimine el _PWRTE_ON ya que me marcaba error y viendo el pic16f57x.inc vi que no existe pero me marca errores con los trisa. trisb, trisc , ya lo intente con minusculas y mayusculas pero me sigue saliendo
 

Adjuntos

#7
lo que sucede es que el MPLab acepta los TRIS porque estan definidos el include del f84a, los cuales tienen "la misma" direccion pero diferente banco que los PORT; MPLab los acepta, pero en la hoja de datos viene que deberian evitarse; te recomiendo que descargues la hoja de datos
 
#8
no me queda claro como hacer para definir los pines de entrada y salida viendo el datasheet del 16f57 veo que no es como el del pic16f84 en el cual en el banco 1 hay dos registro llamados trisa y trisb de ocho bits cada uno, modificando cada bit se configura como entra o salida oviamente hay que accesar primero al banco uno y despues regresar al banco cero
pero en el pic 16f57 en el datasheet veo que en primera solo hay un banco, bueno hay mas pero al parecer estan mapeados en el banco cero, y observo que solo hay un registro llamado TRIS y alparecer este es para configurar los pines de entra y salida, pero como?
 
#10
algo asi como lo que me acabas de escribir encontre en la pagina 33 del datasheet que arriba anexe

si me puedes explicar un poco mas de esta sintasis en el codigo te lo agradecere
 
#11
se que primero va la instruccion por ejemplo bcf, clrf, andlw, etc, entonces porque pones primero tris y luego portb, tris aqui funciona como una instruccion o como?
 
#12
Código:
    movlw b'11110000'  ;configura el puerto B <0:3> como salidas y <4:7> como entradas 
    TRIS PORTB  ;utilizando la instruccion TRIS
la instruccion TRIS es para acceder al respectivo registro TRIS del puerto "X"
 
#15
por ejemplo para configurar todos los puertos (a,b y c) como entradas seria asi?

movlw b'11111111'
TRIS PORTA
movlw b'11111111'
TRIS PORTB
movlw b'11111111'
TRIS PORTC
 
#19
buenas tardes alguien me podria decir como se conecta el pic 16f57 para su funcionamiento, yo siempre e usado el 16f84a, pero no se si se conceten de la misma manera
 

Temas similares

Arriba