Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

UNIDAD 2. Programación de Entradas y Salidas Del Microcontrolador

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 18

UNIDAD 2.

Programación
de entradas y salidas del
microcontrolador.
Los fuses del microcontrolador PIC18

Todos los microcontroladores PIC tienen


incorporados circuitos especiales que se pueden
activar o desactivar según los requerimientos de la
aplicación o algún caso en particular. Estos
circuitos o características especiales se deben
configurar mediante software o por el equipo
programador al momento de grabar el programa en
el microcontrolador. La configuración adecuada de
estos circuitos determina en gran parte la
funcionabilidad y eficiencia del programa
desarrollado.
Los fuses internamente en el microcontrolador son
controlados por registros internos y que se pueden
habilitar o deshabilitar mediante software o por
medio del equipo programador. CCS provee de
instrucciones de alto nivel que permiten de forma
transparente configurar los FUSES (fusibles). En el
PIC18F4550, los fuses que CCS configura se
muestra en la tabla 2.1. Para no distorsionar la
descripción del fuse, se ha dejado en el idioma
original, que CCS proporciona en el IDE del
programa.
Algunos fuses de interés significan :

LVP: Low Voltage programming. Programación


por voltaje bajo.

• 1 = LVP habilitado, la terminal RB4/PGM tiene tal función.


• 0 = LVP deshabilitado, RB4/PGM es una terminal de I/O

BODEN: Brown Out Detect Reset Enable bit (Bit


de reset por voltaje de alimentación bajo). En CCS
el fusible es BROWNOUT NOBROWNOUT.

• 1 = Reset por BOD habilitado.


• 0 = Reset por BOD deshabilitado.
BOR: Brown-out Reset. Este circuito hace que el
PIC se reinicie cuando se detecta una inestabilidad
en la alimentación. El compilador proporcionavarios
FUSES para configurar el BOR para diferentes
niveles de tensiones (ver tabla 2.1). Por ejemplo:
BORV45 reinicia el microcontrolador en nivel de
4.5V.

PBADEN y NOPBADEN: Cuando se produce un


RESET en el Micro, con PBADEN los pines del
puerto B se configuran como canales de entrada
analógicos y con NOPBADEN los pines del puerto B
se configuran como entradas o salidas digitales.
MCLR: Master Clear. Habilitación/deshabilitación del terminal de reset.
• 1 = Terminal de reset (MCLR) en RA5.
• 0 = MCLR conectado internamente a Vdd, RA5 es un pin de I/O.

PUT: Power up Timer enable bit. En el datasheet del microcontrolador


es el bit que se conoce como PWRT. Es el bit de habilitación de
temporizador al energizar. Al activar el POWER UP TIMER lo que hace
es retardar el arranque del PIC. Este empieza a funcionar unos 65.5
ms., después de recibir la tensión de alimentación.

• 1 = PWRT habilitado.
• 0 = PWRT deshabilitado.

WDT: Watch Dog Timer Enable Bit. Bit de habilitación del Watch-Dog.
• 1 = WDT habilitado.
• 0 = WDT deshabilitado.
Para configurar los fusibles se debe incluir en el programa
la directiva #fuses, seguido de los nombres y separados
entre comas (,) de los fuses que se necesiten fijar en el
programa. Si no se considera algunos de ellos el
programa asume el valor por default que suministra el
fabricante, mismo que podemos ver en el datasheet del
microcontrolador.

#fuses XT, NOWDT, NOPROTECT, NOLVP


//Configuración de Fuses.
Suponer que se va a utilizar un cristal de 4 MHz, desactivar el Master Clear,
No proteger el código para lectura, desactivar la programación a bajo voltaje;
el código del compilador CCS para los FUSES mencionados es:
Configuración del reloj
La mayoría de los microcontroladores PIC de la
familia 16F y 18F tienen incorporado un sistema de
reloj para ser utilizado según las necesidades del
diseño. El hardware de control del oscilador es el
registro OSCCON (Oscillator Control Register) y el
registro oscilador de ajuste OSCTUNE (Oscillator
Tuning Register), se utiliza para ajustar frecuencia
interna vía software.
Tipos de osciladores
Según el datasheet del fabricante, los dispositivos
PIC18F2455 / 2550/4455/4550 y PIC16F88, PIC16F887,
pueden ser operados en distintos modos de oscilador,
siendo estos los más usados:

• XT Crystal / Resonador (se usa para cristales <= 4 MHZ).


• HS alta velocidad Crystal / Resonador (>4MHZ).
• HSPLL alta velocidad Crystal / Resonador con PLL activado.
• EC reloj externo con / 4 de salida.
• ECIO reloj externo con I / O en RA6.
• ECPLL Reloj externo con PLL Activado y / 4 Salida en RA6.
• ECPIO Reloj externo con PLL habilitado, I/O en RA6.
• INTHS oscilador interno utilizado como
• Microcontroladores fuente de reloj, HS
• Oscilador utilizado como USB Fuente de reloj
• INTIO oscilador interno utilizado como:
• Microcontrolador fuente de reloj, EC
• Oscilador utilizado como fuente de reloj USB,
• I/O digital en RA6
• INTCKO oscilador interno utilizado como
• Microcontrolador fuente de reloj, EC
• Oscilador utilizado como fuente de reloj USB,
•/ 4 Salida en RA6

El PIC16F628A tiene los modos LP, XT, HS, ECIO, INTIO,


INTCKO.
Configuración del oscilador
La instrucción para utilizar el tipo de oscilador es:
#fuses TIPO DE OSCILADOR

Donde el TIPO DE OSCILADOR hace referencia a


los descritos en este punto. Ejemplo:
#fuses HS
#use delay (clock=12000000)
Se indica al microcontrolador que utilizará un oscilador
externo de alta velocidad (HS) con un cristal de 12000000
Hz. Para indicar directamente la frecuencia en MHz, se
puede utilizar la notación:

#use delay (clock=12M)

Para el caso que utilicemos la fuente de reloj


interno del microcontrolador, se utilizaría así:

#fuses INTRC_IO
#use delay (clock=8M)

También podría gustarte