Регистр IРН кристаллов 8XC51GB
MSB LSB
РРСН | РТ2Н | PSH | РТ1Н | РХ1Н | РТ0Н | РХ0Н 1 |
Бит | Поз. | Функция присвоения приоритета прерывания |
- | IРН.7 | зарезервировано для дальнейшего использования |
РРСН | IРН.6 | прерывание от РСА, старший бит |
РТ2Н | IРН.5 | переполнение 2-го таймера, старший бит |
PSH | IРН.4 | последовательный порт, старший бит |
РТ1Н | IРН.З | переполнение 1-го таймера, старший бит |
РХ1Н | IРН.2 | внешнее прерывание INT1, старший бит |
РТ0Н | IРН.1 | переполнение 0-го таймера, старший бит |
РХ0Н | IРН.0 | внешнее прерывание INT0, старший бит |
IPH.x | IP.x | Приоритет прерывания |
уровень 0, низший | ||
уровень 1 | ||
уровень 2 | ||
уровень 3, высший |
Рис. 2.9. Формат регистра прерываний IPH
Флаги, инициирующие данные прерывания, выставляются в состоянии S5P2 каждый машинный цикл. Исключение составляет 3-й таймер/счётчик Т/С2, флаг прерывания которого устанавливается в состоянии S2P2.
Имеется 4 уровня приоритета. С этой целью в составе микросхем 8ХС5Х присутствует дополнительный регистр приоритетов прерываний IРН (рис. 2.9), не предусмотренный базовой архитектурой MCS-51. Его наличие увеличивает число возможных уровней прерываний до 4-х. Этот регистр содержит старшие биты двухбитных полей приоритета прерываний, в то время, как стандартный регистр IP в тех же позициях содержит младшие. Подобная схема используется с целью сохранения совместимости с более старшими кристаллами семейства. Аналогичные правила распространяются и на прерывания, использующие дополнительные регистры приоритетов IРА и IРНА (рис.2.10, рис.2.11).
Регистр IPА кристалла 8XC51GB
MSB LSB
PAD | РХ6 | РХ5 | РХ4 | РХЗ | РХ2 | РС1 | PSEP |
Бит | Поз. | Функция присвоения приоритета прерывания |
PAD | IP.7 | Прерывание от АЦП |
PX6 | IP.6 | Внешнее прерывание - вывод INT6 |
PX5 | IP.5 | Внешнее прерывание - вывод INT5 |
PX4 | IP.4 | Внешнее прерывание - вывод INT4 |
РХЗ | IP.3 | Внешнее прерывание - вывод INT3 |
PX2 | IP.2 | Внешнее прерывание - вывод INT2 |
PC1 | IP.1 | Прерывание от РСА1 |
PSEP | IP.0 | Прерывание от SEP |
Рис. 2.10. Регистр приоритетов прерываний IPA
Регистр IРНА кристаллов 8XC51GB
MSB LSB
PADH | РХ6Н | РХ5Н | РХ4Н | РХЗН | РХ2Н | РС1Н | PSEPH |
Бит | Поз. | Функция присвоения приоритета прерывания |
PADH | IPH.7 | Прерывание от АЦП |
PX6H | IPH.6 | Внешнее прерывание - вывод INT6 |
PX5H | IPH.5 | Внешнее прерывание - вывод INT5 |
PX4H | IPH.4 | Внешнее прерывание - вывод INT4 |
РХЗН | IPH.3 | Внешнее прерывание - вывод INT3 |
PX2H | IPH.2 | Внешнее прерывание - вывод INT2 |
PC1H | IPH.1 | Прерывание от РСА1 |
PSEPH | IPH.0 | Прерывание от SEP |
Рис. 2.11. Регистр приоритетов прерываний IPB
Внешние прерывания
Внешние прерывания INT0 и INT1 микроконтроллера 87C51GB полностью соответствуют аналогичным прерываниям всех микроконтроллеров семейства MCS-51 и могут в зависимости от состояния битов IТ0 и IТ1 регистра TCON фиксироваться как по уровню, так и по отрицательному фронту.
Внешние выводы INT2 и INT3 могут реагировать как на положительный, так и на отрицательный фронты сигнала. Микросхема имеет регистр EXICON (рис. 2.12), содержащий биты IТ2 и IТЗ, определяющие активный фронт сигнала на выводах P5.2/INT2 и P5.3/INT3. При установке бита IТn в "0" прерывание инициируется по отрицательному фронту, а при ITn = 1 - по положительному. Внешние события INT4-INT6 фиксируются только по положительному фронту на выводах P5.4/INT4-P5.6/INT6.
Однако все внешние прерывания генерируются соответствующими аппаратно-устанавливаемыми флагами; для событий INT0/INT1 - это биты IЕ0 и IЕ1 регистра TCON. Регистр EXICON содержит 4 флага IЕ2-IЕ6, инициирующих выполнение прерывания по событиям INT2-INT4. Все эти флаги очищаются также аппаратно по переходу на подпрограмму обработки прерывания. Как уже отмечалось, уровневое прерывание по входам INT0/INT1 не очищает флаги IЕ0/IЕ1.
Выводы внешних прерываний опрашиваются один раз за каждый машинный цикл. По этой причине сигнал, подаваемый на фронтовой вход INTn должен находиться в высоком и низком уровне, как минимум, в течении 1 цикла (12 периодов тактового генератора).
Запрещение или разрешение внешних прерываний производится посредством соответствующих битов регистров IЕ и IЕА (рис 2.12, рис. 2.13).
Регистр EXICON
MSB LSB
- | IЕ6 | IЕ5 | IЕ4 | IЕЗ | IЕ2 | ITЗ | IТ2 |
Бит | Поз. | Функция присвоения приоритета прерывания |
- | EXICON.7 | Зарезервировано для дальнейшего использования |
IЕ6 | EXICON.6 | Флаг прерывания INT6 |
IЕ5 | EXICON.5 | Флаг прерывания INT5 |
IЕ4 | EXICON.4 | Флаг прерывания INT4 |
IЕЗ | EXICON.3 | Флаг прерывания INT3 |
IЕ2 | EXICON.2 | Флаг прерывания INT2 |
IТЗ | EXICON.1 | Бит управления INT3. При IТ3=0 активный фронт прерывания – отрицательный При IТЗ=1 активный фронт прерывания – положительный |
IТ2 | EXICON.0 | Бит управления INT2. При IТ2=0 активный фронт прерывания - отрицательный При IТ2=1 активный фронт прерывания – положительный |
Рис. 2.12. Формат регистра EXICON
Узел АЦП
АЦП микроконтроллеров 8XC51GB (рис. 2.13) имеет 8 аналоговых входов (выводы АСН0-АСН7), вход внешнего запуска TRIGIN, выводы питания и земли аналоговой части (AVref и AVss), развязанные с цифровой частью, а также вывод опорного напряжения сравнения COMPREF.
Внутренние цепи АЦП содержат 8-канальный мультиплексор, 256-элементную резисторную линейку, компаратор, устройство выборки/хранения, регистр последовательного приближения, 8 регистров результата, регистр результата сравнения.
Рис. 2.13. Функциональная схема АЦП
Регистры результатов преобразований АЦП
АЦП имеет 10 регистров, адресуемых в пространстве SFR. Регистры AD0-AD7 содержат результаты преобразований по каждому из 8-ми каналов. Причём значение каждого регистра обновляется по завершению преобразования, начиная с регистра AD0. Физические адреса регистров AD0-AD7: 84h, 94h, 0A4h, 0В4п, 0C4h, 0D4h, 0E4h, 0F4h.
Регистр результатов сравнения АЦП - АСМР
Данный регистр (физический адрес - 0C7h) содержит 8 флагов (рис. 2.14), отражающих результат сравнения значения аналоговых входов АСН0-АСН7 со входом COMPREF. Если входное напряжение аналогового входа больше нежели COMPREF, то соответствующий флаг регистра АСМР устанавливается в "1". В случае, когда напряжение аналогового входа меньше, чем COMPREF, устанавливается логический "0".