Суббота, Май 30, 2020

Семисегментный индикатор PIC ASM

;Создадим проэкт,закинем в него шаблон,подключем его к Протеусу и начнем зажигать светодиоды в семи-сегментном индикаторе.С каждым новым проэтом всё усложняя его.            
            LIST        P=16F628A
            INCLUDE     P16F628A.INC
            __CONFIG    _INTOSC_OSC_NOCLKOUT&_WDT_OFF&_PWRTE_ON&_MCLRE_OFF&_LVP_OFF
            ERRORLEVEL  -302
            CBLOCK      20H
            W_TEMP
            STATUS_TEMP
            ENDC
BANK0       MACRO
            BCF         STATUS,RP0
            BCF         STATUS,RP1
            ENDM
BANK1       MACRO
            BSF         STATUS,RP0
            BCF         STATUS,RP1
            ENDM
            ORG         0
            GOTO        START
            ORG         4
            GOTO        ISR
START       MOVLW       7
            MOVWF       CMCON
;настроим порты
            CLRF        PORTB
            CLRF        PORTA
            BANK1
            MOVLW       B'11110000'
            MOVWF       TRISA
            MOVLW       B'00000001'
            MOVWF       TRISB
            BANK0
;включим все светодиоды
            MOVLW       B'00001111'
            MOVWF       PORTA
MAIN       

            GOTO        MAIN
ISR         MOVWF       W_TEMP
            SWAPF       STATUS,W
            BCF         STATUS,RP0
            MOVWF       STATUS_TEMP   
                     
EXIT_ISR    SWAPF       STATUS_TEMP,W
            MOVWF       STATUS
            SWAPF       W_TEMP,F
            SWAPF       W_TEMP,W
            RETFIE
            END



 

НАЗАД                                        Cи ATtiny2313                                   ASSEMBLER ATtiny2313                             ДАЛЕЕ


Back to Top