.


:




:

































 

 

 

 





 

1. MSP430

2. :

3. .

 

MSP430 (SFR), , Flash- . . . . 64 , .

Flash- . Flash- 0FFFFh. Flash- , . Flash-, . 16 Flash-, Flash- (0FFFEh).

0200h. . , .

. 0100 01FFh 16- . -. , , 0. 010h 0FFh 8- . . - . , , .

SFRs. 16- . SFRs . SFRs .

. . . . . , xxx4h, xxx4h, xxx5h.

 

 

. 1 As () Ad ().

1 /

As/Ad
00 / 0 Rn
01 / 1 X(Rn) (Rn+X) . X
01 / 1 ADDR (PC+X) . X . X(PC)
01 / 1 () &ADDR , , . X . X(SR)
10 / - @Rn Rn
11 / - @Rn+ Rn . Rn 1 2 -.
11 / - () #N , , N. @PC+

. , .

: EDE TONI MSP430 EDE TONI. , .

 

 

MOV R10,R11 MOV R10, R11

 

:
: R10 R11. R10 .
: .
:

MOV R10,R11

   
R10
0A023h

 

R10
0A023h

 

R11
0FA15h

 

R11
0A023h

 

PC
PCold

 

PC
PCold+2

 

 

 

: -. , <0>. .

 

 

MOV 2(R5),6(R6) MOV X(R5),Y(R6) X=2 Y=6

 

:
: ( R5 + 2) ( R6 + 6). (R5 R6) . , .
:
: MOV 2(R5),6(R6):


 

MOV EDE,TONI MOV X(PC),Y(PC) X=EDE-PC Y=TONI-PC

 

:
: EDE ( PC + X) TONI ( PC + Y). PC . X Y. , .
:
: MOV EDE,TONI; EDE=0F016h; TONI=01114h

 

MOV &EDE,&TONI MOV X(0),Y(0) X=EDE Y=TONI

 

:
: EDE TONI. . , .
:
: MOV &EDE,&TONI; EDE=0F016h; TONI=01114h

, , . , (, -, ).

 

MOV @R10,0(R11) MOV @R10,0(R11)

 

:
: ( R10) ( R11). .
: . 0(Rd)
: MOV.B @R10,0(R11)

 

MOV @R10+,0(R11) MOV @R10+,0(R11)

 

:
: ( R10) ( R11). R10 1 2 -, . .
: . 0(Rd) INCD Rd.
: MOV.B @R10+,0(R11)

.

 

 

MOV #45h,TONI MOV @PC+,X(PC) 45 X=TONI-PC

 

: . , CG1 CG2.
: 45h, , , TONI. , , , .
:
: MOV #45h,TONI

MSP430 27 24 . , , . , , , . .

: , , .

, , , .B .W. . - . , -.

:

src As S-reg
dst Ad D-reg
As , , (src)
S-reg , (src)
Ad , , (dst)
D-reg , (dst)
B/W : 0: 1:

 

: . , , , , . , , , .

 

: EDE TONI MSP430 EDE TONI. , .

 

( I)

. .

2 .


2

S-Reg, D-Reg
V N Z C
MOV(.B) src,dst src --> dst - - - -
ADD(.B) src,dst src + dst --> dst * * * *
ADDC(.B) src,dst src + dst + C --> dst * * * *
SUB(.B) src,dst dst +.not.src + 1 --> dst * * * *
SUBC(.B) src,dst dst +.not.src + C --> dst * * * *
CMP(.B) src,dst dst src * * * *
DADD(.B) src,dst src + dst + C --> dst () * * * *
BIT(.B) src,dst src.and. dst   * * *
BIC(.B) src,dst .not.src.and. dst --> dst - - - -
BIS(.B) src,dst src.or. dst --> dst - - - -
XOR(.B) src,dst src.xor. dst --> dst * * * *
AND(.B) src,dst src.and. dst --> dst   * * *

* -
- -
0 -
1 -

: CMP SUB CMP SUB , . BIT AND.

 

( II)

. .

3 .

3

S-Reg, D-Reg
V N Z C
RRC(.B) dst C --> MSB --> LSB --> C * * * *
RRA(.A) dst MSB --> MSB --> LSB --> C   * * *
PUSH(.B) src SP-2 --> SP, src --> @SP - - - -
SWPB dst - - - -
CALL dst SP-2? SP, PC+2 --> @SP dst --> PC - - - -
RETI   TOS --> SR, SP+2 --> SP TOS --> PC, SP+2 --> SP * * * *
SXT dst 7 --> 8 15   * * *

* -
- -
0 -
1 -

CALL . (), (#N), (&EDE) x(RN), CALL .

. .

4 .

4

S-Reg, D-Reg
JEQ/JZ , (Z)
JNE/JNZ , (Z)
JC , (C)
JNC , (C)
JN , (N)
JGE , (N.XOR.V)=0
JL , (N.XOR.V)=1
JMP

PC . -511 +512 PC. 10- 10- : :

PCnew=PCold + 2 + PCoffset x 2
: PCnew ; PCold ; PCoffset 10- .

 


5 MSP430

 

    V N Z C
ADC(.B)* dst dst + C -> dst * * * *
ADD(.B) src,dst src + dst -> dst * * * *
ADDC(.B) src,dst src + dst + C -> dst * * * *
AND(.B) src,dst Ȼ src.and. dst -> dst   * * *
BIC(.B) src,dst .not.src.and. dst -> dst - - - -
BIS(.B) src,dst src.or. dst -> dst - - - -
BIT(.B) src,dst src.and. dst   * * *
BR* dst dst -> PC - - - -
CALL dst PC + 2 -> stack, dst -> PC - - - -
CLR(.B)* dst 0 -> dst - - - -
CLRC*   0 -> C - - -  
CLRN*   N 0 -> N -   - -
CLRZ*   Z 0 -> Z - -   -
CMP(.B) src,dst dst src * * * *
DADC(.B)* dst dst + c -> dst () * * * *
DADD(.B) src,dst src + dst + C -> dst () * * * *
DEC(.B)* dst dst - 1 -> dst * * * *
DECD(.B)* dst dst - 2 -> dst * * * *
DINT*   0 -> GIE - - - -
EINT*   1 -> GIE - - - -
INC(.B)* dst dst + 1 -> dst * * * *
INCD(.B)* dst dst + 2 -> dst * * * *
INV(.B)* dst .not.dst -> dst * * * *
JC/JHS label , /   - - - -
JEQ/JZ label , / Z   - - - -
JGE label ,   - - - -
JL label ,   - - - -
JMP label PC + 2 * -> PC - - - -
JN label , N   - - - -
JNC/JLO label , /   - - - -
JNE/JNZ label , , Z   - - - -
MOV(.B) src,dst src -> dst - - - -
NOP*     - - - -
POP(.B)* dst @SP -> dst, SP + 2 -> SP - - - -
PUSH(.B) src SP - 2 -> SP, src -> @SP - - - -
RET*   @SP -> PC, SP + 2 -> SP - - - -
RETI     * * * *
RLA(.B)* dst   * * * *
RLC(.B)* dst   * * * *
RRA(.B) dst     * * *
RRC(.B) dst   * * * *
SBC(.B)* dst not(C) dst + 0FFFFh + C -> dst * * * *
SETC*   1 -> C - - -  
SETN*   N 1 -> N -   - -
SETZ*   Z 1 -> Z - -   -
SUB(.B) src,dst dst +.not.src + 1 -> dst * * * *
SUBC(.B) src,dst not(C) dst +.not.src + C -> dst * * * *
SWPB dst   - - - -
SXT dst     * * *
TST(.B)* dst dst + 0FFFFh + 1   * *  
XOR(.B) src,dst Ȼ src.xor. dst -> dst * * * *

*

 

 

  1. IAR Kick Start Embedded Workbench IDE
  2. F2013, FET Debugger, USB
  3. Debugger
  4. .
  5. .

 

 

1.

2.

3.

4. .

5. .

6.

7.

8.

9.


()

 

1. 16 .

2. 10 .

3. 8 .

4. 15 .

5. 20 .

6. 10 .

7. 15 .

8. 8 .

9. 16 .

10. : Ci=2Ai+128, i=0..9.

11. : Ci=2Ai+Bi/2, i=0..15.

12. : Ci=Ai/4+16, i=0..19.

13. 8 .

14. 10 .

15. 16 .

16. 16 .

17. 10 .

18. 20 .


 

:

- ;

- MSP430;

- ;

- ;

- ;

- ;

- ;

- 16- SD16_A;

- -;

- USI;

- WDT+;

- ;

- , IAR Embedded Workbench.

 

1. MSP430x2xx. , , / . . .. .: -XXI, 2010. 544 . ISBN 978-5-94120-221-9

2. Analog, Embedded Processing, Semiconductor Company, Texas Instruments. URL: http://www.ti.com ( : 21.03.2013)

3. MSP430x2xx Family Users Guide (SLAU144F) .., 2010. URL: http://ti.com ( : 21.03.2013)

4. MSP430x20x1, MSP430x20x2, MSP430x20x3 MIXED SIGNAL MICROCONTROLLER (SLAS491F) . ., . 2011. URL: http://focus.ti.com/lit/ds/slas491f/slas491f.pdf ( : 21.03.2013)





:


: 2016-10-06; !; : 459 |


:

:

- - , .
==> ...

1654 - | 1612 -


© 2015-2024 lektsii.org - -

: 0.078 .