Группа команд управления режимом работы МК

В эту группу входят команды управления таймером/счетчиком, прерываниями и флагами переключения банков регистров и банков ПП. В табл. 5 перечислены команды этой группы.

Операции с таймером. Кроме рассмотренных ранее команд обмен между таймером и аккумулятором (MOV A, T и MOV T, A), по которым содержимое таймера может быть прочитано во время остановки счета ("на лету") или изменено (перезагружено), в МК выполняются специальные команды управления режимом работы таймера. Таймер может быть (в зависимости от команды) использован как счетчик тактов или как счетчик событий от внутреннего или внешнего источника сигналов соответственно. Система команд МК располагает средствами разрешения или запрета прерывания от таймера.

Специальной командой ENT0 на вывод Т0 разрешается передача импульсов с частотой опорного синхросигнала, поделенной на три. Выдача этого сигнала может быть отключена только сигналом общего сброса. Синхросигнал на выходе Т0 используется для общей синхронизации внешних устройств, согласованных с МК по частоте работы.

Переключение банков регистров и ПП. Переключение банка памяти программ (т.е. изменение старшего бита счетчика команд) происходит в момент выполнения команды длинного перехода или вызова подпрограммы.

Наличие команд переключения банков регистров позволяет при вызове подпрограмм и обработке прерываний эффективно использовать второй банк регистров в качестве рабочего, сохраняя параметры вычислительного процесса не в стеке, а в исходном банке регистров. При программировании процедур обработки прерывания можно переключать или не переключать банки регистров. В том случае, когда банки регистров переключаются, возврат к исходному банку регистров будет выполнен автоматически, если подпрограмма обработки прерывания оканчивается командой возврата с восстановлением ССП (RETR).

Таблица 5. Группа команд управления режимами работы МК48

Название команды Мнемокод КОП ТБЦ ОПЕРАЦИЯ
Запуск таймера STRT T 1 1 1  
Запуск счетчика STRT CNT 1 1 1  
Останов таймера/счетчика STOP TCNT 1 1 1  
Разрешение прерывания от таймера/счетчика EN TCNTI 1 1 1  
Запрещение прерывании от таймера/ счетчика DIS TCNTI 1 1 1  
Разрешение внешнего прерывания EN I 1 1 1  
Запрещение внешнего прерывания DIS I 1 1 1  
Выбор нулевого банка регистров SEL RB0 1 1 1 (BS) = 0
Выбор первого банка регистров SEL RB1 1 1 1 (BS) = 1
Выбор нулевого банка ПП SEL МВ0 1 1 1 (DBF) = 0
Выбор первого банка ПП SEL MB1 1 1 1 (DBF) = 1
Разрешение выдачи синхросигнала на выход Т0 ENT0 CLC 1 1 1 Т0-синхросигнал (2МГц)
Холостая команда NOP 1 1 1 (PC) = (PC) +1

Задание к лабораторной работе

1. Исследовать процесс выполнения команд передачи управления.

2. Исследовать группу команд управления режимами работы МК.

3. Составить и исследовать программу сравнения чисел записанных по адресам 1 и 2 РПД и записи большего из них в регистр.

4. Написать программу временной задержки до 2–3 мин, что нужно применить в программе, чтобы время задержки увеличить до одного часа.

5. Используя программы 3 и 4, составить программу с обращением к подпрограмме (программа 4) по условию программы 3. Условие: содержимое адреса 1 больше содержимого адреса 2.

Содержание отчета

Отчет должен содержать:

1. Полный перечень команд передачи управления.

2. Полный перечень команд управления режимами работы МК.

3. Разработанные в процессе подготовки и выполнения работы программы

4. Вывод.

Контрольные вопросы.

1. Системный сброс, какие действия производит.

2. Логика условных переходов, перечислите условия, расскажите принцип действия.

3. Перечислите команды передачи управления.

4. Расскажите о командах безусловного перехода; ветвления с прямой адресацией, переход по косвенному адресу.

5. Расскажите о командах условного перехода, перечислите условия.

6. Программные циклы.

7. Расскажите о работе с подпрограммами, обращение к подпрограмме и возврат из подпрограммы.

8. Перечислите группу команд управления режимом работы МК, операции с таймером, банки регистров и ПП.

Наши рекомендации