F18-19 (1041602), страница 12
Текст из файла (страница 12)
SFR позволяют управлять ресурсами ядраCIP-51 и периферийными модулями, а также осуществлять обмен данными с ними. CIP-51 дублирует SFR,типичные для архитектуры 8051, и содержит дополнительные SFR, используемые для настройки подсистем,уникальных для данного семейства МК, и доступа к ним. Это позволяет реализовать новые возможности присохранении совместимости с системой команд MCS-51™. В таблице 8.2 перечислены все SFR МК на основеCIP-51.Регистры SFR доступны в любое время, когда для доступа к ячейкам памяти с адресами от 0x80 до0xFF используется режим прямой адресации. SFR с адресами, оканчивающимися на 0x0 или 0x8 (т.е.
P0, TCON,P1, SCON, IE, и т.д.), адресуются как побайтно, так и побитно. Все другие SFR адресуются только побайтно.Незанятые адреса в области SFR зарезервированы для дальнейшего использования. Обращение к ячейкам изэтой области даст неопределенный результат и должно быть исключено. Подробное описание каждого регистраприведено на соответствующей странице данного руководства (см. табл. 8.3).Таблица 8.2.
Распределение регистров специального назначения в памятиF8F0E8E0D8D0C8C0B8B0A8A098908880SPI0CNPCA0HPCA0CPH0PCA0CPH1PCA0CPH2PCA0CPH3PCA0CPH4EIP1EIP2ADC0CNPCA0LPCA0CPL0PCA0CPL1PCA0CPL2PCA0CPL3PCA0CPL4RSTSRCACCXBR0XBR1XBR2EIE1EIE2PCA0CNPCA0MDPCA0CPM0PCA0CPM1PCA0CPM2PCA0CPM3PSWREF0CNBT2CONSMB0CNSMB0STAIPP3OSCXCNRCAP2LRCAP2HTL2TH2SMB0DATSMB0ADRADC0GTLADC0GTHAMX0CFAMX0SLADC0CFPCA0CPM4SMB0CRADC0LTLADC0LTHADC0LADC0HFLSCLFLACLPRT1CFPRT2CFPRT3CFSPI0CKRCPT0CNCPT1CNCKCONPSCTLOSCICNIEPRT1IFP2PRT0CFSCONSBUFSPI0CFGSPI0DATP1TMR3CNTMR3RLLTMR3RLHTMR3LTMR3HTCONP0TMODTL0TL1TH0TH1SPDPLDPH0(8)1(9)2(A)3(B)WDTCNEMI0CNPCON4(C)5(D)6(E)7(F)Доступны в режиме побитной адресацииТаблица 8.3. Регистры специального назначенияSFR перечислены в алфавитном порядке.
Все неопределенные ячейки в области SFR зарезервированы.АдресРегистрОписание№ стр.0xE0ACCАккумулятор580xBCADC0CFКонфигурация АЦП280xE8ADC0CNУправление АЦП310xC5ADC0GTHНижняя граница диапазона АЦП (старший байт)330xC4ADC0GTLНижняя граница диапазона АЦП (младший байт)330xBFADC0HСлово данных АЦП (старший байт)32Ред. 1.252C8051F018C8051F019АдресРегистрОписание№ стр.0xBEADC0LСлово данных АЦП (младший байт)320xC7ADC0LTHВерхняя граница диапазона АЦП (старший байт)330xC6ADC0LTLВерхняя граница диапазона АЦП (младший байт)330xBAAMX0CFКонфигурация мультиплексора АЦП280xBBAMX0SLВыбор канала мультиплексора АЦП290xF0BРегистр В580x8ECKCONУправление тактированием таймеров 0, 1 и 21270x9ECPT0CNУправление компаратором 0380x9FCPT1CNУправление компаратором 1400x83DPHУказатель данных (старший байт)560x82DPLУказатель данных (младший байт)560xE6EIE1Дополнительный регистр разрешения прерываний 1630xE7EIE2Дополнительный регистр разрешения прерываний 2640xF6EIP1Дополнительный регистр приоритетов прерываний 1650xF7EIP2Дополнительный регистр приоритетов прерываний 2660xAFEMI0CNУправление интерфейсом внешней памяти740xB7FLACLОграничение доступа к Flash-памяти720xB6FLSCLДелитель модуля Flash-памяти730xA8IEРазрешение прерываний610xB8IPУправление приоритетами прерываний620xB2OSCICNУправление внутренним генератором820xB1OSCXCNУправление внешним генератором830x80P0Регистр-защелка порта 0920x90P1Регистр-защелка порта 1930xA0P2Регистр-защелка порта 2940xB0P3Регистр-защелка порта 3950xD8PCA0CNУправление программируемым массивом счетчиков (ПМС) 01430xFAPCA0CPH0Слово данных модуля захвата 0 (старший байт)1460xFBPCA0CPH1Слово данных модуля захвата 1 (старший байт)1460xFCPCA0CPH2Слово данных модуля захвата 2 (старший байт)1460xFDPCA0CPH3Слово данных модуля захвата 3 (старший байт)1460xFEPCA0CPH4Слово данных модуля захвата 4 (старший байт)1460xEAPCA0CPL0Слово данных модуля захвата 0 (младший байт)1460xEBPCA0CPL1Слово данных модуля захвата 1 (младший байт)1460xECPCA0CPL2Слово данных модуля захвата 2 (младший байт)14653Ред.
1.2C8051F018C8051F019АдресРегистрОписание№ стр.0xEDPCA0CPL3Слово данных модуля захвата 3 (младший байт)1460xEEPCA0CPL4Слово данных модуля захвата 4 (младший байт)1460xDAPCA0CPM0Настройка модуля захват/сравнение 01450xDBPCA0CPM1Настройка модуля захват/сравнение 11450xDCPCA0CPM2Настройка модуля захват/сравнение 21450xDDPCA0CPM3Настройка модуля захват/сравнение 31450xDEPCA0CPM4Настройка модуля захват/сравнение 41450xF9PCA0HСлово данных таймера/счетчика ПМС (старший байт)1460xE9PCA0LСлово данных таймера/счетчика ПМС (младший байт)1460xD9PCA0MDРежим ПМС 01440x87PCONУправление питанием680xA4PRT0CFКонфигурация порта 0920xA5PRT1CFКонфигурация порта 1930xADPRT1IFФлаги прерываний от порта 1930xA6PRT2CFКонфигурация порта 2940xA7PRT3CFКонфигурация порта 3950x8FPSCTLУправление режимом чтения/записи памяти программ700xD0PSWСлово состояния программы570xCBRCAP2HЗахват таймера/счетчика 2 (старший байт)1340xCARCAP2LЗахват таймера/счетчика 2 (младший байт)1340xD1REF0CNРегистр управления ИОН430xEF0x990x98RSTSRCSBUFSCONРегистр источника сбросаБуфер данных (УАПП)Управление последовательным портом (УАПП)791191200xC3SMB0ADRАдрес модуля SMBus 01030xC0SMB0CNУправление модулем SMBus 01010xCFSMB0CRУстановка частоты тактирования модуля SMBus 01020xC2SMB0DATРегистр данных модуля SMBus 01030xC1SMB0STAРегистр состояния модуля SMBus 01040x81SPУказатель стека560x9ASPI0CFGКонфигурация модуля SPI1100x9DSPI0CKRУстановка частоты тактирования модуля SPI1120xF8SPI0CNУправление модулем SPI1110x9BSPI0DATРегистр данных модуля SPI1120xC8T2CONУправление таймером/счетчиком 21330x88TCONУправление таймером/счетчиком1250x8CTH0Слово данных таймера/счетчика 0 (старший байт)1280x8DTH1Слово данных таймера/счетчика 1 (старший байт)1280xCDTH2Слово данных таймера/счетчика 2 (старший байт)1340x8ATL0Слово данных таймера/счетчика 0 (младший байт)1280x8BTL1Слово данных таймера/счетчика 1 (младший байт)128Ред.
1.254C8051F018C8051F019АдресРегистрОписание№ стр.0xCCTL2Слово данных таймера/счетчика 2 (младший байт)1340x89TMODРежим таймера/счетчика1260x91TMR3CNУправление таймером 31350x95TMR3HСтарший байт таймера 31360x94TMR3LМладший байт таймера 31360x93TMR3RLHСтарший байт регистра перезагрузки таймера 31360x92TMR3RLLМладший байт регистра перезагрузки таймера 31360xFFWDTCNУправление сторожевым таймером780xE1XBR0Конфигурация 1 матрицы портов ввода/вывода850xE2XBR1Конфигурация 2 матрицы портов ввода/вывода90Конфигурация 3 матрицы портов ввода/вывода910xE3XBR20x84-86, 0x96-97, 0x9C,0xA1-A3, 0xA9-AC,0xAE, 0xB3-B5, 0xB9,0xBD, 0xC9, 0xCE,0xDF, 0xE4-E5, 0xF1-F555ЗарезервированыРед. 1.2C8051F018C8051F0198.3.1.
Описания регистровНиже приведены описания регистров SFR, связанных с работой ядра CIP-51. Зарезервированные битыне следует устанавливать в логическую 1. Будущие версии МК могут использовать эти биты для реализацииновых функций, тогда при сбросе в эти биты будут записаны логические нули, выбирая тем самым состояниепо умолчанию для новых функций. Подробные описания остальных SFR включены в разделы настоящегоруководства, посвященные описанию связанных с ними системных модулей и функций.Рисунок 8.3. SP: Указатель стекаR/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000111Бит 7SFR Адрес:0x81Биты 7-0: SP: Указатель стека.Указатель стека содержит адрес вершины стека. Указатель стека инкрементируется передкаждой операцией PUSH. После сброса регистр SP содержит значение по умолчанию 0x07.Рисунок 8.4.
DPL: Младший байт указателя данныхR/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:0x82Биты 7-0: DPL: Младший байт указателя данных.Регистр DPL является младшим байтом 16-разрядного регистра DPTR. DPTRиспользуется для доступа в режиме косвенной адресации к ОЗУ и Flash-памяти.Рисунок 8.5.
DPH: Старший байт указателя данныхR/WR/WR/WR/WR/WR/WR/WR/WБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0Значениепри сбросе:00000000Бит 7SFR Адрес:0x83Биты 7-0: DPH: Старший байт указателя данных.Регистр DPH является младшим байтом 16-разрядного регистра DPTR. DPTRиспользуется для доступа в режиме косвенной адресации к ОЗУ и Flash-памяти.Ред. 1.256C8051F018C8051F019Рисунок 8.6.
PSW: Слово состояния программыR/WCYБит 7R/WF0R/WRS1R/WRS0R/WOVR/WF1R/WPARITYБит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0SFR Адрес:(доступен в битовомрежиме адресации)0xD0Бит 7: CY: Флаг переноса.Этот бит устанавливается, если в результате последней арифметическойоперации произошел перенос (сложение) или заем (вычитание). Онсбрасывается в 0 всеми другими арифметическими операциями.Бит 6: AC: Флаг десятичного переноса.Этот бит устанавливается, если в результате последней арифметической операциипроизошел перенос (сложение) в старший полубайт или заем (вычитание) из старшегополубайта. Он сбрасывается в 0 всеми другими арифметическими операциями.Бит 5: F0: Флаг пользователя 0.Это доступный в битовом режиме адресации флаг общего назначения,предназначенный для использования под управлением программы.Биты 4-3: RS1-RS0: Биты выбора банка регистров.Эти биты определяют активный банк регистров.RS10011RS00101Банк регистров0123Адреса0x00-0x070x08-0x0F0x10-0x170x18-0x1FПримечание: Любая команда, которая изменяет биты RS1-RS0, не должнаследовать сразу же за командой “MOV Rn, A”.Бит 2: OV: Флаг переполнения.Этот бит устанавливается в 1, если в результате последней арифметической операциипроизошел перенос (сложение), заем (вычитание) или переполнение (умножение илиделение).
Он сбрасывается в 0 всеми другими арифметическими операциями.Бит 1: F1: Флаг пользователя 1.Это доступный в битовом режиме адресации флаг общего назначения,предназначенный для использования под управлением программы.Бит 0: PARITY: Флаг четности.(Только для чтения)Этот бит устанавливается в 1, если сумма восьми бит в аккумуляторе нечетная исбрасывается, если сумма четная.57Значениепри сбросе:R/WACРед. 1.200000000C8051F018C8051F019Рисунок 8.7.