8(495)909-90-01
8(964)644-46-00
pro@sio.su
Главная
Системы видеонаблюдения
Охранная сигнализация
Пожарная сигнализация
Система пожаротушения
Система контроля удаленного доступа
Оповещение и эвакуация
Контроль периметра
Система домофонии
Парковочные системы
Проектирование слаботочных сетей
Аварийный
контроль
Раздел: Документация

0 ... 157 158 159 160 161 162 163 ... 195

Пример на ассемблере

; Записать 2 в UBRRH ldi г16,0х02 out UBRRH, rl6

; Установить биты USBS и UCSZ1 регистра UCSRC ldi rl6(l«URSEL) I (1«USBS) I (1«UCSZ1) out UCSRC,rl6

Пример на Си

/* Записать 2 в UBRRH */ UBRRH = 0x02;

/* Установить биты USBS и UCSZ1 регистра UCSRC */ UCSRC = (1«URSEL) I (1«USBS) I (1«UCSZ1) ;

Для выбора регистра при чтении используется временная последовательность. При первом обращении по указанным адресам возвращается значение регистра UBRRH (UBRRH/7). При повторном обращении по этим адресам в следующем такте возвращается значение регистра UCSRC (UCSRajC), как показано в приведенных ниже примерах. Прерывания при выполнении этой последовательности команд должны быть запрещены.

Пример на ассемблере

USART ReadUCSRC:

; Прочитать регистр UCSRC

in г16,UBRRH

in rl6,UCSRC

ret; Значение регистра UCSRC возвращается

; в регистре г16

Пример на Си

unsigned char USART ReadUCSRC(void) {

unsigned char ucsrc; ucsrc = UBRRH; ucsrc = UCSRC; return ucsrc;

}

При работе в асинхронном режиме скорость обмена определяется не только содержимым регистра UBRR, но и состоянием бита U2X (U2X/I)


регистра UCSRA (UCSR/*A). Если этот бит установлен в 1, коэффициент деления предделителя уменьшается в два раза, а скорость обмена соответственно удваивается. При работе в синхронном режиме этот бит должен быть сброшен.

Итак, скорость обмена определяется следующим образом:

•асинхронный режим (обычный, \J2Xn = 0)

BAUD = -—-

16-(UBRR+ 1)

•асинхронный режим (ускоренный, ШХп = 1)

BAUD = -—-

8(UBRR+1)

•синхронный режим ведущего

BAUD = -—- ,

2-(UBRR+l)

где BAUD — скорость передачи, бит/с;

/ск — тактовая частота микроконтроллера; UBRR — содержимое регистра контроллера скорости передачи (0...4095).

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

Значения регистра UBRR, при которых получаемая скорость передачи отличается от требуемого значения меньше чем на 0.5%, выделены в таблице жирным шрифтом. Значения, дающие ббльшую ошибку, также можно использовать, однако следует иметь в виду, что при этом снижается помехозащищенность линии передачи.

При работе в синхронном режиме в качестве ведомого скорость приема и передачи определяется частотой сигнала, поступающего на вывод ХСК (ХСКя). Частота этого сигнала должна удовлетворять условию

/хек </osc/4 •

Это ограничение связано с тем, что сигнал с вывода ХСК (ХСКя) сначала синхронизируется с тактовой частотой микроконтроллера, а затем проходит через детектор фронтов. Задержка сигнала при прохождении этих узлов равна двум тактам.


2

$L

l.OM

0.5M

1250000

230400

115200

76800

57600

38400

28800

19200

14400

9600

4800

2400

Скорость[бит/с]

as

NJ

1

1

1

1

1

1

о

NJ

CTN

nj

nj Ul

UBRR

шх=о

Ul

1

1

1

1

1

1

bo

ю ю SO

4

bo

~-j bo

bo

Ul

р к)

р

к)

Ошибка [%]

1.0001

1

1

1

1

о

-

ю

os

оо

nj Ul

Ul

UBRR

d

ы

X! ii

и*

2

г

Ul

1

1

1

оо

Ul

оо

OS

ро

Ul

ро

Ul

ро

Ul

1

4 о

1

Ul

о

NJ

р к)

р к)

Ошибка [%]

=

1

1

1

1

о

-

Ul

-4

nj

UBRR

d

ы

X! ii

о

k>

1

1

1

р о

1

ю у1 о

р о

р о

p о

о о

о о

о о

о о

о о

Ошибка [%]

1.8432

О

1

1

1

о

-

к)

и>

Ul

--4

z

Ul

nj

£ь

-4

чо

Ul

UBRR

d

ы X

МГц

1

1

1

о о

о

о

о

о

о о

р о

p о

о

о

р о

p о

р о

о о

Ошибка [%]

1

1

1

1

о

ю

L»J

os

оо

ь>

nj Ul

Ul

UBRR

d

ы

Ul

7*

1

1

1

ро

Ul

оо as

ро

Ui

ро

Ul

oo

Ul

1

4 о

1

Ul

о

NJ

р к)

р к)

Ошибка [%]

X о

2.0001

nj ui

1

1

О

1

NJ

os

oo

ON

nj Ul

Ul

о

UBRR

d

ы X

<=>

2

о 7*

1

1

о о

1

ро Ui

ро

Ui

ро

Ul

1

о

1

Ul

p к)

NJ

о к)

р к)

р к)

Ошибка [%]

ii

ю о

1

1

о

о

-

kj

u>

Ul

--4

Ul

ь> u>

4Ъ.

-4

чо

Ul

UBRR

d

ы X

ii

о

3.6864

1

1

1

bo

о о

р о

о о

о о

о о

о о

о о

о о

о

о

О

о

о о

Ошибка [%]

ft

о

1

о

-

и>

Ul

-4

~

Ul

а

u>

--4

чо Ul

чо

UBRR

d

ы X

2

2

OO

74

1

1

bo

1

;-4 bo

о о

о о

о о

о о

о о

о о

о о

о о

о о

о о

р о

Ошибка [%]

Ю

1

1

о

о

NJ

os

oo

os

ы

Ul

Ul

о

UBRR

d

ы X

4.0001

г;

1

1

о о

ро

Ui

ро

Ui

оо ui

ро

Ul

1

о

1

Ul

р к)

NJ

р к)

р к)

р к)

Ошибка [%]

ii

о

©

1

о

-

-

u>

os

оо

ON

к> Ul

4*

Ul

о

nj

о

-4

UBRR

d

ы X

ii

<=>

2 э

1

о о

о о

ро

Ul

ро

Ui

1

о

1

Ul

р

к)

NJ

р к)

1

p bo

р к)

р к)

р к)

Ошибка [%]

>•

1

о

u>

Ul

-4

Ul

к> U)

-4

чо

Ul

чо

UBRR

d

ы X

о

bo

74

1

1

bo

1

bo

о о

о о

о о

р о

о о

о о

о о

p о

р о

р о

о о

Ошибка [%]

7.3728 МП

о

U)

--4

-

Ul

U)

u>

4

-4

©\

ЧО Ul

чо

ut

00 U)

UBRR

d

ы X

74

1

bo

1

bo

1

bo

о о

о о

о о

р о

о о

о о

о о

p о

о о

р о

о о

Ошибка [%]

1

и э

d

X

5

о



0 ... 157 158 159 160 161 162 163 ... 195