Блок последовательного интерфейса



Блок последовательного интерфейса предназначен для обмена данными между микроконтроллером и внешними устройствами в последовательном коде посредством линий P3.0 и P3.1 порта P3, которые имеют специальные обозначения RxD и TxD соответственно.

Управление работой последовательного порта осуществляется программированием регистра SCON из блока регистров специальных функций (см. рис.4). Назначение разрядов этого регистра приведено в табл.9.

Управление режимом работы блока последовательного интерфейса осуществляется согласно табл.10.

Бит разрешения многопроцессорной работы управляет установкой флага прерывания приемника RI.

При SM2=1 бит RI не активизируется, если в режимах 2 и 3 9-й принимаемый бит данных равен "0" или в режиме 1 не принят стоп-бит, равный "1".

В режиме 0 SM2 должен быть равен "0".

Таблица 9

Назначение разрядов регистра SCON

Мнемоника бита Позиция в регистре Функция
SM0 SM1 7 6 Биты определения режима работы
SM2 5 Бит разрешения многопроцессорной работы
REN 4 Бит разрешения приема последовательных данных
TB8 3 9-й бит передаваемых данных в режимах 2 и 3
RB8 2 9-й бит принимаемых данных в режимах 2 и 3
TI 1 Флаг прерывания передатчика
RI 0 Флаг прерывания приемника

Таблица 10

Режимы работы блока последовательного интерфейса

SM0 SM1 Режим Функция Скорость передачи*
0 0 0 Сдвиговый регистр fBQ/12
0 1 1 8-битовый универсальный приемопередатчик (УАПП) ftc1
1 0 2 9-битовый УАПП fBQ/32 илиfBQ/64
1 1 3 9-битовый УАПП ftc1

* fBQ - частота тактирования кристалла;

ftc1 - частота на выходе таймера/счетчика 1.

Работа блока последовательного интерфейса в различных режимах осуществляется следующим образом.

Режим 0. Информация передается и принимается через вход RxD (P3.0). Через выход передатчика TxD (P3.1) выдаются синхроимпульсы, стробирующие принимаемые или выдаваемые биты. Формат посылки - 8 бит. Частота приема и передачи - fBQ/12, то есть частота тактирования равна частоте машинного цикла микро­контроллера.

Режим 1. Информация передается через выход TxD, а при­ни­мается через вход RxD. Формат посылки - 10 бит (стартовый “0”, 8 информационных и стоповый - “1”). Частота приема и передачи задается программированием таймера/счетчика 1 (T/C1).

Режим 2. Информация передается через выход TxD , а при­ни­мается через вход RxD. Формат посылки - 11 бит (стартовый “0”, 8 информационных, программируемый 9-й бит и стоповый - “1”). 9‑й бит при передаче берется из разряда TB8 регистраSCON., а при приеме передается в бит RB8 регистра SCON. 9-й бит используется по усмотрению программиста, например, как бит контроля информации по четности. Частота приема и передачи задается программно и может быть равна fBQ/32 или fBQ/64.

в командах, допускающих прямую, но не регистровую адресацию, может указываться регистр общего назначения, однако при трансляции команды в машинное представление его номер будет в этом случае представлен не 3-, а 8-раз­рядным двоичным кодом, соответствующим прямому адресу этого регистра в памяти данных; некоторые Ассемблеры, в том числе используемый в данном лабораторном практикуме, требуют для таких команд указания в явном виде номера регистра как прямого адреса ячейки памяти данных.

2. Действия:

В инструкции MUL AB производится перемножение содержимого аккумулятора и регистра B. Старшие разряды произведения помещаются в аккумулятор, а младшие - в регистр B.

В инструкции DIV AB содержимое аккумулятора делит­ся на содержимое регистра B. Частное помещается в ак­ку­мулятор, а остаток - в регистр B. Операнды рассматриваются как целые числа без знака.

& - конъюнкция.

v – дизъюнкция.

 - “исключающее ИЛИ”.Å

^ - логическое “НЕ”.

ЦСЛ - циклический сдвиг влево.

ЦСП - циклический сдвиг вправо.

В операциях сдвига через С участвует 9-разрядный регистр (8-разрядный аккумулятор и бит переноса С).

<=> обмен местами операндов.

В инструкции XCHD A,@Ri осуществляется обмен только младших тетрад операндов.

В инструкциях переходов

для безусловных переходов adr показывает, что в команде кодируется абсолютный адрес памяти программ, по которому осуществляется переход;

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

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

Некоторые ассемблеры, в том числе используемый в дан­ном лабораторном практикуме, для инструкции вызова подпрограммы и инструкции безусловного перехода требуют от программиста явного указания длины генерируемого адреса перехода, то есть записи в программе инструкций ACALL, LCALL, AJMP, LJMP, SJMP и не воспринимают инструкции CALL, JMP. Другие ассемблеры самостоятельно ге­­не­рируют инструкции, имеющие необходимую длину поля адреса в зависимости от места расположения адреса перехода, и по­этому допускают использование инструкций CALL и JMP.

 


Дата добавления: 2019-11-25; просмотров: 184; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!