Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МСУзаочники2013 / Аппаратная база и программирование микропроцессорных систем управления.doc
Скачиваний:
37
Добавлен:
10.06.2015
Размер:
1.51 Mб
Скачать

Внутренняя память данных.

Адресное пространство внутренней памяти данных складывается из 128 ячеек собственно ОЗУ и двадцати адресуемых регистров специального назначения, имеющих адреса со 128 по 255 (рис. 6 ).

Рис.6 Адресное пространство внутренней памяти данных.

В ОЗУ размещается стек, используемый для хранения содержимого счетчика команд при вызове подпрограмм, а также для временного хранения данных. Глубина стека, определяемая восьмиразрядным указателем стека SP, ограничена только объемом внутреннего ОЗУ.

Первые 32 ячейки ОЗУ разбиты на 4 банка по 8 ячеек в каждом - регистры общего назначения. В каждом банке регистры имеют собственные имена, соответственно R0-R7.

Выбор нужного банка регистров осуществляется программно. Номер банка задается разрядами PSW.3 и PSW.4 регистра PSW.

Структура ОЗУ позволяет работать не только с отдельными ячейками памяти (байтовая адресация), но и с отдельными битами (побитовая адресация). Прямоадресуемые биты с адресами 0 – 127 (0 – 7FH) расположены в блоке из 32 ячеек внутреннего ОЗУ, имеющих адреса 20Н – 2FH.

Таким же образом можно работать с регистрами специального назначения. Адреса и названия регистров специального назначения указаны на рис.3.

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

Блок таймеров / счетчиков

Два 16-разрядных регистра (ТН0,TL0) и (TH1,TL1) выполняют функцию считающих элементов. Регистры TH0,TH1 – старшие, TL0, TL1 – младшие 8 разрядов 16-разрядных регистров. Каждый из 8-разрядных регистров имеет свой адрес и может использоваться как регистр общего назначения (РОН), если таймер/счетчики не используются.

Управление работой таймеров/счетчиков осуществляется с помощью регистров специального назначения – регистра режимов TMOD и регистра управления TCON, а также схемы управления.

Число, с которого начинается счет, заносится в регистры таймеров/счетчиков программно. В процессе счета содержимое регистров Т/С0 и Т/С1 инкрементируется. При переполнении регистров Т/С0 и Т/С1 (переход от состояния «все единицы» к состоянию «все нули») формируется флаг переполнения.

При работе в качестве таймера, содержимое Т/С0 и Т/С1 инкрементируется каждый машинный цикл, т.е. частота счета равна fQ/12 , где fQ – частота тактового генератора.

При работе Т/С0 и Т/С1 в качестве счетчиков внешних событий (сигналы поступают на входы Р3.4 и Р3.5) , содержимое счетчиков инкрементируется при переходе из «1» в «0» сигналов на счетных входах.

Логика работы таймера счетчика в режимах 0,1,2 приведена на рис.7.

Рис.7. Логика работы таймеров/счетчиков в режимах 0, 1 и 2.

Регистр режимов TMOD определяет:

  • режим работы каждого таймера/счетчика – используемую разрядность считающего элемента;

  • источник импульсов для счета – работу в качестве таймера или счетчика;

  • разрешение управления запуском таймера / счетчика от внешнего входа.

Назначение разрядов регистра TMOD приведено в таблице 1. Биты 0-3 относятся к Т/С0,биты 4-7 – к Т/С1.

Табица.1

Биты

7

6

5

4

3

2

1

0

Обозн.

GATE1

C/T1

M1.1

M0.1

GATE0

C/T0

M1.0

M0.0

Назначение битов М0,М1 (режим работы, отдельно для Т/С1 и Т/С0):

  • М1, М0=00 (режим 0), используется 13-разрядный считающий элемент 8рTH0+5рTL0;

  • М1, М0=01 (режим 1), используется 16-разрядный считающий элемент 8рTH0+8рTL0;

  • М1, М0=10 (режим 2), используется 8-разрядный считающий элемент TL0. TH0 хранит константу перезагрузки. При переполнении TL0 автоматически перезагружается;

  • М1, М0=11 (режим 3), для Т/С1 не используется. Т/С0 работает как два независимых 8-разрядных счетчика TH0 и TL0.

Биты С/Т0,С/Т1 определяют работу в качестве таймера (С/Т0 или С/Т1 = 0) или счетчика (С/Т0 или С/Т1 = 1).

Бит GATE разрешает управлять таймером от внешнего вывода INT0 – для Т/С0, INT1 – для Т/С1. Если GATE = 0 – управление запрещено;GATE = 1 – управление разрешено.

Регистр управления ТCON предназначен для приема и хранения управляющего слова. Обозначение и назначение разрядов регистра приведено в табл. 2.

Таблица 2

Биты

7

6

5

4

3

2

1

0

Обозн.

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

Назначение битов:

  • TR0, TR1 – биты включения Т/С, отдельно для Т/С0 и Т/С1. Если TR = 0 - выключен, TR = 1 – включен. Биты устанавливаются и сбрасываются программно

  • TF0, TF1 – флаги переполнения Т/С. Биты сбрасываются и устанавливаются аппаратно и программно.

  • IT0, IT1 – биты, определяющие вид прерывания по входам INT0, INT1. IT=0 – прерывание по уровню (низкому); IT = 1 – прерывание по фронту (переход из «1» в «0»). Биты устанавливаются и сбрасываются программно.

  • IE0, IE1 – флаги запроса внешних прерываний по входам INT0, INT1 Биты сбрасываются и устанавливаются аппаратно и программно.

Все биты регистра ТCON доступны по чтению. Биты 4,5 относятся к Т/С0,биты 6,7 – к Т/С1.Биты 0,1 определяют внешние прерывания по входу INT0, биты 2,3 – по входу INT1.

Т/С1 аппаратно связан с блоком синхронизации последовательного интерфейса (ПИ), он используется для управления скоростью приема/передачи последовательных данных.