Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

15/02/2009 #1


Definir pines de entrada y salida en pic16f57
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
15/02/2009 #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
16/02/2009 #3

Avatar de Moyano Jonathan

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.
16/02/2009 #4


Definir pines de entrada y salida en pic16f57
el siguiente codigo es para un 16f84 y el mplab no me marca un error bueno solo unos mensajes con con tris y si los reemplazo los tris por port no me marca ningun error ni mensaje.
Archivos Adjuntos
Tipo de Archivo: asm elemental_05_586.asm (1,2 KB (Kilobytes), 59 visitas)
16/02/2009 #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
16/02/2009 #6


Definir pines de entrada y salida en pic16f57
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
Archivos Adjuntos
Tipo de Archivo: pdf pic16f5x_516.pdf (826,1 KB (Kilobytes), 41 visitas)
Tipo de Archivo: asm elemental_05_296.asm (880 Bytes, 33 visitas)
16/02/2009 #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
16/02/2009 #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?
16/02/2009 #9


si los reemplazo los tris por port no me marca ningun error ni mensaje
y el PIC ,ya programado, funciona como debe ser?

si no es asi deberas usar la operacion TRIS, algo asi como :

Código:
movlw b'11110000'
TRIS PORTB
16/02/2009 #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
16/02/2009 #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?
16/02/2009 #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"
16/02/2009 #13


a ya entendi esque en este pic tris es una instruccion lo vi en el datasheet
verdad?
16/02/2009 #14


yep, programalo y postea tu avance
16/02/2009 #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
16/02/2009 #16


podria ser tambien asi?

movlw b'11111111'
TRIS PORTA
TRIS PORTB
TRIS PORTC
16/02/2009 #17


yep, ambos, depende de lo que requieras

pruebalos y postea como te fue
16/02/2009 #18


o.k muchas gracias
27/08/2011 #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
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.