1
МИКРОКОНТРОЛЛЕРЫ
l
Бит 6 регистра конфигурации пред-
назначен для временной остановки
(лог. 0) счетчика сторожевого таймера.
Для продолжения счета необходимо
занести в этот бит значение лог. 1. Если
в качестве источника импульсов для
сторожевого таймера (см. бит 2) выб-
ран внутренний мультивибратор, сброс
бита б будет его останавливать!
-
это именно тот бит, который
должна “дергать” программа, если сто-
рожевой таймер используется по свое-
му прямому назначению. Если этот бит
долго не “дергать” (лог. 1), сторожевой
таймер в конце концов выдаст процес-
сору сигнал прерывания.
Бит 3 - не выводной, а вводной бит:
он используется в программе-обработ-
чике прерываний от сторожевого тай-
мера. Как именно он используется -
пока говорить рано, но этот вопрос мы
обязательно рассмотрим в одной из
следующий статей. При выводе данных
этот бит необходимо устанавливать
равным лог. 1.
Бит 2 - источник импульсов, от ко-
торых производится счет генератора.
Сторожевой таймер может считать им-
пульсы от тактового генератора процес-
сора (лог. 1), либо от специального до-
полнительного мультивибратора (час-
тота его - около 10 кГц), имеющегося в
микроконтроллере (лог. 0). Счет им-
пульсов тактового генератора обеспе-
чивает намного более стабильное вре-
мя работы сторожевого таймера, но в
системе команд микроконтроллера
есть команда STOP, которая останав-
ливает работу тактового генератора
микроконтроллера - таймер при этом,
разумеется, считать не будет. Если та-
кой ситуации необходимо избежать, в
качестве источников импульсов для
сторожевого таймера следует выбрать
мультивибратор (лог. 0).
Биты 1 и 0 обеспечивают дополни-
тельна деление импульсов, поступа-
ющих на вход сторожевого таймера.
Если в них задана комбинация битов
11, импульсы на вход счетчика сторо-
жевого таймера идут напрямую, при
этом таймер досчитывает до 256 им-
пульсов (в документации по микрокон-
троллеру приводится более точная
цифра-255,5), после чего выдает про-
цессору сигнал прерывания. Если сто-
рожевой таймер используется по назна-
чению, программа должна “дернуть”
таймер не реже, чем через 256/2=128
выполненных в программе команд. Во
многих случаях это слишком часто, по-
этому импульсы, приходящие на сторо-
жевой таймер, можно предварительно
поделить на 16 (комбинация битов 10),
64 (комбинация битов 01) или 256 (ком-
бинация битов 00), соответственно
тому, во столько же раз больше време-
ни потребуется сторожевому таймеру,
чтобы досчитать до возникновения сиг-
нала прерывания.
И, наконец, последнее, что касает-
ся работы со сторожевым таймером.
Выдав процессору сигнал прерывания,
сторожевой таймер на этом “успокаи-
вается”: в отличие от интервального
таймера, сторожевой таймер - это не
“мультивибратор”, а “одновибратор”.
Если от сторожевого таймера необхо-
димо получать постоянные сигналы
прерываний, его после обработки каж-
дого прерывания необходимо перепрог-
раммировать заново!
Последнее из внешних устройств
микроконтроллера - это электрически
стираемое перепрограммируемое по-
стоянное запоминающее устройство
(ЭСППЗУ). В отличие от памяти про-
грамм, в ЭСППЗУ возможна запись и
чтение данных непосредственно в про-
цессе работы программы. Информация
в ЭСППЗУ не пропадает при выключе-
нии питания микроконтроллера, поэто-
му оно может быть использовано для
хранения каких-либо настроек (напри-
мер, уровня громкости в усилителе, уп-
равляемом микроконтроллером - что-
бы вернуть ее “в то же положение”, в
каком она была перед выключением
усилителя), или для кода электронного
ключа, или еще для чего-либо подоб-
ного. Емкость ЭСППЗУ - 64 байта дан-
ных, и каждый байт в ЭСППЗУ имеет
свой адрес - от 0 до ЗБИ. Работают с
ЭСППЗУ через 3 регистра - регистр уп-
равления (его адрес - 38И), регистр ад-
реса ЭСППЗУ (39И) и регистр данных
ЭСППЗУ (ЗБИ). Над ЭСППЗУ можно
выполнять всего две операции:
- считать байт из заданного адреса
ЭСППЗУ;
- записать байт по заданному ад-
ресу ЭСППЗУ.
Для того, чтобы считать из ЭСПП-
ЗУ какой-либо байт, поступают следу-
ющим образом:
1. В регистр адреса ЭСППЗУ зано-
сят адрес того байта, который необхо-
димо считать (этот регистр-тоже сво-
еобразные “ворота”, через которые
выбирается доступ к нужной ячейке
ЭСППЗУ).
2. В управляющем регистре ЭСПП-
ЗУ устанавливают бит запуска опера-
ции чтения (формат управляющего ре-
гистра будет описан чуть ниже).
3. Дожидаются окончания операции
чтения, анализируя бит операции чте-
ния в управляющем регистре ЭСППЗУ.
4. Забирают из регистра данных
ЭСППЗУ считанный байт.
Для того, чтобы записать в ЭСПП-
ЗУ какой-либо байт, поступают следу-
ющим образом:
1. В регистр адреса ЭСППЗУ поме-
щают адрес, по которому необходимо
записать байт в ЭСППЗУ.
2. В регистр данных ЭСППЗУ поме-
щают записываемый байт.
3. В управляющем регистре ЭСПП-
ЗУ устанавливают бит запуска опера-
ции записи.
4. Дожидаются окончания операции
записи, анализируя бит операции запи-
си в управляющем регистре ЭСППЗУ.
А теперь - формат управляющего
регистра ЭСППЗУ
(таблица 9).
Бит 4 управляющего регистра ЭС-
ППЗУ, установленный в лог. 1, разре-
шает ЭСППЗУ вьщать процессору мик-
роконтроллера сигнал прерывания при
Таблица 9
Номер бита
Назначение
7
Не используется
6
Не используется
5
Не используется
4
Лог. 1 - выдать сигнал прерывания по завершению операции записи
3
Лог. 1 - при чтении из ЭСППЗУ были обнаружены ошибки в данных
2
Не используется
1
Лог. 1 - запустить операцию чтения
0
Лог. 1 - запустить операцию записи
I
43
Радиолюбитель - 0 6 /2 0 0 5 |
предыдущая страница 43 Радиолюбитель 2005-06 читать онлайн следующая страница 45 Радиолюбитель 2005-06 читать онлайн Домой Выключить/включить текст