📄 diody+przel - lista1.asm
字号:
;POLITECHNIKA OPOLSKA
;PROGRAM DLA DIOD I PRZELACZNIKOW
;PRACA DYPLOMOWA
;MARCIN BAROWSKI
;JANUSZ SZYMANSKI
; 2006/2007
#include <msp430x44x.h>
;-----------------------------------------------------------------------------
ORG 01100h ; Program Start
;-----------------------------------------------------------------------------
RESET mov.w #0A00h,SP ;Initialize stackpointer
StopWDT mov.w #WDTPW+WDTHOLD,&WDTCTL ;Stop WDT
setup:
mov.b #0FFh,&P2DIR ;P2.2 output
mov.b #004,&P2OUT ;P2.2 set reszta 0
mov.b #001,R4
;-------------------------Sczytywanie przelacznikow--------------------------------------------------;
TOSAMO:
mov.b #016,&P2OUT ;wy彻czenie diod i zal przel
mov.b #000h,&P3DIR ;ustawienie portu jako wejscie
mov.b &P3IN,R6 ;przepisanie wartosci z portu do R6
mov.b #004,&P2OUT ;wylaczenie przelacz
mov.b #255,R7
J: dec R7 ;Petla opozniejaca
jnz J ;przed sczytywaniem kolejny raz przelacznikow
mov.b #200,R10
I: dec R10
JNZ I
mov.b #016,&P2OUT ;wylaczenie diod i zal przel
mov.b #000,&P3DIR ; ustawienie portu jao in
mov.b &P3IN,R8 ; sczytanie z portu
mov.b #004,&P2OUT ; wylaczenie przel
CMP R6,R8 ; porownanie wartosci
JNE TOSAMO ; jak sie roznia to skocz do tosamo
;---------------------------------------Petla Glowna------------------------------------------------------------;
inv.b R8 ;zaneguj R8
JNZ P2 ;jesli nie jest zero skocz dalej
mov.b #001,R8 ;jesli tak to ustaw 1 w R8
P2 dec R8 ;dekrementuj R8
mov.w #3000,R15 ;wpisz wartosc do R15
L1 dec.w R15 ;dekrementuj R15
jnz L1 ;skacz jesli nie zero
CMP #0,R8 ;sprawdz czy R8 ma wartosc 0
JNE P2 ;jesli nie to skocz do P2
inv R4 ;negacja R4
;---------------------------------------------------Diody------------------------------------------------------;
mov.b #0FFh,&P3DIR ; ustawienie portu jako wyjscie
mov.b R4,&P3OUT ; wypisanie wartosci do portu
mov.b #012,&P2OUT ; wylaczenie przel i zalaczenie diod
mov.b #004,&P2OUT ; wylaczenie diod
inv R4 ; neguj bit
RLA R4 ; przesun w lewo
mov.b #255,R5
CMP R5,R4 ;sprawdzanie czy R4 nie wyskakuje poza zakres
JGE setup
jmp TOSAMO
;------------------------------------------------------------------------------
; Interrupt Vectors
;------------------------------------------------------------------------------
ORG 0FFFEh ; RESET Vector
DW RESET ;
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -