MICROCONTROLADORES : COMPILADOR MPLAB...
Transcript of MICROCONTROLADORES : COMPILADOR MPLAB...
-
ING. YESID EUGENIO SANTAFE RAMON
DOCENTE PROGRAMA DE INGENIERIA
ELECTRONICA
MICROCONTROLADORES : COMPILADOR
MPLAB 16FXX, UNA INTRODUCCION.
-
P
[] Tendencias
In the Office
Video Walls &
Virtual-Real
Meetings
Foldable Workstations
3D Design
In the Home
Medical Mirror
Immersive TV
Call My-Agent
Creative Spaces
In Transport Systems
Navigation
Systems
Driver Assistance
-
Prsentat
ion
Tendencias
Satellite
Global
Suburban Urban
In- Building
Pico-Cell
Micro-Cell
Macro-Cell
Home-Cell
Seamless & Rich Connectivity
Intelligent EnvironmentsAnthropocentric Interfaces
Ambiente inteligente
-
MICROCONTROLADORES PIC :
Los microcontroladores PIC 16F84, al igual que el resto
de los microcontroladores de la actualidad, estn
diseados con la arquitectura Harvard. La arquitectura
Harvard dispone de dos memorias independientes;
una que contiene slo instrucciones, y otra donde se
almacenan los datos. Ambas memorias cuentan con
sus respectivos sistemas de buses de acceso y es posible
realizar operaciones de acceso (lectura o escritura)
simultneamente en ambas memorias.
-
Entre las principales caractersticas del PIC 16F84 podemos
destacar:
Voltaje de alimentacin: 5VCC.
CPU RISC
Circuito Integrado de 18 pines.
13 Pines de configurables como Entrada o Salida.
Frecuencia operacin mxima: 10 Mhz.
Memoria Flash: 1 Kbytes
Memoria de Datos: 68 bytes
Memoria de Datos EEPROM: 64 bytes
1 Temporizador interno de 8 bits.
3 Interrupciones.
-
Estructura de un microcontrolador
Bsicamente, un microcontrolador esta compuesto por los
siguientes componentes:
Procesador o CPU (del ingls Central Prossesing Unit o
Unidad Central de Proceso).
Memoria para el programa tipo ROM.
Memoria RAM para contener los datos.
Lneas de E/S para comunicarse con el exterior.
Diversos mdulos para el control de perifricos
(temporizadores, Puertas Serie y Paralelo,
CAD: Conversores Analgico/Digital, CDA: Conversores
Digital/Analgico, etc.).
-
Actualmente, existen 3 tipos de arquitectura de procesadores:
CISC (Computadores de Juego de Instrucciones Complejo):
Disponen de ms de 80 instrucciones en su repertorio, algunas de las cuales
son muy sofisticadas y potentes, requi -
riendo muchos ciclos para su ejecucin. Una ventaja de los procesadores CISC es
que
ofrecen instrucciones complejas que actan como macros.
RISC (Computadores de Juego de Instrucciones Reducido): En estos
procesadores el repertorio
de instrucciones es muy reducido y las instrucciones son simples y generalmente
se
ejecutan en un ciclo. La ventaja de stos es que la sencillez y rapidez de las
instrucciones
permiten optimizar el hardware y el software del procesador.
-
SISC (Computadores de Juego de Instrucciones Especfico): En los
microcontroladores destinados a aplicaciones muy concretas, el
juego de instrucciones, adems de ser reducido,
es "especfico", o sea, las instrucciones se adaptan a las necesidades
de la aplicacin prevista.
-
PIC 18F452
-
DISTRIBUCION DE PINES
-
El pic16f84 puede direccionar 128 posiciones de memoria RAM,
pero solamente tiene implementado fsicamente los primeros 80
(0 a 4Fh). De estos los primeros 12 son registros que cumplen un
propsito especial en el control del microcontrolador y los 68
siguientes son de registro general que se pueden usar para guardar
los datos temporales de la tarea que se ha ejecutado. Los registros
estn arganizados como dos bancos (pginas) de 128 posiciones de
8 bits cada una (128 x 8); todas las posicionezs se pueden accesar
directa o indirectamente (estas ultimas a travs del registro FSR).
Para seleccionar que pagina de registro se trabaja en un momento
determinado se utilliza el bit RPO del registro STATUS
-
INTCON (controla las interrupciones), Direccin 0Bh. Se estudia
bit a bit:
RBIF (Flag de interrupcin por cambio de PORTB) Direccin
INTCON,0 (bit 0) se pone a "1" cuando alguno de los pines RB4,
RB5, RB6, o RB7 cambia su estado. Una vez que est a "1" no pasa
a "0" por si mismo: hay que ponerlo a cero por programa.
INTF (Flag de interrupcin de RB0) Direccin INTCON,1. Si est
a "1" es que ha ocurrido una interrupcin por RB0, si est a "0" es
que dicha interrupcin no ha ocurrido. Este bit es una copia de
RB0.
-
TOIF (Flag de interrupcin por desbordamiento de TMR0)
Direccin INTCON,2. Cuando TMR0 se desborda este Flag avisa
poniendose a "1". Poner a "0" por programa.
RBIE (Habilita la interrupcin por cambio de PORTB) Direccin
INTCON,3. Si est a "1" las interrupciones por cambio de
PORTB son posibles.
INTE (Habilita la interrupcin por RB0) Direccin INTCON,4. Si
lo ponemos a "1" la interrupcin por RB0 es posible
TOIE (Habilita la interrupcin por desbordamiento de TMR0)
Direccin INTCON,5. Si este bit esta a "1" la interrupcin por
desbordamiento de TMR0 es posible.
-
EEIE (Habilita la interrupcin por fin de escritura en la EEPROM
de datos) Direccin INTCON,6. Cuando este bit est a "1" la
interrupcin cuando acaba la escritura en la EEPROM de datos es
posible.
GIE (Habilita las interrupciones globalmente) Direccin
INTCON,7. Este bit permite que cualquier interrupcin de las
anteriores sea posible.
-
EL OSCILADOR EXTERNO.
-
ORGANIZACIN DE LA MEMORIA DE PROGRAMA La memoria de datos tiene mayor tamao, aqu se tienen 32 rejistros de proposito general (mapa de memoria hasta 2Fh)
-
ORGANIZACIN DE LA MEMORIA DE DATOS
La memoria de datos es del tipo SRAM. Cada registro en la memoria de datos tiene una direccin de 12 bits, permitiendo hasta 4096 bytes de memoria de
datos. El mapa de memoria de datos esta dividido en 16 bancos que contienen 256 bytes cada uno. Los 4 bits de menos peso del Registro de seleccin de bancos
(BSR) seleccionan a cul banco se desea acceder. La memoria de datos contiene Registros de propsito especial SFR y registros de propsito general GPR. Los
FSRs inician en la ltima localizacin del banco 15 (0xFFF) y se extienden de ah en adelante. Los GPR inician en la primera localizacin del banco 0.
-
INTRODUCCION AL COMPILADOR MPLAB
DE MICROCHIP
Introduccin a la programacin en ensamblador
Entorno de desarrollo MPLAB-IDE
Ejemplos y ejercicios
-
Cuando compramos un microcontrolador, la memoria del mismo
se encuentra vaca y para que funcione
es necesario que sea programado, es decir que, el desarrollador
debe escribir un programa que contenga
todos los procesos que el microcontrolador debe ejecutar.
Este programa se escribe en un lenguaje llamado Assembler
(ensamblador) cuya principal caracterstica es su alta complejidad
ya que se trata de un lenguaje de bajo nivel, es decir, que se
encuentra ms cercano al lenguaje de la mquina que del
lenguaje humano.
-
.Algunas de las convenciones ms utilizadas son:
Los ficheros de cdigo fuente llevarn la extensin *.ASM o
*.SRC
Los ficheros de listado llevarn la extensin *.LST
Los ficheros de cdigo objeto llevarn la extensin *.OBJ Los
ficheros ejecutables llevarn la extensin *.HEX
Los ficheros de errores de ensamblado llevarn la extensin
*.ERR
Los nemnicos escritos en maysculas hacen que el cdigo
escrito sea ms visible. Comentarios explicando cada lnea de
cdigo. El espacio entre caracteres se escribe _. RB0_ES_1 es
ms fcil de leer que RB0ES1.
-
Set de Instrucciones del PIC16F84
Para entender mejor cada instruccin se explica a continuacin el
significado de algunos parmetros:
f: Registro al que afecta la instruccin
W: Acumulador (Working register)
b: Nmero de bit (hay instrucciones que afectan a un solo bit)
k: constante (un nmero)
d: seleccin de destino del resultado de la instruccin, puede ser
"0" o "1", si es "0" el resultado se guarda en el acumulador (W) y
si es "1" se guyarda en el registro f al que afecta la instruccin.
-
ENTORNO DE PROGRAMACION DEL COMILADOR
MPLAB
APRENDAMOS HACIENDO!
-
ENTORNO DE PROGRAMACION DEL COMILADOR
MPLAB
APRENDAMOS HACIENDO!
-
Cmo se configuran los registros que intervienen en una
interrupcin externa ?
Pasos:
1 paso:
Como las interrupciones de este microcontrolador
estn vectorizadas en una sola posicin de memoria, hay que
poner la direccin de la interrupcin (0004h), que es donde
va a ir a buscar la instruccin de salto (goto), que conducir
al microcontrolador al programa de tratamiento de la
interrupcin.
-
2paso:
Se configura el registro OPTION_REG y en concreto se eligir el
tipo de flanco: ascendente o descendente.
El bit 6 de este registro, llamado INTEDG, se cargar con 1 para
elegir flanco ascendente y 0 para flanco descendente.
Yo he elegido flanco descendente.
3paso:
Se configura el registro relacionado con el software de la
interrupcin /Int.
El registro y los bits son:
INTCON: bit 7 (GIE)= Activacin global de interrupciones = 1=
permiso concedido.
-
bit 4 (INTE)= Activacin de la interrupcin externa = 1= activada.
Cmo sabremos si se ha producido una interrupcin externa, /Int
Toda interrupcin, si est activada, al producirse provocar la
activacin de las llamadas banderas o bits, que al ser examinados nos
descubrirn si sea producido una interrupcin.
La bandera o bit de la interrupcin /Int, est en el registro
INTCON, y es el bit 1, llamado INTF. Un 1 en l nos indica que sea
producido una interrupcin.
Esta bandera hay que bajarla, o sea, ponerla a cero por
software para saber si se ha producido una peticin de interrupcin
posterior
-
Manejo de Display
-
Pantalla LCD
-
Regulador lumnico mediante el control de
la fase.