Download Unidad 11 Introducción a los microprocesadores y microcontroladores

Document related concepts
no text concepts found
Transcript
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
Unidad 11
Introducción a los microprocesadores y
microcontroladores
[email protected]
[email protected]
Septiembre 2002
⋅1⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
CONTENIDO
Unidad 11. Introducción a los microprocesadores y
microcontroladores.
11.1 Elementos básicos de un sistema microprocesador.
11.2 Microprocesadores frente a microcontroladores.
11.3 Arquitectura del PIC16F84.
11.4 Fundamentos de programación del PIC16F84.
11.5 Ejemplos de programación del PIC16F84.
OBJETIVOS ESPECÍFICOS
! Estudiar los bloques básicos de un microprocesador.
! Comprender la diferencia entre lenguaje máquina y lenguaje
ensamblador.
! Comprender el funcionamiento básico de una CPU.
! Estudiar la arquitectura básica 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
interrupción, y las interrupciones software.
! Saber programar aplicaciones sencillas en un PIC16F84.
⋅2⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
1. ELEMENTOS BÁSICOS DE UN SISTEMA
MICROPROCESADOR
El microprocesador
El microprocesador es un circuito integrado digital que puede
programarse con una serie de instrucciones, para realizar
funciones específicas 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.
⋅3⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
1. ELEMENTOS BÁSICOS DE UN SISTEMA
MICROPROCESADOR
Bus de direcciones
Bus de datos
CPU
(µP)
Bus de
control
Memoria
•
•
•
•
•
•
•
•
•
Puerto de
entrada
Puerto de salida
Periférico
(Teclado,
ratón,
monitor)
Periférico
(Impresora,
monitor)
Existen tres bloques funcionales básicos: 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 física de una computadora a través del la cual
pasan los datos hacía y desde los periféricos.
Los programas son un conjunto de instrucciones que entiende la CPU y que
se ejecutan para resolver un problema específico. El programa se almacena
en memoria.
Cada posición de memoria tiene asignada una dirección exclusiva.
Las instrucciones son leídas por la CPU a través del bus de datos cuando
ésta las solicita.
La CPU las interpreta, y las ejecuta secuencialmente. Con frecuencia las
instrucciones vienen acompañadas de datos o direcciones, con objeto de
modificarlos.
La CPU genera señales de control para coordinar las transacciones.
⋅4⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
1. ELEMENTOS BÁSICOS DE UN SISTEMA
MICROPROCESADOR
Unidad central de proceso(CPU) (I). Unidades funcionales
Es un circuito de gran escala de integración que contiene la CPU completa de una
computadora en un único circuito integrado. Los microprocesadores contienen
diversas unidades funcionales que realizan trabajos específicos. 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 aritmético lógica (ALU)
Es el elemento clave de procesamiento del µP. Esta gobernada por la unidad de
control. Se utiliza para realizar operaciones aritméticas y lógicas. Los datos de la
ALU se obtienen de la matriz de registros.
Matriz de registros
Es la colección de registros disponibles pro el programador dentro del
microprocesador. Existen también, registros invisibles no disponibles por el
programador.
Unidad de control
Proporciona las señales de temporización y control.
⋅5⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
1. ELEMENTOS BÁSICOS DE UN SISTEMA
MICROPROCESADOR
Unidad central de proceso(CPU) (II). Buses
Bus de direcciones
Es un bus de un solo sentido a través del cual el microprocesador envía un código
de dirección a una memoria o dispositivo externo.
16 líneas = 216= 65.536 posisiones = 64 K (8080)
20, 24 bits
32 líneas = 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
Señales para ciclos de lectura / escritura, ciclos de espera, interrupciones, etc.
⋅6⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
1. ELEMENTOS BÁSICOS DE UN SISTEMA
MICROPROCESADOR
Unidad central de proceso(CPU) (III)Programación.
Todos los µP disponen de un conjunto básico de instrucciones que se pueden
agrupar según su funcionalidad. En el Pentium se pueden distinguir siete grupos
básicos:
•
•
•
•
•
•
•
Transferencia de datos.
Aritmética.
Manipulación 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 código binario se denomina lenguaje máquina.
Con objeto de no escribir los programas en lenguaje máquina se utilizan
nemónicos que constituyen lo que se conoce como lenguaje ensamblador. Los
programas ensambladores se encargan de traducir los nemónicos en código
máquina. También incluyen pseudo-instrucciones necesarias para facilitar la
programación (reserva de zonas de datos, código, stack, variables, etc.).
Un compilador traduce las instrucciones de un lenguaje de alto nivel máquina.
⋅7⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
2. MICROPROCESADORES VS MICROCONTROLADORES.
Concepto general de microcontrolador.
" Es un C.I. que contiene todos los componentes de un computador.
Aplicaciones
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Periféricos y dispositivos auxiliares de los computadores.
Electrodomésticos.
Aparatos portátiles y de bolsillo (tarjetas, monederos, teléfonos..)
Máquinas expendedoras y juguetería.
Instrumentación.
Industria de automoción.
Control industrial y robótica.
Electromedicina.
Sistema de navegación espacial.
Sistemas de seguridad y alarma.
Domótica en general.
Panel de instrumentos
Control de velocidad
Sistema de navegación
Control climatización
Control del motor
Sistema antirrobo
Antideslizamiento
⋅8⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
2. MICROPROCESADORES VS MICROCONTROLADORES.
Arquitectura Von Newman VS Harvard
Algunos microcontroladores optimizan su operatividad mediante una arquitectura
Harvard.
Procesador
(CPU)
Memoria
Entrada/Salida
Bus de
Bus de direcciones
Bus de control
Memoria datos
Procesador
Memoria
programa
Bus de datos
Bus de direcciones
Bus de control
de datos
(instrucciones)
Bus de datosBus
de memoria
de programa
Bus de direcciones de memoria de programa
⋅9⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
2. MICROPROCESADORES VS MICROCONTROLADORES.
Implantación en el mercado
Algunos fabricantes de µC con algunos modelos.
Modelos de µC
Fabricante
INTEL
8048, 8051, 80C196, 80186, 80188, 80386EX
MOTOROLA
6805, 68HC11, 68HC12, 68HC16, 683XX
HITACHI
HD64180
PHILIPS
Gama completa de clónicos 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 (año 1999).
⋅10⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
3. ARQUITECTURA DEL PIC16F84
Microcontroladores PIC de Microchip
En la actualidad se emplean cada vez más debido a:
# Velocidad
# Precio
# Facilidad de uso
# Información y herramientas de apoyo.
Gamas
#
#
#
Familia
PIC12C5XX
PIC12C67X
PIC12F6XX
PIC16C5X
PIC16C55X
PIC16C6X
PIC16X62X
PIC16C64X
PIC16C7X
PIC16C71X
PIC16C43X
PIC16C78X
PIC16C7X5
PIC16C77X
PIC16F87X
PIC16X8X
PIC16F7X
PIC16C9XX
PIC17C4X
PIC17C75X
PIC18CXXX
PIC18F0XX
PIC18FXX2
PIC18FXX31
PIC12C5X, gama baja o clásica ( 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).
Descripción
8-Pin, 8-Bit CMOS
8-Pin, 8-Bit CMOS con Convertidor A/D
8-Pin, 8-Bit Flash con EEPROM y A/D
EPROM/ROM 8-Bit CMOS
EPROM-Based 8-Bit CMOS
8-Bit CMOS
8-Pin EPROM-Based 8-Bit CMOS con Comparador
8-Bit EPROM con Comparador analógico
8-Bit CMOS con convertidor A/D.
18 Pin, 8-Bit CMOS con convertidor A/D.
18/20 Pin, 8-Bit CMOS con bus LIN.
Convertidor A/D, D/A, amplificador operacional, comparadores y PSMC.
8-Bit CMOS, A/D , para aplicaciones de USB, PS/2 y dispositivo serie.
20-pin, 28-pin y 40-Pin, 8-Bit CMOS con convertidor A/D 12-bit.
28/40-Pin, 8-Bit CMOS FLASH con convertidor A/D 10-bit .
18-Pin, 8-Bit CMOS FLASH/EEPROM Microcontrollers
28/40-pin 8-bit CMOS FLASH
LCD, convertidor A/D 8 y 10-bit .
8-Bit CMOS EPROM/ROM, alto rendimiento.
8-Bit CMOS EPROM, alto rendimiento
8-Bit, arquitectura mejorada.
8-Pin, 8-Bit FLASH con EEPROM, PLVD, BOR y PWM.
Protección de código, 256 EEPROM, LVD, PLL, SLEEP ,multiplicador 8x8 , PSP.
28/40-Pin FLASH con EEPROM, PLVD, PBOR, A/D 10-bit PWM.
⋅11⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
3. ARQUITECTURA DEL PIC16F84
Arquitectura general
Características generales.
# Consta de una ALU, decodificador de instrucciones, y una matriz de
registros.
# Incluye también un módulo de memoria para programa y una memoria
auxiliar para datos del tipo EEPROM, por si falla la alimentación.
# 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.
⋅12⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
3. ARQUITECTURA DEL PIC16F84
Memoria de programa
# Tipo Flash integrada en el propio chip.
# Memoria de 1K x 14 (000h – 3FFh).
# En la posición 000h está el Vector de Reset.
o Conexión alimentación
o Al aplicar 0V al terminal MCLR
o Desbordamiento perro guardián (watchdog).
# En la posición 04h está el Vector de
Interrupción.
o Activación 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)
⋅13⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
3. ARQUITECTURA DEL PIC16F84
Memoria de datos
Tipo SRAM
Dos bancos o páginas de 128 registros de 8 bits.
o Página ‘0’ ⇒ 80 registros: 12 especiales
(SFR) y 68 generales (GPR).
o Página ‘1’ ⇒ 12 registros de funciones
específicas (SFR).
Tipo EEPROM
• 64 registros de 8 bits cada uno. La información puede permanecer hasta 40
años.
• No se puede acceder a los mismos de una manera directa, sino que hay
que hacerlo por medio del los Registros de Función Específica (SFR).
⋅14⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
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.
⋅15⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
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 instrucción = 4 · Periodo de reloj
Ejemplo: Frecuencia de reloj = 4MHz ⇒ Periodo de reloj =
250ns.
Ciclo de instrucción = 1/Fosc x 4 = 250 ns x 4 = 1 µs.
Estado de reposo (SLEEP)
# Consumo < 3µA
⋅16⋅
Electrónica Industrial
Tema 11. Introducción a los Microprocesadores y Microcontroladores
3. ARQUITECTURA DEL PIC16F84
Recursos auxiliares (II)
Temporizador/Contador
Consiste en un contador cíclico 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 instrucción o divisor.
# Contador: contar impulsos producidos en el exterior del sistema.
Perro guardián (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 típico de un ciclo es de 18 ms. pero se puede ampliar a
2,5 seg.
⋅17⋅
Electrónica Industrial
Tema 9. Introducción a los Microprocesadores y Microconytroladores
3. ARQUITECTURA DEL PIC16F84
Distribución de los terminales
# VDD y VSS : Alimentación (2 V - 6 V).
# MCLR (Master Clear): Reset cuando la tensión < 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 interrupción externa.
# OSC1/CLKIN OSC2/CLKOUT : conexión del oscilador del reloj
principal.
VDD
PIC16F84
10K
100
RA2
RA1
RA3
RA0
RA4/T0CKI
OSC1
MCLR / Vpp
OSC2
VDD
VSS
RB0/INT
RB7
RB1
RB6
RB2
RB5
RB3
RB4
⋅18⋅
Cristal 4MHz 27pF
27pF
+5V
Electrónica Industrial
Tema 9. Introducción a los Microprocesadores y Microconytroladores
3. ARQUITECTURA DEL PIC16F84
Periféricos de entrada/salida
Pulsadores
Rebotes
Pulsación
Interruptores
R
IN
S
Diodos LED
Relés
⋅19⋅
Electrónica Industrial
Tema 9. Introducción a los Microprocesadores y Microconytroladores
4. FUNDAMENTOS DE PROGRAMACIÓN PIC16F84
Conceptos generales
Un programa es un conjunto ordenado de instrucciones cuya ejecución determina
el procesado de los datos y la obtención de resultados.
EL PIC16F84 entiende un juego de 35 instrucciones (14 bits).
Estructura del programa
Modelo de procesador y sistema de numeración
List
Radix
p=16F84
hex
;Se utiliza el microcontrolador PIC16F84
; Se usará el sistema hexadecimal
equ 0x03
equ 0x05
;La etiqueta “ESTADO” está asociada a la dirección 0x03
;La etiqueta “PUERTAA” está asociada a la dirección 0x05
Variables
ESTADO
PUERTAA
Origen del programa
org 0x00
;Inicio de programa
org 0x00
goto INICIO
org 0x05
;La siguiente instrucción estará al inicio de la memoria
;Salta a la dirección etiquetada con INICIO
;La siguiente instrucción estará en la dirección 0x05
INICIO
------------end
Cuerpo del programa y final
.......
......
end
⋅20⋅
Electrónica Industrial
Tema 9. Introducción a los Microprocesadores y Microconytroladores
5. EJEMPLOS DE PROGRAMACIÓN
Ejemplo 1 - Sumar el contenido de dos posiciones de
memoria (I)
Banco 0
Registros
especiales
5
2
¿??
00h
0Bh
0Ch OPERANDO1
0Dh OPERANDO2
0Eh RESULTADO
4Fh
# Instrucción 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
excepción del registro W. La instrucción mov puede mover tres tipos
fundamentales de operandos:
1. El contenido del registro W.
2. El contenido de una posición de memoria de datos.
3. Un literal o valor.
# movf f,d : mueve el contenido del operando fuente f (posición 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 posición 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.
⋅21⋅
Electrónica Industrial
Tema 9. Introducción a los Microprocesadores y Microconytroladores
5. EJEMPLOS DE PROGRAMACIÓN
Ejemplo 1 - Sumar el contenido de dos posiciones de
memoria (II)
INICIO
Declaración de variables
OPERANDO1 ← ‘5’
OPERANDO2 ← ‘2’
RESULTADO = OPERANDO1 + OPERANDO2
END
List
OPERANDO1
OPERANDO2
RESULTADO
org
p=16f84
equ
0x0C
equ
0x0D
equ
0x0E
0x00
;origen
INICIO
movlw
movwf
movlw
movwf
addwf
movwf
end
0x05
;W ← ‘5’
OPERANDO1 ;OPERANDO1←W
0x02
;W ← ‘2’
OPERANDO2 ;OPERANDO2←W
OPERANDO1,W
;OPERANDO1+W →W
RESULTADO ;RESULTADO ←W
⋅22⋅
Electrónica Industrial
Tema 9. Introducción a los Microprocesadores y Microconytroladores
5. EJEMPLOS DE PROGRAMACIÓN
Ejemplo 2 - Leer y sacar datos por los puertos (I)
VDD
VDD
10K
VDD
2 x 10K
PIC16F84
10K
100
RA2
RA1
RA3
RA0
RA4/T0CKI
OSC1
MCLR / Vpp
OSC2
4MHz
27pF
VDD
VSS
RB0/INT
RB7
RB1
RB6
RB2
RB5
RB3
RB4
27pF
+5V
3x 680
Banco 0 Banco 1
00h
80h
03h
STATUS
05h
06h
PORTA
PORTB
83h
TRISA
TRISB
85h
86h
Registro STATUS (dirección 03h)
RP1
RP0
bit7
# bit 6 – 5: RP0-RP1 Selección del banco de registros
00 = Banco 0
01 = Banco 1
0BH
Registro PORTA (dirección 05h Banco 0)
-RA4/T0CKI
RA3
RA2
RA1
bit7
-- : los tres primeros bits de PORTA siempren se leerán como ‘0’
Registro TRISA (dirección 05h Banco 1)
-TRISA4
bit7
TRISA3
TRISA2
TRISA1
RA0
bit0
TRISA0
bit0
⋅23⋅
bit0
Electrónica Industrial
Tema 9. Introducción a los Microprocesadores y Microconytroladores
5. EJEMPLOS DE PROGRAMACIÓN
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 instrucción que va precedida por la etiqueta.
INICIO
Declaración de variables
Configuración de E/S
PORTB ← PORTA
List p=16f84
STATUS equ
PORTA equ
PORTB equ
0x03
0x05
0x06
org 0x00
goto INICIO
org 0x05
INICIO
bsf
movlw
movwf
movlw
movwf
bcf
STATUS,5
b’00000000’
PORTB
b’00011111’
PORTA
STATUS,5
;salta el vector de interrupción
;cambia al banco1
;W ← ‘00’
;TRISB←W (PORTB salidas)
;W ← ‘FF’
;TRISA←W (PORTA entradas)
;cambia al banco0
BUCLE
movf PORTA,W
movwf PORTB
goto BUCLE
end
;W ← PORTA
;PORTB ← W
⋅24⋅
Electrónica Industrial
Tema 9. Introducción a los Microprocesadores y Microconytroladores
5. EJEMPLOS DE PROGRAMACIÓN
Ejemplo 3 - Leer y sacar datos por los puertos, condiciones
(I)
VDD
VDD
PIC16F84
10K
100
RA2
RA1
RA3
RA0
RA4/T0CKI
OSC1
MCLR / Vpp
OSC2
VSS
680
10K
27pF
4MHz
27pF
VDD
RB0/INT
RB7
RB1
RB6
RB2
RB5
RB3
RB4
+5V
El LED se ilumina cuando se cierra el interruptor.
Este ejemplo incorpora las instrucciones:
# btfsc f,d : salta una instrucción si el bit d del registro f es ‘0’, si no, sigue por la
siguiente instrucción.
# clrf f : borra el contenido del registro f.
⋅25⋅
Electrónica Industrial
Tema 9. Introducción a los Microprocesadores y Microconytroladores
5. EJEMPLOS DE PROGRAMACIÓN
Ejemplo 3-Leer y sacar datos por los puertos, condiciones (II)
INICIO
Declaración de variables
Configuración de E/S
Apagar led
RB0 =’0’
NO
RA0 ON
RA0=’0’
SI
Encender led
RB0 =’1’
List p=16f84
STATUS equ
PORTA equ
PORTB equ
0x03
0x05
0x06
org 0x00
goto INICIO
org 0x05
;salta el vector de interrupción
INICIO
bsf STATUS,5
clrf PORTB
movlw b’00011111’
movwf PORTA
bcf STATUS,5
;cambia al banco1
;Puerto B configurado como salidas
;Puerto A configurado como entradas
;cambia al banco0
BUCLE
btfsc
goto
bsf
goto
RA0_es_1
bcf
goto
end
PORTA,0
RA0_es_1
PORTB,0
BUCLE
;¿RA0=0? salta si RA0 es ‘0’
PORTB,0
BUCLE
;pone a ‘0’ RB0, apaga el led
;pone a ‘1’ RB0, enciende el led
⋅26⋅