Последовательный порт

 

2.12.1. Последовательный порт предназначен для приема и передачи данных в последовательном коде. Преобразование параллельного кода в последовательный и обратно осуществляется с помощью сдвигающих регистров универсального асинхронного приемопередатчика (UART – Universal Asynchronous Receiver/Transmitter), принцип работы которого представлен на рис. 2.12, где: Data Bits – параллельный код передаваемых (принятых) данных, Serial Data – последовательный код данных, D0 ¸ D8 – разряды сдвигающих регистров приемопередатчика, Shift – сигнал управления сдвигом, LSB (Least Significant Bit) – младший бит, MSB (Most Significant Bit) – старший бит, Start Bit – стартовый бит, Stop Bit – стоп-бит, TXD – выход передатчика, RXD – вход приемника,
1-to-0 DETECTOR – устройство обнаружения стартового бита (перехода входного сигнала из 1 в 0).

 

Рис. 2.12. Работа универсального асинхронного приемопередатчика в режиме передачи данных (A) и в режиме приема данных (B)

В режиме передачи данных UART не только преобразует параллельный код в последовательный, но также добавляет к каждому передаваемому байту данных два служебных бита – стартовый бит и стоп-бит, которые служат для определения границ байта данных.

2.12.2. Последовательный порт МК 80С51 может работать в полном дуплексном режиме, т.е. он может осуществлять передачу и прием данных одновременно.

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

Наличие в структуре микроконтроллера буферного регистра позволяет совмещать операции приема очередного байта данных с чтением ранее принятого байта. Однако, для того, чтобы не произошло потери информации, к моменту окончания приема очередного байта, предыдущий байт должен быть считан из SBUF.

2.12.3.Последовательный порт имеет 4 режима работы. Выбор режима осуществляется путем программирования соответствующих разрядов регистра управления последовательного порта SCON(Serial Port Control Register), формат которого представлен в табл. 2.9.

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

2.12.4. Режим 0 – синхронный режим с постоянной скоростью обмена (Baud Rate), определяемой выражением:

BR0 = fosc / 12 , (2.1)

где BR0 – скорость обмена в режиме 0, бод;

fosc – частота тактового генератора МК, Гц.

В режиме 0 разряд Р3.0/RXD порта 3 микроконтроллера используется для ввода/вывода последовательных данных (8 бит), а разряд Р3.1/TXD – для формирования выходных импульсов синхронизации. За один машинный цикл передается (принимается) один бит данных. В конце передачи 8-го бита устанавливается флаг прерывания передатчика TI в регистре SCON.

 

Таблица 2.9








Дата добавления: 2015-10-09; просмотров: 1108;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

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

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.