Смекни!
smekni.com

Проектирование микропроцессорной системы на основе микроконтроллера К1816ВЕ31 (стр. 3 из 5)

Для управления режимами работы Т/С и для организации взаимодействия таймеров с системой прерывания используются два регистра специальных функций (РРТС и РУСТ). Как следует из описания управляющих бит РРТС, для обоих Т/С режимы работы 0, 1 и 2 одинаковы. Режимы 3 для Т/С0 и Т/С1 различны. Рассмотрим кратко работу Т/С во всех четырех режимах.

Режим 0. Перевод любого Т/С в режим 0 делает его похожим на таймер МК48 (8-битный счетчик), на вход которого подключен 5-битный предделитель частоты на 32. В этом режиме таймерный регистр имеет разрядность 13 бит. При переходе из состояния» все единицы» в состояние «все нули» устанавливается флаг прерывания от таймера TF1. Входной синхросигнал таймера 1 разрешен (поступает на вход Т/С), когда управляющий бит TR1 установлен в 1 и либо управляющий бит GATE (блокировка) равен 0, либо выход запроса прерывания

поступает уровень 1.

В таблице 8 приведены регистры режима работы таймера / счетчика, а в таблице 9 регистры управления / статуса таймера.

Установка бита GATE в 1 позволяет использовать таймер для измерения длительности импульсного сигнала, подаваемого на вход запроса прерывания.

Таблица 4.2.1

Символ Позиция Имя и назначение
GATE TMOD.7 для T/С1 и TMOD.3 для T/C0 Управление блокировкой. Если бит установлен, то таймер / счетчик «х» разрешен до тех пор, пока на входе «INTx» высокий уровень и бит управления «TRx» установлен. Если бит сброшен, то Т/С разрешается, как только бит управления «TRx» устанавливается.
TMOD.6 для T/С1 и TMOD.2 для T/C0 Бит выбора режима таймера / счетчика событий. Если бит сброшен, то работает таймер от внутреннего источника сигналов синхронизации. Если бит установлен, то работает счетчик от внешних сигналов на входе «Тх».
М1 TMOD.5 для T/С1 и TMOD.1 для T/C0 Режим работы (см. примечание).
М0 TMOD.4 для T/С1 и TMOD.0 для T/C0
М1 М0 Режим работы
0 0 Таймер МК48. «TLx» работает как 5-битный предделитель.
0 1 16-битный таймер / счетчик. «THx» и «TLx» включены последовательно.
1 0 8-битный автоперезагружаемый таймер / счетчик. «THx» хранит значение, которое должно быть перезагружено в «TLx» каждый раз по переполнению.
1 1 Таймер/счетчик1 останавливается. Таймер/счетчик0: TL0 работает как 8-битный таймер / счетчик, и его режим определяется управляющими битами таймера0.TH0 работает только как 8-битный таймер, и его режим определяется управляющими битами таймера1.

Режим 1. Работа любого Т/С в режиме 1 такая же, как и в режиме 0, за исключением того, что таймерный регистр имеет разрядность 16 бит.

Режим 2. В режиме 2 работа организована таким образом, что переполнение (переход из состояния» все единицы» в состояние «все нули») 8-битного счетчика TL1 приводит не только к установке флага TF1, но и автоматически перезагружает в TL1 содержимое старшего байта (TH1) таймерного регистра, которое предварительно было задано программным путем.

Перезагрузка оставляет содержимое TH1 неизменным. В режиме 2 Т/С0 и Т/С1 работают совершенно одинаково.

Режим 3. В режиме 3 Т/С0 и Т/С1 работают по разному. Т/С 1 сохраняет неизменным свое текущее содержимое. Иными словами, эффект такой же как и при сбросе управляющего бита TR1 в ноль.

В режиме 3 TL0 и TH0 функционируют как два независимых 8-битных счетчика. Работу TL0 определяет управляющие биты Т/С 0 (

, GATE, TR0), входной сигнал
и флаг переполнения TF0. Работу ТН0, который может выполнять только функции таймера (подсчет машинных циклов МК), определяет управляющий бит TR1. При этом ТН0 использует флаг переполнения TF1.

Разработка подсистемы связи с центральной ЭВМ

Проектируемое устройство должно выдавать содержимое памяти в центральную ЭВМ, а также принимать информацию от центральной ЭВМ.

Т.к. обмен информацией осуществляется на большие расстояния, то передачу необходимо вести в последовательном формате. Преобразование данных из параллельного формата в последовательный и обратно выполняет УАПП. УАПП – универсальный асинхронный приемопередатчик, предназначенный для реализации двунаправленного асинхронного обмена данными, представленными в параллельном формате, и управляющими словами с микропроцессором, а также двунаправленного асинхронного обмена данными, представленными в последовательном формате с другими модулями системы, например видеотерминалами, накопителями на магнитной ленте и т.д. Таким образом, УАПП преобразует параллельный код, полученный из системы по шине данных, в последовательный, и поразрядно выдаёт его в канал связи, а также выполняет обратное преобразование.

В состав УАПП, называемого часто последовательным портом, входят принимающий и передающий сдвигающий регистры, а также специальный буферный регистр (SBUF) приемопередатчика. Запись байта в буфер приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи байта. Наличие буферного регистра приемника позволяет совмещать операцию чтения ранее принятого байта с приемом очередного байта. Если к моменту окончания приема байта предыдущий байт не был считан из SBUF, то он будет потерян.

Управление режимом работы УАПП осуществляется через специальный регистр с символическим именем SCON. Этот регистр содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых данных (RB8 и TB8) и биты прерывания приемопередатчика (R1 и T1).


Таблица 4.5.1

Символ Позиция Имя и назначение
TF1 TCON.7 Флаг переполнения таймера1. Устанавливается аппаратурно при переполнении таймера / счетчика. Сбрасывается при обслуживании прерывания аппаратурно
TR1 TCON.6 Бит управления таймера 1. Устанавливается/сбрасывается программой для пуска / останова.
TF0 TCON.5 Флаг переполнения таймера1. Устанавливается аппаратурно. Сбрасывается при обслуживании прерывания
TR0 TCON.4 Бит управления таймера 0. Устанавливается/сбрасывается программой для пуска / останова. таймера / счетчика.
IE1 TCON.3 Флаг фронта прерывания 1. Устанавливается аппаратурно, когда детектируется срез внешнего сигнала
. Сбрасывается при обслуживании прерывания
IT1 TCON.2 Бит управления типом прерывания 1. Устанавливается / сбрасывается программой для спецификации запроса
(срез / низкий уровень).
IE0 TCON.1 Флаг фронта прерывания 1. Устанавливается аппаратурно, когда детектируется срез внешнего сигнала
. Сбрасывается при обслуживании прерывания
IT0 TCON.0 Бит управления типом прерывания 0. Устанавливается / сбрасывается программой для спецификации запроса
(срез / низкий уровень).

Режим 3 используется в тех случаях применение К1816ВЕ31, когда требуется наличие дополнительного 8-битного таймера или счетчика событий. Можно считать, что в режиме 3 К1816ВЕ31 имеет в своем составе 3 таймера / счетчика. В том случае, если Т/С0 используется в режиме 3, Т/С1 может быть или включен или выключен, или переведен в свой собственный режим 3, или может быть использован последовательным портом в качестве генератора частоты передачи, или, на конец, может быть использован в любом применении, не требующим прерывания.

После определения скорости приема / передачи информации необходимо обеспечить тактовую частоту приема RxC, передачи ТхС. Выдача этих синхросигналов осуществляется с использованием каналов программируемого таймера. Исходная частота, поступающая на программируемый таймер, равна частоте разрабатываемой микропроцессорной системы. Для определения уставки, записываемой в соответствующий канал программируемого таймера, необходимо определить коэффициент пересчета исходной частоты системы в частоту приема / передачи по линии связи, а также выбрать соответствующий режим работы задействованных каналов таймера.

5.Разработка принципиальной схемы проектируемого устройства

Выбор элементной базы

В контроллере, разрабатываемом в данном курсовом проекте, в качестве центральной части используется однокристальная микроЭВМ КМ1816ВЕ31, выполненная на основе высокоуровневой n-МОП технологии и взаимодействующая со средой в стандарте ТТЛ-схем с тремя состояниями выхода. Это позволяет при разработке схемы использовать ИС из микропроцессорного комплекта серии 580 быстродействующие ТТЛ серии. Как указывалось выше, в состав микроконтроллера входит программируемый таймер, асинхронный последовательный интерфейс (УАПП) и ПЗУ емкостью 1 Кб.

Для построения проектируемого устройства была выбрана следующая элементная база:

- программируемый контроллер клавиатуры и индикации КР580ВВ79;

- статическое ОЗУ емкостью 16Кб АТ28С128;

- блок семисегментных индикаторов АЛС318;

- буферный регистр К1533ИР22;

- ПЗУ К573РУ8;

Выбор указанных микросхем обусловлен их совместимостью по уровням, низким энергопотреблением, достаточно высоким быстродействием и помехозащищенностью.

6. Разработка программного обеспечения

Для выполнения поставленных задач микропроцессорной системе необходима программа функционирования, согласно которой микропроцессор будет осуществлять выдачу управляющих сигналов на шину управления, адресов ячеек памяти и устройств на шину адреса и осуществлять обмен данными по шине данных. Т.к. в системе имеются еще и программируемые контроллеры, то для работы с ними необходима так называемая инициализация, являющаяся загрузкой в специальные регистры управляющих слов. Причем инициализация всех контроллеров должна выполнятся до начала выполнения системой задания и один раз после включения питания (исключением является аппаратный системный сброс). Для инициализации системы в качестве управляющих слов для ИМС используются константы, хранящиеся в ПЗУ микроконтроллера.