⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 buzery - lista2.txt

📁 又一个国外的一个关于msp430f449开源项目资料---源码之五
💻 TXT
字号:
;POLITECHNIKA OPOLSKA
;PROGRAM DLA BUZEROW 
;PRACA DYPLOMOWA 
;MARCIN BAROWSKI
;JANUSZ SZYMANSKI
;  2006/2007

#include  <msp430x44x.h>
;------------------------------------------------------------------------------
            ORG     01100h                  ; Program Start
;------------------------------------------------------------------------------
RESET       mov.w   #0A00h,SP               ; inicjalizacja wskaznika stosu
StopWDT     mov.w   #WDTPW+WDTHOLD,&WDTCTL  ; Stop WDT
SetupFLL    bis.b   #XCAP14PF,&FLL_CTL0     ; kondensatory 
            mov.b   #000,&P1SEL  ;podstawowa funkcja portu P1
            mov.b #0FFh,&P1DIR  ;port P1 jako wyjscie
            mov.b #0E0h,&P1OUT  ;wylacz diody i buzer2
            
;------------------------------Buzer 2------------------------------------------------------;     
            mov.w #0CFFFh,R5    ;graniczna wartosc buzera2
            mov.b #01h,R4       ; wartosc poczatkowa dla buzera2
            CLR R6              ; czysc R6
            mov.b   #0FFh,&P1DIR  ; port P1 jako wyjscie  
LED12ON:    xor.b   #0A0h,&P1OUT  ; negacja wartosci A0 na porcie P1          
LOOp:       DEC R4      ; dekrementuj R4
            JNZ LOOp    ; skacz jesli nie zero
            mov.w #0AFh,R10 ; przypisz R10 wartosc A0
            ADD R10,R6  ; zwieksz wartosc w R6 o wartosc z R10
            mov.w R6,R4 ; przepisz R6 do R4
            CMP R6,R5   ; porownaj R6 z R5
            JGE asd     ;skacz gdy wieksze badz rowne
            jmp LED12ON ;skacz do LED12ON
 

;-------------------------------Buzer 1------------------------------------------------------------;    
asd:        mov.b #0FFh,&P1OUT               ; port P1 jako wyjscie
            xor.b   #040h,&P1OUT             ; negacja bitu 6 na porcie P1
            bis.b   #004h,&P1SEL            ; P1.2 TA1 option select          
SetupC0     mov.w   #512-1,&CCR0            ; PWM Period
SetupC1     mov.w   #OUTMOD_7,&CCTL1        ; CCR1 reset/set
            mov.w   #100,&CCR1              ; CCR1 PWM Duty Cycle	
SetupTA     mov.w   #TASSEL_2+MC_1,&TACTL   ; SMCLK, upmode;
            
            mov.w #0CFFFh,R5      ; graniczna wartosc buzera1
            mov.b #01h,R4         ; poczatkowa wartosc buzera 1
            CLR R6                ; czysc R6
 LED12ON1:   xor.b #040h,&P1OUT   ; neguj bit 6 na porcie P1
             xor.b #004h,&P1SEL   ; neguj funkcje na porcie P1 bit 2
 LOOp1:     DEC R4    ; dekrementuj R4
            JNZ LOOp1 ; skacz gdy nie zero
            mov.w #0AFh,R10 ; wpisz wartosc AF do R10
            ADD R10,R6    ; zwieksz wartosc w R6 o wartosc z R10
            mov.w R6,R4   ; przepisz R6 do R4
            CMP R6,R5     ; porownaj R6 z R5
            JGE asd1      ; skacz gdy wieksze badz rowne
            jmp LED12ON1  ; skacz LED12ON1 
              
 asd1:      jmp SetupFLL  ; skacz SetupFLL
            
;            
;------------------------------------------------------------------------------
;           Interrupt Vectors
;------------------------------------------------------------------------------
            ORG     0FFFEh                  ; RESET Vector
            DW      RESET                ;
            END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -