📄 buzery - lista2.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 + -