Академический Документы
Профессиональный Документы
Культура Документы
Las lneas de entrada y salida (E/S) vienen distribuidas en varios puertos, cada
uno de ellos posee funciones especficas y estn distribuidos de la siguiente
manera:
PIC18F2550:
PUERTO A 7bits
PUERTO B 8bits
PUERTO C 8bits
PUERTO E 1bits
PIC18F4550:
PUERTO A 7bits
PUERTO B 8bits
PUERTO C 8bits
PUERTO D 8bits
PUERTO E 4bits
3. Los pines RC4 y RC5 son utilizados por el transceiver del modulo USB, en el
caso de que el modulo USB este deshabilitado, estos pines pueden ser
utilizados nicamente como entradas.
OUTPUT_X (VALOR);
Saca por el puerto indicado en la X un valor entre 0 y 255
INPUT_X ( );
Toma del puerto indicado en la X el valor que posee en sus terminales
Estas son funciones que a su vez configuran los puertos, si la operacin es
input, configura el puerto como entrada y si es output, configura el puerto como
salida.
Existen instrucciones que manejan un solo bit de un registro entre ellas estn:
OUTPUT_LOW (PIN);
Pone determinado pin a cero
OUTPUT_HIGH (PIN);
Pone determinado pin a uno
OUTPUT_BIT (PIN, VALOR);
Pone determinado pin al valor especificado
OUTPUT_TOGGLE (PIN);
Complemente el valor de determinado pin
INPUT (PIN);
Lee el valor de determinado pin
Hay otra instruccin que lee el valor de un pin con la caracterstica que ella no
configura el pin utilizado, aunque es una instruccin input
INPUT_STATE (PIN);
Lee el valor de determinado pin sin modificar el sentido del puerto.
VER EJEMPLO
Para configurar los puertos como entrada o salida, se utilizan los registros
TRISX, donde la X representa el nombre del puerto (A, B, C, D, E), si se desea
el puerto como entrada se debe poner a 1 y si es como salida se debe poner
a 0 el bit correspondiente del registro TRIS, para ello se utilizan la funciones:
SET_TRIS_X (VALOR);
Se utiliza para configurar el registro tris de determinado puerto, por ejemplo si
se pone SET_TRIS_B (0B00001111), quiere decir que se est configurando los
cuatro bits ms significativos del puerto B como salida y los cuatros bits menos
significativos como entrada.
Debido a que las instrucciones input y output reconfiguran los registros tris, se
utiliza la directiva FAST_IO (X) para evitar que esto suceda, esta directiva se
usa al inicio del programa y hay que poner una directiva por cada puerto a
utilizar de la siguiente manera:
#USE FAST_IO (A);
Esta directiva est evitando que el puerto A, se reconfigure cada vez que se
utiliza una instruccin output o input sobre dicho puerto.
Si no se desea utilizar las funciones input y output se pueden definir los puertos
con un nombre especifico, de tal manera que se puedan utilizar como si fueran
una variable, hay que tener en cuenta la direccin de la memoria RAM que
cada puerto ocupa en determinado dispositivo, el 18F2550 y 18F4550 poseen
las mismas direcciones para sus puertos, la forma correcta de definir los
puertos ser de la siguiente forma:
PORTA = 28;
As se enva el nmero 28 al puerto A
VAR = PORTB;
As se carga la variable VAR con el valor del puerto B
De esta forma se puede escribir o leer un puerto sin necesidad de utilizar las
funciones input y output, estoy no quiere decir que no se puedan utilizar,
simplemente es otra forma de hacerlo.