Аппаратные и программные средства встраиваемых систем



Pdf көрінісі
бет77/268
Дата07.01.2022
өлшемі3,23 Mb.
#18255
1   ...   73   74   75   76   77   78   79   80   ...   268
Бит 
Описание 
SM0 
SM1 
Режим работы UART: 
SM0 SM1 Выбранный режим работы 
0 0 
Режим 0 
0 1 
Режим 1 
1 0 
Режим 2 
1 1 
Режим 3 
 
SM2 
Включает поддержку взаимодействия нескольких микроконтроллеров в 
режимах 2 и 3. В Режиме 0 бит SM2 должен быть сброшен (SM2=0). При 
приеме в Режиме 1 при SM2=1 RI не устанавливается, если не был принят 
правильный стоп-бит; если же SM2=0 RI установится как только будет 
принят байт данных. Если SM2=1, то при приеме в режимах 2 и 3 RI не 
устанавливается в том случае, если принятый 9-й бит (RB8) равен 0. 
REN (Receiver 
Enable) 
Если установлен, то разрешен прием данных. 
Устанавливается и сбрасывается программно. 
TB8 
(Transmitter Bit 8) 9-й бит посылаемых данных в режимах 2 и 3. 
Устанавливается и сбрасывается программно. 
RB8 
(Receiver Bit 8) 9-й бит принимаемых данных в режимах 2 и 3. В режиме 
1, если SM2=0, в RB8 записывается принятый стоп-бит (точнее то, что 
было принято в момент приема стоп-бита). В режиме 0 не используется. 
TI (Transmitter 
Interrupt) 
Флаг завершения посылки. Устанавливается 
аппаратно по завершении посылки 8-го бита данных в режиме 0 или 
стоп-бита в других режимах. При ES = 1 (бит 4 регистра IEN0 (0A8h)) 
происходит прерывание №4 (вектор 023h), когда TI устанавливается 
контроллером в 1. Сбрасывается программно. 
RI (Receiver 
Interrupt) 
Флаг завершения приема. Устанавливается аппаратно 
по завершении приема 8-го бита данных в режиме 0 или стоп-бита в 
других режимах. При ES = 1 (бит 4 регистра IEN0 (0A8h)) происходит 
прерывание №4 (вектор 023h), когда RI устанавливается контроллером 
в 1. Сбрасывается программно. 
 
Как было сказано выше, скорости обмена в разных режимах различаются. 
В двух из них скорости фиксированы, а в двух других переменные. Рассмотрим 
подробнее способы задания скорости обмена в каждом из режимов. 
•  Режим  0.  Фиксированная  скорость  обмена.  В  этом  режиме  скорость 
вычисляется следующим образом: 
12
Clk
Core
baudrate
=
, где Core_Clk есть внутренняя тактовая частота МК. 
•  Режим  2.  Скорость  обмена  зависит  от  значения  бита SMOD (старший 
бит  в  регистре PCON (087h)). Если SMOD=0 (по  умолчанию),  то 


 
101 
скорость  определяется  как 1/64 тактовой  частоты. SMOD=1 удваивает 
это значение. В общем случае: 
64
2
osc
SMOD
f
baudrate
×
=
 
•  Режимы 1 и 3. В этих режимах порт можно синхронизировать от двух 
источников: от Таймера 1 или Таймера 2, или обоих (один для передачи, 
другой  для  приема  байта  данных).  Источник  синхронизации 
определяется 
значением 
бита BD (старший 
бит 
регистра 
ADCON(0D8h)):  если BD=1, то  используется  встроенный  генератор 
импульсов, в противном случае используется таймер 1. 
При  использовании  Таймера 1 скорость  обмена  определяется  временем 
переполнения таймера и значением бита SMOD: 
32
2
TM1OVrate
SMOD
×
=
baudrate
,  
где TM1OVrate – время переполнения Таймера 1, зависящее от режима его 
работы.  Таймер 1 может  быть  установлен  как  «таймер»  или  как  «счетчик»,  в 
любом режиме работы. Прерывание от таймера при этом обычно запрещается. 
Чаще  всего  таймер 1 устанавливают  как  «таймер»  в  режиме 2 («auto-reload»): 
для этого старшая тетрада регистра TMOD (089h) должна равняться 0010b. При 
таком использовании после каждого переполнения регистра таймера TL1 в него 
загружается  значение  из  регистра TH1. Скорость  обмена  в  этом  случае 
вычисляется по формуле: 
)
256
(
12
32
2
TH1

×
×
=
osc
SMOD
f
baudrate
 
В следующей таблице приведены способы задания некоторых стандартных 
скоростей обмена: 


Достарыңызбен бөлісу:
1   ...   73   74   75   76   77   78   79   80   ...   268




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет