Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MICROCONTROLADORES
PARTE 1
Es un circuito integrado que procesa los datos, ejecuta programas y realiza las
operaciones lógico-matemáticas de un sistema electrónico. Está formado por
un generador de frecuencia de reloj, la ALU, el bloque de decodificación-
control de instrucciones y la unidad de control. Accede a la memoria de datos a
través del bus de datos y a la memoria de programa a través del bus de
programa.
Claves conceptuales
- ALU (Arithmetic-Logic Unit)
¿Cuáles son sus diferencias?
1. El microcontrolador posee todas sus partes integradas internamente mientras que
el procesador se une a ellas externamente.
2. La velocidad de operación de un microprocesador es rápida comparado con un
microcontrolador.
3. Para que un microprocesador funcione necesita conectarse a todos sus elementos
externos, lo que lo hace de mayor tamaño a un microcontrolador.
4. El costo de un microprocesador es muy elevado en comparación con el
microcontrolador.
5. Un microprocesador actual puede alcanzar los millones de transistores mientras
que un microcontrolador posee miles.
Arquitectura de computadoras
Fabricantes de microcontroladores
• Microchip [PIC]
• Atmel (adquirida por Microchip en 2016) [AVR y ARM]
• Freescale Semiconductor (adquirida por NXP Semiconductors en 2015)
• Texas Instruments
Para investigar:
• ZiLOG - Arquitecturas CISC y RISC
• Motorola
• Intel
¿Qué es un sistema embebido?
• Es un sistema electrónico diseñado para realizar funciones dedicadas.
• Ejemplos: Tarjeta de audio, Módulo GPS, Lector de tarjetas RFID, Teclado,
Ratón, Pantalla, etc…
Lenguajes de bajo nivel
• Es aquel donde las instrucciones realizan un control directo y físico sobre los
circuitos electrónicos (hardware). Estos son: Lenguaje máquina y lenguaje
ensamblador.
• Se controlan los estados de los transistores internos del MCU con el máximo
nivel de optimización del código.
Lenguaje máquina (código máquina)
(REPASO)
Operaciones con la ALU
Operaciones lógicas
Suma en binario
• Ejercicios: Regla de la suma:
• 0+0 = 0
1. 10+101 =
• 0+1 = 1
2. 1101+100101 =
• 1+0 = 1
3. 1011011+1011010 = • 1+1 = 0 (y se acarrea la unidad a la posición de la izquierda)
4. 110111011+100111011 =
5. 10110101+110 =
6. 101010+11101 =
7. 10111011011+1100 =
8. 1110001+1101001 =
Confirme los resultados con la calculadora en modo “programador” al finalizar
Resta en binario
• Ejercicios: Regla de la resta
• 0-0 = 0
1. 111-101 =
• 1-0 = 1
2. 10001-01010 =
• 1-1 = 0
3. 10110110-1011010 = • 0-1 = 1 (y se toma prestado a la posición de la izquierda)
4. 110111011-100111011 =
5. 10110101-110 =
6. 101010-11101 =
7. 10111011011-1100 =
8. 1110001-1101001 =
Confirme los resultados con la calculadora en modo “programador” al finalizar (mire que ocurre en este caso)
Complemento a uno
• Ejercicios: • Regla del complemento a uno
Complemento a dos
• Ejercicios: • Regla del complemento a dos
Se aplica el complemento a uno y se le suma “1” al valor binario:
1. 011 =
Ejemplo:
2. 1110011 = Primero, Aplicamos complemento a uno:
3. 111010101 = 101011 = 010100
Luego, sumamos “1” al complemento a uno:
4. 01101101 =
010100 + 1 = 010101
5. 1110111 =
6. 100101011 =
7. 1001101101101 =
8. 10101101011 =
Confirme los resultados con los ejercicios de “Resta en binario”
Multiplicar en binario
• Ejercicios: Regla de la multiplicación
Dividir en binario
• Ejercicios: Regla de la división
3. 1011/1010 =
4. 11011/1011 = • Realice los ejercicios mediante restas sucesivas.
Pregunta curiosa:
¿Cómo el microcontrolador puede
trabajar con cifras decimales? Por ejemplo,
casos como este: 0.1011
Investigar: Punto flotante
Conversiones numéricas
Muy requeridas al programar:
• Binario a hexadecimal
• Hexadecimal a binario
Para practicar de forma personal:
• Decimal a binario
• Binario a decimal
• Decimal a Hexadecimal
• Hexadecimal a decimal
Confirme los resultados con la calculadora en modo “programador” al finalizar
Binario a hexadecimal
• Ejercicios: Para convertir de binario a hexadecimal:
1. 00111101 2 = • Se convierte en bloques de 4 bits el valor correspondiente al
2. 00010110(2) = valor hexadecimal.
3. 10111010(2) =
4. 11011101(2) =
5. 01010111(2) =
6. 01011011(2) =
7. 11100101(2) =
8. 11111010(2) =
Confirme los resultados con la calculadora en modo “programador” al finalizar
Hexadecimal a binario
• Ejercicios: Para convertir de hexadecimal a binario:
1. 0𝑥𝐹𝐴𝐵0(16) = • Se convierte la letra o número hexadecimal al bloque de 4 bits
2. 0𝑥235𝐹(16) = binario.
3. 0𝑥𝐹𝐹01(16) =
4. 11𝐴𝐵ℎ(16) =
5. 402𝐹ℎ(16) =
6. 1011ℎ(16) =
7. 04𝐹𝐷(16) =
8. 0𝑥1100(16) =
Volviendo a la estructura del
microcontrolador…
• ¿Qué es la frecuencia reloj (Fosc)?
• ¿Qué son los ciclos de instrucción? Un ciclo de instrucción es igual a 4 ciclos de reloj.
• Interpretar el Diagrama en bloques del microcontrolador (Datasheet PIC16F88-pág
7)
- Program Memory, instruction register, program counter, RAM, 8 Level Stack,
Address MUX, Direct Adress, Indirect Address, FSR register, STATUS reg, ALU,
MUX (ALU), Work Register, Instruction Decode & Control, Timing Generation,
Data bus.