Цитата(sergey-sv @ Sep 2 2005, 10:48)

Восемь линий запросов внешних прерываний вешаешь на любые свободные входы контроллера (например, на Р1.0...Р1.7), а также объединяешь их по схеме ИЛИ (т.е. суммируешь) и подаешь этот объединенный сигнал на вход INT0 (или INT1) контроллера.
А в подпрограмме обработки внешнего прерывания по INT0 (или INT1) сначала опрашиваешь входы контроллера, на которые заведены 8 линий запросов, и определяешь, по какой именно линии поступило прерывание, а потом пердаешь управление на соответствующую п/программу.
Если что-то непонятно, могу прислать схемку и примерный алгоритм.
Схема с элементом 8 ИЛИ-НЕ подходит только в случае когда:
1. Прерывание визывается нулем;
2. Не больше чем одно прерывание может быть активным в каждый момент времени.
Для устранения этих ограничений можна вместо логического элемента 8 ИЛИ-НЕ использовать схему на элементах ИСКЛЮЧАЮЩЕЕ-ИЛИ, которая детектирует изменение любого входа. При чем, для согласования с системой прерываний МСS51, необходимо предусмотреть дополнительный вход, жтого конторллера прерываний, для возвращения сигнала INT0 (или INT1) в начальное состояние после идентификации источника прерываний.