کلی زبان کے ساتھ ایمبیڈڈ سی پروگرامنگ ٹیوٹوریل

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





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

ایمبیڈڈ سسٹم پروگرامنگ

ایمبیڈڈ سسٹم پروگرامنگ



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


ایمبیڈڈ سی پروگرامنگ ٹیوٹوریل (8051)

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



پروگرامنگ ٹیوٹوریل

پروگرامنگ ٹیوٹوریل

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

سرایت نظام

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

سرایت نظام

سرایت نظام

8051 مائکروکانٹرولر کا تعارف

8051 مائکروکانٹرلر ایک بنیادی مائکروکانٹرولر ہے ، یہ پہلی بار ’انٹیل کارپوریشن‘ نے 1970 سے متعارف کرایا تھا۔ اسے 8086 پروسیسر فن تعمیر نے تیار کیا ہے۔ 8051 مائکروکانٹرولر کا ایک کنبہ ہے ، جسے مختلف مینوفیکچروں جیسے فلپس ، اتمیل ، گالوں ، وغیرہ نے تیار کیا ہے۔ 8051 مائکروکانٹرولر چھوٹے بچوں کے کھلونے سے لے کر بڑے آٹوموٹو سسٹم تک سرایت شدہ مصنوعات میں استعمال ہوتا رہا ہے۔


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

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

8051 مائکروکانٹرولر 8 بٹ ہے ‘CISC’ فن تعمیر . اس میں یادوں ، سیریل مواصلات ، مداخلتوں ، ان پٹ / آؤٹ پٹ پورٹس اور ٹائمر / کاؤنٹروں پر مشتمل ہوتا ہے ، جو ایک واحد مربوط چپ میں بنایا جاتا ہے ، جس میں پردیی آلات کو کنٹرول کرنے کا پروگرام بنایا جاتا ہے جو اس کے ساتھ انٹرفیس ہوتے ہیں۔ پروگرام مائکرو قابو رکھنے والے کی رام میں محفوظ ہے لیکن پروگرام لکھنے سے پہلے ، ہمیں رام سے آگاہ کرنا چاہئے تنظیم مائکروکنٹرولر کی

ایمبیڈڈ سسٹم پروگرامنگ: مبادیات اعلامیہ

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

# شامل کریں

ایمبیڈڈ سی پروگرامنگ ڈویلپمنٹ

ایمبیڈڈ سی پروگرامنگ ڈویلپمنٹ

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

# شامل کریں

ایمبیڈڈ سی اضافی مطلوبہ الفاظ

  • sbit
  • تھوڑا سا
  • ایس ایف آر
  • غیر مستحکم
  • میکرو کی وضاحت

مائیکروکنٹرولر کے واحد پن کو اعلان کرنے کے لئے 'اسبیٹ' استعمال کیا جاتا ہے۔ مثال کے طور پر ، ایل ڈی P0.1 پن سے منسلک ہے ، اس کی سفارش نہیں کی جاتی ہے کہ براہ راست بندرگاہ کی پن پر قیمت بھیجیں ، پہلے ، ہمیں پروگرام کو کہیں بھی استعمال کرنے کے بعد کسی اور متغیر کے ساتھ پن کا اعلان کرنا ہوگا۔

نحو: sbit a = P0 ^ 1 // متغیر کے ساتھ متعلقہ پن کا اعلان کرتا ہے //
a = 0x01 // قدر بندرگاہ پر بھیجیں //

متغیر کی حیثیت کو جانچنے کے لئے 'بٹ' استعمال ہوتا ہے۔

نحو: تھوڑا سا // تھوڑا سا متغیر کا اعلان کرتا ہے //
c = a // c متغیر کے لئے ایک قدر تفویض کی گئی ہے //
اگر (c == 1) // حالت صحیح یا غلط کو چیک کریں //

{
… ..
……
}

