| engineerklub | Дата: Понедельник, 18.03.2024, 06:01 | Сообщение # 1 |
 Генералиссимус
Группа: Администраторы
Сообщений: 37397
Статус: Offline
| Микропроцессорные системы (часть 2) (ДВ 1.2)
Тип работы: Работа Лабораторная Форматы файлов: Microsoft Office Сдано в учебном заведении: СибГУТИ
Описание: Лабораторная работа №1
Вывод информации через последовательный порт 1. ЦЕЛЬ РАБОТЫ.
1.1. Изучить особенности работы последовательных портов микроконтроллера.
2. ПРЕДВАРИТЕЛЬНАЯ ПОДГОТОВКА К РАБОТЕ
2.1. По конспекту лекций и рекомендуемой литературе изучить схему последовательного порта микроконтроллеров.
2.2. По конспекту лекций и рекомендуемой литературе изучить схемы согласования логических уровней последовательных портов микроконтроллера и персонального компьютера.
2.3. Изучить особенности использования последовательного порта микроконтроллера.
2.4. Составить программу, выводящую надпись на экран компьютера.
3. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ПО РАБОТЕ С ЛАБОРАТОРНЫМ СТЕНДОМ ЛЭСО1.
Для связи микроконтроллера и универсального компьютера чаще всего используется последовательный порт. Это связано с двумя причинами. Первая – это минимальное количество проводов, требующееся для связи между этими устройствами. Вторая – это высокая защищённость последовательного порта от повреждений при подключении различных устройств.
Однако при работе с последовательным портом микроконтроллера возникает ряд трудностей. Основная трудность заключается в том, что последовательный порт микроконтроллера использует логические TTL уровни (Уровнем логического нуля считаются напряжение ниже 0.4В. Уровнем логической единицы считается напряжение больше 2,4В). Последовательный порт компьютера при передаче логического нуля формирует напряжение +10В, а при передаче логической единицы формирует напряжение –10В.
Для согласования логических уровней COM порта компьютера и последовательного порта микроконтроллера в настоящее время используются специализированные микросхемы.
3.1. Настройка последовательного порта микроконтроллера.
Через универсальный последовательный порт микроконтроллера осуществляются прием и передача информации, представленной в последовательном коде (младшими битами вперед). Наличие буферного регистра приемника позволяет совмещать операцию чтения ранее принятого байта с приемом очередного. Но если к моменту окончания приема байта предыдущий не был считан из регистра SBUF, то он будет потерян. Работой последовательного порта управляют три регистра:
· Регистр управления/статуса приемопередатчика SCON
· Бит SMOD регистра управления мощностью PCON
· Буферный регистр приемопередатчика SBUF
Последовательный порт может работать в четырех различных режимах, но для связи микроконтроллера с компьютером подходит только режим 1. В этом режиме могут быть переданы через внешнюю ножку TXD или приняты через внешнюю ножку RXD 8 бит данных. При приеме, стоп-бит записывается в флаг RB8 регистра SCON. Скорость передачи последовательного порта в режиме 1 задаётся в AduC842 таймером Т3 или таймером Т1 или Т2.
Последовательный порт начинает передачу после любой команды, которая осуществляет запись информации в регистр SBUF.
Прием начинается с приходом старт-бита, если в бит REN регистра SCON записана логическая единица.
Управление режимом работы приемопередатчика осуществляется через регистр управления последовательного порта SCON. Этот регистр содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых данных (RB8 и ТВ8) и биты прерывания приемопередатчика (RI и ТI). Бит TI устанавливается аппаратно после завершения передачи одного байта. При передаче нескольких байтов этот бит должен сравниваться с 1, и только после сравнения можно передавать следующий байт. Перед передачей очередного байта бит TI следует программно обнулить. Формат и адреса бит регистра SCON приведён на следующем рисунке:
СКАЧАТЬ
|
| |
|
|
| engineerklub | Дата: Понедельник, 18.03.2024, 06:02 | Сообщение # 2 |
 Генералиссимус
