Пример подготовки

К выполнению лабораторной работы

Рассмотрим 29-й вариант задания. Согласно варианту, обрабатываемыми источниками прерываний являются внешнее прерывание INT0 и прерывание от таймера/счетчика T/С0. Параметры импульса: t=500; T=1500.

Разработаем требуемую программу. Ее текст с необходимыми ком­ментариями приведен ниже.

Программа

.ORG 0H

AJMP START

.ORG 3H;переход на обработчик INT0

AJMP SUBR1

.ORG 0BH; переход на обработчик T/C0

AJMP SUBR2

.ORG 30H;основная программа

START: MOV IE,#00000011b;pазpешение INT0, T/С0,

;общий запpет прерываний

MOV IP,#10b; приоритеты INT0 =0, Т/С0=1

;настройка прерывания INT0 по срезу, сброс всех запросов

MOV TCON,#0

MOV R0,#6; установка счетчиков

MOV R1,#6; числа прерываний

SETB EA;общее разрешение прерываний

CYCLE: MOV R2,#250;счетчик цикла = t / 2

SETB P1.0; генерация сигнала

DELAYt: DJNZ R2,DELAYt; задержка на t

CLR P1.0

MOV R3,#5

DELAY2: MOV R4,#100;задержка на T-t ≈ 2*(R4)*(R3)

DJNZ R4,$

DJNZ R3,DELAY2

AJMP CYCL;возвpат на цикл

;обработчик INT0

SUBR1: DJNZ R0,OUT0

CLR EX0;запрет прерывания по INT0

OUT0: RETI

;обработчик T/C0

SUBR2: DJNZ R1,OUT1

CLR ET0;запрет прерывания по T/C0

OUT1: RETI

.END

Варианты заданий

№ варианта Параметры импульса Источники прерываний
T t
      INT0 INT1
      INT0 T/C0
      INT0 T/C1
      INT0 ПИ
      INT1 T/C0
      INT1 T/C1
      INT1 ПИ
      T/C0 T/C1
      T/C0 ПИ
      T/C1 ПИ
      INT0 INT1
      INT0 T/C0
      INT0 T/C1
      INT0 ПИ
      INT1 T/C0
      INT1 T/C1
      INT1 ПИ
      T/C0 T/C1
      T/C0 ПИ
      T/C1 ПИ
      INT0 INT1
      INT0 T/C0
      INT0 T/C1
      INT0 ПИ
      INT1 T/C0
      INT1 T/C1
      INT1 ПИ
      T/C0 T/C1
      INT0 T/C0

Используемые обозначения источников прерываний:

INT0 – внешнее по входу INT0

INT1– внешнее по входу INT1

T/C0 – от таймера/счетчика 0

T/C1– от таймера/счетчика 1

ПИ - от схемы последовательного интерфейса.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: