विधानसभा भाषा में 8051 प्रोग्रामिंग का परिचय

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





असेंबली लैंग्वेज एक निम्न-स्तरीय प्रोग्रामिंग लैंग्वेज है जिसका उपयोग प्रोग्राम कोड लिखने के लिए किया जाता है। भले ही कई उच्च-स्तरीय भाषाएं हैं जो वर्तमान में मांग में हैं, विधानसभा प्रोग्रामिंग भाषा का उपयोग कई अनुप्रयोगों में लोकप्रिय है। इसका उपयोग प्रत्यक्ष हार्डवेयर जोड़तोड़ के लिए किया जा सकता है। यह भी लिखने के लिए प्रयोग किया जाता है 8051 प्रोग्रामिंग कोड अन्य उच्च-स्तरीय भाषाओं की तुलना में कम मेमोरी का उपभोग करके कम संख्या में घड़ी चक्रों के साथ कुशलतापूर्वक।

विधानसभा भाषा में 8051 प्रोग्रामिंग

8051 प्रोग्रामिंग



विधानसभा भाषा में 8051 प्रोग्रामिंग

असेंबली भाषा पूरी तरह से हार्डवेयर से संबंधित प्रोग्रामिंग भाषा है। एम्बेडेड डिजाइनरों को प्रोग्राम लिखने से पहले विशेष प्रोसेसर या नियंत्रकों के हार्डवेयर पर पर्याप्त ज्ञान होना चाहिए। असेंबली भाषा mnemonics द्वारा विकसित की गई है, इसलिए उपयोगकर्ता प्रोग्राम को संशोधित करने के लिए इसे आसानी से नहीं समझ सकते हैं।


विधानसभा भाषा में 8051 प्रोग्रामिंग

विधानसभा भाषा में 8051 प्रोग्रामिंग



असेंबली प्रोग्रामिंग लैंग्वेज का विकास विभिन्न कंपाइलरों द्वारा किया जाता है और 'बोलिंग एले' के लिए सबसे उपयुक्त है microcontrollerप्रोग्रामिंग विकास। मicrocontrollersया प्रोसेसर केवल बाइनरी भाषा को or 0s या 1s के रूप में समझ सकते हैं। एक असेंबलर असेंबली भाषा को बाइनरी भाषा में परिवर्तित करता है, और फिर इसे संग्रहीत करता है।microcontrollerस्मृति विशिष्ट कार्य करने के लिए।

०५१ माइक्रोकंट्रोलर अर्चितसेक

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

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

०५१ माइक्रोकंट्रोलर अर्चितसेक

एक रजिस्टर में मुख्य हिस्सा है प्रोसेसर औरमाइक्रोकंट्रोलर्स जो मेमोरी में निहित है जो डेटा को इकट्ठा करने और संग्रहीत करने का एक तेज़ तरीका प्रदान करता है। 8051 विधानसभा भाषा प्रोग्रामिंग मेमोरी रजिस्टरों पर आधारित है। अगर हम घटाव, जोड़ आदि के द्वारा किसी प्रोसेसर या कंट्रोलर में डेटा को हेरफेर करना चाहते हैं, तो हम सीधे मेमोरी में ऐसा नहीं कर सकते हैं, लेकिन डेटा को प्रोसेस करने और स्टोर करने के लिए इसे रजिस्टर की जरूरत होती है।माइक्रोकंट्रोलर्सकई प्रकार के रजिस्टर होते हैं जिन्हें उनके निर्देशों या सामग्री के अनुसार वर्गीकृत किया जा सकता है जो उनमें काम करते हैं।

विधानसभा भाषा में 8051 माइक्रोकंट्रोलर कार्यक्रम

असेंबली भाषा उन तत्वों से बनी है, जिनका उपयोग प्रोग्राम को लिखने के लिए किया जाता हैक्रमिक तरीके से। असेंबली भाषा में प्रोग्रामिंग लिखने के लिए दिए गए नियमों का पालन करें।


