اسمبلی زبان میں 8051 پروگرامنگ کا تعارف

مسائل کو ختم کرنے کے لئے ہمارے آلے کو آزمائیں





اسمبلی زبان ایک نچلی سطح کی پروگرامنگ زبان ہے جو میمونکس کے لحاظ سے پروگرام کا کوڈ لکھتی ہے۔ اگرچہ بہت ساری اعلی سطحی زبانیں ہیں جو اس وقت مانگ میں ہیں ، بہت ساری ایپلی کیشنز میں اسمبلی پروگرامنگ زبان مشہور ہے۔ اسے براہ راست ہارڈ ویئر کے ہیرا پھیری کے لئے استعمال کیا جاسکتا ہے۔ یہ لکھنے کے لئے بھی استعمال ہوتا ہے 8051 پروگرامنگ کوڈ دیگر اعلی سطحی زبانوں کے مقابلے میں کم میموری استعمال کرکے گھڑی کے چکروں کی کم تعداد کے ساتھ موثر انداز میں۔

اسمبلی زبان میں 8051 پروگرامنگ

8051 پروگرامنگ



اسمبلی زبان میں 8051 پروگرامنگ

اسمبلی زبان ہارڈ ویئر سے متعلق ایک مکمل پروگرامنگ زبان ہے۔ پروگرام لکھنے سے پہلے ایمبیڈڈ ڈیزائنرز کو خاص طور پر پروسیسر یا کنٹرولرز کے ہارڈ ویئر کے بارے میں کافی معلومات ہونی چاہئیں۔ اسمبلی زبان کو یادداشتوں نے تیار کیا ہے لہذا ، صارف اس پروگرام میں ترمیم کرنے کے لئے آسانی سے نہیں سمجھ سکتے ہیں۔


اسمبلی زبان میں 8051 پروگرامنگ

اسمبلی زبان میں 8051 پروگرامنگ



اسمبلی پروگرامنگ زبان مختلف کمپیلرز اور کے ذریعہ تیار کی گئی ہے بولنگ کی گلی' کے لئے بہترین موزوں ہے مائکروکنٹرولرپروگرامنگ ترقی. ایمآئیکروکنٹرولریا پروسیسر صرف بائنری زبان کو ‘0s یا 1s’ کی شکل میں سمجھ سکتے ہیں ’ایک جمع کرنے والا اسمبلی زبان کو بائنری زبان میں تبدیل کرتا ہے ، اور پھر اسے اسٹوریج میں محفوظ کرتا ہےمائکروکنٹرولرمخصوص کام انجام دینے کے لئے میموری.

8051 مائکروکونٹرولر آرکی ٹیکنچر

8051مائکروکنٹرولرہے CISC پر مبنی ہارورڈ فن تعمیر ، اور اس میں 32 I / O ، ٹائمر / کاؤنٹر ، سیریل مواصلات اور یادیں جیسے مضامین ہیں۔مائکروکنٹرولرایک ایسے پروگرام کی ضرورت ہوتی ہے جو کام انجام دے جس کو بچانے اور افعال کو پڑھنے کے لئے میموری کی ضرورت ہو۔ 8051مائکروکنٹرولرہدایات کو ذخیرہ کرنے کے لئے رام اور ROM یادوں پر مشتمل ہے۔

8051 مائکروکونٹرولر آرکٹائکیونٹ

8051 مائکروکونٹرولر آرکی ٹیکنچر

ایک رجسٹر میں مرکزی حصہ ہے پروسیسرز اورمائکروکنٹرولر جو میموری میں موجود ہے جو ڈیٹا اکٹھا کرنے اور اسٹور کرنے کا تیز تیز طریقہ فراہم کرتا ہے۔ 8051 اسمبلی زبان پروگرامنگ میموری رجسٹروں پر مبنی ہے۔ اگر ہم پروسیسر یا کنٹرولر سے اعداد وشمار کو گھٹاوٹ ، اضافے ، وغیرہ کو انجام دے کر کرنا چاہتے ہیں تو ، ہم یہ میموری میں براہ راست نہیں کر سکتے ہیں ، لیکن اعداد و شمار کو پروسیس کرنے اور ذخیرہ کرنے کے لئے ضروری ہے۔مائکروکنٹرولراس میں متعدد اقسام کے رجسٹر ہوتے ہیں جن کو ان کی ہدایات یا ان میں چلنے والے مواد کے مطابق درجہ بندی کیا جاسکتا ہے۔

