Académique Documents
Professionnel Documents
Culture Documents
Microcontroladores: Tema1
Conceptos iniciales
Charles
Babbage
Lord
Byron
Mquinas
Analtica
Mquinas
Pensantes
Allan
Marquad
Concepto
de la
Computadora
Piercy
Shelley
Ada
Byron
Charles
Sanders
Organo
de
Conmutain
Mary
Shelley
Augustus
de
Morgan
George
Boole
Frankeystein
Microcontroladores: Tema1
Computadoras mecnicas
DeForest
Clculadora
Mecnica
Comercial
Herman
Hollerith
0.5MDD
Harvard
Iowa State
Cliford
Berry
IBM
1890
MARK1
1944
Tesis
Doctoral
Claude
Shannon
ABC
Conputer
Howard
Aiken
Mquinas
Analtica
Babbage
Allan
Turing
General
Porpuse
Computer
Microcontroladores: Tema1
Computadoras electrnicas
General
Porpuse
Turing
EDVAC
1946
John
Von
Neumann
Moore School
Remington
ENIAC
1946
Sperry
univac
IBM
Control
Data
NCR
Mauchly
Eckert
Adele
Goldstein
Primer
Lenguaje
MAIN FRAMES
Microcontroladores: Tema1
El Microprocesador
Shockley
Semiconductors
Shokley &
Bardeen
Digital
Equipment
Corp
Transistor
Fairchild
Semiconductors
Intel
(Robert Noyce)
IC
Minicomputadora
PDP-8
ETI
Corporation
Microprocesador
4004
Marcian
Hoff
La Mini
Falda
Microcontroladores: Tema1
Microcontroladores: Tema1
Caractersticas de la Computadora
Tiene la habilidad de ser programadas y operar sin
intervencin humana
Tiene la habilidad de almacenar y proporcionar informacin
Microcontroladores: Tema1
Arquitectura
BUS DE DIRECCIONES
BUS DE DATOS
BUS DE CONTROL
CPU
RAM
ROM
ENT/SAL
Mundo exterior
Microcontroladores: Tema1
CPU
Central procesing Unit
Administra la actividad del sistema
Realiza la extraccin (Fetch) y ejecucin de las instrucciones (Execute)
Es una mquina de estados que siempre realiza la misma funcin
Instrucction
Complete
EXECUTE
Halt
RESET
FETCH
HALT
-RESET
Microcontroladores: Tema1
Almacena la
instruccin
Controla
al ALU
Realiza
operaciones
10
IR
DECODE
PC
Direcciones
de memoria
Registros
Almacena
resultados
y Operandos
ALU
Microcontroladores: Tema1
11
Microcontroladores: Tema1
12
Microcontroladores: Tema1
Ciclo de Fetch
Bus de direcciones
PC = N+2
Bus de datos
IP = OPCODE
CPU
-READ
N+1
opcode
Dir
????
13
N+3
????
ram/rom
-READ
DATOS
N+2
OPCODE
Microcontroladores: Tema1
ALU
Registro
Registro
Bus interno
Acumulador
Acumulador
temporal
ALU
14
Registro de
Estatus
Microcontroladores: Tema1
Bus de Direcciones
Provee la sealizacin necesaria para accesar las
memorias y perifricos
Es unidireccional
La capacidad de direccionamiento del CPU est dado
ser de 2n localidades donde n es el nmero de lneas
del bus de direcciones
15
Microcontroladores: Tema1
Bus de Datos
Es bidireccional
Es la va por donde los datos son ledos o escritos a las
memorias y perifricos
Denota la capacidad de procesamiento del CPU
16
Microcontroladores: Tema1
Bus de Control
Microcontroladores: Tema1
Instrucciones
Cdigo de Operacin
18
Operando 1
Operando n
Microcontroladores: Tema1
Programas
19
Microcontroladores: Tema1
Perifricos
ROM
RAM
CPU
Microcontroladores: Tema1
Microprocesador (uP):
Enfocado a aplicaciones de alto volumen de
procesamiento de datos. Es empleado como el
CPU de una computadora
Microcontrolador (uC):
Aplicaciones medianas pequeas enfocadas al
control para remplazar la circuitera tradicional
SISTEMAS EMBEBIDOS
21
Microcontroladores: Tema1
Aplicaciones del uC
22
Microcontroladores: Tema1
uC
Instrucciones enfocadas al control de entradas/salidas, operaciones a nivel
bit y juego de instrucciones compacto
La idea final es que el programa quepa en el ROM interno
23
Microcontroladores: Tema1
Microcontroladores: Tema1
uC de Sabores
Arquitectura
Harvard, Von-Neumman
Tipo de instrucciones
RISC o CISC
Tecnologa de fabricacin
CMOS,NMOS etc.
25
Microcontroladores: Tema1
Microcontroladores: Tema1
Arquitectura Harvard
Tienen bus de datos de instruccin y Datos separados
(algunas inclusive de direcciones)
Realizan un pre-fetch mientras ejecutan una instruccin
Son teoricamente ms rpidas pero de mayor
complejidad.
Programa
27
Instrucciones
Datos
Direcciones
Direcciones
Control
CPU
Control
Datos
Microcontroladores: Tema1
CISC
28
Microcontroladores: Tema1
RISC
29
Microcontroladores: Tema1
uC de Sabores (cont)
30
Microcontroladores: Tema1
uC de Sabores (cont)
31
Perifricos
Puertos paralelos:
Colector abierto, Source Sink, 3-state
Puertos seriales
UART,USART,SPI,IIC,uWire,CAN
Convertidora A/D y D/A
Comparador Analgico
Timers
Microcontroladores: Tema1
uC de Sabores (cont)
32
Interrupciones
Sin interrupciones (poleo)
Vectorizacin y Priorizacin
Reset
Power on reset
Watch dog timer
Microcontroladores: Tema1
uC de Sabores (cont)
Ancho de bits
Cantidad de bits con las cuales el uC trabaja
internamente, a mayor bits, menor error en las
operaciones:
4 bits: Empleados en Electrodomsticos
8 bits: Electrodomsticos, industria
16 bits: Control digital y procesamiento
32 bits: Procesamiento.
33
Microcontroladores: Tema1
uC de Sabores (cont)
Razn de reloj y ejecucin
Cantidad de ciclos que componen el ciclo de mquina.
Cantidad de ciclos de mquina requeridos para ejecutar una
instruccin.
34
Microcontroladores: Tema1
Lenguajes de Programacin
Ensambladores
Es una representacin nmemnica del lenguaje de mquina.
Generalmente cada instruccin representa una instruccin
de mquina.
Muy rpido
Muy compacto
Es lo ms recomendable cuando se aprende un
nuevo microcontrolador
Muy dficil de mantener
35
Microcontroladores: Tema1
Lenguajes de Programacin
Interpretador de alto nivel
Es un traductor de un lenguaje de alto nivel como
BASIC o FORTH. El traductor reside como un
programa dentro del uC y ejecuta los estatutos del
leguaje en acciones sobre el hardware del uC
Muy fcil de desarrollar y mantener programas
Programas de ejecucin muy lenta.
36
Microcontroladores: Tema1
Lenguajes de Programacin
Compiladores de Alto Nivel
Convierten un lenguaje de alto nivel como el C, BASIC,
C++ en lenguaje de mquina. El lenguaje de mquina es
ejecutado directamente por el uC. Se omite el paso de la
interpretacin ya que esta se realiza por el compilador.
Muy fcil de desarrollar y mantener
Relativamente rpidos
Bueno en aplicaciones medianas grandes.
37
Microcontroladores: Tema1
Cross-assembler y Cross-compiler
Cuando el ensamblador o compilador generar cdigo que
ser ejecutado en otro dispositivo diferente al de la
plataforma de desarrollo se le agrega el prefijo cross o
cruzado para diferenciarlo. Para los microcontrolaodes
siempre se usarn cross-assemblers y cross-compilers
38
Microcontroladores: Tema1
Lenguaje C
80%
Assembler
75%
Lenguaje C++
49%
El resto de los lenguajes no figuran (fuente microcontroller.com)
39
Microcontroladores: Tema1
Lenguajes utilizados:
ENSAMBLADOR
40
ALTO NIVEL
Microcontroladores: Tema1
Las Herramientas de
desarrollo
Aparte a la programacin del uC, debemos de contar con
una herramienta que nos permita probar y encontrar
posibles errores en el cdigo: DEBUG
41
Microcontroladores: Tema1
HC05/HC08/HC11
Arquitectura Von Neumman basada en
acumulador
Set de 64 instrucciones
10 Modos de direccionamiento
64K Bytes de memoria
Instrucciones para manipulacin de bits
Multiplicacin
Versiones con mltiples perifricos
Herramientas de desarrollo econmicas
180 versiones distintas
Versiones Mask y OTP de muy bajo
costo.
42
Microcontroladores: Tema1
AVR
Arquitectura Harvard load/store
RISC
120 instrucciones
8 Mbytes de programa
I/O Mapeado en memoria
Instrucciones para manipulacin de bits
4 ciclos de reloj por instruccin
Versiones con FLASH para memoria de
programa
Bajo costo
2 modos para ahorro de energa:
Iddle y Power Down
Relativamente lentos
Herramientas de desarrollo de bajo costo
43
Microcontroladores: Tema1
H8
Arquitectura Harvard en registro y
Load/Store
57 instrucciones
Flash,OTP,EPROM hasta 32K
7 modos de baja potencia
Versiones con mltiples perifricos
Capacidad de DMA
Herramienta de desarrollo de bajo costo
disponible por Hitachi
Costo adecuado para el tipo de
aplicacin.
44
Microcontroladores: Tema1
Z8
Arquitectura Harvard basada en
registros, accesmo a memoria con
Load/store
Todas las instrucciones se ejecuta en 5
ciclos de reloj (Z8 plus)
50 instrucciones bsicas
Proteccin del Roll/over
2 modos de baja potencia: Halt y Stop
Versiones con mltiples perifricos
POR y Brownout
Comparador de voltaje
Emuladores de muy bajo costo con Zilog.
45
Microcontroladores: Tema1
8051
Arquitectura Harvard II basada en
acumulador
255 Instrucciones
64K ROM
2 modos de ahorro de energa
Instrucciones para manipulacin de bits
Multiplicacin y Divisin
12 ciclos de reloj por instruccin
256 bytes de ram interna
4 bancos de registros
Stack pointer en ram interna
Muy popular, existen muchas
herramientas de dominio pblico
Segundas fuentes
46
Microcontroladores: Tema1
Microcontroladores: Tema1
Ubiquidad
Automvil medio nivel = 50 microcontroladores
49
Microcontroladores: Tema1
Porcentaje delpor
Participacion
Mercado
marca
http://www.emittsolutions.com/images/microcontroller_market_analysis_2008.pdf
50
Microcontroladores: Tema1
Mercado Laboral
El estado de Jalisco requiere el prximo ao 2500
profesionales que sepan disear y programar
microcontrolares (Datos de COECYTJAL).
51
Microcontroladores: Tema1
Bases Numricas
Un sistema numrico puede ser construido usando potencias
de cualquier base como dgitos
El nmero de simbolos necesarios para un sistema numrico
es igual a la base del nmero
53
Microcontroladores: Tema1
Sistema Decimal
10-1 10-2
54
Microcontroladores: Tema1
Sistema Binario
Sistema binario tiene como base el 2
Utiliza por lo tanto 2 smbolos, el 0 y el 1
Los nmeros binarios son generalmente llamados palabras
binarias (binary words).
Existen algunas palabras binarias que han adoptado nombres:
Palabra de 4 bits = nibble
Palabra de 8 bits = byte
Palabra de 16 bits = word
Palabra de 32 bits = doubleword
Palabra de 64 bits = long
55
Microcontroladores: Tema1
Sistema Binario
El digito ms a la derecha es llamado
BIT MENOS SIGNIFICATIVO o LSB
El digito ms a la izquierda es llamado
BIT MAS SIGNIFICATIVO o MSB
Ejemplo:
1010
MSB
56
LSB
Microcontroladores: Tema1
Sistema Binario
Representacin en potencias:
57
23
22
21
20
2-1
2-2
Microcontroladores: Tema1
Sistema Binario
Para convertir un nmero binario en decimal, se multiplica
cada digito por el valor decimal del dgito y se suman.
23
22
21
20
2-1
2-2
58
Microcontroladores: Tema1
Sistema Hexadecimal
En el rea de computacin, el sistema Hexadecimal (base
16) es muy usado por tener una representacin ms
compacta que es ms fcil de recodar que un nmero
binario.
59
Microcontroladores: Tema1
Sistema Hexadecimal
Para convertir un nmero binario en Hexadecimal,
forman grupos de 4 bits partiendo del bit menos
significativo Cada grupo puede ser representado con un
smbolo hexadecimal del 0 al F.
60
Microcontroladores: Tema1
Sistema Hexadecimal
Ejemplo: El nmero 10100011
1 0 1 0 0 0 1 1
A
61
Binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Hex
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Microcontroladores: Tema1
Cdigo BCD
El Cdigo BCD (Binary Coded Decimal) utiliza un
un cdigo binario de 4 bits para representar cada
digito decimal en un nmero
Es empleado en sistemas donde se requiere desplegar
o leer informacin proporcionada por un humano.
En un subset del Hexadecial donde los digitos A al
F no son vlidos
62
Microcontroladores: Tema1
Cdigo BCD
Ejemplo: El nmero 010100101001
010100101001
Microcontroladores: Tema1
Cdigo ASCII
ASCII es: American Standard Code for Information
Interchange.
Diseado como un estndar para comunicacin entre
computadoras donde cada byte representa un caracter
imprimible en pantalla (un alfabeto) o de control.
El estandar original cuenta con 128 caracteres (7 bits)
http://www.asciitable.com/
64
Microcontroladores: Tema1
NOT
Y=A
A
0
1
65
Y
1
0
Microcontroladores: Tema1
AND , NAND
Y=AB
A
0
0
1
1
B
0
1
0
1
Y=A B
Y
0
0
0
1
Y
1
1
1
0
A
B
A
B
66
AND
NAND
Microcontroladores: Tema1
OR , NOR
Y=A+B
A
0
0
1
1
B
0
1
0
1
Y
0
1
1
1
Y=A+B
Y
1
0
0
0
A
B
A
B
67
OR
NOR
Microcontroladores: Tema1
XOR , XNOR
Y=AB
A
0
0
1
1
B
0
1
0
1
Y
0
1
1
0
Y
1
0
0
1
Y=AB
A
B
A
B
68
XOR
XNOR