.include "m8def.inc" ;---------------------------------------------------------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------------------------------------------------------- ; Описание регистров и констант ;---------------------------------------------------------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------------------------------------------------------- .def tmp0 = r16 ;Временный регистр 0 .def tmpInt = r17 ;Временный регистр для обработчика прерываний .equ m5S = 100 ;---------------------------------------------------------------------------------------------------------------------------------------------- ; Описание ячеек озу ;---------------------------------------------------------------------------------------------------------------------------------------------- .equ RegEncod = 0x60 .equ Counter = 0x61 ;---------------------------------------------------------------------------------------------------------------------------------------------- ; Сопоставление имен ;---------------------------------------------------------------------------------------------------------------------------------------------- #define En_A PD2 #define En_B PD3 ;---------------------------------------------------------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------------------------------------------------------- ; Вектора прерываний ;---------------------------------------------------------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------------------------------------------------------- .cseg .org $0000 rjmp Start ;Переход на начало программы (Reset Handler) .org INT0addr rjmp IntEnc .org INT1addr rjmp IntEnc .org OVF0addr rjmp OVF0 ;Переход на обработчик прерываний по переполнению Таймера0 ;---------------------------------------------------------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------------------------------------------------------- ;---------------------------------------------------------------------------------------------------------------------------------------------- .org 0x14 ;Устанавливаем адресс обработчиак прерываний после таблицы векторов ;================================================================================================================================================= ; Обработчик внешних прерывания ;================================================================================================================================================= IntEnc: ldi tmpInt,~(1<