Группа: Администраторы
Сообщений: 37397
Статус: Offline
| Функциональное назначение бит регистра управления/статуса приемопередатчика SCON приведены в следующей таблице:
Символ
Позиция
Имя и назначение
SM0
SCON.7
Биты управления режимом работы приемопередатчика. Устанавливаются/сбрасываются программно см. примечание 1
SM0
SM1
Режим работы приемопередатчика
0
0
Сдвигающий регистр расширения ввода/вывода
0
1
8 битовый приемопередатчик, изменяемая скорость передачи
1
0
9 битовый приемопередатчик. Фиксированная скорость передачи
1
1
9 битовый приемопередатчик, изменяемая скорость передачи
SM1
SCON.6
SM2
SCON.5
Бит управления режимом приемопередатчика. Устанавливается программно для запрета приема сообщения, в котором девятый бит имеет значение 0
REN
SCON.4
Бит разрешения приема. Устанавливается/сбрасывается программно для разрешения/запрета приема последовательных данных
TB8
SCON. 3
Передача бита 8. Устанавливается/сбрасывается программно для задания девятого передаваемого бита в режиме 9-битового передатчика
RB8
SCON.2
Прием бита 8. Устанавливается/сбрасывается аппаратно для фиксации девятого принимаемого бита в режиме 9-битового приемника
TI
SCON. 1
Флаг прерывания передатчика. Устанавливается аппаратно при окончании передачи байта. Сбрасывается программно после обслуживания прерывания
RI
SCON.0
Флаг прерывания приемника. Устанавливается аппаратно при приеме байта. Сбрасывается программно после обслуживания прерывания
Для того, чтобы включить первый режим работы последовательного порта, достаточно выполнить следующую команду присваивания:
SCON=0x40|//выбрать 8-ми битный режим работы последовательного порта
0x10|//разрешить работу приёмника
0x02;// разрешить запись первого байта в передатчик
Конечно, можно занести сразу готовую константу, но намного удобнее для понимания работы с регистром управления последовательного порта расписывать каждый бит отдельно. Пример использования готовой константы приведён ниже:
SCON=0x52;//8 bit UART, разрешение работы приёмника и передатчика
Для задания точных временных интервалов при работе последовательного интерфейса UART в ADuC842 имеется специальный таймер T3. Временные интервалы, формируемые таймером определяются двумя регистрами специальных функций: T3FD и T3CON. Формирование импульсов, синхронизирующих работу UART определяется следующей схемой:
Из схемы видно, что таймер T3 представляет собой несколько делителей частоты (делители на 2, на (1+T3FD/64), на 2 в степени DIV, на 16. В результате получается частота импульсов на линиях передатчика TX и приемника RX. Величина DIV определяется тремя младшими разрядами регистра T3CON.
Бит
Мнемоника
Описание
T3CON.7
T3BAUDEN
Бит включения Таймера 3. Если T3BAUDEN=1, то Таймер 3 генерирует опорную частоту UART, при этом биты PCON.7, T2CON.4 и T2CON.5 игнорируются. Если T3BAUDEN=0, то опорная частота UART генерируется согласно стандартной реализации в ядре 8052.
T3CON.6
—
Биты, зарезервированные для будущего использования.
T3CON.5
—
T3CON.4
—
T3CON.3
—
T3CON.2
T3CON.1
T3CON.0
Целочисленный делить DIV
DIV2 DIV1 DIV0 DIV
0 0 0 0
0 0 1 1
0 1 0 2
0 1 1 3
1 0 0 4
1 0 1 5
1 1 0 6
1 1 1 7
Таким образом, скорость передачи последовательного порта можно определить по следующей формуле:
Где ActualBaundRate – скорость передачи данных
fosc – частота ядра
При включении питания микроконтроллера fosc =2.097152 МГц.
Если задать T3FD=0x2D16 = 4510 , а DIV = 3, то
СКАЧАТЬ
|
| |
|
|