1 | ;-------------------------------------------------------------------------------
|
2 | ; MSP430 Assembler Code Template for use with TI Code Composer Studio
|
3 | ;
|
4 | ;
|
5 | ;-------------------------------------------------------------------------------
|
6 | .cdecls C,LIST,"msp430.h" ; Include device header file
|
7 |
|
8 | ;-------------------------------------------------------------------------------
|
9 | .def RESET ; Export program entry-point to
|
10 | ; make it known to linker.
|
11 | ;-------------------------------------------------------------------------------
|
12 | .text ; Assemble into program memory.
|
13 | .retain ; Override ELF conditional linking
|
14 | ; and retain current section.
|
15 | .retainrefs ; And retain any sections that have
|
16 | ; references to current section.
|
17 |
|
18 | ;-------------------------------------------------------------------------------
|
19 | RESET mov.w #__STACK_END,SP ; Initialize stackpointer
|
20 | StopWDT mov.w #WDTPW|WDTHOLD,&WDTCTL ; Stop watchdog timer
|
21 | SetupP1 mov.b #11110111b,&P1DIR ; P1DIR= Data direction (welche Richtung die BITS gehen)
|
22 | ; 0= INPUT / 1=OUTPUT // P1.3 Eingang (S2 =Taster)(5te stelle) der Rest Ausgänge
|
23 | mov.b #00001000b,&P1REN ; PULL-UP-Widerstand !!! (alle) (bei Ausgängen egal)
|
24 | ;->(bei 1.3P ist der resistor eingeschaltet)
|
25 |
|
26 | bis.b #00001000b,&P1OUT ; Resistor als Pull UP geschaltet. (an P1.3
|
27 | bic.b #11110111b,P1OUT ; alle Ausgänge aus
|
28 |
|
29 |
|
30 | ;-------------------------------------------------------------------------------
|
31 | ; Main loop here
|
32 | ;-------------------------------------------------------------------------------
|
33 | ; Main loop here
|
34 | mov.b #00000010b,R14
|
35 |
|
36 |
|
37 | bic.b #11110111b,P1OUT ; alle Ausgänge aus
|
38 | mov.b #R14 <<4 ,R14 ; hier sollte er das R14 um 4 Bits nach Links verschieben
|
39 | bis.b R14, &P1OUT
|
40 |
|
41 |
|
42 | wait mov.w #50000,R15 ; (ohne b = dezimal)(Verzögerungswert in R 15)
|
43 | L1 dec.w R15 ;Wert in R15 minus 1
|
44 | jnz L1 ; solange 0 nicht erreicht springe zu Marke L1
|
45 |
|
46 |
|
47 | ;-------------------------------------------------------------------------------
|
48 | ; Stack Pointer definition
|
49 | ;-------------------------------------------------------------------------------
|
50 | .global __STACK_END
|
51 | .sect .stack
|
52 |
|
53 | ;-------------------------------------------------------------------------------
|
54 | ; Interrupt Vectors
|
55 | ;-------------------------------------------------------------------------------
|
56 | .sect ".reset" ; MSP430 RESET Vector
|
57 | .short RESET
|