विधानसभा भाषा के नियम

  • विधानसभा कोड ऊपरी मामलों के अक्षरों में लिखा जाना चाहिए
  • लेबल एक कोलन द्वारा पीछा किया जाना चाहिए (लेबल :)
  • सभी प्रतीकों और लेबल को एक पत्र के साथ शुरू करना चाहिए
  • सभी टिप्पणियाँ निचले मामले में टाइप की जाती हैं
  • कार्यक्रम की अंतिम पंक्ति END निर्देश होनी चाहिए

असेंबली भाषा mnemonics ऑप-कोड के रूप में हैं, जैसे कि MOV, ADD, JMP, और इसी तरह, जो ऑपरेशन करने के लिए उपयोग किया जाता है।

सेशन कोड: ऑप-कोड एक एकल निर्देश है जिसे सीपीयू द्वारा निष्पादित किया जा सकता है। यहाँ op-code एक MOV निर्देश है।

संचालन: ऑपरेंड डेटा का एक एकल टुकड़ा है जिसे ऑप-कोड द्वारा संचालित किया जा सकता है। उदाहरण, गुणन ऑपरेशन उन ऑपरेंडों द्वारा किया जाता है जो ऑपरेंड द्वारा गुणा किए जाते हैं।

सिंटैक्स: MUL a,

असेम्बली लैंग्वेज प्रोग्रामिंग के तत्व:

  • दिशानिर्देशों को इकट्ठा करें
  • निर्देश समुच्चय
  • मोड्स को संबोधित करते हुए

निर्देश इकट्ठा करें:

कोडांतरण निर्देश सीपीयू को निर्देश देते हैं। 8051microcontrollerनियंत्रण इकाई को दिशा देने के लिए विभिन्न प्रकार के विधानसभा निर्देश शामिल हैं। सबसे उपयोगी निर्देश 8051 प्रोग्रामिंग हैं, जैसे:

  • संगठन
  • डाटाबेस
  • EQU
  • समाप्त

संगठन()मूल): यह निर्देश कार्यक्रम की शुरुआत का संकेत देता है। इसका उपयोग असेंबली के दौरान रजिस्टर पता सेट करने के लिए किया जाता है। उदाहरण के लिए ORG 0000h कंपाइलर को बाद के सभी कोड पता 0000h से शुरू करता है।

वाक्य - विन्यास: ओआरजी 0000h

डाटाबेस()बाइट को परिभाषित करें): बाइट की एक स्ट्रिंग की अनुमति देने के लिए परिभाषित बाइट का उपयोग किया जाता है। उदाहरण के लिए, 'EDGEFX' प्रिंट करें, जिसमें प्रत्येक वर्ण पते से लिया गया हो और अंत में सीधे दोहरे उद्धरण चिह्नों के साथ DB द्वारा 'स्ट्रिंग' प्रिंट करता है।

वाक्य - विन्यास:

ओआरजी 0000h

MOV a, # 00h
——————–
——————–
DB 'EDGEFX'

EQU (समतुल्य): समतुल्य निर्देश का उपयोग चर के पते को समान करने के लिए किया जाता है।

वाक्य - विन्यास:

रेग बराबर,09 ज
—————–
—————–
MOVरेग,# 2 ज

समाप्त: कार्यक्रम के अंत को इंगित करने के लिए END निर्देश का उपयोग किया जाता है।

वाक्य - विन्यास:

रेग बराबर,09 ज

—————–
—————–
MOVरेग,# 2 ज
समाप्त

संबोधन मोड:

डेटा तक पहुंचने के तरीके को एड्रेसिंग मोड कहा जाता है। सीपीयू एड्रेसिंग मोड्स का उपयोग करके विभिन्न तरीकों से डेटा तक पहुंच सकता है। 8051microcontrollerपाँच संबोधित करने के तरीके शामिल हैं:

  • तत्काल पता मोड
  • पता मोड दर्ज करें
  • डायरेक्ट एड्रेसिंग मोड
  • अप्रत्यक्ष पता मोड
  • बेस इंडेक्स एड्रेसिंग मोड

तत्काल पता मोड:

इस एड्रेसिंग मोड में, स्रोत का मान होना चाहिए जो and # ’द्वारा पीछा किया जा सकता है और गंतव्य होना चाहिए एसएफआर रजिस्टर, सामान्य प्रयोजन रजिस्टर और पता। इसका उपयोग मेमोरी रजिस्टरों में मूल्य को तुरंत संग्रहीत करने के लिए किया जाता है।

वाक्य - विन्यास:

MOV A, # 20h // A हैएकसंचायक रजिस्टर, 20 ए / // में संग्रहीत है
MOV R0,# 15 // R0 एक सामान्य उद्देश्य रजिस्टर है 15 R0 रजिस्टर में संग्रहीत है //
MOV P0, # 07h // P0 एक SFR रजिस्टर07 P0 // में संग्रहीत है।
एमओवी 20 ह,# 05h // 20h 20h // में संग्रहीत रजिस्टर 05 का पता है।

पूर्व:

MOV R0, # 1
MOV R0, # 20 // R0<—R0[15] +20, अंतिम मान R0 // में संग्रहित है

पता मोड रजिस्टर करें:

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

वाक्य - विन्यास:

MOV A, B // A एक SFR रजिस्टर है, B एक सामान्य उद्देश्य रजिस्टर है //
MOV R0, R1 // अमान्य निर्देश, GPR को GPR संभव नहीं //

सूत्र:

MOV R0, # 02 h
एमओवी ए, # 30 ह
ADD R0, A // R0<—R0+A, the final value is stored in the R0 register//

डायरेक्ट एड्रेसिंग मोड

इस एड्रेसिंग मोड में, स्रोत या गंतव्य (या स्रोत और गंतव्य दोनों) एक पता होना चाहिए, लेकिन मूल्य नहीं।

वाक्य - विन्यास:

एमओवी ए,20h // 20h एक पता है A एक रजिस्टर है //
MOV 00h, 07h // दोनों को जीपीएस रजिस्टरों // से संबोधित किया जाता है।

पूर्व:

एमओवी 07 एच,# 01 हं
एमओवी ए, # 08 एच
एक जोड़ें,07h // ए<—A+07h the final value is stored in A//

अप्रत्यक्ष पता मोड:

इस एड्रेसिंग मोड में, स्रोत या गंतव्य (या गंतव्य या स्रोत) होना चाहिएसेवा मेरेअप्रत्यक्ष पता, लेकिन मूल्य नहीं। यह एड्रेसिंग मोड पॉइंटर कॉन्सेप्ट को सपोर्ट करता है। पॉइंटर एक वैरिएबल होता है जो दूसरे वेरिएबल के एड्रेस को स्टोर करने के लिए इस्तेमाल किया जाता है। यह पॉइंटर कांसेप्ट केवल R0 और R1 रजिस्टरों के लिए उपयोग किया जाता है।

वाक्य - विन्यास:

MOVR0, # 01h // 01 मान R0 रजिस्टर में संग्रहीत है, R0 पता 08h // है
MOV R1, # 08h // R1 सूचक चर है जोस्टोरR0 // का पता (08h)
एमओवी 20 ह,@ R1 // 01 मान GP रजिस्टर // के 20 वें पते में संग्रहीत है

अप्रत्यक्ष पता मोड

अप्रत्यक्ष पता मोड

बेस इंडेक्स एड्रेसिंग मोड:

इस एड्रेसिंग मोड का उपयोग डेटा को पढ़ने के लिए किया जाता है बाहरी मेमोरी या ROM मेमोरी । सभी एड्रेसिंग मोड कोड मेमोरी से डेटा नहीं पढ़ सकते हैं। कोड को DPTR रजिस्टर के माध्यम से पढ़ना चाहिए। DPTR का उपयोग कोड या बाहरी मेमोरी में डेटा को इंगित करने के लिए किया जाता है।

वाक्य - विन्यास:

MOVC A, @ A + DPTR // C कोड मेमोरी को दर्शाता है //
MOCX A, @ A + DPTR // X बाहरी मेमोरी को दर्शाता है //
EX: MOV A, # 00H // 00H A रजिस्टर // में संग्रहीत है
MOV DPTR, # 0500H // DPTR अंक 0500h मेमोरी में पता //
MOVC A, @ A + DPTR // मान भेजेंसेवा मेरेए रजिस्टर //
MOV P0, A का / A की तारीख पीओ रजिस्ट्रार को भेजना //

