Режим 0. Синхронный режим работы последовательного порта 


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



ЗНАЕТЕ ЛИ ВЫ?

Режим 0. Синхронный режим работы последовательного порта



В режиме 0 последовательный порт работает как обыкновенный сдвиговый регистр. Это позволяет использовать его для увеличения количества входов/выходов устройства. Использование сдвиговых регистров для этой цели показано на рис. 20.24 и 20.26. Передача через последовательный порт начинается с записи байта в регистр данных SBUF. После завершения передачи аппаратно устанавливается флаг прерывания передатчика TI. Временная диаграмма сигнала, вырабатываемого последовательным портом микроконтроллера, при передаче восьми бит данных приведена на рис. 20.25. Прием байта через последовательный порт начинается после обнуления флага готовности приемника RI. Временная диаграмма приема входной информации последовательным портом в режиме 0 приведена на рис. 20.27. Синхронный режим 0 задается записью комбинации 00 в биты SM0, SM1 регистра SCON. В этом режиме информация передается/принимается через вывод входа приемника RxD, то есть в этом режиме работы последовательный порт работаем в симплексном режиме. Через вывод TxD выдаются импульсы синхронизации, которые сопровождают каждый информационный бит. Скорость передачи в этом режиме фиксирована и составляет Fген/ 12. Это означает, что при частоте задающего генератора 24 МГц обмен данными осуществляется на скорости 2 Мбита/с.

Для осуществления передачи байта данных достаточно занести его в буфер данных SBUF, как это показано в листинге 20.3.

Листинг 20.3. Передача байта данных в режиме 0

MOV SCON, #0;Настроить последов. порт на передачу в режиме 0

 

MOV SBUF, A;Передать содержимое аккум. по последовательному порту и

JNB TI, $;подождать окончания передачи

 

MOV SBUF, #56H;Передать по последовательному порту число 56h и

JNB TI, $;подождать окончания передачи

Рис. 20.24. Схема подключения сдвиговых регистров к последовательному порту микроконтроллера для увеличения количества выводов устройства

Рис. 20.25. Временная диаграмма работы последовательного порта в режиме 0 после записи передаваемого байта в регистр данных SBUF

Для осуществления приема байта данных достаточно настроить порт на прием в синхронном режиме (режим 0) и обнулить флаг приема RI, как это показано в примере программы, приведенной на листинге 20.4. Затем можно считывать принятый байт из регистра буфера данных SBUF.

Листинг 20.4. Прием байта в режиме 0

;Настроить режим работы последовательного порта--------------------------

MOV SCON,#00010000b;настроить последов. порт на режим 0

;

|| ;

Обнулить флаг приемника RI ;

Обнулить флаг передатчика TI ;

Обнулить девятый бит приемника RB8 ;

Обнулить девятый бит передатчика TB8 ;+-----------Разрешить работу приемника ;||+------------В синхронном режиме не имеет значения ;++-------------Включить синхр. режим работы последов. порта ;Так как предыдущая команда обнулила флаг RI, с этого момента начинается ;прием байта JNB RI, $;Подождать окончания приема байта по последоват. MOV A, SBUF;порту и скопировать его в аккумулятор В настоящее время разработано огромное количество микросхем, управление которыми осуществляется по синхронному последовательному порту. Это, например, синтезаторы частоты, микросхемы приемников, блоков цветности телевизоров, памяти, При этом микросхемы обычно реализуют синхронные протоколы обмена SPI или I2C. Последовательный порт микроконтроллеров семейства MCS-51, работающий в режиме 0, позволяет осуществлять обмен с такими микросхемами при минимальных программно-аппаратных затратах. Справедливости ради необходимо отметить, что в современных микросхемах этого семейства присутствуют отдельные последовательные порты, работающие по протоколу SPI или I2C. В качестве примера такой микросхемы можно назвать микроконтроллер ADuC834 фирмы Analog Devices. В таких микросхемах последовательный порт используется исключительно для связи с универсальным компьютером через стандартный последовательный интерфейс RS232 или с любым другим микроконтроллером, обладающим асинхронным последовательным портом. Рис. 20.26. Использование режима 0 работы последовательного порта для увеличения количества выводов устройства, работающих на ввод Рис. 20.27. Временная диаграмма приема входной информации последовательным портом в нулевом режиме после обнуления флага готовности приемника RI.



Поделиться:


Последнее изменение этой страницы: 2017-02-07; просмотров: 331; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.143.23.176 (0.006 с.)