Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Режим 1. Асинхронный восьмиразрядный последовательный порт.





В первом режиме работы последовательный порт работает в асинхронном режиме. Временная диаграмма передаваемых сигналов через последовательный порт в асинхронном режиме работы показана на рисунке 6. Первый режим работы задаётся записью комбинации 01 в биты SM0 и SM1 регистра SCON. В асинхронном режиме работы информация передается через ножку передатчика последовательного порта микроконтроллера TxD, а принимается через вывод входа приемника RxD, то есть в этом режиме работы последовательный порт работает в дуплексном режиме. Это означает, что передача и приём информации может вестись независимо друг от друга. Скорость передачи в этом режиме настраивается при помощи таймера T1.

Рисунок 6. Временная диаграмма приёма или передачи информации последовательным портом в первом режиме работы.

При работе в асинхронном режиме работы два микроконтроллера могут обмениваться информацией между собой. Такой способ обмена позволяет сократить до минимума количество соединительных проводов между блоками или даже отдельными устройствами. Единственное условие: в отличие от синхронного режима работы, скорости работы последовательных портов должны быть одинаковыми. Обычно используются стандартные скорости передачи, такие как 1200бит/с, 2400 бит/с и т.д. Для таких скоростей передачи обычно используется кварцевый резонатор с частотой 11.0592 МГц. Скорости передачи и коэффициенты, загружаемые в таймер 1, для этих скоростей передачи приведены в таблице 1.

В отличие от нулевого режима работы в первом режиме работы возможен обмен информацией между двумя микроконтроллерами, а не только между микроконтроллером и исполнительными микросхемами. Схема соединения двух микроконтроллеров между собой для обмена информацией приведена на рисунке 7. Таким образом может быть построена простейшая многопроцессорная система.

Рисунок 7. Схема обмена информацией между двумя микроконтроллерами по последовательному порту.

В первом режиме работы, также как и в нулевом для передачи байта через последовательный порт достаточно скопировать его в буфер данных SBUF. Единственное отличие заключается в том, что, кроме настройки регистра SCON, необходимо настроить таймер для задания скорости передачи информации по последовательному порту. При приёме байта по последовательному порту приём начинается только после обнаружения стартового бита.

В качестве примера работы с последовательным портом приведём подпрограмму инициализации последовательного порта для работы в асинхронном режиме на скорости 9600 бит/с. Настройка режима работы последовательного порта в этой программе производится записью двоичной константы в регистр управления SCON. Выбор конкретных значений бит двоичной константы подробно приводится в комментариях к программе.

Так как для последовательного порта требуется таймер, то, кроме настройки последовательного порта, при помощи регистра выбора режима работы таймеров TMOD настраивается таймер T1. Эта настройка тоже производится при помощи записи двоичной константы.

Скорость работы последовательного порта настраивается записью константы 0FDh в старший байт таймера T1.

;*********************************************************************************************************************************;НАСТРОЙКА ПОСЛЕДОВАТЕЛЬНОГО ПОРТА;*********************************************************************************************************************************;Настроить режим работы последовательного порта----------------------------------------------------------------------------------- mov SCON,#01110000b;настроить последовательный порт на первый режим работы;

||;

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

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

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

Обнулить девятый бит передатчика TB8;+-----------Разрешить работу приёмника;||+------------Проверять ошибку кадра (приём нулевого бита на месте стоп-бита);++-------------Включить асинхронный режим работы последовательного порта;Настроить режим работы таймера T1 ---------------------------------------------------------------------------------------------- anl TMOD,#00001111b;Подготовить таймер T1 к настройке (таймер T0 не трогать!) orl TMOD,#00100000b;перевести таймер T1 вo второй режим работы (таймер T0 не трогать!);|;||++--------------Перевести таймер T1 в режим автозагрузки;|+----------------Синхронизироваться от внутреннего генератора;+-----------------Запретить управление таймером от ножки INT1;Настроить таймер на генерацию 3-x микросекундного интервала времени-------------------------------------------------------------- mov TH0, #fdh;Загрузить старший байт таймера mov TL0, #fdh;Загрузить младший байт таймера setb TR1;Включить таймер 1;*********************************************************************************************************************************;РАБОТА С ПОСЛЕДОВАТЕЛЬНЫМ ПОРТОМ;********************************************************************************************************************************* JNB RI, $;Подождать окончания приёма байта по последовательному порту MOV A, SBUF;и скопировать его в аккумулятор Рисунок 8. Программа приёма одного байта по последовательному порту. Возможность работы в асинхронном режиме позволяет использовать последовательный порт для связи с универсальным компьютером через его последовательный COM порт. К сожалению уровни последовательного порта микроконтроллера не совпадают с уровнями последовательного порта компьютера, поэтому для подключения микроконтроллера к последовательному порту компьютера используются специализированные микросхемы согласования уровней. Эти же микросхемы обеспечивают защиту микроконтроллера от вывода из строя статическим потенциалом при подключении разъёмов. Обычно для работы используются только сигнальные цепи COM-порта компьютера. Тем не менее, оставшиеся буферы интерфейсной микросхемы могут быть использованы для контроля питания микроконтроллерной схемы. Типовая схема подключения компьютера к последовательному порту микроконтроллеров семейства MCS-51 с применением микросхемы ADM3202 приведена на рисунке 9. Рисунок 9. Подключение последовательного порта микроконтроллеров семейства MCS-51 к последовательному COM порту компьютера. Использование последовательного порта компьютера позволяет не только управлять микроконтроллерным устройством, используя клавиатуру компьютера, но и отображать внутреннюю информацию этого устройства, используя дисплей компьютера. Это значительно расширяет возможности ввода и вывода информации в микроконтроллерных устройствах. В последнее время дополнительно появилась возможность заносить программу во внутреннюю память программ наиболее современных микроконтроллеров.







Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...

ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования...

Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.