Sie sind auf Seite 1von 8

MKROLEMCLER(MSP430)

1,6 V STNDE KIRMIZI 0,5 V ALTINDA YEL YAKAN PROGRAM


ESET StopWDT mov.w #SFE(CSTACK),SP ; Initialize stackpointer

mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT

SetupADC10 mov.w #ADC10SHT_2+ADC10ON+ADC10IE,&ADC10CTL0 ; 16x, enable int. mov.w #INCH_1, &ADC10CTL1 bis.b #02h,&ADC10AE0 SetupP1 Mainloop bis.b #041h,&P1DIR ; P1.1 ADC10 option select ; P1.0 P1.6 output ;

bis.w #ENC+ADC10SC,&ADC10CTL0 ; Start sampling/conversion bis.w #CPUOFF+GIE,SR bic.b #041h,&P1OUT cmp.w #01FFh,&ADC10MEM jlo aa ; LPM0, ADC10_ISR will force exit ; P1.0 = 0 ; ADC10MEM = A1 > 0.5AVcc? ; Again ; P1.0 = 1

bis.b #01h,&P1OUT

4 KAT YAVALATMALI
#include "msp430g2231.h" ORG RESET StopWDT SetupP1 Mainloop EKLEDK Wait L1 0F800h ; Program Reset mov.w #0280h,SP ; Initialize stackpointer mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT bis.b #001h,&P1DIR ; P1.0 output ; xor.b #001h,&P1OUT ; Toggle P1.0 mov.w #08,R14 mov.w #050000,R15 dec.w R15 jnz L1 dec R14 jnz Wait jmp Mainloop ; Delay to R15 ; Decrement R15 ; Delay over?

EKLEDK EKLEDK

; delay over? ; Ag

EMN OLCAY DOKUZ & SALH DNDAR

MKROLEMCLER(MSP430)

AA SAYISINI BULAN PROG.


RESET mov.w #0280h,SP ; Initialize stackpointer StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT SetupP1 bis.b #001h,&P1DIR ; P1.0 output clr r8 mov.w #0200h,r5 mov.w #02800h,r6 mov.w #0aah,r7 xx cmp.b r7,0(r5) jz yy inc r5 cmp r5,r6 jnz xx jmp vv inc r8 inc r5 cmp r5,r6 jnz xx nop ;

yy

vv

Mainloop xor.b #001h,&P1OUT ; Toggle P1.0 Wait mov.w #050000,R15 ; Delay to R15 L1 dec.w R15 ; Decrement R15 jnz L1 ; Delay over? jmp Mainloop ; Again ;------------------------------------------------------------------------------; Interrupt Vectors ;------------------------------------------------------------------------------ORG 0FFFEh ; MSP430 RESET Vector DW RESET ; END

BELLEKTEK TEK SAYILARIN SAYISINI BULAN program


RESET mov.w #0280h,SP ; Initialize stackpointer StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT SetupP1 bis.b #001h,&P1DIR ; P1.0 output Call #SAY jmp here clr R5 mov.w #0000,R8 mov.w #01ffh,R4 mov.w #0280h,R10 clr R10 EMN OLCAY DOKUZ & SALH DNDAR 2

here SAY

MKROLEMCLER(MSP430) A1 inc R4 mov.b 0(R4),R9 cmp R4,R10 jz A2 rra R9 jc A3 jmp A1 rlc R9 add.b R9,R5 jmp A1 ret nop

A3

A2

K ADRES TOPLAYIP BELLEGE YAZMA PROGRAMI


RESET mov.w #0280h,SP ; Initialize stackpointer StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT SetupP1 bis.b #065,&P1DIR ; P1.0 output mov.w #0200h,r10 mov.w #0202h,r11 mov.w #0210h,r12 mov.w #0212h,r13 addc.w 0(r10),0(r12) addc.w 0(r11),0(r13) mov.w 0(r12),&0220h mov.w 0(r13),&0222h

KIRMIZI YEL IIGIN 2 KATI HIZINDA YANAN


RESET mov.w #0280h,SP ; Initialize stackpointer StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT SetupP1 bis.b #065,&P1DIR ; P1.0 output main xor.b #65,&P1OUT mov.w #50000,R5 bas2 dec R5 jnz bas2 xor.b #01h,&P1OUT mov.w #50000,R5 bas1 dec R5 jnz bas1 jmp main

KIRMIZI-YEL LED BASMA


EMN OLCAY DOKUZ & SALH DNDAR 3

MKROLEMCLER(MSP430)

#include "msp430g2231.h" ORG 0F800h ; Program Reset

RESET mov.w #0280h,SP ; Initialize stackpointer StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT SetupP1 bis.b #001h,&P1DIR ; P1.0 output