'SFR' کلیدی لفظ کسی اور نام سے SFR رجسٹر تک رسائی حاصل کرنے کے لئے استعمال ہوتا ہے۔ SFR رجسٹر کے طور پر وضاحت کی خصوصی تقریب رجسٹر ، اس میں ایڈریس کی نشاندہی کرکے تمام پردیسی سے متعلق رجسٹر ہوتے ہیں۔ SFR رجسٹر SFR مطلوبہ الفاظ کے ذریعہ اعلان کیا جاتا ہے۔ SFR مطلوبہ الفاظ کا دارالحکومت حروف میں ہونا ضروری ہے۔

نحو: SFR پورٹ = 0x00 // 0x00 ایک پورٹ ایڈریس ہے جسے پورٹ متغیر کے ذریعہ اعلان کیا جاتا ہے //
پورٹ = 0x01 // پھر پورٹ 0 پر قدر بھیجیں //
تاخیر ()
پورٹ = 0x00
تاخیر ()

سرایت شدہ نظام کی ترقی میں 'اتار چڑھاؤ' کی ورڈ سب سے اہم ہے۔ متغیر جو مستحکم مطلوبہ الفاظ کی قیمت کے ساتھ اعلان کرتا ہے غیر متوقع طور پر تبدیل نہیں کیا جاسکا۔ یہ میموری میپڈ پردیی رجسٹروں ، ISRs کے ذریعہ ترمیم شدہ عالمی متغیرات میں استعمال کیا جاسکتا ہے۔ اعداد و شمار کو منتقل کرنے اور وصول کرنے کے لئے اتار چڑھاوword کلیدی الفاظ استعمال کیے بغیر ، کوڈ کی غلطی یا ایک اصلاح کی خرابی واقع ہوگی۔

ترکیب: اتار چڑھاؤ K k

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

نحو: # ڈیفائن ڈاٹ پو // پوری بندرگاہ متغیر کے ذریعہ اعلان کی گئی ہے //
ڈیٹا = 0x01 // ڈیٹا پورٹ پر بھیجتا ہے //

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

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

ایمبیڈڈ سی پروگرامنگ کے اقدامات

ایمبیڈڈ سی پروگرامنگ کے اقدامات

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

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

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

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

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

1. 01010101
10101010

# شامل کریں // ہیڈر فائل //
باطل اہم () // پروگرام پر عمل درآمد کا نقطہ //
{
بغیر دستخط شدہ i // ڈیٹا کی قسم //
جبکہ (1) // مسلسل لوپ کے لئے //
{
P0 = 0x55 // پورٹ پر ہیکسا ویلیو بھیجیں //
(i = 0i) کیلئے<30000i++) //normal delay//
P0 = 0x3AA // پورٹ پر ہیکسا ویلیو بھیجیں //
(i = 0i) کیلئے<30000i++) //normal delay//
}
}

2.00000001

00000010

00000100

.

.

10،000،000

# شامل کریں

باطل اہم ()

{

دستخط شدہ i

دستخط شدہ چار جے ، بی

جبکہ (1)

{

P0 = 0x01

b = P0

(j-0j) کے لئے<3000j++)

(j = 0j) کے لئے<8j++)

{

b = b<<1

پی0 = بی

(j-0j) کے لئے<3000j++)

}

}

}

3. 00001111

11110000

# شامل کریں

باطل اہم ()

{

دستخط شدہ i

جبکہ (1)

{

P0 = 0x0F

(j-0j) کے لئے<3000j++)

P0 = 0xF0

(j-0j) کے لئے<3000j++)

}

}

4.00000001

00000011

00000111

.

.

11111111

# شامل کریں

باطل اہم ()

{

دستخط شدہ i

دستخط شدہ چار جے ، بی

جبکہ (1)

{

P0 = 0x01

b = P0

(j-0j) کے لئے<3000j++)

(j = 0j) کے لئے<8j++)

0x01

پی0 = بی

(j-0j) کے لئے<3000j++)

}

}

8051 مائکروکنٹرولر کا استعمال کرتے ہوئے 7 طبقات کی نمائش پر نمبر ظاہر کرنا

