MSP430 iSMAİL KAYA SORULAR

March 14, 2018 | Author: Emin Dokuz | Category: N/A
Share Embed Donate


Short Description

Download MSP430 iSMAİL KAYA SORULAR...

Description

MİKROİŞLEMCİLER(MSP430)

1,6 V ÜSTÜNDE KIRMIZI 0,5 V ALTINDA YEŞİL YAKAN PROGRAM ESET

mov.w #SFE(CSTACK),SP

; Initialize stackpointer

StopWDT

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

; P1.1 ADC10 option select

SetupP1

bis.b #041h,&P1DIR

; P1.0 P1.6 output ;

Mainloop

bis.w #ENC+ADC10SC,&ADC10CTL0 ; Start sampling/conversion bis.w #CPUOFF+GIE,SR

; LPM0, ADC10_ISR will force exit

bic.b #041h,&P1OUT

; P1.0 = 0

cmp.w #01FFh,&ADC10MEM

; ADC10MEM = A1 > 0.5AVcc?

jlo

; Again

aa

bis.b #01h,&P1OUT

; P1.0 = 1

4 KAT YAVAŞLATMALI #include "msp430g2231.h" ORG RESET StopWDT SetupP1 Mainloop

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

EKLEDK

mov.w #08,R14

Wait L1

mov.w #050000,R15 dec.w R15 jnz L1

; Delay to R15 ; Decrement R15 ; Delay over?

EKLEDİK EKLEDİK

dec R14 jnz Wait jmp Mainloop

; delay over? ; Ag

EMİN OLCAY DOKUZ & SALİH DİNDAR

1

MİKROİŞLEMCİLER(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

yy

vv

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 ;

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

here SAY

Call #SAY jmp here clr R5 mov.w #0000,R8 mov.w #01ffh,R4 mov.w #0280h,R10 clr R10 EMİN OLCAY DOKUZ & SALİH DİNDAR

2

MİKROİŞLEMCİLER(MSP430) A1

A3

A2

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

İ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 YEŞİL IŞIGIN 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-YEŞİL LED BASMA EMİN OLCAY DOKUZ & SALİH DİNDAR

3

MİKROİŞLEMCİLER(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

; Toggle P1.0

mov.w #08,R14 Wait L1

mov.w #050000,R15 ; Delay to R15 dec.w R15 ; Decrement R15 jnz L1 ; Delay over?

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 EMİN OLCAY DOKUZ & SALİH DİNDAR

4

MİKROİŞLEMCİLER(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 IŞIGIN HIZINI DEGİŞTİRME PROGRAMI RESET

mov.w #SFE(CSTACK),SP

; Initialize stackpointer

StopWDT

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

SetupADC10 mov.w #ADC10SHT_2+ADC10ON+ADC10IE,&ADC10CTL0 ; 16x, enable int.ADC nin hızını 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

; LPM0, ADC10_ISR will force exit SR dan işlemciyi uyutuyor

xor.b #01,P1OUT A2

mov.w #200,R5

A1

dec

R5

jnz

A1

dec

&ADC10MEM EMİN OLCAY DOKUZ & SALİH DİNDAR

5

MİKROİŞLEMCİLER(MSP430) jnz jmp

A2 Mainloop

;------------------------------------------------------------------------------ADC10_ISR; Exit LPM0 on reti ;------------------------------------------------------------------------------bic.w #CPUOFF,0(SP) reti

; Exit LPM0 on reti işlemciden uyandırıyor sora bic.b ye dönüor

; ;

;------------------------------------------------------------------------------COMMON INTVEC

; Interrupt Vectors

;------------------------------------------------------------------------------ORG

ADC10_VECTOR

DW

ADC10_ISR

ORG

RESET_VECTOR

DW

RESET

; ADC10 Vector

; POR, ext. Reset

END

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

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

call #bul bul nop aa

cmp.b R7,0(R5) jz bb inc R5 cmp R5,R6 EMİN OLCAY DOKUZ & SALİH DİNDAR

6

MİKROİŞLEMCİLER(MSP430) jz jnz

ee aa

bb

inc cmp.b jz cmp jz jnz

cc

inc R5 cmp.b R10,0(R5) jz dd cmp R5,R6 jz ee jnz aa

dd

decd R5 mov.w R5,R8 inc R5 cmp R5,R6 jnz aa jmp ee

ee

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

nop

UZUN YOLDAN 4 KAT YAVAŞLATMA 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?

Wait2 L2

mov.w #050000,R15 ; Delay to R15 dec.w R15 ; Decrement R15 jnz L2 ; Delay over?

Wait3 L3

mov.w #050000,R15 ; Delay to R15 dec.w R15 ; Decrement R15 jnz L3 ; Delay over?

Wait4 L4

mov.w #050000,R15 ; Delay to R15 dec.w R15 ; Decrement R15 jnz L4 ; Delay over? EMİN OLCAY DOKUZ & SALİH DİNDAR

7

MİKROİŞLEMCİLER(MSP430) jmp

Mainloop

; Again

EMİN OLCAY DOKUZ & SALİH DİNDAR

8

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF