Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ing.Ricardo Vega
ingRicardovega@hotmail.com
Al término del curso, el alumno será
capaz de:
Explicar el funcionamiento de los
microcontroladores, a partir del análisis
de su arquitectura.
Desarrollar programas en lenguaje
ensamblador con base en las
arquitecturas de microcontroladores
estudiadas.
Desarrollo de subrutinas matemáticas
con base en las arquitecturas de
microcontroladores estudiadas.
Identificar distintas aplicaciones de los
microcontroladores.
Criterios de evaluación
Parcial:
Tareas 20%
Practicas 30%
Examen 50%
Semestral
Primer parcial 20%
Segundo parcial 20%
Tercer parcial 20%
Proyecto final 20%
Semestral 20%
1. MICROCONTROLADORES
1. Introducción.
2. Comparación entre microcontrolador
y microprocesador.
3. Arquitectura de microcontroladores.
4. Microcontroladores pic
1. Descripción de la familia
2. Pic16f84a
1.1 Introducción
Es un circuito integrado programable, capaz de
ejecutar las órdenes grabadas en su memoria.
En el caso de los
microcontroladores
tienen una
arquitectura
destinada a procesos
1.2 Arquitectura de
microcontroladores
Un microcontrolador posee todos los
componentes de un computador, pero con
algunas características fijas que no pueden
alterarse. Las partes principales de un
microcontrolador son:
Procesador.
Memoria no volátil para contener el
programa.
Memoria de lectura y escritura para
Recursos auxiliares:guardar datos.
Líneas
• Circuito de reloj. de E/S para controlar los
• Temporizadores.periféricos:
• Perro guardián. • Comunicación paralelo.
• Conversores AD y DA• Comunicación serie.
• Diversos puertos de comunicación.
• Comparadores analógicos.
• Protección contra fallos de
alimentación.
• Estado de reposo o de bajo
Unidad Aritmética Lógica ALU
Esta compuesta por un circuito combinacional
complejo que se encarga de realizar las
operaciones aritméticas (suma, multiplicación...),
lógicas (AND, OR...) desplazamientos, etc.
Como se
utiliza: Normalmente uno de
los datos de entrada proviene
del registro acumulador
(ACUM) y el otro de un
registro interno, una posición
de memoria o como literal de
la propia instrucción.
Arquitectura
Reloj
Para que el microprocesador genere todas las
señales necesarias para controlar los restantes
bloques del sistema y para que todo el sistema
esté sincronizado (que cada elemento funcione
cuando le corresponde), se parte de ondas
cuadradas de frecuencia constante generadas
normalmente por un cristal de cuarzo.
end
El direccionamiento
Para el PIC solamente existen 4 modos de
direccionamiento, entre los cuales, tres de
ellos ya fueron vistos de manera intuitiva
cuando vimos las instrucciones. Los modos de
direccionamiento tratan sobre la forma de
mover los datos de unas posiciones de
memoria a otras.
Direccionamiento Inmediato
Direccionamiento Directo
Direccionamiento bit a bit
Direccionamiento Indirecto
Direccionamiento Inmediato
El dato manipulado por la
instrucción se codifica con la propia
instrucción. En este caso, el dato en
cuestión se denomina literal.
MOVLW k ;
BCF f,b ;
10ms
20ms
5000ms
1000ms
Practica 1
Ejercicio 4
Realizar un programa que lea el RA0
y por cada cambio de estado de
este el RB0 cambiara de estado, es
decir, prenderemos y apagaremos
un led con el botón.
Ejercicio 5
Reste dos registros. (8 bits)
Tarea no
Reste 4 registros. (16 bits)
Ejercicio 6
Multiplicar dos registros. (8 bits)
Tarea 4
Multiplicar 4 registros. (16 bits)
Practica 2
La pila
La pila es una estructura de datos con
organización LIFO: lo último que entra a la pila
es lo primero que sale de ella.
La pila tiene una base y un tope. En la base
esta el elemento mas antiguo, mientras que
en el tope esta el dato mas reciente.
La pila tiene un puntero de pila o registro SP
(Stack Pointer).
El SP contiene siempre la dirección del tope de
la pila. Las operaciones de almacenamiento y
extracción de datos de la pila modifican el
contenido del registro SP. Por ejemplo, al
guardar o extraer un dato de la pila el SP se
puede incrementar o decrementar.
La pila
La pila se utiliza para almacenar direcciones
de instrucciones y datos, en concreto, para
recordar la dirección de retorno al programa
principal desde una subrutina.
En los microcontroladores PIC de gama media,
la pila tiene características muy particulares:
La pila se encuentra en un espacio de
memoria separada de los espacios de
memoria de programa y datos.
◦ No existe el registro SP.
◦ En la pila solo se guardan direcciones.
◦ El tamaño de la pila es limitado: puede guardar
hasta 8 direcciones.
Subrutinas
Una subrutina es un conjunto de
instrucciones al que se tiene acceso desde
cualquier punto del programa principal. Es
decir, una subrutina es un subprograma
que se ejecuta cada vez que el programa
principal lo necesita.
Programa
Principal
proceso
Llamada al
proceso
return
Llamada al
proceso
Subrutinas anidadas.
Cuando una subrutina llama a otra subrutina se
produce la situación conocida como anidamiento de
subrutinas, es decir, hay subrutinas anidadas dentro
de otras. Cada call sucesivo sin que intervenga un
Program return crea un nivel adicional de anidamiento.
a
Principal Subrutin Subrutina
Subrutin
a1 a2 3
Llamada a
Subrutina Llamada a Llamada a pila
1 Subrutina Subrutina
x1
pila
2 return x1
3 x2
pila
x2 pila
x3 x1 x3
x1
return return x2
Instrucciones call y return
La localización de una subrutina se identifica por la
dirección de su primera instrucción. El efecto de la
instrucción call es provocar que la ejecución se
transfiera a la subrutina. De esto se desprende que
la instrucción call contenga la dirección de la
primera posición de memoria ocupada por la
subrutina.