Наш первый пример - это шаблон кода, который мы всегда будем использовать в других примерах.
Создадим новый проэкт с именем SHABLON. Создадим и подключем к проэкту новый файл с именем SHABLON.ASM. Набирите этот код сами. Нажмите клавишу F10 - код скомпилируется. Появится окно об отчёте о проделанной работе компилятора( если будут ошибки в коде сдесь будет описано где и какая). В папке SHABLON появится несколько файлов один из которых SHABLON.HEX - вот его нужно зашивать в микросхему программатором. Можете его открыть блокнотом и увидете так называемый дамп - шеснадцатитеричные цифры.
;Шаблон
LIST P=16F628A
INCLUDE P16F628A.INC ;Включение файла .INC
;Конфигурация контроллера
__CONFIG _INTOSC_OSC_NOCLKOUT&_WDT_OFF&_PWRTE_ON&_MCLRE_OFF&_LVP_OFF
ERRORLEVEL -302 ;Чтобы небыло сообщения про банки
CBLOCK 20H ;С адреса 20Н начало Регистров Общего Назначения
ENDC ;Конец блока Регистров Общего Назначения
BANK0 MACRO ;Макрос Банка0
BCF STATUS,RP0 ;Скидываем бит выбора банка
BCF STATUS,RP1 ;Скидываем бит выбора банка
ENDM ;Конец макроса
BANK1 MACRO ;Макрос Банка1
BSF STATUS,RP0 ;Подымаем бит выбора банка
BCF STATUS,RP1 ;Скидываем бит выбора банка
ENDM ;Конец макроса
ORG 0 ;Адрес начала кода
GOTO START ;Идём на 0
ORG 4 ;Адрес начала подпрограммы прерывания
GOTO ISR ;Идём на 4
START MOVLW 7 ;В WREG 0000 0111
MOVWF CMCON ;Отключаем компаратор
BANK1 ;Переход в Банк1
BANK0 ;Переход в Банк0
MAIN GOTO MAIN ;Основной цикл программы
ISR ;Начало программы прерывания
RETFIE ;Выход из программы прерывания
END ;Конец программы
;Шаблон без коментариев
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
BANK1
BANK0
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
НАЗАД Assembler AVR ATtiny Си ДАЛЬШЕ