Внешние прерывания
Внешние прерывания 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).
Дата добавления: 2015-10-09; просмотров: 705;