Курсовая работа: Проектирование микропроцессорной системы на основе микроконтроллера К1816ВЕ31
Флаг прерывания приемника RIустанавливается аппаратно в конце периода передачи восьмого бита в режиме 0 и в середине приема стоп-бита в режиме 1,2 и 3. Подпрограмма обслуживания прерывания должна сбрасывать бит RI.
Скорость приема / передачи информации по линии связи определяется в начале работы над курсовым проектом и равна 600 бод.
Программируемый таймер находится внутри микроконтроллера К1816ВЕ31.
Таймер/счетчик . В составе средств КР1816ВЕ31 имеются регистровые пары с символическими именами TH0, TL0 и TH1, TL1, на основе которых функционируют два независимых программно-управляемых 16-битных таймера / счетчика событий.
Два программируемых 16-битных таймера / счетчика (Т/С0 и Т/С1) могут быть использованы в качестве таймеров или счетчиков внешних событий. При работе в качестве таймера содержимое Т/С инкрементируется в каждом машинном цикле, т.е. через каждые 12 периодов резонатора. При работе в качестве счетчика содержимое Т/С инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала, подаваемого на соответствующий (Т0, Т1) вывод К1816ВЕ31. Опрос значения внешнего входного сигнала выполняется в момент времени S5P2 каждого машинного цикла. Содержимое счетчика будет увеличено на 1 в том случае, если в предыдущем цикле был считан входной сигнал высокого уровня (1), а в следующем – сигнал низкого уровня (0). Новое значение счетчика будет сформировано в момент S3P1 в цикле в следующем за тем, в котором был обнаружен переход сигнала из 1 в 0. Так как на распознавание перехода требуется два машинных цикла, то максимальная частота подсчета входных сигналов равна 1/24 частоты резонатора. На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входного считаемого сигнала он должен удерживать значение 1 как минимум в течении одного машинного цикла К1816ВЕ31.
Для управления режимами работы Т/С и для организации взаимодействия таймеров с системой прерывания используются два регистра специальных функций (РРТС и РУСТ). Как следует из описания управляющих бит РРТС, для обоих Т/С режимы работы 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;