Sie sind auf Seite 1von 3

1. ¿Como configurar los puertos de un microcontrolador?

Para poder hacerlo es necesario conocer la tabla de registros de la memoria de


datos, la cual como dijimos, está dividida en el BANCO 0 y BANCO 1.

Los registros importantes en la configuración de los puertos son:

STATUS dirección 0x3


PORTA dirección 0x5
PORTB dirección 0x6
TRISA dirección 0x5
TRISB dirección 0x6

Por defecto el PIC tendrá todos los I/O port's (es decir los puertos RA y RB),
colocados como entrada de datos, y si queremos cambiarlos habrá que
configurarlos.

Al configurar los puertos deberás tener en cuenta que:

Si asignas un CERO (0) a un pin, éste quedará como salida y...


Si le asignas un UNO (1), quedará como entrada

Esta asignación se hace en:

TRISA para los pines del PUERTO A (5 bits)


TRISB para los pines del PUERTO B (8 bits)

2. ¿Cómo y para que se configuran los fusibles?


Son configuraciones de la forma de funcionamiento del microcontrolador, se
transfieren al PIC cada vez que se graba un programa. El PIC 16F84A posee
cuatro fusibles que son:

1. Oscilador (OSC): Le indica al PIC el tipo de oscilador que usará.

2. Perro Guardián (WDT): Permite autorresetear al PIC en caso de que quede en


un bucle infinito.

3. Temporizador de encendido (PWRT): Se encarga de retardar la inicialización


del PIC cuando se conecta a la fuente de alimentación, esto con el fin de
garantizar que cuando el programa inicie el voltaje ya sea estable.
4. Protección de código (CD): Al habilitar esta función se impide que el programa
grabado en el microcontrolador sea leído posteriormente.

Para indicarle al PIC qué fusibles usar, a través del lenguaje de programación se
escribe una línea de código llamada palabra de configuración.

3. ¿Para que sirve y como se configura el status?


El registro STATUS contiene: el estado aritmético de datos en el registro W, el
estado RESET, los bits para seleccionar el banco para los datos de la memoria.
IRP - Registro de selección de Banco (usado para direccionamiento indirecto)
1 - Bancos 0 y 1 son activos (localidades de memoria 00h-FFh)
0 - Bancos 2 y 3 son activos (localidades de memoria 100h-1FFh)
RP1,RP0 - Registro de selección de banco (usado para direccionamiento directo).

4. ¿Cómo se configura el convertidor analógico-digital?


Lo primero será declarar que el puerto B será utilizado como salidas, por lo tanto
habrá que asignarle al registro TRISB el valor 0x00, posteriormente revisamos en
la sección 21 de la hoja de datos todo lo relacionado al ADC, y encontraremos que
los registros asociados al mismo son:
ADRESH (Parte alta del resultado del ADC)
ADRESL ( Parte baja del resultado del ADC)
ADCON0 (Registro de control)
ADCON1 (Registro de control)
ADCON2 (Registro de control)
Empezaremos configurando cada uno de los registros de control según sean
nuestras necesidades, para ADCON0:

Imagen1. Registro ADCON0


El canal que vamos a utilizar será el canal 0, por lo tanto de CHS3:CHS0 = “0000”,
por el momento tendremos que tener desactivado el ADC, por lo tanto ADON =
“0” y GO/DONE = “0”, por lo tanto el valor para ADCON0 será b’00000000′ = 0x00.
Ahora con ADCON1:

Imagen2. Registro ADCON1


Vamos a utilizar solo un pin de forma analógica (AN0), por lo tanto
en PCFG3:PCFG0 = “1110”, las referencias de los voltajes del ADC serán Vss y
Vdd, por lo tanto VCFG1:VCFG0 = “00”, por lo tanto el valor para ADCON1 será
b’00001110′ = 0x0E.
Ahora para ADCON2:

Imagen3. Registro ADCON2


Para la velocidad utilizaremos fosc/2 por lo tanto ADCS2:ADCS0 = “000”, para el
tiempo de adquisición utilizaremos 2 Tad por lo tanto ACQT2:ACQT0 = “001” y
para el formato seleccionaremos justificado a la izquierda por lo tanto ADFM = “0”,
por lo tanto el valor para ADCON2 será b’00001000′ = 0x08.
Y por último encenderemos el ADC poniendo en “1” el bit ADON de ADCON0.
5. ¿Qué es un mapa de memoria?
El mapa de memoria es la parte del código que le asigna nombres a los registros
de la memoria de datos que serán usados, no es obligatorio hacer esto pero sí es
aconsejable pues facilita la elaboración de programas. Para asignar un nombre a
un registro se debe conocer su dirección, por el momento nos interesan las
direcciones de los registros de configuración y manejo de los puertos del PIC
(0X05 y 0X06); también nos interesa la dirección de un registro muy importante
llamado STATUS (0X03):

Das könnte Ihnen auch gefallen