اسمبلی زبان میں 8051 مائکروکانٹرولر پروگرام

اسمبلی زبان ان عناصر پر مشتمل ہے جس میں پروگرام کو لکھنے کے لئے سبھی استعمال ہوتے ہیںترتیب انداز. اسمبلی زبان میں پروگرامنگ لکھنے کے لئے دیئے گئے قواعد پر عمل کریں۔


اسمبلی زبان کے قواعد

  • اسمبلی کوڈ کو اوپری کیس کے خط میں لکھا جانا چاہئے
  • لیبلوں کے بعد کولن (لیبل :) ہونا چاہئے
  • تمام علامتیں اور لیبل ایک خط کے ساتھ شروع ہونگے
  • تمام تبصرے چھوٹے معاملات میں ٹائپ کیے جاتے ہیں
  • پروگرام کی آخری لائن اختتامی ہدایت نامہ ہونی چاہئے

اسمبلی زبان کی یادداشتیں آپ کوڈ کی شکل میں ہوتی ہیں ، جیسے MOV ، ADD ، JMP ، اور اسی طرح ، جو کام انجام دینے کے لئے استعمال ہوتی ہیں۔

اختیاری کوڈ: آپٹ کوڈ ایک واحد ہدایت ہے جو سی پی یو کے ذریعہ عمل میں آسکتی ہے۔ یہاں آپ کوڈ ایک MOV ہدایت ہے۔

آپریشنز: کاروباری اعداد و شمار کا ایک سنگل ٹکڑا ہے جو آپ-کوڈ کے ذریعہ چل سکتا ہے۔ مثال کے طور پر ، ضرب عمل آپریڈس کے ذریعہ انجام دیا جاتا ہے جو اوپیرینڈ سے ضرب ہوتے ہیں۔

نحو: مول الف،b

اسمبلی زبان پروگرامنگ کے عناصر:

  • جمع گائیڈ لائنز
  • انسٹرکشن سیٹ
  • طریقوں سے خطاب

جمع ہدایات:

جمع کرنے کی ہدایت سی پی یو کو ہدایات دیتے ہیں۔ 8051مائکروکنٹرولرکنٹرول یونٹ کو سمت دینے کیلئے اسمبلی کی مختلف قسم کی ہدایت پر مشتمل ہے۔ سب سے مفید ہدایت 8051 پروگرامنگ ہیں ، جیسے:

  • ORG
  • ڈی بی
  • EQU
  • ختم

ORG(اصل): یہ ہدایت پروگرام کے آغاز کی طرف اشارہ کرتی ہے۔ یہ اسمبلی کے دوران رجسٹر ایڈریس متعین کرنے کے لئے استعمال ہوتا ہے۔ مثال کے طور پر ORG 0000h مرتب کرنے والے کو اس کے بعد کے تمام کوڈ کو پتہ 0000h سے شروع کرتا ہے۔

نحو: ORG 0000h

ڈی بی(بائٹ کی وضاحت): بائین کی وضاحت کے لئے بائینٹ کا استعمال کیا جاتا ہے۔ مثال کے طور پر ، 'EDGEFX' پرنٹ کریں جس میں ہر کردار کو پتہ کے ذریعہ لیا جاتا ہے اور آخر میں DB کے ذریعہ 'ڈور' کو براہ راست ڈبل قیمتوں کے ساتھ پرنٹ کرتا ہے۔

نحو:

ORG 0000h

MOV a، # 00h
————-
————-
DB 'EDGEFX'

EQU (مساوی): متغیر کا پتہ مساوی کرنے کے لئے مساوی ہدایت کا استعمال کیا جاتا ہے۔

نحو:

ریگ برابر،09h
------
------
MOVریگ،# 2 ہ

ختم: آخر ہدایت نامہ پروگرام کے اختتام کی نشاندہی کرنے کے لئے استعمال ہوتا ہے۔