7 طبقہ دکھاتا ہے بنیادی الیکٹرانک ڈسپلے ہے ، جو عددی معلومات کو ظاہر کرنے کے لئے بہت سسٹم میں استعمال ہوتے ہیں۔ یہ آٹھ ایل ای ڈی پر مشتمل ہے جو ترتیب وار طریقے سے جڑے ہوئے ہیں تاکہ 0 سے 9 تک ہندسوں کو ظاہر کیا جاسکے ، جب ایل ای ڈی کے مناسب امتزاجات کو آن کیا جاتا ہے۔ وہ ایک وقت میں صرف ایک ہندسہ ظاہر کرسکتے ہیں۔

8051 مائکروکنٹرولر کا استعمال کرتے ہوئے 7 طبقات کی نمائش پر نمبر ظاہر کرنا

8051 مائکروکنٹرولر کا استعمال کرتے ہوئے 7 طبقات کی نمائش پر نمبر ظاہر کرنا

1. نمبروں کو ظاہر کرنے کے لئے WAP چار 7 حصوں کی نمائش پر '0 سے F' فارم تشکیل دے گا؟

# شامل کریں
sbit a = P3 ^ 0
sbit b = P3 ^ 1
sbit c = P3 ^ 2
sbit d = P3 ^ 3
باطل اہم ()
{
غیر دستخط شدہ ن [10] = {0 × 40،0xF9،0 × 24،0 × 30،0 × 19،0 × 12،0 × 02،0xF8،0xE00،0 × 10}
آپ کو دستخط کئے ، جے
a = b = c = d = 1
جبکہ (1)
{
(i = 0i) کیلئے<10i++)
{
P2 = n [i]
(j = 0j) کے لئے<60000j++)
}
}
}

W. 7 سیگمنٹ ڈسپلے پر ’00 سے 10 ‘تک نمبر ظاہر کرنے کے لئے WAP؟

# شامل کریں
sbit a = P3 ^ 0
sbit b = P3 ^ 1
باطل ڈسپلے 1 ()
باطل ڈسپلے 2 ()
باطل تاخیر ()
باطل اہم ()
{
غیر دستخط شدہ ن [10] = {0 × 40،0xF9،0 × 24،0 × 30،0 × 19،0 × 12،0 × 02،0xF8،0xE00،0 × 10}
آپ کو دستخط کئے ، جے
ڈی ایس 1 = ڈی ایس 2 = 0
جبکہ (1)
{
(i = 0 ، i) کیلئے<20i++)
ڈسپلے 1 ()
ڈسپلے 2 ()
}
}
باطل ڈسپلے 1 ()
{
a = 1
b = 0
پی 2 = ایس [ڈی ایس 1]
تاخیر ()
a = 1
b = 0
پی 2 = ایس [ڈی ایس 1]
تاخیر ()
}
باطل ڈسپلے 2 ()
{
ڈی ایس 1 ++
اگر (ds1> = 10)
{
ڈی ایس 1 = 0
ds2 ++
اگر (ds2> = 10)
{
ڈی ایس 1 = ڈی ایس 2 = 0
}
}
}
باطل تاخیر ()
{
بغیر دستخط شدہ K
(k = 0k) کیلئے<30000k++)
}

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

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

ٹائمر میں تاخیر

T1M2 (ٹائمر 1 اور موڈ 2) کا استعمال کرتے ہوئے 500us وقت کی تاخیر پیدا کرنے کیلئے WAP؟

# شامل کریں

باطل اہم ()
{
دستخط شدہ چار
ٹیموڈ = 0 x20 // ٹائمر موڈ مرتب کریں //
(i = 0i) کیلئے<2i++) //double the time daly//
{
TL1 = 0x19 // وقت کی تاخیر کا تعین //
TH1 = 0x00
TR1 = 1 // ٹائمر oN //
جبکہ (TF1 == 0) // پرچم بٹ چیک کریں //
TF1 = 0
}
TR1 = 0 // ٹائمر آف //
}

