Introduccion PIC16f84

26
Electrónica Industrial Tema 11. Introducción a los Microprocesadores y Microcontroladores 1Unidad 11 Introducción a los microprocesadores y microcontroladores [email protected] [email protected] Septiembre 2002

Transcript of Introduccion PIC16f84

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    1

    Unidad 11

    Introduccin a los microprocesadores y

    microcontroladores

    [email protected] [email protected]

    Septiembre 2002

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    2

    CONTENIDO

    Unidad 11. Introduccin a los microprocesadores y microcontroladores.

    11.1 Elementos bsicos de un sistema microprocesador. 11.2 Microprocesadores frente a microcontroladores. 11.3 Arquitectura del PIC16F84. 11.4 Fundamentos de programacin del PIC16F84. 11.5 Ejemplos de programacin del PIC16F84.

    OBJETIVOS ESPECFICOS ! Estudiar los bloques bsicos de un microprocesador. ! Comprender la diferencia entre lenguaje mquina y lenguaje

    ensamblador. ! Comprender el funcionamiento bsico de una CPU. ! Estudiar la arquitectura bsica del microcontrolador PIC 16F84 ! Distinguir entre puerto de E/S dedicado y puerto de E/S mapeado en

    memoria. ! Estudiar la E/S por sondeo (polling), la E/S controlada por

    interrupcin, y las interrupciones software. ! Saber programar aplicaciones sencillas en un PIC16F84.

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    3

    1. ELEMENTOS BSICOS DE UN SISTEMA

    MICROPROCESADOR

    El microprocesador

    El microprocesador es un circuito integrado digital que puede programarse con una serie de instrucciones, para realizar funciones especficas con los datos. Cuando un microprocesador se conecta a un dispositivo de memoria y se provee de dispositivos de entrada salida, pasa a ser un sistema microprocesador.

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    4

    1. ELEMENTOS BSICOS DE UN SISTEMA

    MICROPROCESADOR

    Existen tres bloques funcionales bsicos: CPU, memoria y puertos. Los tres se encuentran conectados mediante buses. Los dispositivos de entrada y salida se conectan mediante puertos. Un puerto es una interfaz fsica de una computadora a travs del la cual

    pasan los datos haca y desde los perifricos. Los programas son un conjunto de instrucciones que entiende la CPU y que

    se ejecutan para resolver un problema especfico. El programa se almacena en memoria.

    Cada posicin de memoria tiene asignada una direccin exclusiva. Las instrucciones son ledas por la CPU a travs del bus de datos cuando

    sta las solicita. La CPU las interpreta, y las ejecuta secuencialmente. Con frecuencia las

    instrucciones vienen acompaadas de datos o direcciones, con objeto de modificarlos.

    La CPU genera seales de control para coordinar las transacciones.

    Memoria

    Puerto de entrada

    CPU (P)

    Puerto de salida

    Perifrico (Teclado,

    ratn, monitor)

    Perifrico (Impresora,

    monitor)

    Bus de direcciones

    Bus de datos

    Bus de control

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    5

    1. ELEMENTOS BSICOS DE UN SISTEMA

    MICROPROCESADOR

    Unidad central de proceso(CPU) (I). Unidades funcionales

    Es un circuito de gran escala de integracin que contiene la CPU completa de una computadora en un nico circuito integrado. Los microprocesadores contienen diversas unidades funcionales que realizan trabajos especficos. El modo de relacionarse entre ellas establece la arquitectura interna del P, el conjunto de instrucciones disponibles y el modo de ejecutarse cada una de ellas.

    6800 de Motorola Unidad aritmtico lgica (ALU) Es el elemento clave de procesamiento del P. Esta gobernada por la unidad de control. Se utiliza para realizar operaciones aritmticas y lgicas. Los datos de la ALU se obtienen de la matriz de registros. Matriz de registros Es la coleccin de registros disponibles pro el programador dentro del microprocesador. Existen tambin, registros invisibles no disponibles por el programador. Unidad de control Proporciona las seales de temporizacin y control.

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    6

    1. ELEMENTOS BSICOS DE UN SISTEMA

    MICROPROCESADOR

    Unidad central de proceso(CPU) (II). Buses Bus de direcciones Es un bus de un solo sentido a travs del cual el microprocesador enva un cdigo de direccin a una memoria o dispositivo externo.

    16 lneas = 216= 65.536 posisiones = 64 K (8080) 20, 24 bits

    32 lneas = 232= 4.294.467.296 = 4 Gigas (Pentium)

    Bus de datos Es un bus de dos sentidos (8, 16, 32 o 64 bits). Bus de control Seales para ciclos de lectura / escritura, ciclos de espera, interrupciones, etc.

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    7

    1. ELEMENTOS BSICOS DE UN SISTEMA

    MICROPROCESADOR

    Unidad central de proceso(CPU) (III)Programacin. Todos los P disponen de un conjunto bsico de instrucciones que se pueden agrupar segn su funcionalidad. En el Pentium se pueden distinguir siete grupos bsicos: Transferencia de datos. Aritmtica. Manipulacin de bits. Bucles y saltos. Cadenas de caracteres. Subrutinas e interrupciones. Control del procesador.

    Las instrucciones son decodificadas antes de que sean ejecutadas. A las instrucciones en cdigo binario se denomina lenguaje mquina. Con objeto de no escribir los programas en lenguaje mquina se utilizan nemnicos que constituyen lo que se conoce como lenguaje ensamblador. Los programas ensambladores se encargan de traducir los nemnicos en cdigo mquina. Tambin incluyen pseudo-instrucciones necesarias para facilitar la programacin (reserva de zonas de datos, cdigo, stack, variables, etc.). Un compilador traduce las instrucciones de un lenguaje de alto nivel mquina.

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    8

    2. MICROPROCESADORES VS MICROCONTROLADORES.

    Concepto general de microcontrolador.

    " Es un C.I. que contiene todos los componentes de un computador.

    Aplicaciones

    1. Perifricos y dispositivos auxiliares de los computadores. 2. Electrodomsticos. 3. Aparatos porttiles y de bolsillo (tarjetas, monederos, telfonos..) 4. Mquinas expendedoras y juguetera. 5. Instrumentacin. 6. Industria de automocin. 7. Control industrial y robtica. 8. Electromedicina. 9. Sistema de navegacin espacial. 10. Sistemas de seguridad y alarma. 11. Domtica en general.

    Control del motor

    Antideslizamiento

    Panel de instrumentos Control de velocidad Sistema de navegacin Control climatizacin

    Sistema antirrobo

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    9

    2. MICROPROCESADORES VS MICROCONTROLADORES.

    Arquitectura Von Newman VS Harvard

    Algunos microcontroladores optimizan su operatividad mediante una arquitectura Harvard.

    Memoria

    Procesador (CPU)

    Entrada/Salida

    Bus de

    Bus de direcciones

    Bus de control

    Bus de control

    Bus de direcciones

    Bus de datos

    Memoria datos

    Procesador

    Memoria programa

    Bus de datos (instrucciones) Bus de datos de memoria de programa

    Bus de direcciones de memoria de programa

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    10

    2. MICROPROCESADORES VS MICROCONTROLADORES.

    Implantacin en el mercado

    Algunos fabricantes de C con algunos modelos.

    Fabricante Modelos de C

    INTEL 8048, 8051, 80C196, 80186, 80188, 80386EX

    MOTOROLA 6805, 68HC11, 68HC12, 68HC16, 683XX

    HITACHI HD64180

    PHILIPS Gama completa de clnicos del 8051

    SGS-THOMSON (ST) ST-62XX

    MICROCHIP PICs

    NATIONAL SEMICONDUCTOR COP8

    ZILOG Z8, Z80

    TEXAS INSTRUMENTS TMS370

    TOSHIBA TLCS-870

    INFINEON C500

    DALLAS DS5000

    NEC 78K

    Ranking europeo de ventas de MCU de 8 bits (ao 1999).

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    11

    3. ARQUITECTURA DEL PIC16F84

    Microcontroladores PIC de Microchip

    En la actualidad se emplean cada vez ms debido a:

    # Velocidad # Precio # Facilidad de uso # Informacin y herramientas de apoyo.

    Gamas # PIC12C5X, gama baja o clsica ( palabra de programa de 12 bits). # PIC16CXXX, gama media (palabra de programa de 14 bits). # PIC17CXXX, PIC18XXX, gama alta (palabra de programa de 16 bits).

    Familia Descripcin PIC12C5XX 8-Pin, 8-Bit CMOS PIC12C67X 8-Pin, 8-Bit CMOS con Convertidor A/D PIC12F6XX 8-Pin, 8-Bit Flash con EEPROM y A/D PIC16C5X EPROM/ROM 8-Bit CMOS PIC16C55X EPROM-Based 8-Bit CMOS PIC16C6X 8-Bit CMOS PIC16X62X 8-Pin EPROM-Based 8-Bit CMOS con Comparador PIC16C64X 8-Bit EPROM con Comparador analgico PIC16C7X 8-Bit CMOS con convertidor A/D. PIC16C71X 18 Pin, 8-Bit CMOS con convertidor A/D. PIC16C43X 18/20 Pin, 8-Bit CMOS con bus LIN. PIC16C78X Convertidor A/D, D/A, amplificador operacional, comparadores y PSMC. PIC16C7X5 8-Bit CMOS, A/D , para aplicaciones de USB, PS/2 y dispositivo serie. PIC16C77X 20-pin, 28-pin y 40-Pin, 8-Bit CMOS con convertidor A/D 12-bit. PIC16F87X 28/40-Pin, 8-Bit CMOS FLASH con convertidor A/D 10-bit . PIC16X8X 18-Pin, 8-Bit CMOS FLASH/EEPROM Microcontrollers PIC16F7X 28/40-pin 8-bit CMOS FLASH PIC16C9XX LCD, convertidor A/D 8 y 10-bit . PIC17C4X 8-Bit CMOS EPROM/ROM, alto rendimiento. PIC17C75X 8-Bit CMOS EPROM, alto rendimiento PIC18CXXX 8-Bit, arquitectura mejorada. PIC18F0XX 8-Pin, 8-Bit FLASH con EEPROM, PLVD, BOR y PWM. PIC18FXX2 Proteccin de cdigo, 256 EEPROM, LVD, PLL, SLEEP ,multiplicador 8x8 , PSP. PIC18FXX31 28/40-Pin FLASH con EEPROM, PLVD, PBOR, A/D 10-bit PWM.

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    12

    3. ARQUITECTURA DEL PIC16F84

    Arquitectura general

    Caractersticas generales.

    # Consta de una ALU, decodificador de instrucciones, y una matriz de registros.

    # Incluye tambin un mdulo de memoria para programa y una memoria auxiliar para datos del tipo EEPROM, por si falla la alimentacin.

    # Arquitectura Harvard. # Bus de datos de 8 bits, bus de instrucciones de 14 bits. # Conjunto de instrucciones reducido, RISC (35 instrucciones). # Las instrucciones se ejecutan en 1 ciclo, excepto los saltos (2 ciclos). # Dispone de dos puertos de entrada salida. # Entradas multiplexadas para interrupciones y el contador/temporizador. # Dispone de un perro guardian o watchdog.

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    13

    3. ARQUITECTURA DEL PIC16F84

    Memoria de programa

    # Tipo Flash integrada en el propio chip. # Memoria de 1K x 14 (000h 3FFh).

    # En la posicin 000h est el Vector de Reset.

    o Conexin alimentacin o Al aplicar 0V al terminal MCLR o Desbordamiento perro guardin (watchdog).

    # En la posicin 04h est el Vector de Interrupcin. o Activacin del pin INT o Desbordamiento del temporizador TMR0 o Cambio de estado en pines RB4 - RB7 o Final de escritura en la EEPROM de datos.

    # Todo lo grabado (datos y programa) se puede modificar sobre el circuito por las antradas series RB6(clk)/RB7(datos)

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    14

    3. ARQUITECTURA DEL PIC16F84

    Memoria de datos

    Tipo SRAM

    Dos bancos o pginas de 128 registros de 8 bits. o Pgina 0 80 registros: 12 especiales

    (SFR) y 68 generales (GPR). o Pgina 1 12 registros de funciones

    especficas (SFR). Tipo EEPROM 64 registros de 8 bits cada uno. La informacin puede permanecer hasta 40

    aos. No se puede acceder a los mismos de una manera directa, sino que hay

    que hacerlo por medio del los Registros de Funcin Especfica (SFR).

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    15

    3. ARQUITECTURA DEL PIC16F84

    Puertos de entrada /salida

    PUERTO RA0-RA4

    Puerto bidireccional de Entrada/Salida. RA4/T0CKL puede comportarse como una Entrada/Salida normal, o bien como una entrada de reloj del contador/temporizador TMR0. PUERTO RB0-RB7

    Puerto bidireccional de Entrada/Salida. RB0/INT puede ser utilizado como una entrada de interrupciones. RB4/RB7 pueden ser utilizados para generar interrupciones ante un cambio de nivel. RB6/RB7 pueden ser utilizados para programa el PIC.

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    16

    3. ARQUITECTURA DEL PIC16F84

    Recursos auxiliares (I)

    Oscilador

    # Mediante los condensadores y el oscilador se puede seleccionar la frecuencia del reloj: 455KHz, 2 MHz, 4MHz, 8MHz y 10 MHz.

    # Ciclo de instruccin = 4 Periodo de reloj

    Ejemplo: Frecuencia de reloj = 4MHz Periodo de reloj = 250ns.

    Ciclo de instruccin = 1/Fosc x 4 = 250 ns x 4 = 1 s.

    Estado de reposo (SLEEP)

    # Consumo < 3A

  • Electrnica Industrial Tema 11. Introduccin a los Microprocesadores y Microcontroladores

    17

    3. ARQUITECTURA DEL PIC16F84

    Recursos auxiliares (II)

    Temporizador/Contador Consiste en un contador cclico de 00h a FFh. Cuando se llega a FF se produce un desbordamiento. Dos modos de trabajo:

    # Temporizador: determinar intervalos concretos de tiempo. Se incrementa con cada ciclo de instruccin o divisor.

    # Contador: contar impulsos producidos en el exterior del sistema. Perro guardin (watchdog)

    # Temporizador independiente del reloj principal. Tiene su propio oscilador, luego sigue funcionando en modo de bajo consumo.

    # Permite detectar cuando se ha colgado el programa. Cuando llega a FFh, se produce el desbordamiento y se provoca el RESET del PIC.

    # El tempo tpico de un ciclo es de 18 ms. pero se puede ampliar a 2,5 seg.

  • Electrnica Industrial Tema 9. Introduccin a los Microprocesadores y Microconytroladores

    18

    3. ARQUITECTURA DEL PIC16F84

    Distribucin de los terminales

    # VDD y VSS : Alimentacin (2 V - 6 V).

    # MCLR (Master Clear): Reset cuando la tensin < 1,7V . # RA0- RA4: Entradas/salidas del puerto A.

    o IO = 20mA; IO = 50mA o II = 25mA; II = 80mA o RA4/T0CK1 puede ser contador/temporizador externo TMR0.

    # RB0-RB7: Entradas/salidas del puerto B.

    o IO = 20mA; IO = 100mA o II = 25mA; II = 150mA o RB0/INT puede ser interrupcin externa.

    # OSC1/CLKIN OSC2/CLKOUT : conexin del oscilador del reloj principal.

    +5V

    27pF RA0

    RA1

    PIC16F84

    OSC1 OSC2 VDD RB7

    RB6 RB5 RB4

    RA2

    RA4/T0CKI VppMCLR /

    VSS RB0/INT RB1 RB2 RB3

    RA3

    27pF

    Cristal 4MHz

    VDD

    10K

    100

  • Electrnica Industrial Tema 9. Introduccin a los Microprocesadores y Microconytroladores

    19

    3. ARQUITECTURA DEL PIC16F84

    Perifricos de entrada/salida

    Pulsadores

    Interruptores

    Diodos LED

    Rels

    Rebotes

    Pulsacin

    IN R

    S

  • Electrnica Industrial Tema 9. Introduccin a los Microprocesadores y Microconytroladores

    20

    4. FUNDAMENTOS DE PROGRAMACIN PIC16F84

    Conceptos generales

    Un programa es un conjunto ordenado de instrucciones cuya ejecucin determina el procesado de los datos y la obtencin de resultados. EL PIC16F84 entiende un juego de 35 instrucciones (14 bits).

    Estructura del programa

    Modelo de procesador y sistema de numeracin List p=16F84 ;Se utiliza el microcontrolador PIC16F84 Radix hex ; Se usar el sistema hexadecimal

    Variables ESTADO equ 0x03 ;La etiqueta ESTADO est asociada a la direccin 0x03 PUERTAA equ 0x05 ;La etiqueta PUERTAA est asociada a la direccin 0x05

    Origen del programa

    org 0x00 ;Inicio de programa org 0x00 ;La siguiente instruccin estar al inicio de la memoria goto INICIO ;Salta a la direccin etiquetada con INICIO org 0x05 ;La siguiente instruccin estar en la direccin 0x05

    INICIO

    ------- -------

    end Cuerpo del programa y final

    ....... ...... end

  • Electrnica Industrial Tema 9. Introduccin a los Microprocesadores y Microconytroladores

    21

    5. EJEMPLOS DE PROGRAMACIN

    Ejemplo 1 - Sumar el contenido de dos posiciones de

    memoria (I)

    # Instruccin mov. Permite transferir el contenido de un registro fuente f a un registro destino d. En los PIC todos los datos residen en posiciones de la memoria de datos a excepcin del registro W. La instruccin mov puede mover tres tipos fundamentales de operandos:

    1. El contenido del registro W. 2. El contenido de una posicin de memoria de datos. 3. Un literal o valor.

    # movf f,d : mueve el contenido del operando fuente f (posicin de la memoria de datos) al destino d (puede ser W o la propia fuente).

    # movwf f : mueve el contenido del registro W a la posicin de memoria especificada por f.

    # movlw k : mueve el valor k al registro W. # addwf f,d : suma el contenido del registro W con el de f y deposita el

    resultado en W si d = 0 (o W), o en f si d = 1. # addlw k : suma al contenido del registro W el valor k y deposita el resultado

    en W.

    Banco 0 00h Registros especiales 0Bh

    5 0Ch OPERANDO1 2 0Dh OPERANDO2

    ?? 0Eh RESULTADO 4Fh

  • Electrnica Industrial Tema 9. Introduccin a los Microprocesadores y Microconytroladores

    22

    5. EJEMPLOS DE PROGRAMACIN

    Ejemplo 1 - Sumar el contenido de dos posiciones de

    memoria (II)

    List p=16f84 OPERANDO1 equ 0x0C OPERANDO2 equ 0x0D RESULTADO equ 0x0E org 0x00 ;origen INICIO movlw 0x05 ;W 5 movwf OPERANDO1 ;OPERANDO1W movlw 0x02 ;W 2 movwf OPERANDO2 ;OPERANDO2W addwf OPERANDO1,W ;OPERANDO1+W W movwf RESULTADO ;RESULTADO W end

    INICIO

    Declaracin de variables

    OPERANDO1 5 OPERANDO2 2

    RESULTADO = OPERANDO1 + OPERANDO2

    END

  • Electrnica Industrial Tema 9. Introduccin a los Microprocesadores y Microconytroladores

    23

    5. EJEMPLOS DE PROGRAMACIN

    Ejemplo 2 - Leer y sacar datos por los puertos (I)

    Banco 0 Banco 1 00h 80h

    03h STATUS 83h 05h PORTA TRISA 85h 06h PORTB TRISB 86h 0BH

    Registro STATUS (direccin 03h) RP1 RP0

    bit7 bit0 # bit 6 5: RP0-RP1 Seleccin del banco de registros

    00 = Banco 0 01 = Banco 1

    Registro PORTA (direccin 05h Banco 0) -- -

    - --

    RA4/T0CKI RA3 RA2 RA1 RA0

    bit7 bit0 -- : los tres primeros bits de PORTA siempren se leern como 0

    Registro TRISA (direccin 05h Banco 1) -- -

    - --

    TRISA4 TRISA3 TRISA2 TRISA1 TRISA0

    bit7 bit0

    2 x 10K

    3x 680

    +5V

    27pF

    RA0 RA1

    PIC16F84

    OSC1

    OSC2

    VDD

    RB7

    RB6

    RB5 RB4

    RA2

    RA4/T0CKI

    VppMCLR / VSS

    RB0/INT

    RB1

    RB2 RB3

    RA3

    27pF

    4MHz

    10K

    100

    VDD

    VDD VDD

    10K

  • Electrnica Industrial Tema 9. Introduccin a los Microprocesadores y Microconytroladores

    24

    5. EJEMPLOS DE PROGRAMACIN

    Ejemplo 2 - Leer y sacar datos por los puertos (II)

    Aparecen en este ejemplo algunas instrucciones nuevas: # bsf f,d : pone a 1 el bit d del registro f . # bcf f,d : pone a 0 el bit d del registro f . # goto etiqueta : salta hasta la instruccin que va precedida por la etiqueta.

    List p=16f84 STATUS equ 0x03 PORTA equ 0x05 PORTB equ 0x06 org 0x00 goto INICIO org 0x05 ;salta el vector de interrupcin INICIO bsf STATUS,5 ;cambia al banco1 movlw b00000000 ;W 00 movwf PORTB ;TRISBW (PORTB salidas) movlw b00011111 ;W FF movwf PORTA ;TRISAW (PORTA entradas) bcf STATUS,5 ;cambia al banco0 BUCLE movf PORTA,W ;W PORTA movwf PORTB ;PORTB W goto BUCLE end

    INICIO

    Declaracin de variables

    PORTB PORTA

    Configuracin de E/S

  • Electrnica Industrial Tema 9. Introduccin a los Microprocesadores y Microconytroladores

    25

    5. EJEMPLOS DE PROGRAMACIN

    Ejemplo 3 - Leer y sacar datos por los puertos, condiciones

    (I)

    El LED se ilumina cuando se cierra el interruptor. Este ejemplo incorpora las instrucciones: # btfsc f,d : salta una instruccin si el bit d del registro f es 0, si no, sigue por la

    siguiente instruccin. # clrf f : borra el contenido del registro f.

    10K

    680

    +5V

    27pF

    RA0

    RA1

    PIC16F84

    OSC1

    OSC2

    VDD

    RB7

    RB6

    RB5

    RB4

    RA2

    RA4/T0CKI

    VppMCLR /

    VSS

    RB0/INT

    RB1

    RB2

    RB3

    RA3

    27pF

    4MHz

    10K

    100

    VDD

    VDD

  • Electrnica Industrial Tema 9. Introduccin a los Microprocesadores y Microconytroladores

    26

    5. EJEMPLOS DE PROGRAMACIN

    Ejemplo 3-Leer y sacar datos por los puertos, condiciones (II)

    List p=16f84 STATUS equ 0x03 PORTA equ 0x05 PORTB equ 0x06 org 0x00 goto INICIO org 0x05 ;salta el vector de interrupcin INICIO bsf STATUS,5 ;cambia al banco1 clrf PORTB ;Puerto B configurado como salidas movlw b00011111 ;Puerto A configurado como entradas movwf PORTA bcf STATUS,5 ;cambia al banco0 BUCLE btfsc PORTA,0 ;RA0=0? salta si RA0 es 0 goto RA0_es_1 bsf PORTB,0 ;pone a 1 RB0, enciende el led goto BUCLE RA0_es_1 bcf PORTB,0 ;pone a 0 RB0, apaga el led goto BUCLE

    end

    INICIO

    Declaracin de variables

    Configuracin de E/S

    RA0 ON RA0=0

    Encender led RB0 =1

    Apagar led RB0 =0

    SI

    NO