Предыдущая Следующая

• 16-байтовые приемный и передающий буфера FIFO;

• размещение регистров соответствует промышленному стандарту '550;

• приемный буфер FIFO «защелкивает» 1,4, 8 и 14 байт;

• встроенный генератор задания скорости обмена с периферийными устройствами.

Обслуживающие UARTO выводы микроконтроллера перечислены в Табл. 10.1.

Таблица 10.1. Описание выводов UART0

Название вьтода

Тип

Описание

RxDO

I

Последовательный вход. Принимает последовательные данные

TxDO

О

Последовательный выход. Передает последовательные данные

10.1. Описание регистров UART0

Логическая схема обслуживания UARTO состоит из десяти 8-битных регистров, перечисленных в Табл. 10.2. Старший бит регистра U1LCR представляет собой служебный бит доступа к значению делителя (DLAB) и используется для разрешения или запрещения доступа к регистрам, в которых хранится значение коэффициента деления программируемого делителя UART0 (подробнее об этом см. далее в этой главе).

Регистр буфера приема UARTO

(U0RBR — OxEOOOOOOO, когда DLAB = О, доступен только для чтения)

Регистр U0RBR используется как старший байт приемного буфера FIFO UARTO. Старший байт приемного буфера FIFO содержит самый «старый» (первый поступивший в приёмный буфер FIFO) принятый символ и может быть прочитан через шинный интерфейс. LSB (младший значащий бит — бит 0) U0RBR представляет собой самый «старый» принятый информационный бит. Если принятый символ кодируется менее чем восемью битами, неиспользованные MSB (старшие значащие биты) U0RBR заполняются нулями.

Таблица 10.2. Регистровая карта UARTO

Название

Описание

Бит 7

Бит 6

Бит 5

Бит 4

БитЗ

Бит 2

Бит 1

БитО

Доступ

Знач. после сброса1*

Адрес

U0RBR

Регистр буфера приема

(MSB)

   

Данные чтения

   

(LSB)

RO

Неопределенное

OxEOOOCOOO DLAB = 0

U0THR

Регистр буфера, (холдинга) пере-1, дачи

(MSB)

   

Данные записи

   

(LSB)

WO

NA

OxEOOOCOOO DLAB = 0

U0IER

Регистр разрешения прерываний

0

0

0

0

0

Разрешение прерывания по состоянию линии Rx

Разрешение прерывания THRE

Разрешение прерывания при доступе к принятым данным

R/W

0

0xE000C004 DLAB = 0

U0I1R

Регистр идентификации прерывания

Разрешение буферов FIFO

0

0

IIR3

IIR2

IIR1

IIR0.

RO

0x01

0xE000C008

U0FCR

Регистр управления буфером FIFO

Триггер (защелка) Rx

Зарезервировано

 

Сброс передающего буфера FIFO

Сброс приемного буфера FIFO

Разрешение FIFO

WO

0

0xE000C008

U0LCR

Регистр управления линией

DLAB

Установка стопового бита

Бит четности

Выбор типа четности

Разрешение четности

Количество

стоповых

битов

Выбор длины слова

R/W

0

0xE000C00C

U0LSR

Регистр состояния линии

Ошибка приемного буфера FIFO

ТЕМТ

THRE

BI

FE

РЕ

ОЕ

DR

RO

0x60

0xE000C014

U0SCR

Рабочий регистр клавиатуры

(MSB)

           

(LSB)

R/W

0

OxEOOOCOlC

U0DLL

Регистр, содержащий младший байт коэффициента деления

(MSB)

           

(LSB)

R/W

0x01

OxEOOOCOOO DLAB = 1

U0DLM

Регистр, содержащий старший байт коэффициента деления

(MSB)

           

(LSB)

R/W

0

0xE000C004 DLAB = 1

" Значение относится к данным, содержащимся только в используемых битах, и не включает содержимое зарезервированных битов.

Чтобы обратиться к регистру U0RBR, необходимо сбросить бит доступа к значению делителя (DLAB) в регистре U0LCR. Регистр U0RBR доступен только для чтения.


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz