MSP430 iSMAİL KAYA SORULAR
March 14, 2018 | Author: Emin Dokuz | Category: N/A
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