نحو:

ریگ برابر،09h

------
------
MOVریگ،# 2 ہ
ختم

طریقوں سے خطاب:

ڈیٹا تک رسائ کے طریقے کو ایڈریسنگ موڈ کہا جاتا ہے۔ سی پی یو ایڈریس ایڈنگ موڈیز کا استعمال کرکے مختلف طریقوں سے ڈیٹا تک رسائی حاصل کرسکتا ہے۔ 8051مائکروکنٹرولرایڈریسنگ کے پانچ طریقوں پر مشتمل ہے جیسے:

  • فوری خطاب موڈ
  • ایڈریسنگ موڈ کو رجسٹر کریں
  • براہ راست ایڈریس ایڈریس
  • بالواسطہ ایڈریسنگ موڈ
  • بیس انڈیکس ایڈریسنگ موڈ

فوری خطاب موڈ:

اس ایڈریسنگ موڈ میں ، ماخذ ایک قدر کی حیثیت رکھتا ہے جس کی پیروی ‘#’ اور منزل مقصود ہونا چاہئے SFR رجسٹر ، عمومی مقصد کے اندراجات اور پتہ۔ یہ میموری رجسٹر میں قدر کو فوری طور پر اسٹور کرنے کے لئے استعمال کیا جاتا ہے۔

نحو:

MOV A، # 20h // A ہےایکاکولیٹر رجسٹر ، 20 A // میں محفوظ ہے
MOV R0،# 15 // R0 ایک عام مقصد کا اندراج ہے 15 R0 رجسٹر میں محفوظ ہے //
MOV P0 ، # 07h // P0 ایک SFR رجسٹر ہے 07 P0 میں محفوظ ہے۔
MOV 20h،# 05h // 20h 20h // میں رکھے گئے رجسٹر کا پتہ ہے //

سابق:

MOV R0، # 1
MOV R0، # 20 // R0<—R0[15] +20 ، حتمی قیمت R0 // میں محفوظ ہے

ایڈریس ایڈریس موڈ کو رجسٹر کریں:

اس ایڈریسنگ موڈ میں ، ماخذ اور منزل مقصود ایک رجسٹر ہونا چاہئے ، لیکن عام مقصد کے اندراجات نہیں۔ تو اعداد و شمار کے اندر اندر منتقل نہیں کیا جاتا ہے عام مقصد بینک کے رجسٹر .

نحو:

MOV A، B // A SFR رجسٹر ہے ، B ایک عام مقصد کا اندراج ہے //
MOV R0، R1 // غلط ہدایات ، جی پی آر سے جی پی آر ممکن نہیں //

فارم:

MOV R0، # 02h
MOV A، # 30h
R0 ، A // R0 شامل کریں<—R0+A, the final value is stored in the R0 register//

براہ راست ایڈریس ایڈریس

اس ایڈریسنگ موڈ میں ، ماخذ یا منزل (یا منبع اور منزل دونوں) ایک پتہ ہونا چاہئے ، لیکن قدر نہیں۔

نحو:

MOV A،20h // 20h ایڈریس ہے A رجسٹر ہے //
MOV 00h ، 07h // دونوں GPS کے اندراجات سے خطاب کر رہے ہیں //

سابق:

MOV 07h،# 01h
MOV A، # 08h
ADD A،07 ھ // اے<—A+07h the final value is stored in A//

بالواسطہ ایڈریسنگ موڈ:

اس ایڈریسنگ موڈ میں ، ماخذ یا منزل (یا منزل یا منبع) ہونا ضروری ہےکرنے کے لئےبالواسطہ پتہ ، لیکن قیمت نہیں۔ یہ ایڈریسنگ موڈ پوائنٹ کے تصور کی حمایت کرتا ہے۔ پوائنٹر ایک متغیر ہے جو دوسرے متغیر کا پتہ ذخیرہ کرنے کے لئے استعمال ہوتا ہے۔ یہ پوائنٹر تصور صرف R0 اور R1 رجسٹروں کے لئے استعمال ہوتا ہے۔

نحو:

MOVR0 ، # 01h // 01 ویلیو R0 رجسٹر میں محفوظ ہے ، R0 ایڈریس 08h // ہے
MOV R1، # 08h // R1 اشارہ متغیر ہےاسٹورزایڈریس (08h) R0 //
MOV 20h،@ آر 1 // 01 جی پی رجسٹر کے 20h پتے میں محفوظ ہے //

بالواسطہ ایڈریسنگ موڈ

بالواسطہ ایڈریسنگ موڈ

بیس انڈیکس ایڈریسنگ موڈ:

اس ایڈریسنگ موڈ کا استعمال ڈیٹا کو پڑھنے کے لئے کیا جاتا ہے بیرونی میموری یا ROM میموری . تمام ایڈریسنگ موڈ کوڈ میموری سے کوائف نہیں پڑھ سکتے ہیں۔ کوڈ DPTR رجسٹر کے ذریعے پڑھنا ضروری ہے۔ ڈی پی ٹی آر کوڈ یا بیرونی میموری میں موجود ڈیٹا کی نشاندہی کرنے کے لئے استعمال ہوتا ہے۔

نحو:

MOVC A ، @ A + DPTR // C کوڈ میموری کی نشاندہی کرتا ہے //
MOCX A ، @ A + DPTR // X بیرونی میموری کی نشاندہی کرتا ہے //
سابق: MOV A، # 00H // 00H A رجسٹر میں محفوظ ہے //
MOV DPTR ، # 0500H // DPTR یادداشت میں 0500h ایڈریس //
MOVC A ، @ A + DPTR // ویلیو بھیجیںکرنے کے لئےایک رجسٹر //
MOV P0 ، A // PO رجسٹرار کو بھیجنے کی تاریخ //

انسٹرکشن سیٹ:

انسٹرکشن سیٹ کنٹرولر یا پروسیسر کا ڈھانچہ ہے جو کنٹرولر کو اعداد و شمار پر کارروائی کرنے کے لئے کنٹرولر کی رہنمائی کے لئے کمانڈ فراہم کرتا ہے۔ انسٹرکشن سیٹ میں ہدایات ، دیسی اعداد و شمار کی اقسام ، ایڈریسنگ کے طریقوں ، مداخلت والے اندراجات ، غیر معمولی ہینڈلنگ اور میموری فن تعمیر پر مشتمل ہوتا ہے۔ 8051مائکروکنٹرولر ہارورڈ فن تعمیر کے ساتھ CISC کی ہدایات پر عمل کر سکتے ہیں۔ 8051 پروگرامنگ کی صورت میں مختلف قسم کی CISC ہدایات میں شامل ہیں:

  • ڈیٹا ٹرانسفر انسٹرکشن سیٹ
  • ترتیب وار ہدایت نامہ
  • ریاضی کا انسٹرکشن سیٹ
  • برانچنگ Iتعمیر نوسیٹ کریں
  • لوپ انسٹرکیوشن سیٹ
  • مشروط انسٹرکشن سیٹ
  • غیر مشروط انسٹرکشن سیٹ
  • منطقی ہدایات کا سیٹ
  • بولین انسٹرکشن سیٹ

ریاضی کا انسٹرکشن سیٹ:

ریاضی کی ہدایات بنیادی کارروائیوں کو انجام دیتی ہیں جیسے:

  • اضافہ
  • ضرب
  • گھٹانا
  • ڈویژن

اضافہ:

ORG 0000h
MOV R0، # 03H // 3 قدر کو رجسٹر میں منتقل کریں R0 //
MOV A، # 05H // قدر 5 کو ایکولیٹر A میں منتقل کریں //
A ، 00H // شامل کریںaddAR0 ویلیو کے ساتھ قیمت اور اس کا نتیجہ اسٹور کرتا ہےایک ___ میں//
ختم

ضرب:

ORG 0000h
MOV R0، # 03H // 3 قدر کو رجسٹر میں منتقل کریں R0 //
MOV A، # 05H // قدر 5 کو ایکولیٹر A میں منتقل کریں //
MUL A، 03H //ضربنتیجہ اکومیولیٹر اے // میں محفوظ ہے۔
ختم