عمومی لوپ میں تاخیر

باطل تاخیر ()

{
بغیر دستخط شدہ K
(k = 0k) کیلئے<30000k++)
}

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

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

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

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

1. سیریل ونڈو میں کردار 'S' منتقل کرنے کے لئے WAP 9600 کو بڈ ریٹ کی طرح استعمال کرتا ہے؟

28800 8051 مائکرو قابو کرنے والے کی زیادہ سے زیادہ شرح ہے

28800/9600 = 3

وہ بوڈ ریٹ ‘3’ ٹائمر میں محفوظ ہے

# شامل کریں

باطل اہم ()

{
SCON = 0x50 // سیریل مواصلات کا آغاز //
TNOD = 0x20 // نے ٹائمر وضع کو منتخب کیا //
TH1 = 3 // بوڈ ریٹ //
TR1 = 1 // ٹائمر آن //
SBUF = ’S‘ // کردار کو رجسٹر میں اسٹور کریں //
جبکہ (TI == 0) // وقفے سے اندراج کو چیک کریں //
TI = 0
TR1 = 0 // ٹائمر // بند
جبکہ (1) // مسلسل لوپ //
}

2. WAP ہائپر ٹرمینل سے اعداد و شمار وصول کرنے اور اس ڈیٹا کو 9600 باؤڈ کا استعمال کرتے ہوئے مائکروکنوٹرل کے پورٹ 0 پر بھیجنا ہے؟

28800 8051 مائکرو قابو کرنے والے کی زیادہ سے زیادہ شرح ہے

28800/9600 = 3

وہ بوڈ ریٹ ‘3’ ٹائمر میں محفوظ ہے

# شامل کریں

باطل اہم ()
{
SCON = 0x50 // سیریل مواصلات کا آغاز //
TMOD = 0x20 // نے ٹائمر وضع کو منتخب کیا //
TH1 = 3 // بوڈ ریٹ //
TR1 = 1 // ٹائمر آن //
PORT0 = SBUF // ایس بی یو ایف سے ڈیٹا پورٹ0 پر بھیجیں //
جبکہ (RI == 0) // رکاوٹ کے اندراج کو چیک کریں //
RI = 0
TR1 = 0 // ٹائمر // بند
جبکہ (1) // کردار موصول ہونے پر پروگرام بند کرو //
}

8051 مائکروکانٹرولر کا استعمال کرتے ہوئے پروگراموں میں مداخلت کریں

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

WAP بائیں شفٹ آپریشن انجام دینے کے لئے جب ٹائمر 0 رکاوٹیں واقع ہوتی ہیں تو پھر مرکزی تقریب میں P0 کے لئے رکاوٹ آپریشن انجام دیں؟

# شامل کریں

دستخط شدہ چار

باطل ٹائمر0 () رکاوٹ 2 // منتخب ٹائمر0 رکاوٹ //
{
b = 0x10
پی 1 = بی<<2
}
باطل اہم ()
{
دستخط شدہ چار a ، i
یعنی = 0x82 // ٹائمر0 رکاوٹ کو اہل بنائیں //
TMOD = 0x01
TLo = 0xFC // رکاوٹ ٹائمر //
TH1 = 0xFB
TR0 = 1
a = 0x00
جبکہ (1)
{
(i = 0i) کیلئے<255i++)
{
ایک ++
پو = ا
}
}
}

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

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

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

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

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

