Понедельник, Май 25, 2020

Программа управления светодиодом PIC

            LIST        P=16F628A      ;Тип процессора
            INCLUDE     "P16F628A.INC" ;Присоединение файла описания
            ;Конфигурируем контроллер
           __CONFIG   _INTOSC_OSC_NOCLKOUT&_WDT_OFF&_LVP_OFF&_MCLRE_OFF&_PWRTE_ON&DATA_CP_OFF&_CP_OFF
            ERRORLEVEL  -302           ;Чтобы небыло сообщения про банки
            CBLOCK      20H            ;Блок РОН начинается с адреса 20Н
            ENDC                       ;Конец блока
BANK0       MACRO                      ;Макрос перехода в банк 0
            BCF         STATUS,RP0     ;Сбрасываем бит банка
            BCF         STATUS,RP1     ;Сбрасываем бит банка
            ENDM                       ;Конец макроса BANK0
BANK1       MACRO                      ;Макрос перехода в банк 1
            BSF         STATUS,RP0     ;Bit Set File
            BCF         STATUS,RP1     ;Bit Cleare File
            ENDM
            ORG         0              ;Установка текущего адреса на 0
            GOTO        START          ;Идём на начало кода
            ORG         4              ;Установка вектора прерывания
            GOTO        ISR            ;Идем на начало подпрограммы прерывания
START       MOVLW       B'00000111'    ;Data Sheet 10.0 COMPARATOR MODULE
            MOVWF       CMCON          ;Отключаем компоратор
            BANK1                      ;Data Sheet 4.0 Memory Organization
            MOVLW       0FFH           ;В регистр WREG все единицы 1111 1111=0FFh
            MOVWF       TRISB          ;Порт RB на вход
            MOVLW       0              ;В регистр WREG все ноли
            MOVWF       TRISA          ;Порт RA на выход
            MOVLW       B'00001000'    ;Включаем подтягивоющие резисторы
            MOVWF       OPTION_REG     ;(смотри Data Sheet 4.2.2.2 OPTION Register)
            BANK0                      ;Переходим в банк 0
MAIN        MOVF        PORTB,W        ;Копируем значения порта RB в рабочий регистр WREG
            MOVWF       PORTA          ;Из WREG в PORTA
            GOTO        MAIN           ;Бесконечный цикл
ISR         RETFIE                     ;Возврат из Interrupt Servis Routing
            END                        ;Конец программы

programma-upravlenya-svetodiodom-proteus1+




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


Back to Top