نکالنا:

ORG 0000h
MOV R0 ، # 03H // R0 کو رجسٹر کرنے کے لئے 3 قدر کو منتقل کریں //
MOV A، # 05H // قدر 5 کو ایکولیٹر A میں منتقل کریں //
SUBB A، 03H // نتائج کی قیمت اکومولیٹر A // میں محفوظ ہے۔
ختم

ڈویژن:

ORG 0000h
MOV R0 ، # 03H // R0 کو رجسٹر کرنے کے لئے 3 قدر کو منتقل کریں //
MOV A، # 15H // قیمت 5 کو جمع کرنے والے A میں منتقل کریں //
DIV A، 03H // حتمی قیمت اکومولیٹر A // میں محفوظ ہے۔
ختم

مشروط ہدایات

سی پی یو سنگل بٹ اسٹیٹس یا بائٹ اسٹیٹس کی جانچ کرکے شرط کی بنیاد پر ہدایات پر عمل درآمد کرتا ہے۔ 8051مائکروکنٹرولرمختلف مشروط ہدایات پر مشتمل ہیں جیسے:

  • جے بی -> نیچے جائیں
  • JNB -> نیچے نہیں تو چھلانگ لگائیں
  • جے سی -> اگر کیری ہو تو چھلانگ لگائیں
  • جے این سی -> چھلانگ لگائیں تونہیںلے جانا
  • JZ -> اگر صفر ہو تو چھلانگ لگائیں
  • JNZ -> اگر جائیں تو چھلانگ لگائیںنہیںزیرو
مشروط ہدایات

مشروط ہدایات

1. نحو:

جے بی P1.0 ، لیبل
- - - - - - - - -
- - - - - - - - -
لیبل: - - - - - - - -
- - - - - - - - -
ختم

2. ترکیب:

جے این بی پی 1.0 ، لیبل
- - - - - - - - -
- - - - - - - - -
لیبل: - - - - - - - -
- - - - - - - - -
ختم

3. نحو:

جے سی ، لیبل
- - - - - - - - -
- - - - - - - - -
لیبل: - - - - - - - -
- - - - - - - - -
ختم

4. نحو:

جے این سی ، لیبل
- - - - - - - - -
- - - - - - - - -
لیبل: - - - - - - - -
- - - - - - - - -
ختم
5. ترکیب:

جے زیڈ ، لیبل
- - - - - - - - -
- - - - - - - - -
لیبل: - - - - - - - -
- - - - - - - - -
ختم

6. نحو:

جے این زیڈ ، لیبل
- - - - - - - - -
- - - - - - - - -
لیبل: - - - - - - - -
- - - - - - - - -
ختم

کال اور کود ہدایات:

کال اور جمپ ہدایات کو پروگرام کے کوڈ کی نقل سے بچنے کے لئے استعمال کیا جاتا ہے۔ جب ہم کچھ مخصوص کوڈ پروگرام میں مختلف جگہوں پر ایک سے زیادہ بار استعمال کرتے ہیں ، اگر ہم ذکر کریںمخصوص نامکرنے کے لئےپھر کوڈہم اس نام کو ہر بار کوڈ درج کیے بغیر پروگرام میں کہیں بھی استعمال کرسکتے ہیں۔ اس سے پروگرام کی پیچیدگی کم ہوجاتی ہے۔ 8051 پروگرامنگ میں LCALL ، SJMP جیسی کال اور جمپ ہدایات پر مشتمل ہے۔

  • LCALL
  • ایک کال
  • ایس جے ایم پی
  • ایل جے ایم پی

1. نحو:

ORG 0000h
- - - - - - - - -
- - - - - - - - -
ACALL ، لیبل
- - - - - - - - -
- - - - - - - - -
ایس جے ایم پی اسٹاپ
لیبل: - - - - - - - -
- - - - - - - - -
- - - - - - - - -
ٹھیک ہے
بند کرو:NOP

2. ترکیب:

ORG 0000h
- - - - - - - - -
- - - - - - - - -
LCALL ، لیبل
- - - - - - - - -
- - - - - - - - -
ایس جے ایم پی اسٹاپ
لیبل: - - - - - - - -
- - - - - - - - -
- - - - - - - - -
ٹھیک ہے
بند کرو:NOP

