НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 58596061626364 ... 159


выводы для чтения/записи и выбора кристалла, что позволяет легко осуществлять операции по передаче данных. Структурная схема управляемого параллельного порта приведена на рис. 7.35.

Соответствующие временные диаграммы, иллюстрирующие процедуру записи/считывания данных, показаны на рис. 7.36.

Входной регистр

Выходной регистр

] 8 двунаправленных линий

- ] CS - для адресной выборки

- ] WR - строб-импульс записи (инверсный)

- ] RD - строб-импульс чтения (инверсный)

Рис. 7.35

Структурная схема управляемого параллельного порта

Данные

/ Запись данныху" W Команда чтения

коГрГер

Рис. 7.36

Временные диаграммы работы управляемого параллельного порта



Минимальное время доступа соответствует одному периоду такто-руХ импульсов микроконтроллера. Для PIC-микроконтроллеров, использующих синхронизирующие импульсы частотой 20 МГц, минимальная величина времени доступа составляет 50 не.

Чтобы разрешить использование управляемого параллельного порта, нужно предварительно установить бит выбора режима параллельного порта в регистре TRISE. При установке этого бита управление портом D передается линиям CS, RD и WR, которые соответствуют выводам RE2, RE1 и REO порта Е. После того как будет установлен бит выбора режима порта, данные регистров PORTD, PORTE, TRISD и TRISE игнорируются.

При использовании управляемого параллельного порта, когда активизированы линии CS и RD (на них уровень логического 0), осуществляется вывод содержимого регистра OUTREG через порт D. При записи в регистр OUTREG (адрес, соответствующий регистру PORTD) производится установка бита OBF («выходной буфер полон») регистра TRISE. Но эта возможность предусматривается не для всех микроконтроллеров. Бит PBF сбрасывается автоматически при считывании байта из регистра OUTREG в режиме управляемого параллельного порта.

При записи байта в микроконтроллер через управляемый параллельный порт (на линиях CS и WR логические 0) записываемая величина сохраняется в регистре INREG до тех пор, пока она не будет заменена новыми данными. В регистре состояния бит IBF («входной буфер полон») будет устанавливаться каждый раз при записи данных в регистр IN REG и стираться каждый раз при считывании байта программой из регистра INREG.

Если ранее записанный байт не считывается до поступления последующего байта в регистр INREG, инициируется установка бита переполнения входного буфера IBOV, который указывает, что возникли условия «затирания» данных.

В первых микроконтроллерах, имеющих управляемый параллельный порт, биты IBF, OBF и IBOV регистра TRISE отсутствовали.

ДОСТУП к EEPROM ДАННЫХ

Регистры EEADR , EEDATA , EC0N1 и EEC0N2 обеспечивают достутг к встроенному EEPROM (электрически стираемому и программируеному постоянному запоминающему устройству), предназначенному для хранения данных. При этом регистры EEADR и EEDATA необходимы для формирования



и ввода адреса и данных в EEPROM, объем памяти которого может достигать 256 байт. В свою очередь регистры EEC0N1 и EEC0N2 предназначены для выбора режима доступа и индикации момента завершения операций. Регистр EEC0N2 представляет собой «псевдорегистр», не допускающий считывания данных, однако сюда можно записать коды 0х055/0х0АА, что позволяет контролировать правильность выполнения операции записи.

В табл. 7.23 указывается назначение битов регистра EEC0N1, которые отвечают за управление доступом.

Таблица 7.23

Назначение основных битов региара EEC0N1

Назначение

EEPCD

Уаанавливается для разрешения доаупа к программной памяти; обнуляется для разрешения доаупа к электрически программируемому ПЗУ данных (только в микроконтроллерах PIC l6F62x и PIC 16F87x)

WRERR

Бит ошибки записи, указывает на возможную некорректность записанного результата

WREN

Бит инициирования операции записи в электрически программируемое ПЗУ

Индицирует выполнение операции записи; обнуляется после завершения операции записи

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

Операция считывания данных из EEPROM выполняется с помощью указанных битов и нижеследующего фрагмента программы:

movf/movlw Address/ADDR, w

bcf STATUS, RPO

movwf EEADR

bsf STATUS, RPO

bsf EEC0N1 " 0x08, RD

bcf STATUS, RPO

movf EEDATA, w ; Регистр w содержит адрес (ADDR) EEPROM.

Операция записи данных выполняется аналогичным образом, но имеет существенное отличие. Продолжительность этой операции может достигать 10 мс, что требует периодического опроса программой бита WR регистра EECON1 вплоть до момента завершения операции. Другой путь - воспользоваться аппаратно формируемым запросом на прерывание по завершении записи в EEPROM. Ниже представлен программный фрагмент для осуществления записи в EEPROM.

movlw/movf Constant/DATA, w bcf STATUS, RPO

movwf EEDATA



0 ... 58596061626364 ... 159