Система управления установкой для измерения влажности и давления

Рисунок 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-битного счетчика временных интервалов.

TS1

TS0

 

0

0

1/128 секунды

0

1

секунды

1

0

минуты

1

1

часы

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).

Страница:  1  2  3  4  5  6  7  8  9 


Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы