F00-17 (1041601), страница 32
Текст из файла (страница 32)
Тактовые частоты, соответствующие стандартным скоростям обменаТактовая частота(МГц)24.023.59222.118418.43216.588814.745612.902411.05929.2167.37285.52963.68641.843224.57625.025.024.57624.023.59222.118418.43216.588814.745612.902411.05929.2167.37285.52963.68641.8432Коэффициентделения20820519216014412811296806448321632043486884883381976864057651244838432025619212864Значение перезагрузкиТаймера 1*0xF30xF30xF40xF60xF70xF80xF90xFA0xFB0xFC0xFD0xFE0xFF0xEC0xE50xCA0xCB0xCC0xCD0xD00xD80xDC0xE00xE40xE80xEC0xF00xF40xF80xFCСкорость передачиданных**115200 (115384)115200 (113423)1152001152001152001152001152001152001152001152001152001152001152007680057600 (57870)2880028800 (28921)28800 (28846)28800 (28911)2880028800288002880028800288002880028800288002880028800* При условии, что SMOD=1 и T1M=1.** Числа в скобках показывают действительную скорость передачи данных.Рисунок 18.8.
SBUF: Регистр буфера данных УАППR/WR/WR/WR/WR/WR/WR/WR/WЗначениепри сбросе:Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 000000000SFR Адрес:0x99Биты 7-0: SBUF.[7:0]: Биты (7-0) буфера данных УАПП (СЗР - МЗР)На самом деле именем SBUF обозначаются два регистра: буфер передатчика и буферприемника. Когда данные помещаются в регистр SBUF, они записываются в буферпередатчика и сохраняются для последовательной передачи. Запись данных в SBUFинициирует передачу. Когда данные извлекаются из регистра SBUF, они считываются избуфера приемника.Page 134CYGNAL Integrated Products, Inc. 20024.2002; Rev. 1.4C8051F000/1/2/5/6/7C8051F010/1/2/5/6/7Рисунок 18.9. SCON: Регистр управления УАППR/WR/WR/WR/WR/WR/WR/WR/WSM0SM1SM2RENTB8RB8TIRIЗначениепри сбросе:Бит 7Бит 6Бит 5Бит 4Бит 3Бит 000000000Бит 2Бит 1(доступен в битовомрежиме адресации)SFR Адрес:0x98Биты 7-6: SM0-SM1: Режим работы УАПП.Эти биты устанавливают режим работы УАПП.SM00011SM10101Режим работы УАППРежим 0: синхронный режимРежим 1: 8-битный УАПП, изменяемая скорость передачиРежим 2: 9- битный УАПП, фиксированная скорость передачиРежим 3: 9- битный УАПП, изменяемая скорость передачиБит 5:SM2: Разрешение поддержки мультимикроконтроллерного обмена.Использование этого бита зависит от режима работы УАПП.Режим 0: Не влияет на работуРежим 1: Проверяет стоповый бит.0: Логический уровень стопового бита игнорируется.1: Флаг RI будет установлен только в том случае, если стоповый бит равен лог.1.Режимы 2 и 3: Разрешение поддержки мультимикроконтроллерного обмена.0: Логический уровень девятого бита игнорируется.1: Флаг RI устанавливается и прерывание генерируется только в том случае, еслидевятый бит равен лог.1.Бит 4:REN: Разрешение приема.Этот бит включает/отключает приемник УАПП.0: Прием данных модулем УАПП запрещен.1: Прием данных модулем УАПП разрешен.Бит 3:TB8: Девятый бит передаваемых данных.Значение этого бита будет передано в качестве девятого бита данных в режимах 2 и 3.
Врежимах 0 и 1 этот бит не используется. Бит TB8 устанавливается и сбрасываетсяпрограммно.Бит 2:RB8: Девятый бит принимаемых данных.Этот бит принимает значение девятого бита данных, полученного в режимах 2 и 3. В режиме1, если SM2 = 0, бит RB8 принимает значение полученного стопового бита. В режиме 0 битRB8 не используется.Бит 1:TI: Флаг прерывания от передатчика УАПП.Устанавливается в 1 аппаратно при окончании передачи байта данных (после передачи 8-гобита в режиме 0, или в начале передачи стопового бита в остальных режимах). Еслипрерывание от УАПП разрешено, то установка этого бита вызовет переход на процедуруобслуживания прерывания от УАПП.
Этот бит должен сбрасываться программно.Бит 0:RI: Флаг прерывания от приемника УАПП.Устанавливается в 1 аппаратно при приеме байта данных (после 8-го бита в режиме 0, илипосле стопового бита в остальных режимах, за исключением случаев, указанных в описаниибита SM2). Если прерывание от УАПП разрешено, то установка этого бита вызовет переходна процедуру обслуживания прерывания от УАПП. Этот бит должен сбрасыватьсяпрограммно.4.2002; Rev. 1.4CYGNAL Integrated Products, Inc. 2002Page 135C8051F000/1/2/5/6/7C8051F010/1/2/5/6/719. ТАЙМЕРЫКаждый МК имеет четыре встроенных таймера/счетчика (Т/С): три 16-разрядных Т/С, совместимые сТ/С стандартной архитектуры 8051, и один 16-разрядный таймер, предназначенный для использованиясовместно с АЦП, модулем SMBus или в качестве таймера общего назначения. Эти Т/С могут использоватьсядля измерения временных интервалов, подсчета внешних событий, а также для генерации периодическихзапросов прерываний. Таймер 0 и Таймер 1 почти идентичны и имеют четыре основных режима работы.Таймер 2 обладает дополнительными возможностями, отсутствующими у Таймеров 0 и 1.
Таймер 3аналогичен Таймеру 2, но не имеет режимов «захват» и «генератор скорости передачи данных».Таймер 0 и Таймер 1:Таймер 2:13-разрядный Т/С16-разрядный Т/С с автоперезагрузкойТаймер 3:16-разрядный таймерс автоперезагрузкой16-разрядный Т/С16-разрядный Т/С с захватом8-разрядный Т/С с автоперезагрузкойГенератор скорости передачи данныхДва 8-разрядных Т/С (только Таймер 0)Когда Т/С функционирует как таймер, регистры Т/С инкрементируются по каждому тактувнутреннего сигнала тактирования Т/С. Частота внутреннего сигнала тактирования Т/С равна системнойтактовой частоте, деленной либо на 1, либо на 12 (определяется битами T2M-T0M регистра CKCON).Возможность деления системной тактовой частоты на 12 обеспечивает совместимость с МК семейства 8051более старшего поколения.
Приложения, которым необходим более быстрый таймер, могут использовать длятактирования Т/С внутренний сигнал с частотой, равной системной тактовой частоте.Когда Т/С функционирует как счетчик, регистры Т/С инкрементируются под воздействием переходаиз 1 в 0 внешнего сигнала на выбранном входном выводе Т0, Т1 или Т2. Могут подсчитываться импульсы счастотой до 1/4 системной тактовой частоты. Входной сигнал не обязательно должен быть периодическим, нодля его гарантированного прочтения он должен удерживаться на заданном уровне как минимум в течениедвух полных системных тактовых циклов.19.1.
Таймер 0 и Таймер 1Для доступа к Т/С 0 и 1 и управления ими используются регистры специального назначения. КаждыйТ/С реализован в виде 16-разрядного регистра, доступного как два отдельных байта: младший байт (TL0 илиTL1) и старший байт (TH0 или TH1). Регистр управления Т/С (TCON) используется для включения Т/С 0 и 1,а также для определения их состояния. Оба Т/С работают в одном из четырех основных режимов, задаваемыхбитами выбора режима M1-M0 регистра режима Т/С (TMOD).
Каждый Т/С может быть настроен независимоот другого. В следующих разделах приведено подробное описание каждого режима работы.19.1.1. Режим 0: 13-разрядный таймер/счетчикВ режиме 0 Таймеры 0 и 1 работают как 13-разрядный таймер/счетчик. Ниже приводится описаниенастройки и функционирования Таймера 0. Однако, оба таймера идентичны, и Таймер 1 настраивается точнотак же, как и Таймер 0.Регистр TH0 содержит восемь старших бит 13-разрядного значения Т/С. Регистр TL0 содержит пятьмладших бит 13-разрядного значения Т/С в разрядах TL0.4-TL0.0. Три старших бита регистра TL0 (TL0.7TL0.5) не определены и должны маскироваться или игнорироваться при чтении регистра TL0. Приинкрементировании 13-разрядного таймера и переполнении его из состояния 0x1FFF (все единицы) всостояние 0x0000 устанавливается в 1 флаг переполнения таймера TF0 (TCON.5) и будет сгенерированопрерывание, если оно разрешено.Бит C/T0 (TMOD.2) выбирает источник сигнала тактирования Т/С.
Сбросом бита C/T0осуществляется выбор системного тактового сигнала в качестве входного сигнала тактирования таймера.Если бит C/T0 установлен в 1, то инкремент регистра таймера осуществляется под воздействием перехода из1 в 0 внешнего сигнала на выбранном входном выводе. (Подробная информация о выборе и настройкевнешних выводов приведена в разделе 15.1.)Page 136CYGNAL Integrated Products, Inc. 20024.2002; Rev. 1.4C8051F000/1/2/5/6/7C8051F010/1/2/5/6/7Установка в 1 бита TR0 (TCON.4) включит таймер, если либо бит GATE0 (TMOD.3) равен нулю,либо на внешнем выводе /INT0 присутствует сигнал с высоким логическим уровнем. После установки в 1бита GATE0 управление таймером передается внешнему сигналу /INT0, что позволяет легко осуществлятьизмерение ширины импульсов.TR00111GATE0X011Таймер/СчетчикОтключенВключенОтключенВключен/INT0XX01X = не имеет значенияУстановка TR0 не сбрасывает регистр таймера.
Регистр таймера следует инициализироватьнеобходимым значением до включения таймера.TL1 и TH1 образуют 13-разрядный регистр Таймера 1 точно так же, как описано выше для регистровTL0 и TH0. Для настройки Таймера 1 и управления им используются соответствующие биты регистров TCONи TMOD таким же образом, как и для Таймера 0.Рисунок 19.1. Структурная схема Таймера 0 в режиме 0TMODCKCONTTT2 1 0MMM12GATE1C/T1T T1 1MM1 0GATE0C/T0T T0 0MM1 00SYSCLKT0Матрица01TCLKTL0(5 бит)TH0(8 бит)TR0TCON1TF1TR1TF0TR0IE1IT1IE0IT0ПрерываниеGATE0/INT0Матрица19.1.2.
Режим 1: 16-разрядный Таймер/СчетчикРежим 1 аналогичен режиму 0 с тем лишь исключением, что регистры Т/С используют все 16 бит.Таймеры/счетчики включаются и настраиваются в режиме 1 точно так же, как в режиме 0.4.2002; Rev. 1.4CYGNAL Integrated Products, Inc. 2002Page 137C8051F000/1/2/5/6/7C8051F010/1/2/5/6/719.1.3. Режим 2: 8-разрядный таймер/счетчик с перезагрузкойВ режиме 2 Таймеры 0 и 1 настраиваются для работы в качестве 8-разрядных таймеров/счетчиков савтоматической перезагрузкой начального значения. Регистр TL0 содержит значение счетчика, а регистр TH0содержит перезагружаемое значение. Когда счетчик в регистре TL0 переполняется (переходит из состояния0xFF в состояние 0х00), флаг переполнения таймера TF0 (TCON.5) устанавливается в 1 и значение регистраTH0 загружается в регистр TL0.