Professional Documents
Culture Documents
ORGANIZACIN
INTERNA DE LOS
MICROCONTROLADO
RES
Microcontroladores
1
FAMILIA DE MICROCONTROLADORES
MSP430
USB
Radio Frecuencia (RF)
Manejador de
despegadores de cristal
lquido (LCD)
Convertidores ADC
sigman delta
Moduladores de ancho
de pulso (PWM)
Comparadores
Comunicaciones seriales
(I2C, LIN/IrDA, UART)
Teclado Capacitivo
FAMILIA DE MICROCONTROLADORES
MSP430
26/09/2012
Mediciones:
www.ti.com/430metering
Comunicaciones
inalmbricas:
www.ti.com/430medical
Teclados capacitivos:
www.ti.com/cc430
Data Logging:
www.ti.com/fram
www.ti.com/chronos
Energy Harvesting:
www.ti.com/energyharves
ting
Control de Motores:
www.ti.com/motorcontrol
Seguridad:
www.ti.com/430security
HERRAMIENTAS DE DESARROLLO
TI suministra un
conjunto de
herramientas para
hacer desarrollos
en el MSP430Ware
La pgina donde se
encuentra
informacin es:
www.ti.com/msp43
0ware
Facilidad de uso en el
llamado a perifricos
Incluyen convertidores,
temporizadores,
comunicaciones seriales y
mas
Se tienen soporte para las
familias MSP430F5xx y
F6xx
Documentacin completa
con un API grfica
Marca y cdigo libre
Se tiene un api (GRACE)
par la configuracin de
perifricos
10
GRACE
Grace permite generar rpidamente y
documentar programas en C
Facilita la configuracin de los perifericos
11
12
26/09/2012
HERRAMIENTAS DE SOFTWARE
EL MSP-EXP430G2 LAUNCHPAD
El MSP-EXP430G2
LaunchPad development kit
suministra todo el hardware
y software necesario para
inciar
Soporta toda la lne de
MCUs MSP430G2xx
www.ti.com/launchpad
Caracteristicas:
Emulador en la tarjeta
20-pin DIP Socket
2 on-board LEDs and 2 onboard switches
El Kit incluye, el cable USB,
la guia de inicio rpido
2x 10-pin male and female
headers
Trae 2 MSP430 MCUs
13
14
TARJETAS DE DESARROLLO
15
TARJETAS DE DESARROLLO
16
TARJETAS DE DESARROLLO
17
18
26/09/2012
EMPAQUES
PROGRAMA UNIVERSITARIO
19
20
21
22
MSP430G2452IN20
23
24
26/09/2012
MSP430G2231
25
TERMINALES MSP430G2231
26
TERMINALES MSP430G2231
27
28
ESPACIO DE MEMORIA
REGISTROS ESPECIALES
El MSP430 utiliza
una arquitectura tipo
von-Newmann que
tiene un espacio de
memoria compartido
entre registros de
funciones especiales
(SFRs), perifricos,
RAM y memoria
Flash/ROM
Puede direccionar
hasta 128kB
29
26/09/2012
MEMORIA
El inicio de direcciones de la
memoria Flash/ROM
depende de la cantidad de
memoria del dispositivo. El
fin es 0x1FFFF
la memoria Flash puede ser
usada para mantener dados
o programa ya que se
pueden almacenar tablas
sin necesidad de copiarlas a
RAM
El vector de interrupciones
es mapeada in las 16
palabras superiores del
espacio de direcciones
flash/ROM. La de mayor
prioridad es la que se
encuentra en 0X1FFFF
REGISTROS PC
31
32
33
34
REGISTRO DE ESTATUS
El registro de estatus
(SR/R2) es de 16 bits y
es usado como fuente
o destino
Puede ser usado como
modo de
direccionamiento de
registro con
instrucciones en
formato de palabra
35
36
26/09/2012
REGISTRO DE ESTATUS
REGISTRO DE ESTATUS
15
14
13
12
11
10
37
SCG1
SCG0
5
OSCOFF
4
CPUOFF
3
GIE
2
N
1
Z
0
C
Description
SCG1
SCG0
OSCOFF
CPUOFF
GIE
Negative flag. N = 1
Zero flag. Z = 1
Carry flag. C = 1
38
La instruccin:
CLR dst
Es emulado por el operador
MOV R3,dst
Donde #0 es remplazado por el
esamblador, y R3 es usado con
As=00.
La instruccin
INC dst
Es reemplazado por:
ADD 0(R3),dst
No requiere instrucciones
especiales
No requiere palabras de
cdigo para las 6 constantes
No requiere acceso a memoria
para tomar el dato
39
MODOS DE DIRECCIONAMIENTO
El direccionamiento es
necesario para dirigir al
procesador la localizacin
correcta
Los modos de
direccionamiento son la
maneras en las cuales las
instrucciones indican la
direcciones
Los 12 regsitros de R4 a
R15 pueden contener
datos de 8 bits, 16 bits o
20 bits
Cualquier dato de byte
escrito al CPU limpia
los bits 19:8
Cualquier dato de
palabra limpia los bits
19:16
La instruccin SXT
extiende el signo a
travs de los 20 bits del
registro
40
MODOS DE DIRECCIONAMIENTO
Modo Registro
Modo Indexado
Modo simblico
Modo absoluto
Modo indirecto
Modo autoincremental
indirecto
Modo inmediato
41
42
26/09/2012
MODO REGISTRO
MODO INDEXADO
43
MODO INDEXADO
44
MODO SIMBLICO
45
MODO SIMBLICO
46
MODO ABSOLUTO
47
48
26/09/2012
MODO ABSOLUTO
MODO INDIRECTO
49
MODO INDIRECTO
50
51
52
MODO INMEDIATO
53
54
26/09/2012
MODO INMEDIATO
EL CONJUNTO DE INSTRUCCIONES
Son 27 el conjunto de
instrucciones del
MSP430
Las 24 instrucciones
emuladas expanden las
capacidades del CPU, se
reemplazan
automticamente
cuando se compila
Son 3 los formatos de las
instrucciones
55
Src
dst
56
S-reg
Operando dual
Un solo operando
Salto
Las instrucciones
pueden ser en formato
de byte o palabra (.B o
.W)
En byte se usa para
tomar los datos de los
perifricos
Las instrucciones de
palabra se usan para
tomar datos con este
formato, es la
configuracin por
default
As
AD
D-reg
B/W
57
58
59
60
10
26/09/2012
INSTRUCCIONES EMULADAS
61
62
63
64
65
66
REFERENCIAS
[1]
[2]
Los 12 registros de R4 a
R15 pueden contener
datos de 8 bits, 16 bits o
20 bits
Cualquier dato de byte
escrito al CPU limpia
los bits 19:8
Cualquier dato de
palabra limpia los bits
19:16
La instruccin SXT
extiende el signo a
travs de los 20 bits del
registro
11
26/09/2012
GENERADOR DE RELOJ
DCOCTL (Digitally
Controlled Oscilator Control
Register)
BCSCTL1 y BCSCTL1 (Basic
Clock System Control
Registers)
En el registro DCOCTL se
divide en 2 partes:
DCOx (bits 7 a 5) Selecciona
la frecuencia del DCO
definidos en el registro
RSELx
MODx (bits 4 a 0) Define que
tan seguido se usa la
frecuencia fDCO+1 que puede
ser usada como periodo de 32
DCOCLK ciclos, no se usa
cuando DCOx=7
67
69
68
70
WATCHDOG TIMER
71
El registro de
Watchdog timer es
controlado por el
registro WDTCTL y
se divide en 8
secciones
72
12
26/09/2012
TIMER
73
74
EJEMPLO 1 EN ENSAMBLADOR
;*******************************************************************
************
.cdecls C,LIST,"msp430g2231.h" ; Include device header file
;------------------------------------------------------------------------------.text
; Progam Start
;------------------------------------------------------------------------------RESET
mov.w #280h,SP
stackpointer
StopWDT
SetupP1
; Initialize 'x1121
; P1.0 output
push #0001
;
Mainloop xor.b #001h,&P1OUT
Wait
L1
mov.w #050000,R15
dec.w R15
jnz
jmp
; Toggle P1.0
; Delay to R15
; Decrement R15
L1
; Delay over?
Mainloop
; Again
;
;------------------------------------------------------------------------------;
Interrupt Vectors
;------------------------------------------------------------------------------.sect ".reset"
.short RESET
75
.end
76
77
13