setc clrc mov.w #010h, R5 setc adc R5 NOP Mainloop xor.b #001h,&P1OUT mov.w #08,R14 Wait L1 mov.w #050000,R15 ; Delay to R15 dec.w R15 ; Decrement R15 jnz L1 ; Delay over? ; Toggle P1.0

dec R14 jnz Wait ; delay over? jmp Mainloop ; Again ; ;------------------------------------------------------------------------------; Interrupt Vectors ;------------------------------------------------------------------------------ORG 0FFFEh ; MSP430 RESET Vector DW RESET ; END

ORTALAMA ALAN PROGRAM


mov.w #016, R4 mov.w #0200h, R5 xx mov.b #0bh, 0(R6) inc R6 dec R5 jnz xx nop EMN OLCAY DOKUZ & SALH DNDAR 4

MKROLEMCLER(MSP430) mov.w #0200h, R6 mov.w #010h, R5 clr R8 nn mov.b @R6+, R7 add.b R7,R8 dec R5 jnz nn rra R8 rra R8 rra R8 rra R8 nop

REOSTA LE IIGIN HIZINI DEGTRME PROGRAMI


RESET StopWDT mov.w #SFE(CSTACK),SP ; Initialize stackpointer

mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT

SetupADC10 mov.w #ADC10SHT_2+ADC10ON+ADC10IE,&ADC10CTL0 ; 16x, enable int.ADC nin hzn ayarliorz mov.w #INCH_1, &ADC10CTL1 bis.b #02h,&ADC10AE0 SetupP1 bis.b #064h,&P1DIR bis.b #01h,&P1DIR Mainloop ;

; P1.1 ADC10 option select p1.1 ADC oluyor ; P1.0 output ;

bis.w #ENC+ADC10SC,&ADC10CTL0 ; Start sampling/conversion enable conversion bis.w #CPUOFF+GIE,SR xor.b #01,P1OUT ; LPM0, ADC10_ISR will force exit SR dan ilemciyi uyutuyor

A2 A1

mov.w #200,R5 dec jnz R5 A1

dec

&ADC10MEM EMN OLCAY DOKUZ & SALH DNDAR 5

MKROLEMCLER(MSP430) jnz jmp A2 Mainloop

;------------------------------------------------------------------------------ADC10_ISR; Exit LPM0 on reti ;------------------------------------------------------------------------------bic.w #CPUOFF,0(SP) reti ; ;------------------------------------------------------------------------------COMMON INTVEC ; Interrupt Vectors ; ; Exit LPM0 on reti ilemciden uyandryor sora bic.b ye dnor

;------------------------------------------------------------------------------ORG DW ORG DW END ADC10_VECTOR ADC10_ISR RESET_VECTOR RESET ; POR, ext. Reset ; ADC10 Vector

Sifre Adres Bulma PROGRAMI


RESET mov.w #0280h,SP ; Initialize stackpointer StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT SetupP1 bis.b #001h,&P1DIR ; P1.0 output clr R8 mov.w mov.w mov.b mov.b mov.b call #bul bul nop aa cmp.b R7,0(R5) jz bb inc R5 cmp R5,R6 EMN OLCAY DOKUZ & SALH DNDAR 6

#200h,R5 #280h,R6 #010h,R7 #0aah,R9 #0f1h,R10

MKROLEMCLER(MSP430) jz jnz ee aa

bb

inc cmp.b jz cmp jz jnz

R5 R9,0(R5) cc R5,R6 ee aa

cc

inc R5 cmp.b R10,0(R5) jz dd cmp R5,R6 jz ee jnz aa decd R5 mov.w R5,R8 inc R5 cmp R5,R6 jnz aa jmp ee nop

dd

ee

UZUN YOLDAN 4 KAT YAVALATMA


RESET StopWDT SetupP1 Mainloop Wait L1 mov.w #0280h,SP ; Initialize stackpointer mov.w #WDTPW+WDTHOLD,&WDTCTL ; Stop WDT bis.b #001h,&P1DIR ; P1.0 output ; xor.b #001h,&P1OUT ; Toggle P1.0 mov.w #050000,R15 ; Delay to R15 dec.w R15 ; Decrement R15 jnz L1 ; Delay over? mov.w #050000,R15 ; Delay to R15 dec.w R15 ; Decrement R15 jnz L2 ; Delay over? mov.w #050000,R15 ; Delay to R15 dec.w R15 ; Decrement R15 jnz L3 ; Delay over? mov.w #050000,R15 ; Delay to R15 dec.w R15 ; Decrement R15 jnz L4 ; Delay over? EMN OLCAY DOKUZ & SALH DNDAR 7

Wait2 L2

Wait3 L3

Wait4 L4

MKROLEMCLER(MSP430) jmp Mainloop ; Again

EMN OLCAY DOKUZ & SALH DNDAR

Das könnte Ihnen auch gefallen