# شامل کریں
sbit a = P3 ^ 0
sbit b = P3 ^ 1
sbit c = P3 ^ 2
sbit d = P3 ^ 3
باطل تاخیر ()
باطل اہم ()
{
جبکہ (1)
{
a = 0
b = 1
c = 1
d = 1
تاخیر ()
a = 1
b = 0
c = 1
d = 1
باطل تاخیر ()
{
دستخط شدہ چار
ٹیموڈ = 0 x20 // ٹائمر موڈ مرتب کریں //
(i = 0i) کیلئے<2i++) //double the time daly//
{
TL1 = 0x19 // وقت کی تاخیر کا تعین //
TH1 = 0x00
TR1 = 1 // ٹائمر oN //
جبکہ (TF1 == 0) // پرچم بٹ چیک کریں //
TF1 = 0
}
TR1 = 0 // ٹائمر آف //
}

2. کیپیڈ پر کلید ‘1’ دب کر ایل ای ڈی کو سوئچ کرنے کے لئے WAP؟

# شامل کریں

sbit r1 = P2 ^ 0
sbit c1 = P3 ^ 0
sbit LED = P0 ^ 1

باطل اہم ()
{

r1 = 0
اگر (c1 == 0)
{

ایل ای ڈی = 0 ایکس ایف
}
}

W. کیپپیڈ پر متعلقہ کلید دباکر سات طبقہ پر 0،1،2،3،4،5 نمبر ظاہر کرنے کے لئے WAP؟

# شامل کریں

sbit r1 = P2 ^ 0

sbit c1 = P3 ^ 0

sbit r2 = P2 ^ 0

sbit c2 = P3 ^ 0

sbit a = P0 ^ 1

باطل اہم ()

{

r1 = 0 a = 1

اگر (c1 == 0)

{

a = 0xFC

}

اگر (c2 == 0)

{

a = 0x60

}

اگر (c3 == 0)

{

a = 0xDA

}

اگر (c4 == 0)

{

a = 0xF2

}

}

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

ایل سی ڈی سکرین ایک الیکٹرانک ڈیوائس ہے ، جو متن یا تصویری شکل میں معلومات کی نمائش کے لئے کثرت سے استعمال ہوتا ہے۔ LCD ایک ڈسپلے ہے جو اپنی اسکرین پر آسانی سے کردار دکھا سکتا ہے۔ LCD ڈسپلے میں 8-ڈیٹا لائنیں اور 3-کنٹرول لائنیں ہوتی ہیں جو مائکرو قابو پانے والے کو انٹرفیس کرنے کے لئے استعمال ہوتی ہیں۔

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

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

ایل ای ڈی ڈسپلے پر 'ایججیکس کٹس' ڈسپلے کرنے کے لئے WAP؟

# شامل کریں
# تعریف کام P0

voidlcd_initi ()
voidlcd_dat (دستخط شدہ چارٹ)
voidlcd_cmd (دستخط شدہ چارٹ)
باطل تاخیر ()
باطل ڈسپلے (بغیر دستخط شدہ چار * ایس ، دستخط شدہ چار آر)

sbitrs = P2 ^ 0
sbitrw = P2 ^ 1
sbit at = P2 ^ 2
باطل اہم ()
{

lcd_initi ()
lcd_cmd (0x80)
تاخیر (100)
lcd_cmd (0xc0)
ڈسپلے ('ایئر ایف ایکس کٹس' ، 11)
جبکہ (1)
}

باطل ڈسپلے (بغیر دستخط شدہ چار * ایس ، دستخط شدہ چار آر)
{
سائن ان کریں
(ڈبلیو = 0 ڈبلیو) کے لئے{
lcd_data (s [w])
}
}
voidlcd_initi ()
{
lcd_cmd (0 × 01)
تاخیر (100)
lcd_cmd (0 × 38)
تاخیر (100)
lcd_cmd (0 × 06)
تاخیر (100)
lcd_cmd (0x0c)
تاخیر (100)
}
voidlcd_dat (دستخط شدہ چار ڈیٹا)
{
کنگھی = وہ
RSS = 1
rw = 0
میں = 1
تاخیر (100)
in = 0
}
}
voidlcd_cmd (دستخط شدہ چار سینٹی میٹر)
{
آیا = سینٹی میٹر
RSS = 0
rw = 0

میں = 1
تاخیر (100)
in = 0
}
باطل تاخیر (بغیر دستخط شدہ این
{

غیر تسلیم شدہ a
(a = 0a) کے لئے}

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