Программирование микропроцессорных систем в интегрированной среде программирования keil-c: Методические указания к лабораторным работам, страница 21

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

Однако при работе с последовательным портом микроконтроллера возникает ряд трудностей. Основная трудность заключается в том, что последовательный порт микроконтроллера использует логические TTL уровни (Уровнем логического нуля считаются напряжение ниже 0.4В. Уровнем логической единицы считается напряжение больше 2,4В). Последовательный порт компьютера при передаче логического нуля формирует напряжение +10В, а при передаче логической единицы формирует напряжение –10В.

Для согласования логических уровней COM порта компьютера и последовательного порта микроконтроллера в настоящее время используются специализированные микросхемы.

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

3.3. Настройка последовательного порта микроконтроллера.

Через универсальный последовательный порт микроконтроллера осуществляются прием и передача информации, представленной в последовательном коде (младшими битами вперед). Наличие буферного регистра приемника позволяет совмещать операцию чтения ранее принятого байта с приемом очередного. Но если к моменту окончания приема байта предыдущий не был считан из регистра SBUF, то он будет потерян. Работой последовательного порта управляют три регистра:

§  Регистр управления/статуса приемопередатчика SCON

§  Бит SMOD регистра управления мощностью PCON

§  Буферный регистр приемопередатчика SBUF

Последовательный порт может работать в четырех различных режимах, но для связи микроконтроллера с компьютером подходит только режим 1. В этом режиме могут быть переданы через внешнюю ножку TXD или приняты через внешнюю ножку RXD 8 бит данных. При приеме, стоп-бит записывается в флаг RB8 регистра SCON. Скорость передачи последовательного порта в режиме 1 задаётся таймером Т1 или Т2.

Последовательный порт начинает передачу после любой команды, которая осуществляет запись информации в регистр SBUF.

Прием начинается с приходом старт-бита, если в бит REN регистра SCON записана логическая единица.

Управление режимом работы приемопередатчика осуществляется через регистр управления последовательного порта SCON. Этот регистр содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых данных (RB8 и ТВ8) и биты прерывания приемопередатчика (RI и ТI). Формат и адреса бит регистра SCON приведён на следующем рисунке:


Адрес

Ст. зн. Разр

Мл. зн. Разр

98Н

SM0

SCON.7

SM1

SCON.6

SM2

SCON.5

REN

SCON.4

TB8

SCON.3

IT1

SCON.2

RB8

SCON.1

RI

SCON.0

SCON

9Fh

9Eh

9Dh

9Ch

9Bh

9Ah

99h

98h

Функциональное назначение бит регистра управления/статуса приемопередатчика SCON приведены в следующей таблице: