F40-43a (1041604), страница 22
Текст из файла (страница 22)
1.3116C8051F040/1/2/3Рисунок 11.4. CPTnMD: Регистр выбора режима компаратораR/WБит 7R/W-R/WCPnRIEБит 6Бит 5R/WCPnFIEБит 4RБит 3RБит 2R/WCPnMD1Бит 1R/WCPnMD0Значениепри сбросе:00000000Бит 0SFR Адрес: CPT0MD: 0x89; CPT1MD: 0x89; CPT2MD: 0x89SFR страница: CPT0MD: стр.1; CPT1MD: стр.2; CPT2MD: стр.3Биты 7-6: Не используются. Читаются как 00b.Бит 5:CPnRIE: Флаг разрешения прерывания от нарастающего фронта выходного сигнала компаратора0: Прерывание от нарастающего фронта выходного сигнала компаратора запрещено.1: Прерывание от нарастающего фронта выходного сигнала компаратора разрешено.Бит 4:CPnFIE: Флаг разрешения прерывания от спадающего фронта выходного сигнала компаратора0: Прерывание от спадающего фронта выходного сигнала компаратора запрещено.1: Прерывание от спадающего фронта выходного сигнала компаратора разрешено.Биты 3-2: Не используются.
Читаются как 00b.Биты 1-0: CPnMD1-0: Выбор режима компаратора.Эти биты определяют время отклика компаратора.Режим0123117CPnMD10011CPnMD00101Типичное время отклика CPn100 нс500 нс1 мкс4 мксРед. 1.3C8051F040/1/2/3Таблица 11.1. Электрические характеристики компаратораVDD = 3.0В, Т = - 40ºC … +85ºC, если не указано иное.ПАРАМЕТРУСЛОВИЯ(CPn+) – (CPn-) = 100 мВВремя отклика, режим 0(CPn+) – (CPn-) = 10 мВ(CPn+) – (CPn-) = 100 мВВремя отклика, режим 1(CPn+) – (CPn-) = 10 мВ(CPn+) – (CPn-) = 100 мВВремя отклика, режим 2(CPn+) – (CPn-) = 10 мВ(CPn+) – (CPn-) = 100 мВВремя отклика, режим 3(CPn+) – (CPn-) = 10 мВКоэффициент подавлениясинфазного сигналаПоложительный гистерезис 1CPnHYP1-0 = 00Положительный гистерезис 2CPnHYP1-0 = 01Положительный гистерезис 3CPnHYP1-0 = 10Положительный гистерезис 4CPnHYP1-0 = 11Отрицательный гистерезис 1CPnHYN1-0 = 00Отрицательный гистерезис 2CPnHYN1-0 = 01Отрицательный гистерезис 3CPnHYN1-0 = 10Отрицательный гистерезис 4CPnHYN1-0 = 11Напряжение на инвертирующемили неинвертирующем входахВходная емкостьВходной ток смещенияВходное напряжение смещенияПараметры питанияВремя включенияНестабильность напряженияпитанияРежим 0Режим 1Ток потребленияРежим 2Режим 3Ред.
1.3Мин.37153715-0.25-5-5Тип.100250175500320110010505200Макс.Ед. изм.мксмксмксмксмксмксмксмкс1.54мВ/В051020051020171525171525(VDD)+ 0.25мВмВмВмВмВмВмВмВВ70.001+5+5мкс100.17,63,21,30,4пФнАмВ1мВ/ВмкАмкАмкАмкА118C8051F040/1/2/312. ПРОЦЕССОРНОЕ ЯДРО CIP-51МК C8051F040/1/2/3 используют процессорное ядро CIP-51, которое по системе команд полностьюсовместимо с ядром MCS-51ТМ. Для разработки программного обеспечения могут использоваться стандартные(803х/805х) ассемблеры и компиляторы. В состав МК данного семейства входят все периферийные модули,соответствующие стандарту 8051, включая пять 16-разрядных таймеров/счетчиков (см.
раздел 23), дваполнодуплексных УАПП (см. раздел 21 и раздел 22), 256 байт внутреннего ОЗУ, 128 байт адресногопространства для регистров специального назначения (Special Function Register – SFR)(см. раздел 12.2.6), атакже 8/4 8-разрядных порта ввода/вывода (см. раздел 17). Ядро CIP-51 содержит встроенные аппаратныесредства отладки (см. раздел 25), а также средства взаимодействия с аналоговыми и цифровыми модулями МК,что позволяет построить на одной микросхеме законченную систему управления или сбора данных.МК на основе CIP-51 имеют стандартную для архитектуры 8051 структуру и периферию.
Кроме этоговведены дополнительные специализированные периферийные модули и функции, улучшающие возможностиМК (см. рис.12.1). Ниже перечислены основные характеристики ядра CIP-51:- Полная совместимость с MCS-51 по системе команд- Пиковая производительность 25 MIPS на частоте 25 МГц- Тактовая частота от 0 до 25МГц- 256 байт внутреннего ОЗУ- 8/4 8-разрядных порта ввода-вывода- Развитая система прерываний- Вход сброса- Различные режимы энергопотребления- Встроенные средства отладки- Защита памяти программ и данныхРисунок 12.1. Структурная схема CIP-51D8D8D8РЕГИСТР BTMP1Указатель стекаTMP2РЕГИСТРАДРЕСАСОЗУPSWD8D8D8АЛУСОЗУ(256 X 8)D8АККУМУЛЯТОРD8D8ШИНА ДАННЫХШИНА ДАННЫХSFR_АдресБуферD8Указатель данныхD8D8Интерфейсрегистровспециальногоназначения(SFR)SFR_УправлениеSFR_Запись_данныхSFR_Чтение данныхИнкрементор ПСMEM_АдресD8Программный счетчик (ПС)MEM_УправлениеРег.
адр. памяти программA16Интерфейспамяти(MEMORY)MEM_Запись_данныхMEM_Чтение_данныхКонвейерСБРОСD8ЛогикаУправлениятактовыеимпульсыD8СТОПОЖИДАНИЕ119Регистр управлениярежимами питанияИнтерфейспрерыванийСистемныепрерыванияПрерывание отэмулятораD8Ред.
1.3C8051F040/1/2/3ПроизводительностьCIP-51 использует конвейерную архитектуру, что существенно повышает скорость исполнения команд посравнению со стандартной архитектурой 8051. В МК с архитектурой 8051 все команды, кроме MUL и DIV,исполняются за 12 или 24 тактовых цикла, а максимальная тактовая частота составляет обычно 12 МГц. МК сядром CIP-51 исполняют 70% своих команд за один или два тактовых цикла, и ни одна команда не требуетболее восьми тактовых циклов.При работе на максимальной тактовой частоте 25 МГц производительность ядра CIP-51 может достигать25 MIPS.
Система команд CIP-51 состоит из 109 команд, которые требуют от одного до восьми тактовых цикла:Количество командКоличество тактовых циклов26150252/314373/43414/52518Средства поддержки программирования и отладкиПоследовательный интерфейс JTAG предназначен для внутрисистемного программирования Flashпамяти программ и взаимодействия со встроенными средствами отладки. Кроме этого перепрограммируемаяFlash-память может быть прочитана и изменена прикладной программой в любое время в побайтном режиме,используя команды MOVC и MOVX. Эта возможность позволяет использовать память программ длядолговременного хранения данных, а также обновлять программный код под управлением программы.Встроенные аппаратные средства отладки позволяют осуществлять внутрисхемную отладку в режимереального времени, при этом возможны расстановка точек останова и временных меток, запуск, остановка ипошаговое исполнение программы (включая процедуры обработки прерываний), проверка программного стека,чтение/запись содержимого регистров и памяти.
Это метод отладки является «неразрушающим», не требуетвмешательства в структуру отлаживаемой системы и использования внутренних ресурсов МК (например, ОЗУ,стека, памяти и др.).CIP-51 поддерживается аппаратными и программными средствами разработки от фирмы SiliconLaboratories и других фирм. Фирма Silicon Laboratories предлагает интегрированную среду проектирования(IDE), которая включает в себя редактор, макроассемблер, отладчик и программатор. Отладчик ипрограмматор, входящие в состав IDE, взаимодействуют с CIP-51 посредством JTAG интерфейса, чтопозволяет осуществлять быстрое и эффективное программирование МК и его отладку. Доступны такжемакроассемблеры и С-компиляторы независимых фирм-производителей.12.1.
СИСТЕМА КОМАНДСистема команд CIP-51 полностью совместима с системой команд MCS-51™, поэтому разработкапрограммного обеспечения может осуществляться с использованием средств проектирования для стандартнойархитектуры 8051. Все команды CIP-51 являются двоичным и функциональным эквивалентом аналогичныхкоманд MCS-51™, включая коды операций, режимы адресации и изменение флагов состояния. Однако, повремени выполнения команды отличаются.12.1.1. Команды и тактированиеВо многих МК с архитектурой 8051 существует различие между машинным циклом и цикломтактирования, при этом машинный цикл длится от 2 до 12 циклов тактирования.
Однако, CIP-51 основанисключительно на синхронизации тактовым сигналом и все временные параметры команд приводятся наоснове циклов тактирования.Благодаря конвейерной архитектуре CIP-51, количество тактовых циклов, требуемых для выполнениябольшинства команд, равно количеству байтов в команде. Команды условных переходов требуют длязавершения на один цикл меньше, если переход не происходит (по сравнению с тем случаем, когда переходпроисходит).
Система команд CIP-51 приведена в таблице 12.1, которая содержит мнемонику, количествобайтов и количество тактовых циклов для каждой команды.12.1.2. Команда MOVX и память программВ CIP-51 команда MOVX используется для доступа к трем типам памяти: встроенной XRAM, внешнейXRAM, встроенной Flash-памяти программ. Возможность доступа к Flash-памяти программ обеспечиваетмеханизм, посредством которого программа пользователя может обновлять программный код и использоватьобласть памяти программ для долговременного хранения данных (см.
раздел 15). Интерфейс внешней памятиобеспечивает быстрый доступ к внешней XRAM (или отображенным на память периферийным модулям) спомощью команды MOVX (см. раздел 16).Ред. 1.3120C8051F040/1/2/3Таблица 12.1. Система команд CIP-51МнемоникакомандыADD A,RnADD A,directADD A,@RiADD A,#dataADDC A,RnADDC A,directADDC A,@RiADDC A,#dataSUBB A,RnSUBB A,directSUBB A,@RiSUBB A,#dataINC AINC RnINC directINC @RiDEC ADEC RnDEC directDEC @RiINC DPTRMUL ABDIV ABDA AANL A,RnANL A,directANL A,@RiANL A,#dataANL direct,AANL direct,#dataORL A,RnORL A,directORL A,@RiORL A,#dataORL direct,AORL direct,#dataXRL A,RnXRL A,directXRL A,@RiXRL A,#dataXRL direct,AXRL direct,#dataCLR ACPL ARL ARLC A121ОписаниеАРИФМЕТИЧЕСКИЕ ОПЕРАЦИИСложение аккумулятора с регистром (n = 0…7)Сложение аккумулятора с прямо-адресуемым байтомСложение аккумулятора с косвенно-адресуемым байтом ОЗУСложение аккумулятора с константойСложение аккумулятора с регистром и переносомСложение аккумулятора с прямо-адресуемым байтом и переносомСложение аккумулятора с косвенно-адресуемым байтом ОЗУ и переносомСложение аккумулятора с константой и переносомВычитание из аккумулятора регистра и заемаВычитание из аккумулятора прямо-адресуемого байта и заемаВычитание из аккумулятора косвенно-адресуемого байта ОЗУ и заемаВычитание из аккумулятора константы и заемаИнкремент аккумулятораИнкремент регистраИнкремент прямо-адресуемого байтаИнкремент косвенно-адресуемого байта ОЗУДекремент аккумулятораДекремент регистраДекремент прямо-адресуемого байтаДекремент косвенно-адресуемого байта ОЗУИнкремент указателя данныхУмножение аккумулятора на регистр ВДеление аккумулятора на регистр ВДесятичная коррекция аккумулятораЛОГИЧЕСКИЕ ОПЕРАЦИИЛогическое И аккумулятора и регистраЛогическое И аккумулятора и прямо-адресуемого байтаЛогическое И аккумулятора и косвенно-адресуемого байта ОЗУЛогическое И аккумулятора и константыЛогическое И прямо-адресуемого байта и аккумулятораЛогическое И прямо-адресуемого байта и константыЛогическое ИЛИ аккумулятора и регистраЛогическое ИЛИ аккумулятора и прямо-адресуемого байтаЛогическое ИЛИ аккумулятора и косвенно-адресуемого байта ОЗУЛогическое ИЛИ аккумулятора и константыЛогическое ИЛИ прямо-адресуемого байта и аккумулятораЛогическое ИЛИ прямо-адресуемого байта и константыИсключающее ИЛИ аккумулятора и регистраИсключающее ИЛИ аккумулятора и прямо-адресуемого байтаИсключающее ИЛИ аккумулятора и косвенно-адресуемого байта ОЗУИсключающее ИЛИ аккумулятора и константыИсключающее ИЛИ прямо-адресуемого байта и аккумулятораИсключающее ИЛИ прямо-адресуемого байта и константыСброс аккумулятораИнверсия аккумулятораСдвиг аккумулятора влево циклическийСдвиг аккумулятора влево через переносРед.
1.3БайтыЦиклы12121212121211211121111112221222122211221122148112122312122312122311111222231222231222231111C8051F040/1/2/3МнемоникакомандыRR ARRC ASWAP AMOV A,RnMOV A,directMOV A,@RiMOV A,#dataMOV Rn,AMOV Rn,directMOV Rn,#dataMOV direct,AMOV direct,RnMOV direct,directMOV direct,@RiMOV direct,#dataMOV @Ri,AMOV @Ri,directMOV @Ri,#dataMOV DPTR,#data16MOVC A,@A+DPTRMOVC A,@A+PCMOVX A,@RiMOVX @Ri,AMOVX A,@DPTRMOVX @DPTR,APUSH directPOP directXCH A,RnXCH A,directXCH A,@RiXCHD A,@RiCLR CCLR bitSETB CSETB bitCPL CCPL bitANL C,bitANL C,/bitORL C,bitORL C,/bitMOV C,bitMOV bit,CJC relОписаниеБайтыЦиклыСдвиг аккумулятора вправо циклическийСдвиг аккумулятора вправо через переносОбмен местами тетрад в аккумулятореКОМАНДЫ ПЕРЕДАЧИ ДАННЫХПересылка в аккумулятор из регистра (n = 0…7)Пересылка в аккумулятор прямо-адресуемого байтаПересылка в аккумулятор косвенно-адресуемого байта ОЗУЗагрузка в аккумулятор константыПересылка в регистр из аккумулятораПересылка в регистр прямо-адресуемого байтаЗагрузка в регистр константыПересылка по прямому адресу аккумулятораПересылка по прямому адресу регистраПересылка прямо-адресуемого байта по прямому адресуПересылка косвенно-адресуемого байта ОЗУ по прямому адресуПересылка по прямому адресу константыПересылка в косвенно-адресуемую ячейку ОЗУ аккумулятораПересылка в косвенно-адресуемую ячейку ОЗУ прямо-адресуемогобайтаПересылка в косвенно-адресуемую ячейку ОЗУ константыЗагрузка указателя данныхПересылка в аккумулятор байта из памяти программПересылка в аккумулятор байта из памяти программПересылка в аккумулятор байта из внешней памяти данныхПересылка байта из аккумулятора во внешнюю память данныхПересылка в аккумулятор из расширенной внешней памяти данныхПересылка из аккумулятора в расширенную внешнюю память данныхЗагрузка в стекИзвлечение из стекаОбмен аккумулятора с регистромОбмен аккумулятора с прямо-адресуемым байтомОбмен аккумулятора с косвенно-адресуемым байтом ОЗУОбмен младшей тетрады аккумулятора с младшей тетрадойкосвенно-адресуемого байта ОЗУОПЕРАЦИИ С БИТАМИСброс переносаСброс битаУстановка переносаУстановка битаИнверсия переносаИнверсия битаЛогическое И бита и переносаЛогическое И инверсии бита и переносаЛогическое ИЛИ бита и переносаЛогическое ИЛИ инверсии бита и переносаПересылка бита в переносПересылка переноса в битПереход, если перенос равен единице1111111212122223231122212222323222231111112212123333333221221212121222222221212122222222/3Ред.