Поделиться Поделиться

Фрагмент №2 - загрузить вектор FF2058h.

КІ-09-1,2 Весна-2013

П_занятие №1 . Аппаратная обработка прерываний с помощью блока PTS:

1. Одиночная передача байта информации;

2. Блоковая передача данных;

3. Режима аналого-цифрового сканирования;

Фрагмент №2 - загрузить вектор FF2058h. - Инвестирование - 1

Последовательность действий:
1.Сформировать управляющее слово
CON=05h;

M2=0 M1=0 M0=0 BW=0 SU=0 DU=1 SI=0 DI=1

2. Размаскировать и разрешить как PTS-прерывание обслуживание запроса int 12 т.е. INT_MASK1.4 :=1 (адрес 13h), PTSSEL(Hi).4 :=1 (адрес 05h).

(записать фрагмент № 1 программы)

3. Создать управляющий блок PTSCBдля режима одиночнойпередачи, загрузить вектор FF2058h.

(фрагмент № 2 программы загрузки данных в PTSCB)

4.Счетчик пакетов расположить в регистре (SFRs)-1FB6h

(записать фрагмент № 3 программы его загрузки)

5.Создать программуend of PTS ”(располагается по вектору стандартного прерывания int12с адреса FF2038h ), в которой предусмотреть проверку счетчика пакетови инициализациювновь циклаPTS.

(записать фрагмент № 4 программы)

Этот слайд заменить на слайд из офиса 2003 и проверить объем

Фрагмент №2 - загрузить вектор FF2058h. - Инвестирование - 2

Последовательность действий:
1.Сформировать управляющее слово CON=8Fh;

M2=1 M1=0 M0=0 BW=0 SU=1 DU=1 SI=1 DI=1

2. Размаскировать и разрешить как PTS-прерывание обслуживание запроса int 14 т.е. INT_MASK1.6 :=1 (адрес 13h), PTSSEL(Hi).6 :=1 (адрес 05h).

(записать фрагмент № 5 программы)

3. Создать управляющий блок PTSCBдля режима блоковойпередачи, загрузить вектор FF205Сh.

(фрагмент № 6 программы загрузки данных в PTSCB)

4.Создать программуend of PTSпо адресу 2200h (располагается по вектору стандартного прерывания int14с адреса FF203Сh ), в которой предусмотреть повторную инициализациюциклаPTS перемещения нового блока данных, принятого из последовательного порта.

(записать фрагмент № 7 программы)

Фрагмент №2 - загрузить вектор FF2058h. - Инвестирование - 3

Последовательность действий:
1.Сформировать управляющее слово CON=САh;

M2=1 M1=1 M0=0 SU=1

2. Ниже приводится формат управляющего слова AD_COMMAND,

T M GO ch2 ch1 ch0

Адрес 1FACh

где - ch2-ch0 номера обслуживаемых каналов от 0 до7;
GO=1старт преобразования немедленный;
GO=0 старт преобразования через блок EPA;
М=0 это10-ти разрядное преобразование;
М=1 это8-ми разрядное преобразование;
Т=0 нормальное преобразование;
Т=1 детектирование порога;

Сформировать таблицу «команды \ данные».
(записать фрагмент № 8 программы)

После начала цикла PTS происходит следующее :

1. PTS читает первую команду , сохраняет её во временном регистре, увеличивает дважды указатель PTR1 , который теперь указывает на первую пустую ячейку памяти.

2. PTS читает AD_RESULT регистр(1FAAh ), сохраняет результатпервого преобразованияв таблице и дважды увеличивает PTR1

3. PTSзагружает команду из временногорегистра в регистр команд AD_COMMAND . Начинается следующий цикл АЦП.

4. Если бит SU =1 , то PTR1 сохраняется новое значение и указывает на новую команду.

5. Если бит SU=0 , то PTR1 повторно устанавливается в первоначальное значение, а значит следующий цикл использует ту же командуи перепишет предыдущее значение результата АЦП.

6. Декрементируется счетчик циклов и по его значению либо возврат в основную программу и ожидание завершения следующего преобразования, либо переход на end-of-PTS .

Последовательность действий (продолжение):

3. Размаскировать и разрешить как PTS-прерывание обслуживание запроса int 5 т.е. INT_MASK.5 :=1 (адрес 08h), PTSSEL(Lo). :=1 (адрес 04h).

(записать фрагмент № 9 программы)

4. Создать управляющий блок PTSCBдля режима аналого-цифрового сканирования , загрузить вектор FF204Аh.

(фрагмент № 10 программы загрузки данных в PTSCB)

5.Создать программуend of PTS ”(располагается по вектору стандартного прерывания int 5с адреса FF200Аh), в которой предусмотреть повторную инициализациюдля режима аналого-цифрового сканирования, обеспечивая либо ту же, либоиную последовательность преобразования.

(записать фрагмент № 11 программы)

6.Программным путем обеспечить начало первого преобразования.

(фрагмент № 12)

Фрагмент №2 - загрузить вектор FF2058h. - Инвестирование - 4

Ниже приведены примеры оформления ответов по заданным фрагментам:

Фрагмент №1

ORB INT_MASK1, #10H; Размаскировать ORB 13H, #10H

ORB PTSSEL(HI), #10H; разрешить как PTS-прерывание

Фрагмент №3

;Счетчик пакетов расположить в регистре (SFRs) - 1FB6h

LDB WSR, 3EH; 64-bytes окно №30

Фрагмент №4

; Создать программу “end of PTS” по адресу 2150h (располагается по вектору стандартного прерывания int12 с адреса FF2038h), в которой предусмотреть проверку счетчика пакетов и инициализацию вновь цикла PTS.