کال اور کود ہدایات

کال اور کود ہدایات

لوپ ہدایات:

لوپ ہدایات ہر بار بلاک کو دہرانے کے لئے استعمال کی جاتی ہیں جبکہ انکریمنٹ اور کمی کی کارروائیوں کو انجام دیتے ہیں۔ 8051مائکروکنٹرولردو قسم کے لوپ ہدایات پر مشتمل ہے:

  • سی جے این -> موازنہ کریں اور برابر نہ ہوں تو کودیں
  • DJNZ -> کمی اور صفر نہیں تو کود

1. نحو:

کےسی جے این ای
MOV A، # 00H
MOV B ، # 10H
لیبل لگائیں: INC A
- - - - - - -
- - - - - - -
CJNE A ، لیبل

2. ترکیب:

کےڈی جے این ای

MOV R0 ، # 10H
لیبل: - - - - - - -
- - - - - - -
DJNE R0 ، لیبل
- - - - - - -
- - - - - - -
ختم

منطقی ہدایات کا سیٹ:

8051 مائکروکنٹرولر انسٹرکشن سیٹ ، AND ، OR ، XOR ، TEST ، NO اور بولین کے منطق سے متعلق ہدایات فراہم کرتا ہے اور پروگرام میں ضرورت کے مطابق بٹس کو صاف کرتا ہے۔

منطقی ہدایات کا سیٹ

منطقی ہدایات کا سیٹ

1. نحو:

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

2. ترکیب:

MOV A، # 20H / 00100000 /
MOV R0، # 03H / 00000101 /
اے این ایل اے ، آر 0

3. نحو:

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

شفٹ آپریٹرز

شفٹ آپریٹرز کو موثر انداز میں ڈیٹا بھیجنے اور وصول کرنے کے لئے استعمال ہوتے ہیں۔ 8051مائکروکنٹرولرچار شفٹ آپریٹرز پر مشتمل ہے:

  • آر آر -> دائیں گھمائیں
  • RRC -> کیری کے ذریعے دائیں طرف گھمائیں
  • RL -> بائیں گھمائیں
  • RLC -> کیری کے ذریعے بائیں گھومیں

دائیں (RR) گھمائیں:

اس شفٹنگ آپریشن میں ، ایم ایس بی ایل ایس بی بن جاتا ہے اور ساری بٹس دائیں طرف بٹ بٹ ، سیدھے طور پر منتقل ہوجاتی ہے۔

نحو:

MOV A، # 25h
آر آر

بائیں گھمائیں (RL):

اس شفٹنگ آپریشن میں ، ایم ایس بی ایل ایس بی بن جاتا ہے اور ساری بٹس بائیں بازو کی طرف بٹ بہ بٹ ، سیرت سے تبدیل ہوجاتی ہے۔

نحو:

MOV A، # 25h
RL A

کیری کے ذریعے RRC گھمائیں:

اس شفٹنگ آپریشن میں ، ایل ایس بی لے جانے کے ل. منتقل ہوتا ہے اور کیری ایم ایس بی بن جاتی ہے ، اور تمام بٹس دائیں طرف تھوڑا سا بٹ پوزیشن کی طرف منتقل ہوجاتے ہیں۔

نحو:

MOV A، # 27h
آر آر سی اے

کیری کے ذریعے بائیں طرف RLC گھمائیں:

اس شفٹنگ آپریشن میں ، ایم ایس بی لے جانے کے ل. چلتا ہے اور کیری ایل ایس بی بن جاتا ہے اور تمام بٹس تھوڑا سا بٹ پوزیشن میں بائیں جانب کی طرف مڑ جاتے ہیں۔

نحو:

MOV A، # 27h
آر ایل سی اے

بنیادی ایمبیڈڈ سی پروگرام:

