मैंने कई प्रोजेक्ट्स के लिए PIC16F877
( डेटाशीट ) का उपयोग किया है । एक ही बाहरी पिन परिवर्तन में रुकावट के लिए, आप PORTB0
रुकावट का उपयोग कर सकते हैं । लेकिन अब मुझे एक सर्किट में 8 स्वतंत्र बाहरी पिन परिवर्तन में रुकावट का समर्थन करने की आवश्यकता है।
डेटशीट में यह कहा गया है कि इसमें 15 व्यवधान हैं PIC16F877
, लेकिन मुझे लगता है कि इनकी गिनती टाइमर ओवरफ्लो इंटरप्ट आदि सहित की जाती है ... जो इस मामले में बेकार हैं।
INTCON
रजिस्टर के बारे में डेटाशीट यही कहती है ।
क्या मुझे बिट 0 का उपयोग करके 4 स्वतंत्र व्यवधान हो सकते हैं RBIF
? यह में परिवर्तन का प्रतिनिधित्व करते हैं PB7:PB4
। मैं यह कैसे पहचान सकता हूं कि कौन सी पिन बदली गई है, क्या यह बाधित दिनचर्या में पोर्ट मूल्य को पढ़ने से है?
यहां तक कि मुझे ऊपर से सकारात्मक जवाब मिले, मुझे 8 इंटरप्ट की आवश्यकता है? बेशक मैं अभी भी बदलाव के INTE
लिए उपयोग कर सकता हूं PORTB0
। फिर 4 + 1 = 5
, लेकिन अन्य 3 के बारे में क्या? (हालांकि सभी 8 इंटरप्ट इवेंट्स एक ही प्रकार के होते हैं, 4 + 1 + 3 = 8
बात बदसूरत लगती है, है ना?)
8-पिन की निगरानी करने वाले माइक्रो-नियंत्रक अन्य से कोई अन्य भारी कार्य अपेक्षित नहीं है। (अन्य कार्यों के बारे में बात करते हुए, इसे अलग-अलग काउंटर चर का एक सेट बनाए रखना होगा और अक्सर पीसी क्रमिक रूप से लगभग 4 बाइट्स प्रसारित करना होगा)
किसी भी सुझाव का स्वागत है। यहां तक कि अगर यह अधिक अनुकूल एक के लिए माइक्रो-नियंत्रक को बदलने के बारे में है (लेकिन उह .. मुझे PIC
एस से दूर जाने के लिए न कहें )।