Professional Documents
Culture Documents
MICROCONTROLADORES DE TEXAS
Freescale, respetivamente ahora se vern los fabricados por Texas Instruments. Para este
Caractersticas 1 2 3 4 5
MSP430F1132 MSP430F1232 MSP430F2013 MSP430F2272 MSP430F2274
Memoria de 8KBX16 8KBX16 2KBX16 32KBX16 32KBX16
Programa (ROM)
FLASH
Memoria RAM 256 X 16 256 X 16 128 X 16 1K X 16 1K X 16
Pines de I/O 14 22 10 32 32
Oscilador Interno S1 S1 S1 S1 S1
Tipo de Empaque TSSOP/QFN TSSOP/QFN DIP/ TSSOP TSSOP/QFN TSSOP/QFN
Numero de Pines 20 28 14 38 38
1
Texas Instruments [Internet] [consultado 26 Agosto de 2011] [Hora 9:33]. Disponible en
http://www.ti.com/lit/ds/symlink/msp430f1132.pdf p. 11.
2
Ibid., p. 11.
3
Texas Instruments [Internet] [consultado 26 Agosto de 2011] [Hora 9:33]. Disponible en
http://www.ti.com/lit/ds/symlink/msp430f2013-ep.pdf p. 8.
4
Texas Instruments [Internet] [consultado 26 Agosto de 2011] [Hora 9:33]. Disponible en
http://www.ti.com/lit/ds/symlink/msp430f2272.pdf p. 18.
5
Ibid., p. 18.
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
181
Siendo as seleccionado el MSP430F2272, pues es un microcontrolador poderoso; para
desarrollar las mismas aplicaciones que se realizaron en los captulos 3 y 4 es decir en los
lector podr observar que estas aplicaciones pueden servir para los otros mencionados que se
analizaron en la tabla 25, solo hay que tener en cuenta el mapa de memoria de cada uno.
cada uno de ellos y de esa forma se aprecia que son muy parecidos.
Tabla 28. Comparacin entre los Microcontroladores PIC 18F4550, MC9S08GT60 y el MSP430F2272
5.2. MSP430F2272
En la figura 54 se muestra el mapa de memoria. El lector podr interpretar y explorar todas las
asembler, para tal motivo se explicaran algunos de los registros que posee este
microcontrolador, sin embargo para mayor informacin se puede consultar el data sheet:
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
182
6
Figura 53. Distribucin de pines del MSP430F2272.
7
Figura 54. Distribucin de Memoria del MSP430F2272.
Este tipo de microcontroladores tienen 16 registros acumuladores, con los cuales se evita el
cuello de botella al tener uno o dos de ellos. Estos registros pueden ser usados para propsito
6
Ibid., msp430f2272.pdf . p. 3.
7
Ibid., msp430f2272.pdf . p. 3.
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
183
8
Figura 55. Parte de la CPU del MSP430F2272.
estado de las operaciones. Este registro es muy similar el registro STATUS y al CCR en los
8
Ibid., msp430f2272.pdf . p. 43.
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
184
BIT 7 - 6: SCG1- SCG0 SISTEMA GENERADOR DE RELOJ
en cuatro Puertos (Port1, Port2, Port3, Port4), el Puerto 1 tiene 8 un bits, el Puerto 2 tiene 8, el
Puerto 3 tiene 8 bits, el Puerto 4 tiene 8 bits. Para el control de los Puertos de entrada o salida
tiene los registros de control, P1DIR, P2DIR, P3DIR, P4DIR, los cuales controlan
respectivamente cada puerto. Para programar una lnea de salida se le garantiza uno (1) y para
programarla de entrada se le garantiza cero (0). Es importante aclarar que es lo contrario de los
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
185
5.4. SET DE INSTRUCCIONES.
necesario ver las instrucciones. En el capitulo 3 se mencion que este fabricante esta en el
grupo RISC. En la tabla 28 se muestran las instrucciones; las cuales fueron tomadas del
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
186
CALL dst Llamado a un Subturina (dst) - - - -
RET Retorna de una Subrutina - - - -
JEQ/JZ Label Salta a una etiqueta (Label) si el bit Zero es Uno - - - -
JNE/JNZ Label Salta a una etiqueta (Label) si el bit Zero es Cero - - - -
JC Label Salta a una etiqueta (Label) si el bit Carry es Uno - - - -
JNC Label Salta a una etiqueta (Label) si el bit Carry es Cero - - - -
JN Label Salta a una etiqueta (Label) si el bit Negative es Uno - - - -
JGE Label Salta a una etiqueta (Label) si (N XOR V) es Cero - - - -
JL Label Salta a una etiqueta (Label) si (N XOR V) es Uno - - - -
JMP Label Salta a una etiqueta (Label) incondicional - - - -
Donde:
src = Fuente dst = Destino
- = Ningn Bit del Status es afectado 0 = Un Bit del Status es puesto en CERO
* = Algn Bit del Status es afectado 1 = Un Bit del Status es puesto en UNO
En las instrucciones que tienen (.B), esta se pueden usar para hacer operaciones en 8 bits, al
poner en .b en la instruccin.
5.5. PROGRAMACIN.
Para el desarrollo de las aplicaciones en Texas se siguen los mismos pasos de programacin,
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
187
Para programar y simular los programas de los microcontroladores de Texas se usara
CodeComposer versin 4.0, sin embargo en otra versin superior seria prcticamente los
mismo.
CodeComposer.
Paso 2. Hacer un diagrama de conexiones. Hay que decir en cual de las 32 lneas de In/Out, del
esta conectado el led, el lector entender que hay que alimentar el microcontrolador.
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
188
Paso 3. Hacer el diagrama de flujo. De acuerdo al diagrama de conexiones planteado en el
punto anterior. Hay que programar P3.5 como salida para el led. Ver diagrama 39.
INICIO
Llamar TIEMPO
Llamar TIEMPO
Para estos microcontroladores la rutina tiempo es mas sencilla, pues como se tienen registros de
16 bit con un solo registro se puede hacer una rutina suficiente para ver prender y apagar el led,
recodar que 216 = 65536 a diferencia de 28 = 256, ya con esto el lector entender que es mas
suficiente. Ver diagrama 40. Recordar que estos microcontroladores tienen 15 registros que se
pueden usar como propsito general, sin embargo los R0, R1, R2, R3 ya tienen tareas propias
del microcontrolador, ver figura 55, es por ello que no se recomienda usar los para propsitos
generales, es mejor usar desde R4. Para esta rutina se usa el R15
TIEMPO
450D R15
T_1
R15 -1 = R15
NO
R15 = 0
SI
RETORNAR
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
189
Paso 4: Una vez hecho el diagrama de flujo hay que pasarlo a instrucciones. A continuacin se
Pero antes se hace necesario saber como se construye proyecto Code Composer.
Cuando se construye un nuevo proyecto se hace la definicin del microcontrolador, para ello
se usa CodeComposer versin 4.0 o en otra versin superior. Para abrir este programa ir por
57 a 57 b
En la figura 57b se observa una ventana de donde ud pude dejar sus proyectos, se recomienda
que el programador tenga una carpeta exclusiva para los proyectos de Texas, entonces va por
Bruwse seleccionar la carpeta y dar OK. Una vez seleccionada la carpeta va por File/New,
como se muestra en la figura 58a, en la ventana que sale darle CCSProyect, ver figura 58b. En
la siguiente ventana que sale usted puede escribir el nombre del proyecto, y hacer click en
Next, figura 59a; en la siguiente ventana seleccionar la familia MSP430 Ejecutable, y hacer
click en Next. En la siguiente ventana solo es hacer click en Next. En la siguiente ventana
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
190
seleccionar el microcontrolador MSP430F2272 en la lista, ver figura 59b , despus seleccionar
58 a 58 b
59 a 59 b
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
191
Una vez creado el proyecto, figura 60a, se debe crear el archivo en assembler, para ello hacer
En la ventana que se abre escribir el mismo nombre del proyecto pero en .asm, y hacer click en
60 a 60 b
En la ventana que se abre el usuario puede hacer su programa ver figura 61a, se de dejar en
blanco, favor borrar, (figura 61b). Se recomienda buscar en la pgina de Texas Instruments
(www.ti.com) programas ejemplo como gua en assembler (plantilla para configuracin del
WDT, OSC, RESET, entre otros), el lector puede ver el data sheet de microcontrolador y all el
fabricante recomienda algunas rutinas base. Sin embargo el lector puede copiar este ejemplo y
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
192
61 a 61 b
Cuando se abri el nuevo proyecto se escogi el microcontrolador que es primer bloque del
salida, para ello el lector puede recordar las instrucciones de la tabla 28, y adems lo
comentado en el punto 5.3, y es para programar una lnea de salida se pone en 1, usando el
registro P1DIR. La instruccin para poner un UNO en cualquier bit de un registro es: BIS(.B)
src,dst; y para poner un CERO en cualquier bit de un registro es: BIC(.B) src,dst. La forma
Para el lector debe ser claro que si se quiere otro bit solo es escribir la combinacin del bit.
Siguiendo el diagrama de flujo el siguiente bloque es prender el led, para ello se usa la misma
instruccin pero con la ahora se usa el registro P3OUT, el cual es el puerto, as:
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
193
BIS.B #00100000B,&P3OUT ; Prende LED
Continuado el diagrama ahora se requiere llamar tiempo para ver prendido el led, para ello se
Siguiendo el diagrama de flujo el siguiente bloque es apagar el led, para ello se usa la misma la
Continuado el diagrama ahora se requiere llamar tiempo para ver apagado el led, para ello se
Por ultimo es volver a prender el led para ello se usa una instruccin de salto incondicional la
cual es: JMP Label, hay que aclara que se debe salta a la etiqueta PRENDE, asi:
Ahora es hacer programa de tiempo, diagrama de flujo 40, lo primero es cargar el registro R15
MOV.W #450,R15
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
194
Para entender un poco mas esto se puede observar la tabla 29 en la cual se muestra como se usa
esta instruccin para cargar el valor 119 en decimal y los equivalentes en Hexadecimal, ASCII
Siguiendo el diagrama hay que restar en uno el R15 y preguntar si es cero, para ello se usa las
Por ultimo se usa la instruccin ret para retornar al programa principal desde la subrutina
TIEMPO as:
Ahora que se escribi el programa desarrollando cada una de las partes del diagrama de flujo a
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
195
.cdecls C,LIST, "msp430x22x2.h"
;------------------------------------------------------------------------
.text ; Program reset
;------------------------------------------------------------------------
RESET mov.w #300h,SP ; Initialize stack pointer
StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT
SetupBC bis.b #LFXT1S_2,&BCSCTL3 ; LFXT1 = VLO
SetupP1
BIS.B #00100000B,&P3DIR ; P3.5 Como Out
PRENDE
BIS.B #00100000B,&P3OUT ; Prende LED
CALL #TIEMPO ; Tiempo para ver led prendido
BIC.B #00100000B,&P3OUT ; Apaga LED
CALL #TIEMPO ; Tiempo para ver led apagado
TIEMPO
MOV.W #45000,R15
T_1
DEC.W R15 ; R15-1 = R15
JNZ T_1 ; R15 =0
RET ;RETORNA AL PROGRAMA PRINCIPAL
;------------------------------------------------------------------------
; Interrupt Vectors
;------------------------------------------------------------------------
.sect ".reset" ; MSP430 RESET Vector
.short RESET ;
.end
Una vez escrito todo el programa hay que compilar para ello hacer click como se muestra en la
figura 62a, previamente tener conectado LunchPad. El lector puede darse cuanta cuales son los
icono para la simulacin, (figura 62b) estos estn en un ovalo rojo, el programa como va
corriendo estn el ovalo azul y los registros del microcontrolador en el ovalo negro. Para correr
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
196
62 a 62 b
El lector puede entonces ir ejecutado el programa paso a paso, e ir verificando como van
cambiando los registros involucrados en el programa y de esa forma ver si el programa esta
haciendo lo debe hacer, para este caso prender y apagar un led. Adems como esta en
flash image: Intel-HEX; para ello va por Proyect/Properties, ver figura 63a, en la ventana que
sale seleccionar C/C Build / Build Steps, y al finalizare OK, ver figura 63b
Paso 5. Programar el microcontrolador, armar el circuito y probar. En este paso hay que tener
cuidado cuando se este cableando en el protoboard, para ello hay que saber la distribucin del
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
197
63 a 62 b
__________________________________________________________________________
Diseos NEFEPEQUIN 06/05/2013
198