مائکروکنٹرولرہر قسم کے آپریٹنگ سسٹم کے لئے پروگرامنگ مختلف ہے۔ وہاں ہے بہت سے آپریٹنگ سسٹمز جیسے لینکس ، ونڈوز ، آر ٹی او ایس اور اسی طرح کی۔ تاہم ، سرایت شدہ نظام کی نشوونما کے ل R آر ٹی او ایس کے بہت سے فوائد ہیں۔ اسمبلی سطح کی پروگرامنگ کی کچھ مثالیں ذیل میں دی گئیں۔

8051 کے ساتھ ایل ای ڈی ٹمٹمانے کا استعمال کریںمائکروکنٹرولر:

  • 8051 مائکروکانٹرولر کا استعمال کرکے 7 طبقات کی نمائش پر نمبر ڈسپلے کرنا
  • 8051 کا استعمال کرتے ہوئے ٹائمر / انسداد حساب اور پروگراممائکروکنٹرولر
  • سیریل مواصلات کے حساب کتاب اور 8051 کا استعمال کرتے ہوئے پروگراممائکروکنٹرولر

8051 ایم کے ساتھ ایل ای ڈی پروگرامآئیکروکونٹرلر

1. پورٹ 1 ایل ای ڈی کو تبدیل کرنے کے لئے WAP

ORG 0000H
ٹوگل: MOV P1 ، # 01 //اقدام00000001 پر p1 رجسٹر //
کال میں تاخیر // تاخیر پر عملدرآمد //
MOV A، P1 // اقدامp1 قدرجمع کرنے والے کو //
سی پی ایل اے // ایک قدر کی تکمیل //
MOV P1 ، A // پورٹ 1 رجسٹر میں 11111110 منتقل کریں //
کال میں تاخیر // تاخیر پر عملدرآمد //
ایس جے ایم پی ٹوگل
تاخیر: MOV R5 ، # 10H // 10 کے ساتھ لوڈ رجسٹر R5
TWO: MOV R6 ، # 200 // لوڈ رجسٹر R6 کے ساتھ 200 //
ایک: MOV R7 ، # 200 // لوڈ رجسٹر R7 کے ساتھ 200 //
DJNZ R7 ، zero // کمی R7 جب تک کہ یہ صفر نہ ہو //
DJNZ R6 ، ONE // کمی R7 جب تک کہ یہ صفر نہ ہو //
DJNZ R5 ، TWO // کمی R7 جب تک کہ یہ صفر نہ ہو //
RET // مرکزی پروگرام میں واپس جائیں //
ختم

8051 M کا استعمال کرتے ہوئے ٹائمر / انسداد حساب اور پروگرامآئیکروکنٹرولر:

ایپلی کیشن سوفٹ ویئر کی نشوونما میں تاخیر ایک اہم عامل ہے۔ ٹائمر اور کاؤنٹر کے ہارڈ ویئر اجزاء ہیںمائکروکنٹرولر، جو گنتی دالوں کے ساتھ درست وقت کی تاخیر فراہم کرنے کے لئے بہت سے ایپلی کیشنز میں استعمال ہوتے ہیں. بیسافٹ ویئر کی تکنیک کے ذریعہ کاموں کو نافذ کیا جاتا ہے۔

1. 500us وقت کی تاخیر کا حساب لگانے کیلئے WAP۔

MOV TMOD ، # 10H // رجسٹروں کے ذریعہ ٹائمر وضع منتخب کریں //
MOV TH1، # 0FEH // تاخیر کا وقت زیادہ ذخیرہ کریں //
MOV TL1 ، # 32H // تاخیر کا وقت کم بٹ میں اسٹور کریں //
جے این بی ٹی ایف 1 ، $ // ٹائمر کی قدر میں کمی جب تک یہ صفر نہیں ہے //
CLR TF1 // ٹائمر پرچم صاف کریںتھوڑا سا//
CLR TR1 // ٹائمر سے دور //

2. ایل ای ڈی کو ٹوگل کرنے کے لئے WAPکے ساتہ5سیکنڈوقت میں تاخیر

