Beruflich Dokumente
Kultur Dokumente
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
MKROLEMCLER(MSP430)
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
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
MKROLEMCLER(MSP430)
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
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
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 ;
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
dec
;------------------------------------------------------------------------------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
MKROLEMCLER(MSP430) jz jnz ee aa
bb
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
Wait2 L2
Wait3 L3
Wait4 L4