Ensamblador Para Microcontrolador PIC 16F877

1
Ensamblador para microcontrolador PIC 16F877 Como resumen y refuerzo de la última clase sobre el PIC 16F877, es importante saber que para el manejo de los puertos de E/S digitales se consideran algunas cosas como: El PIC tiene 5 puertos que pueden ser configurados como entrada o salida digitales (A, B, C, D y E). El puerto A contiene 6 bits (RA5-RA0), el puerto B, C y D cada uno 8 lineas (RB7-RB0, RC7-RC0, RD7-RD0), mientras que el puerto E solo tiene 3 pines (RE2-RE0). La operación de configuración de los puertos en general implica la siguiente secuencia: Ingresar al banco 1 Configurar los puertos (registros TRISx) Regresar al banco 0 Escribir o leer datos desde los puertos (registros PORTx) La memoria de datos del PIC 16F877 se divide en 4 bancos: 0, 1, 2 y 3. En las posiciones inferiores de ambos bancos se encuentran los registros de funciones especiales (SFR). En la posición 0x05, 0x06, 0x07, 0x08 y 0x09 respectivamente se encuentran los registros PORTA, PORTB, PORTC, PORTD y PORTE que se usan para leer o escribir datos; mientras que las posiciones 0x85, 0x86, 0x87, 0x88 y 0x89 se encuentran los registros TRISA, TRISB, TRISC, TRISD y TRISE respectivamente, es allí donde se configuran los puertos. A través de los valores que se escriban en TRISx se determina el comportamiento de los puertos, cargar un cero (0) significa configurar un pin del puerto como salida (Out), mientras que cargar un uno (1) es para configurarlo de entrada (In). Así, por ejemplo si en TRISB se carga un 0xFC (en binario 11111100), los pines RB0 y RB1 quedan configurados de salida, mientras que los demás (RB7-RB2) se han configurado como entradas. A través de las instrucciones MOV se pueden leer o escribir valores en los puertos. Si se configura un pin o un puerto como entrada, los valores que se escriban en él no tienen ningún efecto por estar configurados de entrada y no de salida. NOTA: El puerto A es un puerto multifunción que se puede configurar como análogo o digital (por defecto es análogo). Su modo de funcionamiento lo define el registro ADCON1 (banco 1 posición 0x1F). Para utilizar este puerto como E/S digital deben configurarse los bits de la siguiente forma: Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 X X X X 0 1 1 X Una forma de asegurar que se configure el puerto A como E/S digital es por ejemplo, cargando en ADCON1 un 0x06.

description

D

Transcript of Ensamblador Para Microcontrolador PIC 16F877

  • Ensamblador para microcontrolador PIC 16F877

    Como resumen y refuerzo de la ltima clase sobre el PIC 16F877, es importante saber que para el

    manejo de los puertos de E/S digitales se consideran algunas cosas como:

    El PIC tiene 5 puertos que pueden ser configurados como entrada o salida digitales (A, B, C, D y E).

    El puerto A contiene 6 bits (RA5-RA0), el puerto B, C y D cada uno 8 lineas (RB7-RB0, RC7-RC0,

    RD7-RD0), mientras que el puerto E solo tiene 3 pines (RE2-RE0).

    La operacin de configuracin de los puertos en general implica la siguiente secuencia:

    Ingresar al banco 1

    Configurar los puertos (registros TRISx)

    Regresar al banco 0

    Escribir o leer datos desde los puertos (registros PORTx)

    La memoria de datos del PIC 16F877 se divide en 4 bancos: 0, 1, 2 y 3. En las posiciones inferiores

    de ambos bancos se encuentran los registros de funciones especiales (SFR). En la posicin 0x05,

    0x06, 0x07, 0x08 y 0x09 respectivamente se encuentran los registros PORTA, PORTB, PORTC,

    PORTD y PORTE que se usan para leer o escribir datos; mientras que las posiciones 0x85, 0x86,

    0x87, 0x88 y 0x89 se encuentran los registros TRISA, TRISB, TRISC, TRISD y TRISE respectivamente,

    es all donde se configuran los puertos.

    A travs de los valores que se escriban en TRISx se determina el comportamiento de los puertos,

    cargar un cero (0) significa configurar un pin del puerto como salida (Out), mientras que cargar un

    uno (1) es para configurarlo de entrada (In). As, por ejemplo si en TRISB se carga un 0xFC (en

    binario 11111100), los pines RB0 y RB1 quedan configurados de salida, mientras que los dems

    (RB7-RB2) se han configurado como entradas.

    A travs de las instrucciones MOV se pueden leer o escribir valores en los puertos. Si se configura

    un pin o un puerto como entrada, los valores que se escriban en l no tienen ningn efecto por

    estar configurados de entrada y no de salida.

    NOTA: El puerto A es un puerto multifuncin que se puede configurar como anlogo o digital

    (por defecto es anlogo). Su modo de funcionamiento lo define el registro ADCON1 (banco 1

    posicin 0x1F). Para utilizar este puerto como E/S digital deben configurarse los bits de la

    siguiente forma:

    Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

    X X X X 0 1 1 X

    Una forma de asegurar que se configure el puerto A como E/S digital es por ejemplo, cargando en

    ADCON1 un 0x06.