; загрузить вектор FF2038h.

LD CX, #2150H; адрес программыend of PTS

LD AX, #2038H; адрес вектора стандартного прерыванияint12

LDB BL, #0FFH;

EST CX, [BAX];

;создать программу “end of PTS”

end of PTS : LDB WSR, 3EH; выбор окна для 1FB6h

КІ-09-1,2 Весна-2013

П_занятие №1 . Аппаратная обработка прерываний с помощью блока PTS:

1. Одиночная передача байта информации;

2. Блоковая передача данных;

3. Режима аналого-цифрового сканирования;

Фрагмент №2 - загрузить вектор FF2058h. - Инвестирование - 1

Последовательность действий:
1.Сформировать управляющее слово
CON=05h;

M2=0 M1=0 M0=0 BW=0 SU=0 DU=1 SI=0 DI=1

2. Размаскировать и разрешить как PTS-прерывание обслуживание запроса int 12 т.е. INT_MASK1.4 :=1 (адрес 13h), PTSSEL(Hi).4 :=1 (адрес 05h).

(записать фрагмент № 1 программы)

3. Создать управляющий блок PTSCBдля режима одиночнойпередачи, загрузить вектор FF2058h.

(фрагмент № 2 программы загрузки данных в PTSCB)

4.Счетчик пакетов расположить в регистре (SFRs)-1FB6h

(записать фрагмент № 3 программы его загрузки)

5.Создать программуend of PTS ”(располагается по вектору стандартного прерывания int12с адреса FF2038h ), в которой предусмотреть проверку счетчика пакетови инициализациювновь циклаPTS.

(записать фрагмент № 4 программы)

Этот слайд заменить на слайд из офиса 2003 и проверить объем

Фрагмент №2 - загрузить вектор FF2058h. - Инвестирование - 2

Последовательность действий:
1.Сформировать управляющее слово CON=8Fh;

M2=1 M1=0 M0=0 BW=0 SU=1 DU=1 SI=1 DI=1

2. Размаскировать и разрешить как PTS-прерывание обслуживание запроса int 14 т.е. INT_MASK1.6 :=1 (адрес 13h), PTSSEL(Hi).6 :=1 (адрес 05h).

(записать фрагмент № 5 программы)

3. Создать управляющий блок PTSCBдля режима блоковойпередачи, загрузить вектор FF205Сh.

(фрагмент № 6 программы загрузки данных в PTSCB)

4.Создать программуend of PTSпо адресу 2200h (располагается по вектору стандартного прерывания int14с адреса FF203Сh ), в которой предусмотреть повторную инициализациюциклаPTS перемещения нового блока данных, принятого из последовательного порта.

(записать фрагмент № 7 программы)

Фрагмент №2 - загрузить вектор FF2058h. - Инвестирование - 3

Последовательность действий:
1.Сформировать управляющее слово CON=САh;

M2=1 M1=1 M0=0 SU=1

2. Ниже приводится формат управляющего слова AD_COMMAND,

T M GO ch2 ch1 ch0

Адрес 1FACh

где - ch2-ch0 номера обслуживаемых каналов от 0 до7;
GO=1старт преобразования немедленный;
GO=0 старт преобразования через блок EPA;
М=0 это10-ти разрядное преобразование;
М=1 это8-ми разрядное преобразование;
Т=0 нормальное преобразование;
Т=1 детектирование порога;

Сформировать таблицу «команды \ данные».
(записать фрагмент № 8 программы)

После начала цикла PTS происходит следующее :

1. PTS читает первую команду , сохраняет её во временном регистре, увеличивает дважды указатель PTR1 , который теперь указывает на первую пустую ячейку памяти.

2. PTS читает AD_RESULT регистр(1FAAh ), сохраняет результатпервого преобразованияв таблице и дважды увеличивает PTR1

3. PTSзагружает команду из временногорегистра в регистр команд AD_COMMAND . Начинается следующий цикл АЦП.

4. Если бит SU =1 , то PTR1 сохраняется новое значение и указывает на новую команду.

5. Если бит SU=0 , то PTR1 повторно устанавливается в первоначальное значение, а значит следующий цикл использует ту же командуи перепишет предыдущее значение результата АЦП.

6. Декрементируется счетчик циклов и по его значению либо возврат в основную программу и ожидание завершения следующего преобразования, либо переход на end-of-PTS .

Последовательность действий (продолжение):

3. Размаскировать и разрешить как PTS-прерывание обслуживание запроса int 5 т.е. INT_MASK.5 :=1 (адрес 08h), PTSSEL(Lo). :=1 (адрес 04h).

(записать фрагмент № 9 программы)

4. Создать управляющий блок PTSCBдля режима аналого-цифрового сканирования , загрузить вектор FF204Аh.

(фрагмент № 10 программы загрузки данных в PTSCB)

5.Создать программуend of PTS ”(располагается по вектору стандартного прерывания int 5с адреса FF200Аh), в которой предусмотреть повторную инициализациюдля режима аналого-цифрового сканирования, обеспечивая либо ту же, либоиную последовательность преобразования.

(записать фрагмент № 11 программы)

6.Программным путем обеспечить начало первого преобразования.

(фрагмент № 12)

Фрагмент №2 - загрузить вектор FF2058h. - Инвестирование - 4

Ниже приведены примеры оформления ответов по заданным фрагментам:

Фрагмент №1

ORB INT_MASK1, #10H; Размаскировать ORB 13H, #10H

ORB PTSSEL(HI), #10H; разрешить как PTS-прерывание

Фрагмент №2 - загрузить вектор FF2058h.

LD CX, #0050H; начальный адрес PTSCB

← Предыдущая страница | Следующая страница →