14. Применение интегральных микросхем в электронной вычислительной технике: Справочник. Под ред. Б. Н. Файзуллаева, Б. В. Тарабрина – М.: Радио и связь, 1986. –384 с.
15. Официальный веб-сайт компании Atmel [www.atmel.com].
; Инициализация контроллера AT89S8252
Q0 equ 1Fh ;задаем константу Q0
Q4_out equ R7 ;задаем адрес Q4 для вывода на индикацию
Q4 equ R6 ;задаем адрес Q4 для записи нового значения
K equ R8 ;задаем адрес установки
CSEG at 00h
Jmp INIT
Org 03h ; задаем адрес подпрограммы обработки прерывания
Jmp INT1 ; от аварийного датчика
Org 0Bh ; задаем адрес подпрограммы обработки прерывания
Jmp END_OF_Y ; от таймера 0
Org 13h ; задаем адрес подпрограммы обработки прерывания
Jmp INT2 ; при отказе источника питания
Org 1Bh ; задаем адрес подпрограммы обработки прерывания
Jmp KBD_INT ; от счетчика 1
Org 2Bh ; задаем адрес подпрограммы обработки прерывания
Jmp Q4_OUT ; от таймера 2
Org 30h ; область определения констант
; Таблица констант для отображения цифр (активный низкий уровень)
; __A__
; F | | B
; |__G__|
; E | | C
; |__D __| <> H
TABLE : db 11000000b, ;"0"
11111001b, ;"1"
10100100b, ;"2"
10110000b, ;"3"
10011001b, ;"4"
10010010b, ;"5"
10000010b ;"6"
11111000b, ;"7"
10000000b, ;"8"
10010000b ;"9"
IS_INSTALLMODE: DBIT 1
NO_INTETR: DBIT 1
;"клавишные" константы
BREAK_KEY EQU 23
OUTPUT_KEY EQU 22
INSTALL_KEY EQU 21
;--------------------------------------------------------------------------------------------------------------------org 100h
INIT:
Mov R8, #0 ; задаем начальное значение уставки, равное 0
CLR IS_INSTALLMODE
CLR NO_INTETR
; настраиваем таймеры/счетчики
mov TCON, #00000101b ; прерывания по спаду сигналов
mov TMOD, #1010001b ; настройка таймера 0 и счетчика 1 на режим 1
mov T2CON, #00000000b ; настраиваем таймер 2
mov T2MOD, #00000010b ; настройка таймера 2 на счет вверх
mov IE, #10101111b ; разрешаем все прерывания (кроме последовательного Вв/Выв)
; устанавливаем приоритеты прерываний
; Приоритет 1 (высший): от аварийного датчика (прерывание 1 на входе INT0)
; Приоритет 2: от таймера 0 (конец управляющих сигналов)
; Приоритет 3: при отказе источника питания (прерывание 2 на входе INT1)
; Приоритет 4: от счетчика 1 (прерывание от клавиатуры)
; Приоритет 5: от таймера 2 (вывод Q4)
mov IP, #00000000b
;--------------------------------------------------------------------------------------------------------------------; Основной цикл управления
MAIN:
; Формируем условия для внешнего прерывания через счетчик 1
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.