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

📄 diody+przel - lista1.asm

📁 又一个国外的一个关于msp430f449开源项目资料---源码之五
💻 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 + -