Читаем Занимательно о микроконтроллерах полностью

В режиме 0 последовательный порт работает как обыкновенный сдвиговый регистр. Это позволяет использовать его для увеличения количества входов/выходов устройства. Использование сдвиговых регистров для этой цели показано на рис. 6.24 и 6.26. Передача через последовательный порт начинается с записи байта в регистр данных SBUF.

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

После завершения передачи аппаратно устанавливается флаг прерывания передатчика T1. Временная диаграмма сигнала, вырабатываемого последовательным портом микроконтроллера, при передаче восьми бит данных приведена на рис. 6.25. Прием байта через последовательный порт начинается после обнуления флага готовности приемника R1. Временная диаграмма приема входной информации последовательным портом в режиме 0 приведена на рис. 6.27. Синхронный режим 0 задается записью комбинации 00 в биты SMO, SM1 регистра SCON. В этом режиме информация передается/принимается через вывод входа приемника RxD, т. е. в этом режиме работы последовательный порт работает в симплексном режиме. Через вывод TxD выдаются импульсы синхронизации, которые сопровождают каждый информационный бит. Скорость передачи в этом режиме фиксирована и составляет Fген/12. Это означает, что при частоте задающего генератора 24 МГц обмен данными осуществляется на скорости 2 Мбита/с.

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

Рис. 6.26. Использование режима 0 работы последовательного порта для увеличения количества линий ввода устройства

Рис. 6.27.Временная диаграмма приема входной информации последовательным портом в нулевом режиме после обнуления флага готовности приемника R1

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

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

В настоящее время разработано огромное количество микросхем, управление которыми осуществляется по синхронному последовательному порту. Это, например, синтезаторы частоты, микросхемы приемников, блоков цветности телевизоров, памяти. При этом микросхемы обычно реализуют синхронные протоколы обмена SPI или I2C. Последовательный порт микроконтроллеров семейства MCS-51, работающий в режиме 0, позволяет осуществлять обмен с такими микросхемами при минимальных программно-аппаратных затратах. Справедливости ради необходимо отметить, что в современных микросхемах этого семейства присутствуют отдельные последовательные порты, работающие по протоколу SPI или I2C. В качестве примера такой микросхемы можно назвать микроконтроллер ADuC834 фирмы Analog Devices. В таких микросхемах последовательный порт используется исключительно для связи с универсальным компьютером через стандартный последовательный интерфейс RS232 или с любым другим микроконтроллером, обладающим асинхронным последовательным портом.

Режим 1. Асинхронный 8-битовый режим

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

Перейти на страницу:

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника
Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки