Microcontroladores MKT - Unidad I
Microcontroladores MKT - Unidad I
Microcontroladores MKT - Unidad I
Ingeniería Mecatrónica
UNIDAD I
ARQUITECTURA DE
MICROCONTROLADORES
COMPETENCIAS ESPECIFICAS A
DESARROLLAR
• Encapsulado
• Memoria Cache
• Coprocesador matemático
• Registros
• Memoria
Estructura Interna
• Puertos
microprocesador en la Microprocesador
5
tarjeta madre
Microcomputadora
Una microcomputadora es un tipo de computadora que utiliza un
microprocesador como unidad central de procesamiento (CPU), que
se suele combinar con la memoria de computadora en forma de
RAM, y al menos otro dispositivo de almacenamiento de memoria
menos volátil en un bus de sistema como solo una unidad.
Otros dispositivos que componen un sistema de microordenador
completo incluyen Monitores, teclados y otros dispositivos de
entrada y salida (pueden estar integrados o separados). Además,
contempla las baterías, una fuente de alimentación y varios
dispositivos de entrada/salida que se utilizan para transmitir
información hacia y desde un operador humano (impresoras,
monitores, dispositivos de interfaz humana).
Generalmente, son computadoras que ocupan espacios físicos
pequeños; dentro del término microcomputadora pueden agruparse
computadoras de diferentes tipos y usos como consolas de
videojuegos, notebooks, tablets, dispositivos de mano, teléfonos
celulares y las computadoras personales (PC). 6
Microcontrolador
Son dispositivos programables, que poseen una unidad central de
procesamiento (CPU), memoria de programa y de datos, puertos
de entrada/salida, temporizadores e interrupciones internas y
externas; todos los recursos integrados en una sola pastilla (chip).
7
CONSIDERACIONES
10
UNIDAD I
1.2 Características y aplicaciones de los
microcontroladores.
1.2.1 Características del microcontrolador
Elementos de un microcontrolador:
• Osciladores- genera los pulsos que sincronizan todas las operaciones
internas. Puede ser RC o por un cristal de cuarzo.
• CPU (Unidad Central de Proceso)-. Esta unidad trae las instrucciones del
programa, una a una, desde la ROM, las interpreta (decodifica) y hace que
las ejecuten.
• Memoria-. Donde se almacenan las instrucciones del programa y datos que
manipula.
• RAM (Random Access Memory)-. Se almacenan temporalmente los datos con
los que trabaja el programa.
• ROM (Read Only Memory)-. Almacena permanentemente el programa que
debe ejecutar el microcontrolador.
11
UNIDAD I
1.2 Características y aplicaciones de los
microcontroladores.
12
UNIDAD I
1.2 Características y aplicaciones de los
microcontroladores.
1.2.1 Características del microcontrolador
Entonces, para conocer las especificaciones y utilidad de un
microcontrolador se deben considerar los siguientes aspectos:
• El tamaño del procesador (4, 8, 16, … bits)
• La cantidad de memoria ROM (1 KB)
• La cantidad de memoria RAM (256x8 bits)
• Bus de datos (8 bits)
• Bus de instrucciones (13 bits)
• Tamaño de la pila (8 niveles)
• Dispositivos de entrada/salida (ADC, Temporizador, UART,
Contadores, Comparadores, …)
• Buses de interfaz (USB, I2C, CAN, RS232, Paralelo, …)
• Interrupciones (por software y por hardware)
13
UNIDAD I
1.2 Características y aplicaciones de los
microcontroladores.
Control de temperatura
de un refrigerador Arranque del automovil
Opciones de
16
menú en una TV
UNIDAD I
1.3. TIPOS DE ARQUITECTURAS
1.3.1 Arquitectura interna.
INTRODUCCIÓN
Una microcomputadora se compone de tres bloques fundamentales:
PERIFÉRICOS
Las arquitecturas “Von Neumann” y “Harvard” son dos modelos generales del
hardware que representan una solución a la configuración de la conexión de la CPU
con la memoria y a la organización de la memoria como almacén de instrucciones y
datos.
20
UNIDAD I
1.3. TIPOS DE ARQUITECTURAS
1.3.1 Arquitectura interna
ARQUITECTURAS
• Es obvio que la arquitectura Von Neumann requiere menos
terminales en el uP que la arquitectura Harvard.
• Las microcomputadoras basadas en un uP están diseñadas casi
exclusivamente con arquitectura Von Neumann.
• En los microcontroladores predomina la arquitectura Harvard, ya que
todos los componentes del sistema están dentro del circuito
integrado, no hay necesidad de minimizar el número de terminales de
la CPU.
• Los microcontroladores PIC son sistemas con arquitectura Harvard.
21
UNIDAD I
1.3. TIPOS DE ARQUITECTURAS
1.3.1 Arquitectura interna
30
UNIDAD I
1.3. TIPOS DE ARQUITECTURAS
1.3.2 Arquitectura externa
ENCAPSULADO DE PIC16F84
ENCAPSULADO DE PIC16F877A
32
Diagrama de pines del PIC16F877A
UNIDAD I
1.3. TIPOS DE ARQUITECTURAS
TAREA:
ANALIZAR LA ARQUITECTURA INTERNA Y EXTERNA DEL
MICROCONTROLADOR:
• PIC16F628
• PIC16F873
• PIC18F4550
• ATMega328
• ATMega2560-16U
• TMS320F28335
• MC68HC11
• INTEL 8051
33
UNIDAD I
1.3. TIPOS DE ARQUITECTURAS
34
UNIDAD I
1.3. TIPOS DE ARQUITECTURAS
35
UNIDAD I
1.3. TIPOS DE ARQUITECTURAS
CPU:
• Tecnología RISC.
• Sólo 35 instrucciones que aprender.
• Todas las instrucciones se ejecutan en un ciclo de reloj, excepto los
saltos que requieren dos.
• Frecuencia de operación de 0 a 20 MHz (200 nseg de ciclo de
instrucción).
Memoria:
• Hasta 8k x 14 bits de memoria Flash de programa (ROM).
• Hasta 368 bytes de memoria de datos (RAM).
• Hasta 256 bytes de memoria de datos EEPROM.
• 8 niveles de pila.
• Contador de programa de 13 bits. 36
UNIDAD I
1.3. TIPOS DE ARQUITECTURAS
37
PIC16F877A
UNIDAD I
1.3. TIPOS DE ARQUITECTURAS
38
PIC16F877A
UNIDAD I
1.4 Tipos de microcontroladores y sus
fabricantes.
INVESTIGACIÓN-EXPOSICIÓN
– INTEL
– MOTOROLA (FREESCALE)
– MICROCHIP
– ATMEL
– NATIONAL SEMICONDUCTOR
– ZILOG
– TEXAS INSTRUMENTS
– NXP SEMICONDUCTOR (PHILIPS)
– RENESAS
– STMICROELECTRONICS
– AMD
39
UNIDAD I
1.5 Componentes del microcontrolador
40
Estructura genérica de un microcontrolador
UNIDAD I
1.5 Componentes del microcontrolador
41
UNIDAD I
1.5 Componentes del microcontrolador
42
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
Los registros son básicamente un tipo de memoria pequeña con fines
especiales que el microcontrolador tiene disponible para algunos usos
particulares. Hay varios grupos de registros en cada procesador:
Hay otros que no son diseñados para ser controlados por el procesador, pero
que el CPU los utiliza en algunas operaciones (Acumulador y el Registro de
Status).
Los registros están organizados como dos arreglos (páginas o bancos) de 128
43
posiciones de 8 bits cada una (128 x 8).
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
Registro de funciones especificas (SFR) del PIC16F84
Los registros de funciones especiales (SFR) Los SFR pueden ser clasificados en 2
son localidades de memoria usados por el conjuntos: Nucleo (CPU y periféricos.
CPU y los módulos periféricos para controlar
la operación deseada del uCC, estos registros
están implementados como RAM estática.
RAM
44
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
Registro de funciones especificas (SFR) del PIC16F84
45
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
• Registro de Instrucción
Registro de 14 bits. Todas las instrucciones se colocan en él para ser
decodificadas por la CPU antes de ejecutarlas.
El registro INDF (Indirect File) que ocupa la posición 00h no tiene existencia
física, por lo que no se podrá acceder a él. En realidad este registro sirve
únicamente para especificar la utilización del direccionamiento indirecto junto
con el registro FSR.
El registro TMR0 (Timer 0) almacena el valor del contador TMR0, que como ya
sabemos, está funcionando continuamente e incrementando el valor que tiene
almacenado. Las opciones que controlan este contador residen en el registro
OPTION.
El PC está implementado por dos registros, PCLATH (5 bits) y PCL (8 bits); los 8
bits de menor peso del PC los proporciona el registro PCL (02h) y a diferencia de
la mayoría de los microprocesadores convencionales, es también un registro
accesible al programador como registro de memoria interna de datos. Es decir
que cualquier instrucción común que opere sobre registros puede ser utilizada
para alterar el PCL y desviar la ejecución del programa.
Los 5 bits de mayor peso del PC que no pueden leerse ni escribirse directamente
proceden del registro PCLATH en la dirección 0Ah y 8Ah.
49
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
• El Contador de programa PC (02h y 82h)…
Ningún bit de registro indica que la pila está llena, por lo que debemos tener
50
cuidado de que no se desborde.
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
• El Registro de Estado (03h y 83h)
Algunos de estos bits los podemos cambiar manualmente a través del programa. Otros
los activa automáticamente el PIC cuando se dan ciertos procesos. Estos bits se llaman
flags (banderas). Para hacernos una idea práctica una bandera se levanta (se pone a 1)
cuando ha pasado algo, al igual que ocurre en el fútbol con los linieres.
R/W significa que el bit correspondiente se puede leer y escribir, mientras que R significa que solamente puede ser leído.
También se indica el estado que se establece tras un reset.
51
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
• El Registro de Estado (03h y 83h)…
Bit 7, IRP: Selección del banco en direccionamiento indirecto. Este bit junto con el de
más peso del registro FSR sirven para determinar el banco de la memoria de datos
seleccionado. En el PIC16X84 al disponer de dos bancos no se usa y debe
programarse como 0.
52
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
Bit 0 (flag), C (Carry). Acarreo en el 8º bit o bit de mas peso. Es el bit de "acarreo"
en operaciones de suma AADWF y ADDLW así como también el bit de "llevada"
en las instrucciones de sustracción SUBWF y SUBLW. También lo emplean las
instrucciones RLF y RRF de rotación de bits.
Suma
1. Se pone a 1 cuando se ha producido acarreo en la suma en el bit de
mayor peso con las operaciones AADWF y ADDLW.
0. Se pone a 0 si en la suma no se ha producido acarreo.
Resta
1. Se pone a 1 si en la resta no se ha producido llevada.
0. Se pone a 0 cuando se ha producido llevada en la resta con las
operaciones SUBWF y SUBLW.
54
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
• Los Registros PORTA y PORTB (05h y 06h)
Estos registros contienen los niveles lógicos de las patillas de E/S los puertos A y
B. Cada bit se puede leer o escribir según la patilla correspondiente se haya
configurado como entrada o como salida.
Conviene recordar que cualquier línea puede funcionar como entrada o como
salida. Sin embargo, si actúa como entrada la información que se introduce no
se memoriza, por lo que la información debe ser mantenida hasta que sea leída.
Si la línea actúa como salida, el bit que procede del bus de datos se guarda en la
báscula, con lo que la información que ofrece esta patilla permanece invariable
hasta que se reescriba este bit.
55
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
Los registros TRISx, también son llamados así, sirven para configurar si
los bits de cada puerto serán de entrada o de salida:
56
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
• Registro EEDATA (08h)
El registro EEADR puede direccionar como máximo 256 bytes de los cuales sólo
los 64 primeros están disponibles, con lo que los dos bits de mayor peso han de
tener el valor de '0'. 57
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
• Registro INTCON (0Bh y 8Bh)
Cada bit del registro INTCON tiene un significado concreto que se muestra en la
siguiente tabla:
58
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
• Registro INTCON (0Bh y 8Bh)…
Cada flag o bandera individual debe ponerse a cero por software. Solamente hay
un vector de interrupción en la memoria de programa (dirección 0004h), por lo que
se deben comprobar los bits de INTCON en la subrutina de interrupción para saber
cual es la fuente de la misma.
Cuando llega una interrupción, el PIC pone el bit GIE a cero, de forma que no se
perturbe el tratamiento de la interrupción en curso, debido a otras interrupciones
eventuales. Este bit se pone automáticamente a uno al terminar la subrutina de
interrupción, con la ejecución de la instrucción RETFIE.
59
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
• Registro INTCON (0Bh y 8Bh)…
60
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
• Registro INTCON (0Bh y 8Bh)…
61
UNIDAD I
1.5 Componentes del microcontrolador
1.5.1 Registros internos.
62
UNIDAD I
1.5 Componentes del microcontrolador
1.5.2 Tipos y distribución de las memorias internas.
MEMORIA:
En los microcontroladores la memoria de instrucciones y
datos está integrada en el propio chip. Una parte debe ser
no volátil, tipo ROM, y se destina a contener el programa de
instrucciones que gobierna la aplicación.
Cada posición es de 11 bits y permite guardar una copia completa del PC.
Como en toda memoria tipo pila, a los datos se accede de forma LIFO (Last In
First Out) de manera que el último en entrar es el primero en salir. El tamaño
del stack en los 16F84 es de 8 posiciones.
El Área GPR consta de 68 registros de memoria RAM que serán utilizados para
almacenar datos temporales requeridos por los programas. Comienza en la dirección
0Ch y termina en la posición 4Fh (de la 12 a la 79). Esta parte es la memoria de
registros de propósito general.
Banco 1:
Este banco tiene las mismas dimensiones que el anterior, pero su uso es menor, ya
que no tiene banco para registros de propósito general. Solamente tiene una sección
de registros especiales que van de la posición 80h a la 8Bh (de la 128 a la 139). 70
Para los PIC16F87x el mapa
de memoria RAM está
distribuido en 4 bancos o
páginas.
71
UNIDAD I
1.5 Componentes del microcontrolador
1.5.2 Tipos y distribución de las memorias internas.
EJERCICIO:
• PIC16F84
• PIC16F628A
• PIC16F873
• PIC16F877A
74
UNIDAD I
1.5 Componentes del microcontrolador
1.5.3 Periféricos
PUERTOS DE E/S
75
UNIDAD I
1.5 Componentes del microcontrolador
1.5.3 Periféricos
PUERTOS DE E/S
Cada fabricante oferta numerosas versiones de una arquitectura básica de
microcontrolador. La labor del diseñador es encontrar el modelo mínimo
que satisfaga todos los requerimientos de su aplicación, de esta forma,
minimizará el costo, el hardware y el software. Los principales recursos
específicos que incorporan los microcontroladores para el manejo de los
dispositivos periféricos, son:
• Temporizadores o ”Timers”.
• Interrupciones.
• Conversor A/D.
• Conversor D/A.
• Comparador analógico.
• Modulador de anchura de pulsos o PWM.
• Puertos de E/S digitales.
• Puertos de comunicación. 76
UNIDAD I
1.5 Componentes del microcontrolador
1.5.3 Periféricos
PUERTOS DE E/S DIGITALES
El PIC16F84 dispone de dos puertos digitales de E/S paralelos de uso general
denominados Puerto A y Puerto B:
• Puerto A
El puerto A dispone de 5 líneas de la RA0 a la RA4, en la que hay que distinguir el
pin A4 o T0CKI (Timer 0 Clock Input) que está compartida con la entrada para el
Timer 0 (TMR0) a través de un trigger Schmitt y que cuando se configura como
salida es de drenador abierto, por lo que debe colocarse una resistencia de
polarización.
• Puerto B
El puerto B dispone de 8 líneas de E/S que van desde la RB0 a la RB7 (la línea
RB0 o INT es compartida con la entrada de interrupción externa). Además, las
líneas RB4 a RB7 puede programarse una interrupción por cambio de estado de
cualquiera de estas líneas.
La datasheet especifica como configurar cada puerto y que tipo de I/O y función va a
77
desempeñar.
UNIDAD I
1.5 Componentes del microcontrolador
1.5.3 Periféricos
• Por las razones prácticas, muchos pines de E/S son multifuncionales. Si un pin
realiza una de estas funciones, puede ser utilizado como pin de E/S de propósito
general.
• Cada puerto tiene su propio registro de control de flujo, o sea el registro TRISx
correspondiente: TRISA, TRISB, TRISC, etc. lo que determina el comportamiento
de bits del puerto, pero no determina su contenido.
78
UNIDAD I
1.5 Componentes del microcontrolador
1.5.3 Periféricos
PUERTOS DE E/S DIGITALES
Puerto A
El puerto PORTA es un puerto bidireccional, de 8 bits de anchura. Los bits de
los registros TRISA y ANSEL controlan los pines del PORTA. Todos los pines del
PORTA se comportan como entradas/salidas digitales. Los primeros 5 bits
pueden ser entradas analógicas (denotadas por AN).
Puerto B
El puerto PORTB es un puerto bidireccional, de 8 bits de anchura. Los bits del
registro TRISB determinan la función de sus pines. Los primeros 6 pines de este
puerto se pueden comportar como las entradas analógicas (AN).
79
UNIDAD I
1.5 Componentes del microcontrolador
1.5.3 Periféricos
Puerto C
El puerto PORTC es un puerto bidireccional, de 8 bits de anchura. Los bits del
registro TRISC determinan la función de sus pines. Algunos pines tiene otras
funciones.
Puerto D
El puerto PORTD es un puerto bidireccional de 8 bits de anchura. Los bits del
registro TRISD determinan la función de sus pines. Similar a otros puertos,
algunos pines tiene otras funciones.
80
UNIDAD I
1.5 Componentes del microcontrolador
1.5.3 Periféricos
Puerto E
El puerto PORTE es un puerto bidireccional, de 4 bits de anchura. Los bits del
registro TRISE determinan la función de sus pines. Similar a otros puertos, un
uno lógico (1) en el registro TRISE configura el pin apropiado del puerto
PORTE como entrada. La excepción es el pin RE3, que siempre está
configurado como entrada.
Similar a los puertos PORTA y PORTB, en este caso los tres pines se pueden
configurar como entradas analógicas. Los bits del registro ANSEL determinan
si estos pines serán configurados como entradas analógicas (AN) o
entradas/salidas digitales:
81
UNIDAD I
1.5 Componentes del microcontrolador
1.5.3 Periféricos
PUERTOS DE E/S
Convertidor A/D (CAD)
PUERTOS DE COMUNICACIÓN
84
UNIDAD I
1.5 Componentes del microcontrolador
1.5.4 Instrucciones del microcontrolador
• Instrucciones de carga
• Instrucciones aritméticas
• Instrucciones lógicas
• Instrucciones de bit
• Instrucciones de salto
• Instrucciones para manejo de subrutinas
• Instrucciones especiales
85
UNIDAD I
1.5 Componentes del microcontrolador
1.5.4 Instrucciones del microcontrolador
86
UNIDAD I
1.5 Componentes del microcontrolador
1.5.4 Instrucciones del microcontrolador
REPERTORIO DE INSTRUCCIONES DEL PIC16F877.
87
UNIDAD I
1.5 Componentes del microcontrolador
1.5.4 Instrucciones del microcontrolador
REPERTORIO DE INSTRUCCIONES DEL PIC16F877.
88
UNIDAD I
1.5 Componentes del microcontrolador
1.5.4 Instrucciones del microcontrolador
REPERTORIO DE INSTRUCCIONES DEL PIC16F877.
89
UNIDAD I
1.5 Componentes del microcontrolador
1.5.4 Instrucciones del microcontrolador
REPERTORIO DE INSTRUCCIONES DEL PIC16F877.
90
UNIDAD I
1.5 Componentes del microcontrolador
1.5.4 Instrucciones del microcontrolador
Según su formato:
91
UNIDAD I
1.5 Componentes del microcontrolador
1.5.4 Instrucciones del microcontrolador
REPERTORIO DE INSTRUCCIONES DEL PIC16F877.
Según su formato:…
Veamos primero el formato de las instrucciones:…
92
UNIDAD I
1.5 Componentes del microcontrolador
1.5.4 Instrucciones del microcontrolador
REPERTORIO DE INSTRUCCIONES DEL PIC16F877.
Según su formato:…
ARQUITECTURA
RISC
35 DE INSTRUCCIONES
w es el acumulador,
f representa un registro
cualquiera y,
C, DC, Z los flags del
registro STATUS.
93
93
UNIDAD I
1.5 Componentes del microcontrolador
1.5.4 Instrucciones del microcontrolador
REPERTORIO DE INSTRUCCIONES DEL PIC16F877.
Según su formato:…
UNIDAD I
1.5 Componentes del microcontrolador
1.5.4 Instrucciones del microcontrolador
95
UNIDAD I
1.5 Componentes del microcontrolador
1.5.4 Instrucciones del microcontrolador
REPERTORIO DE INSTRUCCIONES DEL PIC16F877.
Según su formato:…
• INCF CONTADOR, 1
96
UNIDAD I
1.5 Componentes del microcontrolador
1.5.5 Distribución de terminales.
Terminales del PIC16F84
La disposición de sus terminales se muestran a continuación:
97
UNIDAD I
1.5 Componentes del microcontrolador
1.5.5 Distribución de terminales.
Terminales del PIC16F84
Patas 1, 2, 3, 17 y 18 (RA0-RA4/TOCKI): Es el PORT A. Corresponden a 5
líneas bidireccionales de E/S; es capaz de entregar niveles TTL cuando la
alimentación aplicada en VDD es de 5V ± 5%.
100
UNIDAD I
1.5 Componentes del microcontrolador
1.5.5 Distribución de terminales.
Terminales del PIC16F84
Algunas consideraciones:
• El oscilador externo es un circuito externo que le indica al
micro la velocidad a la que debe trabajar. Este circuito, que se
conoce como oscilador o reloj, es muy simple pero de vital
importancia para el buen funcionamiento del sistema. El
P1C16F84 puede utilizar cuatro tipos de reloj diferentes. Estos
tipos son:
– RC: Oscilador con resistencia y condensador.
– XT: Cristal.
– HS: Cristal de alta velocidad.
– LP.: Cristal para baja frecuencia y bajo consumo de potencia.
102
UNIDAD I
1.5 Componentes del microcontrolador
1.5.5 Distribución de terminales.
Terminales del PIC16F877, detallado de pines (#):
109
UNIDAD I
1.6 CARACTERÍSTICAS DE LA FUENTE DE ALIMENTACIÓN Y
CONSUMO DE POTENCIA DEL MICROCONTROLADOR.
TAREA:
Analizar los requerimientos de la fuente de alimentación y el consume de
potencia del uCC PIC16F877A
110
UNIDAD I
1.7 Ambiente integrado de desarrollo (IDE)
1.7.1 Ensamblador y compilador.
1.7.1.1 ENSAMBLADOR
11111000111010
1.7.1.1 ENSAMBLADOR
1.7.1.1 ENSAMBLADOR
113
UNIDAD I
1.7 Ambiente integrado de desarrollo (IDE)
1.7.1 Ensamblador y compilador.
1.7.1.1 ENSAMBLADOR
Las instrucciones del PIC16F84 y del PIC16F877 pueden procesar datos u
operandos mediante 5 modos de direccionamiento:
• Direccionamiento Inmediato
El valor del dato inmediato lo contiene el mismo código de operación
que al ejecutar la instrucción, se carga en el registro W para su
procesamiento posterior. Ejemplo: iorlw b´10101010
• Direccionamiento Directo
La dirección de la memoria RAM se encuentra en el mismo código de
operación. Ejemplo: addwf valor1,W
• Direccionamiento de Bit
Procesa datos de un bit; la dirección del dato es un bit. Ejemplo: bcf
STATUS, RP0 114
UNIDAD I
1.7 Ambiente integrado de desarrollo (IDE)
1.7.1 Ensamblador y compilador.
1.7.1.1 ENSAMBLADOR
Las instrucciones del PIC16F84 y del PIC16F877 pueden procesar datos u
operandos mediante 5 modos de direccionamiento:
• Direccionamiento Indexado
Utilizado para el manejo de tablas mediante la instrucción addwf
PCL,F
• Direccionamiento Indirecto
La dirección del dato se encuentra contenida en el registro INDF.
Cada vez que se hace referencia a éste, se utiliza el contenido del
registro FSR para direccionar el operando (el registro FSR sirve como
puntero).
Ejemplo:
FSR = 24h, movwf INDF Carga el contenido de W en la posición 24h
de la memoria RAM.
movf INDF,W Carga en W el contenido de la posición 24h de la 115
memoria RAM
UNIDAD I
1.7 Ambiente integrado de desarrollo (IDE)
1.7.1 Ensamblador y compilador.
1.7.1.1 ENSAMBLADOR
ESTRUCTURA DE UN PROGRAMA
El código fuente está compuesto por una sucesión de líneas de texto y cada línea
puede estructurarse en hasta cuatro campos o columnas separados por uno o más
espacios o tabulaciones entre sí:
117
UNIDAD I
1.7 Ambiente integrado de desarrollo (IDE)
1.7.1 Ensamblador y compilador.
1.7.1.1 ENSAMBLADOR
ESTRUCTURA VERTICAL DE UN PROGRAMA
118
UNIDAD I
1.7 Ambiente integrado de desarrollo (IDE)
1.7.1 Ensamblador y compilador.
1.7.1.2 COMPILADOR
Mediante el ejercicio #1 de la unidad (practica #1) revisar el funcionamiento del
programa Ensamblador y el Compilador en el ambiente integrado de desarrollo (IDE)
MPLAB de Microchip.
119
UNIDAD I
1.7 Ambiente integrado de desarrollo (IDE)
1.7.2 Simulador, debugger y emulador
120
UNIDAD I
1.7 Ambiente integrado de desarrollo (IDE)
1.7.3 Equipos programadores (downloaders).
Tarea #2:
121
UNIDAD I
1.7 Ambiente integrado de desarrollo (IDE)
1.8 Herramientas de desarrollo.
122
UNIDAD I
1.7 Ambiente integrado de desarrollo (IDE)
1.8 Herramientas de desarrollo.
EVALUACIÓN