F60-67 (1041605), страница 26
Текст из файла (страница 26)
1.2189*1194*1182184172172174214214215215144C8051F060/1/2/3/4/5/6/7АдресРегистр0xA5P1MDOUT0xA0P20xAEP2MDIN0xA6P2MDOUT0xB0P30xA7P3MDOUT0xC8СтраницаSFRFВсе стр-цыFFОписание№ стр.Регистр настройки выходов порта 1216Регистр-защелка порта 2216Регистр настройки входов порта 2217Регистр настройки выходов порта 2217Все стр-цыFРегистр-защелка порта 3218*1Регистр настройки выходов порта 3218*1P4FРегистр-защелка порта 4221*10x9CP4MDOUTFРегистр настройки выходов порта 40xD8P5FРегистр-защелка порта 5221*1222*10x9DP5MDOUTFРегистр настройки выходов порта 5222*10xE8P6FРегистр-защелка порта 6223*10x9EP6MDOUTFРегистр настройки выходов порта 6223*10xF8P7FРегистр-защелка порта 7224*10x9FP7MDOUTFРегистр настройки выходов порта 7224*10xD8PCA0CN0Управление программируемым массивом счетчиков (ПМС) 03120xFCPCA0CPH00Слово данных модуля захвата 0 (старший байт)PCA0CPH10Слово данных модуля захвата 1 (старший байт)3163160xEAPCA0CPH20Слово данных модуля захвата 2 (старший байт)3160xECPCA0CPH30Слово данных модуля захвата 3 (старший байт)3160xEEPCA0CPH40Слово данных модуля захвата 4 (старший байт)3160xE2PCA0CPH50Слово данных модуля захвата 5 (старший байт)3160xFBPCA0CPL00Слово данных модуля захвата 0 (младший байт)3160xFDPCA0CPL10Слово данных модуля захвата 1 (младший байт)3160xE9PCA0CPL20Слово данных модуля захвата 2 (младший байт)3160xEBPCA0CPL30Слово данных модуля захвата 3 (младший байт)3160xEDPCA0CPL40Слово данных модуля захвата 4 (младший байт)3160xE1PCA0CPL50Слово данных модуля захвата 5 (младший байт)3160xDAPCA0CPM00Настройка модуля захват/сравнение 00xFEPCA0CPM10Настройка модуля захват/сравнение 13143140xDCPCA0CPM20Настройка модуля захват/сравнение 23140xDDPCA0CPM30Настройка модуля захват/сравнение 33140xDEPCA0CPM40Настройка модуля захват/сравнение 43140xDFPCA0CPM50Настройка модуля захват/сравнение 53140xFAPCA0H0Слово данных таймера/счетчика ПМС (старший байт)3150xF9PCA0L0Слово данных таймера/счетчика ПМС (младший байт)3150xD9PCA0MD0Режим ПМС 03130x87PCONВсе стр-цыУправление питанием1610x8FPSCTL0Управление режимом чтения/записи памяти программ1850xD0PSWСлово состояния программы1490xCBRCAP2H0Регистр захвата/перезагрузки таймера/счетчика 2 (старший байт)3010xCARCAP2L0Регистр захвата/перезагрузки таймера/счетчика 2 (младший байт)3010xDB145Все стр-цыРед.
1.2C8051F060/1/2/3/4/5/6/7АдресРегистр0xCB0xCA0xCB0xCA0xD10xD1RCAP3HRCAP3LRCAP4HRCAP4LREF0CNREF1CN0xD1REF2CN0xEF0xA90xB90x990x99RSTSRCSADDR0SADEN0SBUF0SBUF1SCON0SCON1SFRPAGESFRPGCNSFRNEXTSFRLAST0x980x980x840x960x850x860xC30xC00xCF0xC20xC10x810x9A0x9D0xF80x9B0x910x880x8C0x8D0x8A0x8B0x890xC90xC80xCD0xCC0xC90xC80xCD0xCCSMB0ADRSMB0CNSMB0CRSMB0DATSMB0STASPSPI0CFGSPI0CKRSPI0CNSPI0DATSSTA0TCONTH0TH1TL0TL1TMODTMR2CFTMR2CNTMR2HTMR2LTMR3CFTMR3CNTMR3HTMR3LСтраницаОписание№ стр.SFR1Регистр захвата/перезагрузки таймера/счетчика 3 (старший байт)3011Регистр захвата/перезагрузки таймера/счетчика 3 (младший байт)3012Регистр захвата/перезагрузки таймера/счетчика 4 (старший байт)3012Регистр захвата/перезагрузки таймера/счетчика 4 (младший байт)3010Регистр управления ИОН 0621Регистр управления ИОН 162112*2,114*3,2Регистр управления ИОН 2116*50Регистр источника сброса1680Адрес ведомого УАПП02760Разрешение адреса ведомого УАПП02760Буфер данных УАПП02761Буфер данных УАПП12830Управление последовательным портом УАПП02741Управление последовательным портом УАПП1282Все стр-цы Регистр страницы SFR139FРегистр управления страницы SFR139Все стр-цы Регистр следующей SFR страницы в стеке страниц SFR140140Все стр-цы Регистр последней SFR страницы в стеке страниц SFR0Адрес модуля SMBus 02460Управление модулем SMBus 02430Установка частоты тактирования модуля SMBus 02440Регистр данных модуля SMBus 02450Регистр состояния модуля SMBus 0247Все стр-цы Указатель стека1480Конфигурация модуля SPI2580Установка частоты тактирования модуля SPI2600Управление модулем SPI2590Регистр данных модуля SPI2610Выбор тактирования/состояние УАПП02750Управление таймером/счетчиком2910Слово данных таймера/счетчика 0 (старший байт)2940Слово данных таймера/счетчика 1 (старший байт)2940Слово данных таймера/счетчика 0 (младший байт)2940Слово данных таймера/счетчика 1 (младший байт)2940Режим таймера/счетчика2920Настройка таймера/счетчика 23000Управление таймером/счетчиком 22990Старший байт таймера/счетчика 23020Младший байт таймера/счетчика 23011Настройка таймера/счетчика 33001Управление таймером/счетчиком 32991Старший байт таймера/счетчика 33021Младший байт таймера/счетчика 3301Ред.
1.2146C8051F060/1/2/3/4/5/6/70xC90xC80xCD0xCC0xFF0xE10xE20xE30xE4*1*2*3*4*5147TMR4CFTMR4CNTMR4HTMR4LWDTCNXBR0XBR1XBR2XBR32222Все стр-цыFFFFНастройка таймера/счетчика 4Управление таймером/счетчиком 4Старший байт таймера/счетчика 4Младший байт таймера/счетчика 4Управление сторожевым таймеромРегистр 0 конфигурации матрицы портов ввода/выводаРегистр 1 конфигурации матрицы портов ввода/выводаРегистр 2 конфигурации матрицы портов ввода/выводаРегистр 3 конфигурации матрицы портов ввода/вывода- Только для МК C8051F060/2/4/6- Только для МК C8051F060/2- Только для МК C8051F061/3- Только для МК C8051F060/1/2/3- Только для МК C8051F064/5/6/7Ред.
1.2300299302301167210211212213C8051F060/1/2/3/4/5/6/713.2.7. Описания регистровНиже приведены описания регистров SFR, связанных с работой ядра CIP-51. Зарезервированные битыне следует устанавливать в логическую 1. Будущие версии МК могут использовать эти биты для реализацииновых функций, тогда при сбросе в эти биты будут записаны логические нули, выбирая тем самым состояниепо умолчанию для новых функций. Подробные описания остальных SFR включены в разделы настоящегоруководства, посвященные описанию связанных с ними системных модулей и функций.Рисунок 13.13. SP: Указатель стекаR/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000111Бит 7SFR Адрес: 0x81SFR страница: ВсеБиты 7-0: SP: Указатель стека.Указатель стека содержит адрес вершины стека.
Указатель стека инкрементируется передкаждой операцией PUSH. После сброса регистр SP содержит значение по умолчанию 0x07.Рисунок 13.14. DPL: Младший байт указателя данныхR/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес: 0x82SFR страница: ВсеБиты 7-0: DPL: Младший байт указателя данных.Регистр DPL является младшим байтом 16-разрядного регистра DPTR. DPTRиспользуется для доступа в режиме косвенной адресации к памяти XRAM и Flash-памяти.Рисунок 13.15.
DPH: Старший байт указателя данныхR/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес: 0x83SFR страница: ВсеБиты 7-0: DPH: Старший байт указателя данных.Регистр DPH является младшим байтом 16-разрядного регистра DPTR. DPTRиспользуется для доступа в режиме косвенной адресации к памяти XRAM и Flash-памяти.Ред.
1.2148C8051F060/1/2/3/4/5/6/7Рисунок 13.16. PSW: Слово состояния программыR/WCYБит 7R/WACR/WF0R/WRS1R/WRS0R/WOVR/WF1R/WPARITYБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0(доступен в битовомрежиме адресации)Значениепри сбросе:00000000SFR Адрес: 0xD0SFR страница: ВсеБит 7: CY: Флаг переноса.Этот бит устанавливается, если в результате последней арифметическойоперации произошел перенос (сложение) или заем (вычитание). Онсбрасывается в 0 всеми другими арифметическими операциями.Бит 6: AC: Флаг десятичного переноса.Этот бит устанавливается, если в результате последней арифметической операциипроизошел перенос (сложение) в старший полубайт или заем (вычитание) из старшегополубайта.
Он сбрасывается в 0 всеми другими арифметическими операциями.Бит 5: F0: Флаг пользователя 0.Это доступный в битовом режиме адресации флаг общего назначения,предназначенный для использования под управлением программы.Биты 4-3: RS1-RS0: Биты выбора банка регистров.Эти биты определяют активный банк регистров.RS10011RS00101Банк регистров0123Адреса0x00-0x070x08-0x0F0x10-0x170x18-0x1FБит 2: OV: Флаг переполнения.Этот бит устанавливается в 1 в следующих случаях:- если в результате выполнения команды ADD, ADDC или SUBB произошло переполнение сизменением знака;- если в результате выполнения команды MUL произошло переполнение (результат превышаетзначение 255);- если при выполнении команды DIV произошло деление на ноль.Бит OV сбрасывается в 0 командами ADD, ADDC, SUBB, MUL и DIV во всех других случаях.Бит 1: F1: Флаг пользователя 1.Это доступный в битовом режиме адресации флаг общего назначения,предназначенный для использования под управлением программы.Бит 0: PARITY: Флаг четности.(Только для чтения)Этот бит устанавливается в 1, если сумма восьми бит в аккумуляторе нечетная исбрасывается, если сумма четная.149Ред.
1.2C8051F060/1/2/3/4/5/6/7Рисунок 13.17. ACC: АккумуляторR/WACC.7R/WACC.6R/WACC.5R/WACC.4R/WACC.3R/WACC.2Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2R/WACC.1Бит 1R/WACC.0Бит 0(доступен в битовомрежиме адресации)Значениепри сбросе:00000000SFR Адрес: 0xE0SFR страница: ВсеБиты 7-0: ACC: АккумуляторЭтот регистр является аккумулятором для арифметических операций.Рисунок 13.18.
B: Регистр BR/WB.7Бит 7R/WB.6R/WB.5R/WB.4R/WB.3R/WB.2R/WB.1R/WB.0Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0(доступен в битовомрежиме адресации)Значениепри сбросе:00000000SFR Адрес: 0xF0SFR страница: ВсеБиты 7-0: B: Регистр BЭтот регистр работает в качестве второго аккумулятора для точных арифметических операций.Ред. 1.2150C8051F060/1/2/3/4/5/6/713.3. ОБРАБОТКА ПРЕРЫВАНИЙCIP-51 имеет развитую систему прерываний, поддерживающую в общей сложности 22 источникапрерываний с двумя уровнями приоритета.
Распределение источников прерываний между встроеннымипериферийными модулями и внешними входными выводами зависит от конкретного типа МК. Каждыйисточник прерываний имеет один или несколько связанных с ним флагов прерываний, размещенных в SFR.Когда периферийный модуль или внешний источник прерываний регистрирует событие, удовлетворяющееусловию прерывания, соответствующий флаг прерывания устанавливается в 1.Если прерывание от источника прерываний разрешено, то при установке флага прерываниягенерируется запрос прерывания.
Как только выполнение текущей команды завершится, будет сгенерированакоманда LCALL перехода по предопределенному адресу, откуда начнется исполнение процедурыобслуживания прерывания (interrupt service routine - ISR). Каждая ISR должна заканчиваться командой RETI,которая возвращает управление прерванной программе и приводит к выполнению той команды, котораяисполнилась бы, если бы запроса прерывания не было. Если прерывания не разрешены, флаг прерыванияигнорируется и выполнение программы продолжается в нормальном режиме.
(Флаг прерыванияустанавливается в 1 независимо от того, разрешены прерывания или запрещены).Прерывание от каждого источника прерываний может быть разрешено или запрещено с помощьюсоответствующих битов разрешения прерываний в регистрах SFR (IE-EIE2). Однако, сначала прерываниянеобходимо разрешить глобально установкой в 1 бита EA (IE.7), только после этого состояние индивидуальныхфлагов разрешения прерываний будет иметь силу. Сброс в 0 бита ЕА запрещает прерывания от всех источниковпрерываний независимо от состояния индивидуальных флагов разрешения прерываний.Некоторые флаги прерываний сбрасываются автоматически аппаратными средствами при переходе кпроцедуре ISR. Однако большинство флагов прерываний не сбрасываются аппаратно и должны быть сброшеныпрограммно до возвращения из процедуры ISR.