Расширенный последовательный порт
Расширенный последовательный порт SEP увеличивает возможности микроконтроллера по управлению подключёнными к нему периферийными устройствами посредством последовательного кода, предоставляя средства для аппаратной реализации шины PC-bus. SEP имеет 4 режима работы и 3 источника тактирования. Для ввода/вывода информации через этот порт задействовано 2 вывода микросхемы: Р4.1- для ввода/вывода данных и Р4.0- дпя вывода частоты тактирования последовательной посылки. Передаваемый или принимаемый пакет состоит из 8-ми бит данных и занимает 8 тактов работы SEP. В отсутствие принимаемой или передаваемой информации тактовый сигнал и данные неактивны. SEP имеет 3 SFR-регистра- SEPCON, SEPDAT и SEPSTAT (физические адреса, соответственно -0D7h, 0E7h и 0F7h). Регистры адресуются только побайтно, хотя и имеют символические обозначения отдельных битов. Четыре режима работы порта определяют неактивный уровень сигнала тактирования, а также фронт (передний или задний), используемый для передачи или приёма. Работа порта в различных режимах изображена нарис. 2.25, рис. 2.26, рис. 2.27). Для приёма или передачи байта пользовательская программа должна установить режим работы порта (биты CLKPOL и CLKPH), скорость передачи (биты SEPS1 и SEPS0), а также разрешить бит SEPE. Процесс передачи начинается при загрузке байта в регистр SEPDATA. Приём происходит при установленном бите SEPREN пока регистр SEPDATA пуст и нет передачи байта. После приёма 8-ми битов происходит аппаратная очистка бита SEPREN. Завершение передачи или приёма сопровождается установкой бита SEPIF (данный бит должен быть очищен программно). При установке соответствующего бита регистра разрешения прерывания SEPIF инициирует его. При попытках программы записать или прочитать байт в регистре SEPDATA в процессе передачи или приёма им посылки устанавливается бит ошибки. Флаг SEPFWR устанавливается при наличии такой попытки в процессе передачи SEP байта, а флаг SEPFRD - в процессе приёма. Прерываний, связанных с этими битами ошибок, не существует. Все они остаются в установленном состоянии до их программной очистки. Рис. 2.25. Режимы работы порта SEP MSB LSB
*- не используются при приеме
Рис. 2.26. Регистр управления SEPCON MSB LSB
Рис. 2.27. Регистр состояния SEPSTAT Таймеры/счетчики 8XC51GB имеет три 16-битных Таймера/Счетчика: Таймер 0, Таймер 1 и Таймер 2. Каждый из них состоит из двух 8-битных регистров: ТНх и TLх, х = 0,1 или 2. Все три могут работать либо в режиме таймера, либо в режиме счетчика событий. В режиме таймера, регистр ТLx инкрементируется в каждом машинном цикле. Таким образом, вы можете использовать, его в качестве счетчика машинных циклов. Так как машинный цикл состоит из 12 периодов осциллятора, то частота счета равна 1/12 частоты осциллятора. В режиме счетчика событий регистр TLx инкрементируется при переходе сигнала из "1" в "0" на соответствующем выводе: Т0, T1 или Т2. В этом режиме вывод порта опрашивается в фазе SSР2 каждого машинного цикла. При обнаружении высокого уровня сигнала в одном цикле и низкого в следующем, счетчик инкрементируется. Новое счетное значение появляется в регистре в фазе S3P1 цикла, следующего за тем, котором был обнаружен этот переход. Так как на распознавание перехода уходит 2 машинных цикла (24 периода осциллятора), максимальная частота счета равна 1/24 частоты осциллятора (генератора). Нет ограничений на коэффициент заполнения внешнего входного сигнала, однако, чтобы быть уверенным, что данный уровень зафиксировался хотя бы раз до того, как изменился, он должен быть удержан по крайней мере один полный машинный цикл. Таймер 0 и Таймер 1 имеют четыре режима работы: · режим 0: 13-битный таймер; · режим 1: 16-битный таймер; · режим 2: 8-битный автоперезагружаемый таймер; · режим 3: Таймер 0 как 2 раздельных 8-битных таймера. Таймер 1 можно использовать для управления скоростью передачи (baud rate) последовательного порта. Таймер 2 имеет три режима работы: · режим захвата; · режим автоперезагрузки (счет в прямом или в обратном направлении); · режим управления скоростью передачи последовательного порта. Таймер 0 и Таймер 1 Эти таймеры общие для семейства (см. описание базового МК). Таймер 2 Таймер 2 - 16-битный Таймер/Счетчик, который может работать либо как таймер, либо как счетчик событий. Эта функция выбирается битом С_Т2 в регистре T2CON . Таймер 2 имеет следующие три режима работы: · режим захвата; · режим автоперезагрузки (счет в прямом или в обратном направлении); · режим управления скоростью передачи последовательного порта. T2MOD Адрес = 0C9H Значение после сброса = XXXX XX00B Не имеет битовой адресации
T2СON Адрес = 0C8H Значение после сброса = 0000 0000B Побитовая адресация
Режимы выбираются битами в регистре T2C0N как показано в табл. 2.7
Популярное: Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы... Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1090)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |