Система управления установкой для измерения влажности и давления
Рисунок 2.4 – Управление FLASH/EE памятью пользователя
Для управления памятью используется регистр ECON, который является интерпретатором команд и в него можно записать одну из пяти чтения, программирования и стирания, как указано в таблице 2.2.
Таблица 2.2 – Регистр управления памятью ECON
При использовании данн
ая память может быть запрограммирована в составе системы побайтно, при этом, она предварительно должна быть стерта страничными блоками. Типовой цикл доступа к FLASH/EE памяти включает в себя установку адреса страницы доступа EADRL SFR, запись данных для программирования в EDATA 1-4 (в случае чтения - не записываются) и, наконец, запись команды в ECON, инициирующей действие в соответствие с таблицей 2.2.Следует отметить, что заданный режим работы инициируется по записи слова команды в ECON SFR. При этом микропроцессорное ядро переходит в холостой режим и находится там до тех пор, пока выполнение команды не завершится.На практике это означает, что даже если режим работы с FLASH/EE памятью инициируется двумя машинными циклами (инструкция MOV для записи в ECON SFR), следующая инструкция будет выполнена только после окончания цикла обслуживания FLASH/EE памяти (т.е. спустя 250 мкс или 20 мс). Это означает, что ядро не будет обслуживать запросы на прерывание до тех пор, пока операция с FLASH/EE памятью не завершится, хотя функции управления ядра периферией будет выполняться, как, например, продолжение счета времени/событий Счетчиками/Таймерами на протяжении всего псевдохолостого режима.
Для программирования одного байта в FLASH/EE памяти необходимо чтобы сначала этот байт был стерт, т.е. в ячейке записано FFH. Вследствие особенности архитектуры FLASH/EE памяти, стирание можно производить только для 1 страницы (минимум 4-байта) при инициировании Команды Стирания.
Пример процесса побайтного программирования графически показан на рисунке 2.5. В этом примере во второй байт на странице 03Н пользовательской FLASH/EE памяти записывается код F3H. Однако страница 03Н уже содержит данные в четырех байтах, а пользователю требуется изменить только содержимое одного байта; всю страницу следует сначала прочитать с тем, чтобы можно было стереть содержимое этой страницы без потери данных. Затем новый байт записывается в EDATA SFR вслед за циклом стирания. Если попытаться начать цикл Программирования (ECON=02H), не выполняя цикла Стирания (ECON=05H), то в этом случае будут модифицированы только те разряды, которые содержат единицы, т.е. для правильной записи массива необходимо выполнить его предварительное стирание. Следует отметить, что циклы стирания страницы и всей памяти имеют одинаковую длительность – 20 мс.
Рисунок 2.5 – Пример программирования байта памяти пользователя
Ассемблерный код приведенного примера выглядит следующим образом:
MOV EADRL, #03H ;Установка указателя страницы MOV ECON, #01H ;Команда чтения страницы MOV EDATA2, #0F3H ;Запись нового байта MOV ECON, #02H ;Команда стирания страницы MOV ECON, #05H ;Команда программирования страницы
Использование прерываний
ADuC812 обеспечивает восемь источников и два уровня прерываний. В таблице 2.3 приводятся адреса векторов прерываний и уровни приоритетов.
Таблица 2.3 – Адреса векторов прерываний
Для обработки любого из прерываний следует предпринять следующие три действия:
1. Расположить процедуру обслуживания прерывания по адресу соответствующего прерывания.
2. Установить бит разрешения всех прерываний (ЕА) «1» в регистре IE SFR.
3. Установить бит разрешения индивидуального прерывания в «1» в IE или IE2 SFR.
Для разрешения и установки приоритета различных прерываний используются три регистра SFR.
Счетчик временных интервалов TIC
Важной особенностью прибора является наличие счетчика временных интервалов (TIC), позволяющего отсчитывать временные интервалы большие, чем способны стандартные таймеры – длительностью до 255 часов. Упрощенная схема TIC представлена на рисунке 2.6.
Работа с TIC осуществляется при помощи следующих регистров:
TIMECON – регистр управления TIC (назначение битов TIMECON и набор режимов работы представлены в таблице 2.4);
INTVAL – регистр пользовательского временного интервала;
HTHSEC – регистр сотых долей секунды (инкрементируется через каждую 1/128 секунды, после значения 127 сбрасывается, инкрементируя регистр SEC);
SEC - регистр секунд (после значения 59 сбрасывается, инкрементируя регистр MIN);
MIN – регистр минут (после значения 59 сбрасывается, инкрементируя регистр HR);
HOUR – регистр часов (сбрасывается на 0 после значения 23 или 255 – в зависимости от режима работы).
Рисунок 2.6 - Упрощенная схема TIC
Таблица 2.4– Назначение битов TIMECON
№ бита |
обозначение |
назначение | |||||||||||||||
7 |
-- |
Зарезервирован | |||||||||||||||
6 |
TFH |
Бит выбора 24-часового режима (Twenty-Four Hour Select Bit). Если установлен – регистр HOUR сбрасывается после значения 23, иначе – после значения 255. | |||||||||||||||
5-4 |
TS1, TS0 |
Биты выбора единиц измерения интервалов (Interval Timebase Selection Bits). Определяют частоту обновления 8-битного счетчика временных интервалов.
| |||||||||||||||
3 |
STI |
Бит единичного временного интервала (Single Time Interval Bit). Устанавливает режим единичного временного интервала, когда бит TIEN сбрасывается при первом таймауте. | |||||||||||||||
2 |
TII |
Бит прерывания TIC (TIC Interrupt Bit). Устанавливается когда значение 8-битного счетчика временных интервалов совпадает с INTVAL. | |||||||||||||||
1 |
TIEN |
Бит включения 8-битного счетчика временных интервалов (Time Interval Enable Bit). | |||||||||||||||
0 |
TCEN |
Бит включения таймера (Time Clock Enable Bit). |
Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:
Поиск рефератов
Последние рефераты раздела
- Микроконтроллер системы управления
- Разработка алгоритмического и программного обеспечения стандарта IEEE 1500 для тестирования гибкой автоматизированной системы в пакете кристаллов
- Разработка базы данных для информатизации деятельности предприятия малого бизнеса Delphi 7.0
- Разработка детектора высокочастотного излучения
- Разработка микропроцессорного устройства для проверки и диагностики двигателя внутреннего сгорания автомобиля
- Разработка микшерного пульта
- Математические основы теории систем