8051 माइक्रोकंट्रोलर में बैंकों और स्टैक मेमोरी आवंटन को पंजीकृत करें

समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें





सामान्य प्रयोजन रजिस्टर (R0-R7) के संग्रह को रजिस्टर बैंक कहा जाता है, जो डेटा के एक बाइट को स्वीकार करते हैं। बैंक रजिस्टर का एक हिस्सा है एम्बेडेड में रैम मेमोरी माइक्रोकंट्रोलर्स, और इसका उपयोग प्रोग्राम निर्देशों को संग्रहीत करने के लिए किया जाता है। प्रत्येक माइक्रोकंट्रोलर में विभिन्न मेमोरी बैंक होते हैं, और प्रत्येक बैंक रजिस्टर में भंडारण स्थान को पहचानने के लिए एक अनूठा पता होता है।

8051 में बैंकों को पंजीकृत करें

8051 में बैंकों को पंजीकृत करें

8051 में बैंकों को पंजीकृत करें



8051 माइक्रोकंट्रोलर चार रजिस्टर बैंक होते हैं, जैसे कि Bank0, Bank1, Bank2, Bank3 जो PSW (प्रोग्राम स्टेटस वर्ड) रजिस्टर द्वारा चुने जाते हैं। ये रजिस्टर बैंक 8051 माइक्रोकंट्रोलर की आंतरिक रैम मेमोरी में मौजूद हैं, और जब माइक्रोकंट्रोलर प्रोग्राम किए जाते हैं तो डेटा को प्रोसेस करने के लिए उपयोग किया जाता है।


रजिस्टर बैंकों का स्विचिंग



डिफ़ॉल्ट रूप से, 8051 माइक्रोकंट्रोलर रजिस्टर बैंक 0 से संचालित होता है और, प्रोग्राम स्टेटस वर्ड (PSW) का उपयोग करके, हम अन्य बैंकों में स्विच कर सकते हैं। PSW के दो बिट्स का उपयोग रजिस्टर बैंकों के बीच स्विच करने के लिए किया जाता है। इन दोनों बिट्स को बिट-एड्रेसेबल निर्देश एसईटीबी और सीएलआर द्वारा एक्सेस किया जाता है।

PSW के RS1 और RS0 के संभावित संयोजनों के आधार पर, रजिस्टर बैंक को तदनुसार बदला जाता है, अर्थात, यदि RS1 और RS0 0 हैं, तो बैंक 0 का चयन किया जाता है। इसी तरह, बैंक 1, 2 और 3 को आरएस 1 और आरएस 0 के मूल्यों के अनुसार चुना गया है।

8051 माइक्रोकंट्रोलर में स्टैक मेमोरी आवंटन

स्टैक रैंडम एक्सेस मेमोरी (RAM) का एक क्षेत्र है जो अस्थायी रूप से चर के सभी मापदंडों को रखने के लिए आवंटित किया गया है। स्टैक उस आदेश को याद दिलाने के लिए भी जिम्मेदार है जिसमें एक फ़ंक्शन कहा जाता है ताकि इसे सही ढंग से वापस किया जा सके। जब भी फ़ंक्शन को बुलाया जाता है, तो इससे जुड़े पैरामीटर और स्थानीय चर स्टैक (PUSH) में जुड़ जाते हैं। जब फ़ंक्शन लौटता है, तो पैरामीटर और चर स्टैक से ('पीओपी') हटा दिए जाते हैं। यही कारण है कि प्रोग्राम के चलने के दौरान प्रोग्राम के स्टैक का आकार लगातार बदलता रहता है।


स्टैक तक पहुंचने के लिए उपयोग किए जाने वाले रजिस्टर को स्टैक पॉइंटर रजिस्टर कहा जाता है। स्टैक पॉइंटर एक छोटा रजिस्टर है जिसका उपयोग स्टैक पर इंगित करने के लिए किया जाता है। जब हम स्टैक मेमोरी में कुछ धक्का देते हैं, तो स्टैक पॉइंटर बढ़ जाता है।

8051 माइक्रोकंट्रोलर में स्टैक मेमोरी आवंटन

8051 माइक्रोकंट्रोलर में स्टैक मेमोरी आवंटन

उदाहरण

जब एक 8051 माइक्रोकंट्रोलर पावर अप होता है, तो स्टैक पॉइंटर में मूल्य 07 होता है, डिफ़ॉल्ट रूप से, जैसा कि ऊपर दिए गए आंकड़े में दिखाया गया है। यदि हम H PUSH ’ऑपरेशन करते हैं, तो स्टैक पॉइंटर पते को बढ़ाया जाएगा और दूसरे रजिस्टर में स्थानांतरित कर दिया जाएगा। इस समस्या से बचने के लिए, कार्यक्रम शुरू करने से पहले, हमें स्टैक पॉइंटर को एक अलग पता स्थान असाइन करना होगा।

PUSH ऑपरेशन

Values ​​PUSH ’का उपयोग किसी भी रजिस्टर से मान लेने के लिए किया जाता है और ter PUSH’ ऑपरेशन का उपयोग करके स्टैक पॉइंटर के शुरुआती पते में, यानी, 00h का उपयोग किया जाता है। और, अगले 'PUSH' के लिए, यह +1 बढ़ाता है, और स्टैक पॉइंटर के अगले पते में मान को संग्रहीत करता है, अर्थात, 01h।

स्टैक का PUSH ऑपरेशन

स्टैक का PUSH ऑपरेशन

PUSH ऑपरेशन का मतलब है (First in First out)

उदाहरण: PUSH संचालन के लिए विधानसभा भाषा में WAP

0000h
एमओवी 08 एच, # 21 एच
एमओवी 09 ह, # 56 ह
PUSH 00 ह
पूष 01 ह
समाप्त

पीओपी ऑपरेशन

इसका उपयोग स्टैक पॉइंटर के अधिकतम पते से किसी अन्य रजिस्टर के पते तक मान रखने के लिए किया जाता है। यदि हम इस 'पीओपी' का फिर से उपयोग करते हैं, तो यह 1 से घटता है, और किसी भी रजिस्टर में संग्रहीत मूल्य को 'पीओपी' के रूप में दिया जाता है।

स्टैक में पीओपी ऑपरेशन

स्टैक में पीओपी ऑपरेशन

पीओपी ऑपरेशन का मतलब है 'अंतिम रूप से बाहर'।

000 एच
एमओवी 00 एच, # 12 एच
एमओवी 01 एच, # 32 एच
पीओपी 1 एफएच
POP 0EH
समाप्त

8051 माइक्रोकंट्रोलर के रजिस्टर

यदि हम कोई ऑपरेशन करते हैं चाहे जोड़ या घटाव, तो ये ऑपरेशन सीधे मेमोरी में नहीं किए जा सकते हैं, और इसलिए, रजिस्टरों का उपयोग करके किया जाता है। विभिन्न प्रकार के होते हैं 8051 माइक्रोकंट्रोलर में रजिस्टर

इन रजिस्टरों को उनके संचालन के आधार पर दो प्रकारों में वर्गीकृत किया गया है:

• सामान्य प्रयोजन रजिस्टर

• विशेष समारोह रजिस्टर

सामान्य प्रयोजन रजिस्टर

जैसा कि हमने पहले इस लेख में चर्चा की थी कि प्रत्येक बैंक में चार अलग-अलग बैंक रजिस्टर होते हैं, जिनमें 8 पते वाले 8-बिट रजिस्टर होते हैं, और एक बार में केवल एक बैंक रजिस्टर तक पहुँचा जा सकता है। लेकिन, ध्वज रजिस्टर में बैंक रजिस्टर की संख्या को बदलकर, हम अन्य बैंक रजिस्टरों तक पहुंच सकते हैं, जिनके साथ इस पत्र पर पहले भी चर्चा की जा चुकी है। 8051 में इंटरप्ट कांसेप्ट

विशेष समारोह रजिस्टर

Accumulator, Register B, डेटा पॉइंटर, PCON, PSW, इत्यादि सहित विशेष फ़ंक्शन रजिस्टर, पते 80H से FFH के निर्माण के दौरान एक पूर्व निर्धारित उद्देश्य के लिए डिज़ाइन किए गए हैं, और यह क्षेत्र डेटा या प्रोग्राम संग्रहण उद्देश्य के लिए उपयोग नहीं किया जा सकता है। इन रजिस्टरों को बिट एड्रेस और बाइट एड्रेस रजिस्टर द्वारा लागू किया जा सकता है।

विशेष कार्य रजिस्टर के प्रकार

8051 में चार इनपुट / आउटपुट संबंधित विशेष फ़ंक्शन रजिस्टर होते हैं जिसमें पूरी तरह से 32 I / O लाइनें होती हैं। विशेष फ़ंक्शन रजिस्टर I / O लाइनों से पढ़े गए मूल्यों को नियंत्रित करता है और विशेष फ़ंक्शन रजिस्टर जो 8051 के संचालन को नियंत्रित करता है। सहायक विशेष फ़ंक्शन रजिस्टर 8051 से सीधे जुड़े नहीं हैं - लेकिन, वास्तव में, इन रजिस्टरों के बिना - 8051 ठीक से काम नहीं कर सकता। 8051 का रजिस्टर सेट नीचे दिया गया है।

8051 माइक्रोकंट्रोलर के रजिस्टर सेट

रजिस्टर में एक निश्चित स्थिर मान सेट करना एक रजिस्टर सेट कहलाता है। निर्देश सेट का उपयोग करके रजिस्टरों में मान निर्धारित किए जाते हैं। 8051 80 हार्वर्ड ’वास्तुकला के साथ CISC निर्देशों का पालन करता है। CISC जटिल निर्देश सेट कंप्यूटिंग के लिए है । 8051 माइक्रोकंट्रोलर में विभिन्न प्रकार के निर्देशों में शामिल हैं:

  1. अंकगणितीय निर्देश
  2. सशर्त निर्देश
  3. कॉल और कूदें निर्देश
  4. लूप निर्देश
  5. तार्किक निर्देश
  6. बुलियन निर्देश

1. अंकगणितीय निर्देश

अंकगणितीय निर्देश कई बुनियादी संचालन करते हैं जैसे:

  • इसके अलावा
  • घटाव
  • गुणा
  • विभाजन
8051 में अंकगणितीय निर्देश माइक्रोकंट्रोलर

8051 में अंकगणितीय निर्देश माइक्रोकंट्रोलर

उदाहरण:

ए। जोड़:

संगठन 0000h
MOV R0, # 03H // मूव 3 है रजिस्टर R0 //
MOV A, # 05H // संचयक A // में मान 5 को स्थानांतरित करें
0 के साथ A, 00H // संचायक मान, 5 ’जोड़ें और संचायक // पर संग्रहीत करें
समाप्त

बी घटाव:

संगठन 0000h
MOV R0, # 03H // मूव 3 है रजिस्टर R0 //
MOV A, # 05H // संचयक A // में मान 5 को स्थानांतरित करें
SUBB A, 03H // A = 5-3 अंतिम मान 2 संचायक A // में संग्रहीत है
समाप्त

C. गुणन:

संगठन 0000h
MOV R0, # 03H // मूव 3 है रजिस्टर R0 //
MOV A, # 05H // संचयक A // में मान 5 को स्थानांतरित करें
MUL A, 03H // A = 5 * 3 अंतिम मान 15 है, संचायक A // में संग्रहीत है
समाप्त

डी। डिवीजन:

संगठन 0000h
MOV R0, # 03H // मूव 3 है रजिस्टर R0 //
MOV A, # 15H // संचयक A // में मान 5 को स्थानांतरित करें
DIV A, 03H // A = 15/3 अंतिम मान 5 संचायक A // में संग्रहीत है
समाप्त

2. सशर्त निर्देश

CPU एकल-बिट स्थिति या बाइट स्थिति की जाँच करके स्थिति के आधार पर निर्देशों को निष्पादित कर सकता है जैसे कि सशर्त निर्देश:

बिट-पता योग्य रजिस्टर में एकल-बिट स्थिति की जांच करने के लिए

जेबी- नीचे कूदो

जेएनबी- ऊपर नहीं तो कूदो

कैरी बिट स्थिति की जांच करने के लिए

JC- अगर झंडा लेकर चलते हैं

जेएनसी-जंप अगर कोई कैरी नहीं

संचायक की स्थिति की जाँच करने के लिए 0 या 1

जेडजेड- अगर शून्य झंडा

जेएनजेड- शून्य नहीं तो कूदें

यह सब 8051 माइक्रोकंट्रोलर में पंजीकृत रजिस्टर और उनके स्टैक मेमोरी आवंटन के बारे में है। हमें उम्मीद है कि इस लेख ने आपको विषय के बारे में कुछ आवश्यक जानकारी दी होगी, साथ ही प्रत्येक विषय के साथ कुछ बहुत ही दिलचस्प कार्यक्रम भी होंगे। आप किसी भी मदद के लिए हमें भी लिख सकते हैं माइक्रोकंट्रोलर कोडिंग और के बारे में भी माइक्रोकंट्रोलर पर नवीनतम परियोजनाएं ।