ایل ای ڈی انٹرفیسنگ سب سے پہلی چیز ہے ، کسی بھی مائکرو قابو پانے والے کے ساتھ شروعات کرتے وقت ایسا کرنے کی کوشش کرنا ہوگی۔ تو یہاں اس ٹیوٹوریل میں ہم 8051 مائکروکانٹرولر والی ایل ای ڈی کو انٹرفیس کرنے جارہے ہیں ، اور ایل ای ڈی کو پلکنے کے لئے سی پروگرام لکھیں گے۔ ہم نے اے ٹی ایم ای ایل کے ذریعہ ، 8051 فیملی میں سے ایک بہت ہی مشہور مائکروکانٹرلر AT89S52 استعمال کیا ہے ۔
تفصیل میں جانے سے پہلے ، ہمیں مائکروکونٹرولر AT89S52 کے بارے میں کچھ مختصر خیال حاصل کرنا چاہئے ۔ یہ 40 پن مائکرو قابو پانے والا ہے ، اور اس میں 4 بندرگاہیں (P0 ، P1 ، P2 ، P3) ہیں ، ہر بندرگاہ میں 8 پن ہوتی ہیں۔ ہم ہر بندرگاہ کو سافٹ ویئر کے نقطہ نظر سے ، 8 بٹ رجسٹر کے طور پر غور کرسکتے ہیں۔ ہر ایک پن جس میں ایک ان پٹ / آؤٹ پٹ لائن ہوتی ہے ، اس کا مطلب ہے کہ ہر پن کو ان پٹ کے ساتھ ساتھ آؤٹ پٹ کے لئے بھی استعمال کیا جاسکتا ہے ، یعنی اعداد و شمار کو سینسر کی طرح پڑھنے کے ل or یا اس کی آؤٹ پٹ کو کسی آؤٹ پٹ آلہ کو فراہم کرنے کے لئے۔ کچھ پنوں میں دوہری فعالیت ہوتی ہے ، جس کا ذکر ذیل میں پن ڈایاگرام میں بریکٹ میں ہوتا ہے۔ دوہری فعل جیسے مداخلت ، کاؤنٹر ، ٹائمر وغیرہ کے لئے۔
اے ٹی 89 ایس 5 میں میموری کی دو اقسام ہیں ، پہلی ریم جس میں 256 بائٹ میموری ہے اور دوسری ای ای پی آر او ایم (الیکٹرانک ایریز ایبل اور پروگرام ایبل ریڈ صرف میموری) ہے جس میں میموری کی 8 ک بائٹس ہیں۔ رام پروگرام کے عمل کے دوران ڈیٹا کو اسٹور کرنے کے لئے استعمال کیا جاتا ہے اور EEPROM پروگرام کو خود اسٹور کرنے کے لئے استعمال ہوتا ہے۔ EEPROM فلیش میموری ہے جس میں ہم پروگرام کو جلا دیتے تھے۔
سرکٹ ڈایاگرام اور وضاحت
ہم ایل ای ڈی کو مربوط کرنے کے لئے پورٹ 1 میں سے ایک ون پن استعمال کررہے ہیں۔ میں سرایت C پروگرامنگ ہم P1_0 کا استعمال کرتے ہوئے کی طرف سے پورٹ 1 پن 1 تک رسائی حاصل کر سکتے ہیں. ہم نے 11.0592MHz فریکوئنسی کا ایک کرسٹل آیسلیٹر پن 19 اور 18 یعنی XTAL1 اور XTAL2 سے منسلک کیا ہے۔ کرسٹل آسکیلیٹر گھڑی کی دالیں پیدا کرنے کے لئے استعمال کیا جاتا ہے ، اور گھڑی کی نبض کا استعمال وقت کے حساب کتاب کرنے کا مطلب فراہم کرنے کے لئے کیا جاتا ہے ، جس میں تمام واقعات کی ہم آہنگی لازمی ہے۔ اس طرح کے کرسٹل تقریبا every ہر جدید ڈیجیٹل سازوسامان میں استعمال ہوتے ہیں جیسے کمپیوٹر ، گھڑیاں وغیرہ میں۔ عام طور پر استعمال ہونے والا کرسٹل کوارٹج ہے۔ یہ ایک گونج آسکیلیٹر سرکٹ ہے اور کیپسیٹرز کرسٹل کو تیز کرنے کے ل. استعمال ہوتا ہے ، لہذا ہم نے یہاں 22pf کیپسیٹرس کو جوڑا ہے۔ آپ مزید جاننے کے لئے "گونج دار سرکٹس" کے بارے میں پڑھ سکتے ہیں۔
ایل ای ڈی انٹرفیسنگ کے ل The سرکٹ ڈایاگرام 8051 مائکروکونٹرولر 89S52 کے ساتھ مذکورہ بالا اعداد و شمار میں دکھایا گیا ہے۔ پن 31 (EA) Vcc سے منسلک ہے ، جو ایک فعال کم پن ہے۔ جب ہم کوئی بیرونی میموری استعمال نہیں کررہے ہیں تو یہ Vcc سے منسلک ہونا چاہئے۔ پن 30 (اے ایل ای) اور پن 29 (پی ایس این) مائکروکانٹرولر کو بیرونی میموری سے منسلک کرنے کے لئے استعمال ہوتے ہیں اور پن 31 مائکروکونٹرولر کو بیرونی میموری کو استعمال کرنے کے لئے کہتا ہے ، جب گراؤنڈ سے منسلک ہوتا ہے۔ ہم کوئی بیرونی میموری استعمال نہیں کررہے ہیں لہذا ہم نے پن 31 کو Vcc سے منسلک کیا۔
پن 9 (آر ایس ٹی) ری سیٹ پن ہے ، جو مائکروکانٹرولر کو دوبارہ ترتیب دینے کے لئے استعمال ہوتا ہے اور پروگرام دوبارہ شروع سے ہی شروع ہوتا ہے۔ جب HIGH سے منسلک ہوتا ہے تو یہ مائکرو کنٹرولر کو دوبارہ سیٹ کرتا ہے۔ ہم نے RST پن کو مربوط کرنے کے لئے معیاری ری سیٹ سرکٹری ، 10k اوہم ریزٹر اور 1uF کاپاکیٹر استعمال کیا ہے۔
اب یہاں دلچسپ بات یہ ہے کہ ہم ایل ای ڈی کو ریورس میں منسلک کرتے ہیں ، اس کا مطلب ہے مائکروکونٹرولر پن کے ساتھ منفی ٹانگ ، کیوں کہ مائکروکنٹرولر ایل ای ڈی کو چمکانے کے لئے اتنی طاقت نہیں فراہم کرتا ہے ، لہذا یہاں ایل ای ڈی منفی منطق پر چلتا ہے ، جیسے پن پی 1_0 1 ہے پھر ایل ای ڈی بند ہوجائے گا اور جب پن آؤٹ پٹ 0 ہو گا تو ایل ای ڈی آن ہو جائے گا۔ جب پن آؤٹ پٹ 0 ہے تو ، یہ زمین اور ایل ای ڈی چمک کی طرح برتاؤ کرتا ہے۔
کوڈ کی وضاحت
بنیادی رجسٹر تعریفوں کو شامل کرنے کے لئے ہیڈر REGX52.h شامل کیا گیا ہے۔ ایمبیڈڈ سی میں بہت سی قسم کے متغیرات اور مستحکم ہیں جیسے انٹ ، چار ، بغیر دستخط شدہ انٹ ، فلوٹ وغیرہ ، آپ انہیں آسانی سے سیکھ سکتے ہیں۔ یہاں ہم دستخط شدہ انٹ کا استعمال کر رہے ہیں جس کی حد 0 سے 65535 تک ہے۔ ہم تاخیر پیدا کرنے کے لئے "برائے لوپ" استعمال کر رہے ہیں ، تاکہ ایل ای ڈی کچھ وقت (P1_0 = 0 ، منفی ایل ای ڈی منطق) اور آف (P1_0 = 1) کے لئے جاری رہے۔ ، منفی ایل ای ڈی منطق) تاخیر سے وقت کے لئے۔ عام طور پر جب "فار لوپ" اس کے 1275 بار چلتا ہے ، 1 ایم ایس کی تاخیر دیتا ہے ، لہذا ہم نے ڈی ایلی پیدا کرنے کے لئے 'تاخیر' فنکشن تشکیل دیا ہے اور اسے مین پروگرام (مین ()) سے بلایا ہے۔ ہم مرکزی تقریب سے "تاخیر" کی تقریب کو فون کرتے ہوئے ڈی ایلی (میس) میں وقت گزر سکتے ہیں۔ پروگرام میں ، "جبکہ (1)" کا مطلب ہے کہ یہ پروگرام لامحدود طور پر انجام دے گا۔
میں مختصرا expla وضاحت کر رہا ہوں ، کہ "فار" لوپ کے 1275 اوقات چلنے سے 1 ایم ایس کی تاخیر کیسے ہوتی ہے۔
8051 میں ، 1 مشین سائیکل کو عمل میں لانے کے لئے 12 کرسٹل دالوں کی ضرورت ہوتی ہے اور ہمارے پاس 11.0592Mhz کرسٹل استعمال ہوتا ہے۔
تو 1 مشین سائیکل کے لئے وقت درکار ہے: 12 / 11.0592 = 1.085us
تو 1275 * 1.085 = 1.3 ملی میٹر ، 1275 اوقات "for" لوپ میں 1 ملی میٹر تاخیر ہوتی ہے۔
جب (j = 0؛ j <1275؛ j ++) آسکیلوسکوپ (سی آر او) سے پیمائش کرتے ہیں تو ، "سی" پروگرام کے ذریعہ درست وقتی حساب کتاب کرنا بہت مشکل ہوتا ہے ، جب تقریبا nearly 1 میل کی تاخیر ہوتی ہے۔
لہذا ہم 8051 مائکروکانٹرولر کے ساتھ صرف ایل ای ڈی کی مداخلت کرکے سمجھ سکتے ہیں ، کہ ایک سادہ کوڈنگ کے ذریعے ، ہم مائیکروکنٹرولر کا استعمال کرتے ہوئے سافٹ ویئر (پروگرامنگ) کے ذریعہ ہارڈویئر سے تعامل اور کنٹرول کرسکتے ہیں۔ نیز ہم پروگرامنگ کے ذریعہ ہر بندرگاہ اور مائکروکنٹرولر کے پن کو جوڑ سکتے ہیں۔