03_Периферийные_устройства_Информ_материал_СПО_ч3 (1268619)
Текст из файла
3. ПЕРИФЕРИЙНЫЕ УСТРОЙСТВА МИКРОКОНТРОЛЛЕРОВСЕМЕЙСТВА MCS -513.1. Таймеры-счетчикиМикроконтроллер 8051 содержит два таймера/счетчика (ТС): ТС0 и ТС1.Микроконтроллер 8052 дополнительно к этим двум ТС содержит еще один, ТС2. Все ТСмогут быть запрограммированы для работы либо в качестве таймера, либо в качествесчетчика.Таймеры/счетчики построены на основе инкрементируемых 16-битовых регистров,каждый из которых состоит из пары программно-доступных РСФ, соответственно: TH0,TL0; TH1, TL1 и TH2, TL2 (8052). Причем регистры TL0-TL2 содержат младшие 8разрядов ТС.В режиме таймера содержимое регистра таймера/счетчика инкрементируется каждыймашинный цикл. Поскольку машинный цикл состоит из 12 периодов тактовогогенератора, то скорость счета – fBQ/12, где fBQ — частота тактового генератора. Вклассическом варианте счетчик работает только на суммирование, однако в современныхмоделях микроконтроллерах режим счета у таймеров/счетчиков можно выбирать.В режиме счетчика внешних событий содержимое регистра таймера/счетчикаинкрементируется при переходе из «1» в «0» сигнала на соответствующем внешнемвыводе: T0, T1 или T2 (8052).
Выборка внешнего входного сигнала выполняется в фазеS5P2 каждого машинного цикла. Переход этого сигнала из “1” в “0” фиксируется в случае,когда выборки показывают высокий уровень сигнала в одном цикле и низкий уровень вследующем цикле. Новое значение заносится в регистр в фазе S3P1 машинного цикла,следующего за циклом, в котором был зафиксирован переход сигнала из «1» в «0» (т.е.считает по отрицательным перепадам на входе). Поскольку для обнаружения этогоперехода требуется, как минимум, 2 машинных цикла, то максимальная частота счета —fBQ/24. На коэффициент заполнения (отношение длительности импульса к его периоду)внешнего входного сигнала ограничений нет. Однако, чтобы уровень сигнала былгарантированно зафиксирован, он должен оставаться неизменным в течение как минимумодного машинного цикла.3.1.1. Таймер 0 и таймер 1Эти таймеры/счетчики присутствуют в обоих типах микроконтроллеров, 8051 и 8052.Функционирование в качестве таймера или счетчика выбирается управляющими битамиC/T в регистре специальных функций TMOD (рис.
1). Оба этих TC имеют четырерабочих режима, которые выбираются парой битов (M1, M0) в регистре TMOD. Режимы0, 1 и 2 одинаковы для обоих TC. Режим 3 различен; причем установка режима 3 в TC0влияет на режимы работы TC1. Наиболее часто используемые режимы — 1 и 2.3.1.2. Режим 0 ТСВ режиме 0 любой TCx подобен таймеру микроконтроллера 8048 (8-битовый счетчик спредделителем на 32). На рис. 2 представлена функциональная схема ТСx, поясняющаяего работу в режиме 0. В этом режиме 13-битовый регистр ТСx включает 8-битовыйрегистр THx и 5 младших битов регистра TLx.
Старшие 3 бита последнего не определеныи должны игнорироваться. Счет разрешен, когда бит TRx регистра TCON (см. рис. 3)установлен в «1» и либо GATE = 0, либо INTx = 1. Установка бита GATE в «1» позволяетиспользовать TC для измерения длительности импульса, поданного на внешний выводINTx. При переполнении TCx устанавливается флаг прерывания TFx.3.1.3. Режим 1 ТСЭтот режим работы TC подобен режиму 0, за исключением того, что регистртаймера/счетчика имеет разрядность 16 бит (см. рис. 4).3.1.4. Режим 2 ТСВ этом режиме младший регистр TLx выполняет функции 8-битового счетчика савтоматической перезагрузкой. При каждом переполнении TLx не только устанавливаетсяфлаг TFx в регистре TCON, но и загружается содержимое THx в TLx; при этомсодержимое THx не изменяется. Логику работы TC в режиме 2 иллюстрирует рис.
5.Назначение управляющих битов полностью соответствует режиму 0.Временная диаграмма работы TCx в режиме 2:где NTL — значение содержимого регистра TLx, NTH — значение содержимого регистраTHx, T и f — период и частота входных счетных импульсов соотв., TOV и fOV — период ичастота переполнения счетчика соотв., fBQ — тактовая частота кварцевого генератора.В режиме таймера: T = Tц f = fBQ/12.Пример:FoscEQU 12000; частота генератора, кГцFovEQU 1200;TH_1EQU (Fosc/Fov)*1000/12частота переполнения, Гц; Подпрограмма InitTC1;инициализация TC1 в режиме 2InitTC1: MOVMOVMOVSETBRETTMOD,#0010$0000BTH,#TH_1TL,#TH_1TR13.1.5.
Режим 3 ТСTC1 в режиме 3 счет не производит, а просто сохраняет свое содержимое. Эффект такойже, как при установке бита TR1 = 0. В этом режиме регистры TL0 и TH0 работают как дванезависимых 8-битовых счетчика. Работа TL0 и ассоциированные с ним флаги иуправляющие биты такие же, как и при работе TC0 в режиме 0, за исключением того, чторазрядность счетчика в данном случае – 8 бит. TH0 может выполнять только функциютаймера и использует управляющий бит TR1 и флаг TF1 таймера TC1. Логику работы TC0в режиме 3 иллюстрирует рис.
6.Режим 3 может использоваться в приложениях, требующих дополнительный 8-битовыйтаймер или счетчик. Если TC0 используется в режиме 3, TC1 может бытьвключен/выключен переводом из/в свой собственный режим 3; или может бытьиспользован последовательным портом в качестве генератора, задающего скоростьпередачи; или — в любом приложении, не требующем прерывания.3.2. Последовательный портПоследовательный порт является дуплексным, что означает возможность одновременнойпередачи и приема. Программный доступ к приемнику и передатчику — этосоответственно считывание из РСФ SBUF и запись в SBUF, т.е. с идентификатором SBUFфизически ассоциированы два буферных регистра: один буферный регистр приемника,другой – передатчика.
С каждым буферным регистром, в свою очередь, ассоциируетсясдвиговый регистр (программно недоступный), преобразующий последовательный код впараллельный и наоборот. Прием и передача осуществляется «младшими разрядамивперед» (сначала передаются младшие).Последовательный порт может функционировать в 4-х режимах. В режиме 0последовательный порт работает как восьмибитовый сдвиговый регистр. В режимах 1, 2 и3 – как UART — универсальный асинхронный приемопередатчик (USART — -//-, номожет работать и в синхронном режиме). Последние режимы разнятся форматомпередаваемых/принимаемых и способом задания частоты приема/передачи.Во всех 4-х режимах передача инициируется любой командой записи в РСФ SBUF.
Приемв режиме 0 инициируется условием: биты RI = 0 и REN = 1, где RI и REN — битыуправляющего регистра последовательного порта SCON. В остальных режимах приеминициируется приходом старт-бита, если REN = 1.TxD1RxDRxDRxDTxD2TxD3.2.1. Инициализация (установка параметров) последовательногопортаПараметры последовательного порта определяются, главным образом, бит-адресуемымРСФ SCON и частично РСФ PCON. Описание назначения битов этих регистровпредставлено на соответствующих рисунках.3.2.2. Описание режимов работы последовательного портаРежим 0.
В этом режиме последовательный порт работает как сдвиговый регистр.Последовательные данные принимаются или передаются через вывод RXD (P3.0), а навыводе TXD (P3.1) микроконтроллер формирует синхросигнал. Скорость приема/передачи постоянна и составляет 1/12 частоты кварцевого резонатора МК: BR0 = FBQ/12.Здесь на рис. 3 для вывода RXD последовательного порта в режиме передачи будутсправедливы следующие времена — Tн’ ≈ (2TBQ – 117) нс, Tsu’ ≈ (10TBQ – 133) нс, а врежиме приема — T” = 0, Tsu” ≈ (2TBQ + 133) нс.Режим 1. В этом режиме последовательный порт работает в формате 8-битового UART.Через TXD передаются, а через RXD принимаются 10 бит: старт-бит (0), 8 бит данных истоп-бит. При приеме стоп-бит поступает в RB8 регистра SCON.
Скоростьприема/передачи определяется частотой переполнения TC1 и значением бита SMODрегистра PCON:Максимальная скорость при FBQ = 11059,2 кГц составляет 57,6 кбит/с.Примечание. Единицей измерения величины BR1 является бит/с или бод — количество измененийсостояния одной логической ячейки в единицу времени.Временная диаграмма, поясняющая передачу байта в режиме UART:Исходное состояние на линии — логическая «1» (асинхронный способ передачи).
Чтобызащититься от помех, счетчик отсчитывает половину периода и делает выборку, проверяя,пришел ли старт-бит. Далее выборки делаются посередине битов. Стоп-бит гарантируетпоследовательную передачу байтов.Режим 2. В этом режиме последовательный порт работает в формате 9-битового UART спостоянной скоростью. Через TXD передаются, а через RXD принимаются 11 бит: стартбит (0), 8 бит данных, программируемый 9-й бит данных и стоп-бит. Девятый бит данныхпри передаче определяется битом TB8 (например, для установки паритета [четности]).При приеме 9-ый бит поступает в RB8.
Скорость приема/передачи программируется как1/32 или 1/64 FBQ:Режим 3. Этот режим аналогичен предыдущему за исключением скорости передачи иотсутствию стоп-бита. Скорость приема/передачи определяется частотой переполненияTC1 и значением бита SMOD регистра PCON: BR3 = BR1.3.2.3. Мультипроцессорная связьРежимы 2 и 3 имеют специальное обеспечение для мультипроцессорной связи. В этихрежимах принимается и передается 9 битов данных.
При приеме девятый бит поступает вRB8. Затем приходит стоп-бит. Порт может быть запрограммирован так, что когдаполучен стоп-бит, то прерывание последовательного порта будет активизироваться толькопри RB8 = «1». Эта особенность разрешается установкой бита SM2 в регистре SCON.Использование этой особенности в МП-системах заключается в следующем. Когдаведущий процессор хочет передать блок данных к одному из ведомых процессоров, то он,во-первых, посылает адресный байт, который идентифицирует ведомого адресата.Адресный байт отличается от байта данных тем, что 9-й бит = «1» в байте адреса и «0»при байте данных. При SM2 = «1» ни один ведомый не будет прерываться байтом данных.Адресный байт, однако, прервет все ведомые, так что каждый из них может проверитьполученный байт и увидеть: является ли он адресуемым.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.