निर्देश समुच्चय:

निर्देश सेट नियंत्रक या प्रोसेसर की संरचना है जो नियंत्रक को प्रोसेसिंग डेटा के लिए नियंत्रक को निर्देशित करने के लिए कमांड प्रदान करता है। निर्देश सेट में निर्देश, मूल डेटा प्रकार, एड्रेसिंग मोड, इंटरप्ट रजिस्टरों, असाधारण हैंडलिंग और मेमोरी आर्किटेक्चर शामिल हैं। 8051 हैmicrocontroller हार्वर्ड वास्तुकला के साथ CISC निर्देशों का पालन कर सकते हैं। 8051 प्रोग्रामिंग के विभिन्न प्रकार के CISC निर्देशों में शामिल हैं:

  • डेटा ट्रांसफर इंस्ट्रक्शन सेट
  • अनुक्रमिक निर्देश सेट
  • अंकगणित निर्देश सेट
  • ब्रांचिंग आईरुकावटसेट
  • लूप इंस्टैंक्यूशन सेट
  • सशर्त निर्देश सेट
  • बिना शर्त निर्देश सेट
  • तार्किक निर्देश सेट
  • बूलियन निर्देश सेट

अंकगणितीय निर्देश सेट:

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

  • इसके अलावा
  • गुणा
  • घटाव
  • विभाजन

जोड़:

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

गुणन:

ओआरजी 0000h
MOV R0, # 03H // मान को रजिस्टर R0 // पर ले जाएँ 3
MOV A, # 05H // मान 5 को संचायक A // पर ले जाएं
MUL A, 03H //गुणा किया हुआपरिणाम Accumulator A // में संग्रहीत किया जाता है
समाप्त

घटाव:

ओआरजी 0000h
MOV R0, # 03H // मान को स्थानांतरित करने के लिए R0 // रजिस्टर करें
MOV A, # 05H // मान 5 को संचायक A // पर ले जाएं
SUBB A, 03H // परिणाम मान Accumulator A // में संग्रहीत किया जाता है
समाप्त

विभाजन:

ओआरजी 0000h
MOV R0, # 03H // मान को स्थानांतरित करने के लिए R0 // रजिस्टर करें
MOV A, # 15H // मान 5 को संचयकर्ता A में ले जाएं //
DIV A, 03H // अंतिम मान Accumulator A // में संग्रहीत है
समाप्त

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

सीपीयू एकल बिट स्थिति या बाइट स्थिति की जाँच करके स्थिति के आधार पर निर्देशों को निष्पादित करता है। 8051microcontrollerविभिन्न सशर्त निर्देश जैसे:

  • जेबी -> नीचे कूदो
  • जेएनबी -> नीचे नहीं तो कूदो
  • जेसी -> कूदो अगर कैरी
  • JNC -> यदि कूदेंनहींकैरी
  • JZ -> जीरो अगर कूदो
  • JNZ -> यदि कूदनहींशून्य
सशर्त निर्देश

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

1. सिंटैक्स:

जेबी P1.0, लेबल
- - - - - - - -
- - - - - - - -
लेबल: - - - - - - - -
- - - - - - - -
समाप्त

2. सिंटैक्स:

जेएनबी P1.0, लेबल
- - - - - - - -
- - - - - - - -
लेबल: - - - - - - - -
- - - - - - - -
समाप्त

3. सिंटैक्स:

जेसी, लेबल
- - - - - - - -
- - - - - - - -
लेबल: - - - - - - - -
- - - - - - - -
समाप्त

4. सिंटैक्स:

JNC, label
- - - - - - - -
- - - - - - - -
लेबल: - - - - - - - -
- - - - - - - -
समाप्त
5. सिंटैक्स:

JZ, लेबल
- - - - - - - -
- - - - - - - -
लेबल: - - - - - - - -
- - - - - - - -
समाप्त

6. सिंटैक्स:

जेएनजेड, लेबल
- - - - - - - -
- - - - - - - -
लेबल: - - - - - - - -
- - - - - - - -
समाप्त

कॉल और जम्प निर्देश:

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

  • LCALL
  • एक कॉल
  • एसजेएमपी
  • LJMP

1. सिंटैक्स:

ओआरजी 0000h
- - - - - - - -
- - - - - - - -
ACALL, लेबल
- - - - - - - -
- - - - - - - -
एसजेएमपी स्टॉप
लेबल: - - - - - - - -
- - - - - - - -
- - - - - - - -
सही
रुकें:एनओपी

2. सिंटैक्स:

ओआरजी 0000h
- - - - - - - -
- - - - - - - -
LCALL, लेबल
- - - - - - - -
- - - - - - - -
एसजेएमपी स्टॉप
लेबल: - - - - - - - -
- - - - - - - -
- - - - - - - -
सही
रुकें:एनओपी

कॉल और कूदें निर्देश

कॉल और कूदें निर्देश

लूप निर्देश:

लूप निर्देशों का उपयोग हर बार ब्लॉक को दोहराने के लिए किया जाता है जबकि वेतन वृद्धि और क्षरण संचालन करते हैं। 8051microcontrollerदो प्रकार के लूप निर्देश शामिल हैं:

  • CJNE -> तुलना करें और कूदें यदि नहीं के बराबर
  • डीजेएनजेड -> अगर शून्य नहीं है तो वृद्धि और कूद

1. सिंटैक्स:

काCJNE
एमओवी ए, # 00 एच
एमओवी बी, # 10 एच
लेबल: INC A
- - - - - -
- - - - - -
CJNE A, लेबल

2. सिंटैक्स:

काडीजेने

MOV R0, # 10H
लेबल: - - - - - -
- - - - - -
DJNE R0, लेबल
- - - - - -
- - - - - -
समाप्त

तार्किक निर्देश सेट:

8051 माइक्रोकंट्रोलर इंस्ट्रक्शन सेट AND, OR, XOR, TEST, NOT और बूलियन लॉजिक निर्देश सेट के लिए प्रदान करता है और प्रोग्राम में जरूरत के आधार पर बिट्स को साफ करता है।

तार्किक निर्देश सेट

तार्किक निर्देश सेट

1. सिंटैक्स:

MOV A, # 20H / 00100000 /
MOV R0, # 03H / 00000101 /
ORL A, R0 // 00100000/00000101 = 00000000 //

2. सिंटैक्स:

MOV A, # 20H / 00100000 /
MOV R0, # 03H / 00000101 /
ANL A, R0

3. सिंटैक्स:

MOV A, # 20H / 00100000 /
MOV R0, # 03H / 00000101 /
XRL A, R0

शिफ्टिंग ऑपरेटर

शिफ्ट ऑपरेटरों का उपयोग डेटा को कुशलतापूर्वक भेजने और प्राप्त करने के लिए किया जाता है। 8051microcontrollerचार शिफ्ट ऑपरेटरों को शामिल करें:

  • आरआर -> राइट घुमाएं
  • RRC -> कैरी के माध्यम से राइट घुमाएं
  • आरएल -> बाईं ओर घुमाएं
  • RLC -> लेफ्ट के माध्यम से लेफ्ट को घुमाएं

घुमाएँ सही (RR):

इस शिफ्टिंग ऑपरेशन में, MSB LSB बन जाता है और सभी बिट्स दाईं ओर बिट-बाय-की ओर, क्रमिक रूप से शिफ्ट हो जाते हैं।

वाक्य - विन्यास:

एमओवी ए, # 25 ह
आरआर ए

बाएं घुमाएँ (RL):

इस शिफ्टिंग ऑपरेशन में, MSB LSB हो जाता है और सभी बिट्स बाईं ओर बिट-बाय-की ओर, क्रमिक रूप से स्थानांतरित हो जाते हैं।

वाक्य - विन्यास:

एमओवी ए, # 25 ह
आरएल ए

आरआरसी कैर्री के माध्यम से घुमाएं:

इस शिफ्टिंग ऑपरेशन में, एलएसबी ले जाने के लिए ले जाता है और कैरी एमएसबी बन जाता है, और सभी बिट्स बिट स्थिति द्वारा दाईं ओर बिट की ओर शिफ्ट हो जाते हैं।

वाक्य - विन्यास:

एमओवी ए, # 27 एच
आरआरसी ए

आरएलसी के माध्यम से वामपंथी घुमाएँ:

इस शिफ्टिंग ऑपरेशन में, MSB कैरी करने के लिए ले जाता है और कैरी LSB बन जाता है और सभी बिट्स बाय-बाय की ओर एक बिट-बिट स्थिति में स्थानांतरित हो जाते हैं।

वाक्य - विन्यास:

एमओवी ए, # 27 एच
आरएलसी ए

बेसिक एंबेडेड सी कार्यक्रम:

microcontrollerप्रोग्रामिंग प्रत्येक प्रकार के ऑपरेटिंग सिस्टम के लिए अलग है। वहां कई ऑपरेटिंग सिस्टम जैसे कि लिनक्स, विंडोज, आरटीओएस इत्यादि। हालांकि, एम्बेडेड सिस्टम डेवलपमेंट के लिए RTOS के कई फायदे हैं। विधानसभा स्तर के कुछ प्रोग्रामिंग उदाहरण नीचे दिए गए हैं।

8051 के साथ एलईडी ब्लिंकिंगmicrocontroller:

  • 8051 माइक्रोकंट्रोलर का उपयोग करके 7-सेगमेंट डिस्प्ले पर नंबर प्रदर्शित करना
  • 8051 का उपयोग कर टाइमर / काउंटर गणना और कार्यक्रमmicrocontroller
  • धारावाहिक संचार गणना और 8051 का उपयोग कर कार्यक्रमmicrocontroller

8051 एम के साथ एलईडी कार्यक्रमicrocontrller

1. PORT1 एल ई डी टॉगल करने के लिए वैप

ओआरजी 0000 एच
टॉगल: MOV P1, # 01 //चाल00000001 से p1 रजिस्टर //
कॉल देरी // निष्पादन में देरी //
एमओवी ए, पी 1 // चालp1 मानसंचायक //
सीपीएल ए // पूरक एक मूल्य //
MOV P1, A // 11111110 को port1 रजिस्टर में ले जाएं //
कॉल देरी // निष्पादन में देरी //
SJMP टॉगल
DELAY: MOV R5, # 10H // लोड रजिस्टर R5 10 के साथ //
दो: MOV R6, # 200 // लोड रजिस्टर R6 200 // के साथ
एक: MOV R7, # 200 // लोड रजिस्टर R7 200 // के साथ
DJNZ R7, $ // घटाव R7 जब तक यह शून्य //
डीजेएनजेड आर 6, वन // डिक्रीमेंट आर 7 जब तक यह शून्य //
DJNZ R5, TWO // वृद्धि R7 जब तक यह शून्य //
रीट // मुख्य कार्यक्रम पर वापस जाएं //
समाप्त

टाइमर / काउंटर गणना और कार्यक्रम 8051 एम का उपयोग करicrocontroller:

देरी सॉफ्टवेयर अनुप्रयोग विकास में महत्वपूर्ण कारकों में से एक है। टाइमर और काउंटर के हार्डवेयर घटक हैंmicrocontroller, कि गिनती दालों के साथ सटीक समय देरी प्रदान करने के लिए कई अनुप्रयोगों में उपयोग किया जाता है। खसॉफ्टवेयर तकनीक द्वारा कार्यों को कार्यान्वित किया जाता है।

1. 500us समय की देरी की गणना करने के लिए WAP।

MOV TMOD, # 10H // रजिस्टरों द्वारा टाइमर मोड का चयन करें //
MOV TH1, # 0FEH // विलंब समय को उच्च बिट में स्टोर करें //
MOV TL1, # 32H // कम समय में देरी समय स्टोर करें //
JNB TF1, $ // टाइमर के शून्य होने तक मूल्य में वृद्धि
CLR TF1 // टाइमर ध्वज को साफ़ करेंबिट//
CLR TR1 // टाइमर बंद करें //

2. एल ई डी टॉगल करने के लिए वैपउसके साथसेकंडसमय विलंब