ORG 0000H
واپسی: MOV PO ، # 00H
ACLL Delay
MOV P0 ، # 0FFH
ACLL Delay
SJUMP واپسی
تاخیر: MOV R5 ، # 50H // لوڈ رجسٹر R5 50 کے ساتھ //
DELAY1: MOV R6 ، # 200 // لوڈ رجسٹر R6 کے ساتھ 200 //
DELAY2: MOV R7 ، # 229 // لوڈ رجسٹر R7 کے ساتھ 200 //
DJNZ R7 ، zero // کمی R7 جب تک کہ یہ صفر نہ ہو //
DJNZ R6 ، DELAY2 // کمی R6 جب تک یہ صفر نہیں ہے //
DJNZ R5 ، DELAY1 // کمی R5 جب تک یہ صفر نہیں ہے //
RET // مرکزی پروگرام میں واپس جائیں //
ختم

3. موڈ0 گنتی 0 کا استعمال کرتے ہوئے 250 دالیں گننے کے لئے WAP

نحو:

ORG 0000H
MOV TMOD ، # 50H // کاؤنٹر کو منتخب کریں //
MOV TH0، # 15 // گنتی کی دالیں زیادہ تھوڑا سا منتقل کریں //
MOV TH1 ، # 9FH //اقدامگنتی کی دالیں ، نچلا سا //
TRT // // ٹائمر //
جے این بی $ // گنتی کی قیمت کو صفر تک کم کردیں //
CLR TF0 // کاؤنٹر ، پرچم صاف کریںتھوڑا سا//
CLR TR0 // ٹائمر کو روکیں //
ختم

سیریل مواصلات پروگرامنگ 8051 ایم کا استعمال کرتے ہوئےآئیکروکنٹرولر:

سیریل مواصلات عام طور پر ڈیٹا منتقل کرنے اور وصول کرنے کے لئے استعمال ہوتا ہے۔ 8051مائکروکنٹرولرUART / USART سیریل مواصلات پر مشتمل ہے اور سگنل منتقل اور موصول ہوتے ہیںTxاور Rx پنوں۔ UART مواصلات اعداد و شمار کو تھوڑا تھوڑا تھوڑا سریلی طور پر منتقل کرتا ہے۔ یو آر ٹی آدھے ڈوپلیکس پروٹوکول ہے جو ڈیٹا کی منتقلی اور وصول کرتا ہے ، لیکن ایک ہی وقت میں نہیں۔

1. حروف کو ہائپر ٹرمینل میں منتقل کرنے کے لئے WAP

MOV SCON ، # 50H // سیریل مواصلات مرتب کریں //
MOV TMOD ، # 20H // ٹائمر وضع منتخب کریں //
MOV TH1 ، # -3 // باؤڈ ریٹ مقرر کریں //
TRT // // ٹائمر //
MOV SBUF ، # ’S‘ // S کو ونڈو میں منتقل کریں //
JNB TI ، $ // ٹائمر کی کمی قیمت جب تک یہ صفر نہیں ہے //
CLR RI // واضح موصولہ رکاوٹ //
CLR TR1 // واضح ٹائمر //

2. ہائپر ٹرمینل کے ذریعہ وصول وصول کرنے کے لئے WAP

MOV SCON ، # 50H // سیریل مواصلات مرتب کریں //
MOV TMOD ، # 20H // ٹائمر وضع منتخب کریں //
MOV TH1 ، # -6 // باؤڈ ریٹ مقرر کریں //
TRT // // ٹائمر //
MOV SBUF ، # ’S‘ // S کو ونڈو میں منتقل کریں //
JNB RI ، time // ٹائمر کی کمی قیمت جب تک یہ صفر نہیں ہو جاتی ہے //
CLR RI // واضح موصولہ رکاوٹ //
MOV P0 ، SBUF // SBUF رجسٹر قدر بندرگاہ پر بھیجیں //
CLR TR1 // واضح ٹائمر //

یہ سب مثال کے طور پر مبنی پروگراموں کے ساتھ مختصرا Assembly اسمبلی زبان میں 8051 پروگرامنگ کے بارے میں ہے۔ ہم امید کرتے ہیں کہ اسمبلی زبان سے متعلق یہ مناسب معلومات قارئین کے لئے یقینا مددگار ثابت ہوگی اور ہم ذیل میں تبصرہ والے حصے میں ان کے قیمتی تاثرات کے منتظر ہیں۔