ओआरजी 0000 एच
RETURN: MOV PO, # 00H
ACALL DELAY
MOV P0, # 0FFH
ACALL DELAY
SJUMP RETURN
DELAY: MOV R5, # 50H // लोड रजिस्टर R5 50 // के साथ
DELAY1: MOV R6, # 200 // लोड रजिस्टर R6 200 // के साथ
DELAY2: MOV R7, # 229 // 200 के साथ लोड रजिस्टर R7 //
DJNZ R7, $ // घटाव R7 जब तक यह शून्य //
डीजेएनजेड आर 6, DELAY2 // डीआरआरमेंट R6 जब तक यह शून्य // है
DJNZ R5, DELAY1 // घटाव R5 जब तक यह शून्य //
रीट // मुख्य कार्यक्रम पर वापस जाएं //
समाप्त

3. मोड 0 काउंट0 का उपयोग करके 250 दालों की गणना करने के लिए वैप

वाक्य - विन्यास:

ओआरजी 0000 एच
MOV TMOD, # 50H // काउंटर का चयन करें //
MOV TH0, # 15 // मतगणना दालों को थोड़ा और ऊपर ले जाएँ //
MOV TH1, # 9FH //चालगिनती की दालों, कम बिट //
सेट TR0 // टाइमर पर //
JNB $ // शून्य मान तक गिनती मूल्य में वृद्धि //
CLR TF0 // काउंटर, ध्वज को साफ़ करेंबिट//
CLR TR0 // टाइमर बंद करो //
समाप्त

सीरियल कम्युनिकेशन प्रोग्रामिंग का उपयोग कर 8051 एमicrocontroller:

धारावाहिक संचार आमतौर पर डेटा प्रसारित करने और प्राप्त करने के लिए उपयोग किया जाता है। 8051microcontrollerUART / USART सीरियल संचार से मिलकर और संकेतों को प्रेषित और प्राप्त किया जाता हैटेक्सासऔर आरएक्स पिन। UART संचार बिट-बाय-बिट को क्रमिक रूप से स्थानांतरित करता है। UART एक आधा-द्वैध प्रोटोकॉल है जो डेटा को स्थानांतरित करता है और प्राप्त करता है, लेकिन एक ही समय में नहीं।

1. हाइपर टर्मिनल में पात्रों को प्रसारित करने के लिए WAP

MOV स्कैन, # 50H // सीरियल संचार // सेट करें
MOV TMOD, # 20H // टाइमर मोड का चयन करें //
MOV TH1, # -3 // बॉड दर सेट करें //
सेट TR1 // टाइमर पर //
MOV SBUF, # 'S' // सीरियल विंडो में S को प्रसारित करें //
JNB TI, $ // टाइमर के घटने का मूल्य शून्य होने तक //
सीएलआर आरआई // स्पष्ट प्राप्त रुकावट //
CLR TR1 // स्पष्ट टाइमर //

2. हाइपर टर्मिनल द्वारा चरित्र प्राप्त करने के लिए वैप

MOV स्कैन, # 50H // सीरियल संचार // सेट करें
MOV TMOD, # 20H // टाइमर मोड का चयन करें //
MOV TH1, # -6 // बॉड दर // सेट करें
SET TR1 // टाइमर पर //
MOV SBUF, # 'S' // सीरियल विंडो में S को प्रसारित करें //
JNB RI, $ // टाइमर के घटने का मूल्य शून्य होने तक //
सीएलआर आरआई // स्पष्ट प्राप्त रुकावट //
MOV P0, SBUF // पोर्ट करने के लिए SBUF रजिस्टर मान भेजें //
CLR TR1 // स्पष्ट टाइमर //

यह उदाहरण आधारित कार्यक्रमों के साथ संक्षेप में विधानसभा भाषा में 8051 प्रोग्रामिंग के बारे में है। हमें उम्मीद है कि विधानसभा भाषा की यह पर्याप्त जानकारी पाठकों के लिए निश्चित रूप से उपयोगी होगी और हम नीचे टिप्पणी अनुभाग में उनकी बहुमूल्य टिप्पणियों के लिए तत्पर हैं।