- ہارڈ ویئر سیٹ اپ اور ضرورت
- N76E003 ایل ای ڈی اور پش بٹن انٹرفیس سرکٹ
- N76E003 پن آؤٹ ڈایاگرام
- N76E003 کیلئے آسان GPIO کنٹرول پروگرام
- پروگرامنگ N76E003 اور آؤٹ پٹ کی تصدیق
ہمارے پچھلے سبق میں ، ہم نے N76E003 گائیڈ کے ساتھ بطور ابتدائی ایل ای ڈی ٹمٹمانے والے پروگرام کا استعمال کیا ، ہم نے پہلے ہی سیکھا کہ کیل آئی ڈی ای کو کنفیگر کیا جائے اور نووٹن مائکروکنٹرولر یونٹ N76E003 کو پروگرام کرنے کے ل environment ماحول کو مرتب کیا جائے ۔ اب وقت آگیا ہے کہ تھوڑا سا آگے بڑھیں اور اضافی ہارڈ ویئر کو کنٹرول کرنے کے لئے بنیادی GPIO انٹرفیس استعمال کریں ۔ اگر آپ دلچسپی رکھتے ہیں تو آپ دوسرے مائکروکانٹرولر GPIO سبق بھی چیک کرسکتے ہیں جو ذیل میں درج ہیں-
- کیوب میکس اور ٹروسٹوڈیو کے ساتھ STM32 نیوکلیو 64 - ایل ای ڈی کنٹرول
- STM8S برہمانڈیی سی GPIO کنٹرول کے ساتھ
- پی آئی سی ، ایم پی ایل ایکس ایکس ایل ای ڈی پلک ٹیوٹوریل کے ساتھ
- MSP430 کوڈ کمپوزر اسٹوڈیو کے ساتھ۔ سادہ ایل ای ڈی کنٹرول
چونکہ ہمارے پچھلے سبق میں ، ہم نے صرف ایک ایل ای ڈی کو آؤٹ پٹ کے طور پر آئی او پن کا استعمال کرتے ہوئے پلک جھپکنے کے لئے استعمال کیا ۔ اس ٹیوٹوریل میں ، ہم ان پٹ کے بطور دوسرا IO پن استعمال کرنے اور اضافی ایل ای ڈی کو کنٹرول کرنے کا طریقہ سیکھیں گے ۔ زیادہ وقت ضائع کیے بغیر ، آئیے ہم تشخیص کریں کہ ہمیں کس طرح کا ہارڈ ویئر سیٹ اپ درکار ہے۔
ہارڈ ویئر سیٹ اپ اور ضرورت
چونکہ ایک سوئچ کو ان پٹ کے بطور استعمال کرنے کی ضرورت ہے ، سب سے پہلے جس چیز کی ہمیں ضرورت ہوتی ہے وہ ایک پش بٹن ہے۔ ہمیں اس اضافی ایل ای ڈی کو بھی دبانے والے بٹن کے ذریعہ کنٹرول کرنے کی ضرورت ہے۔ ان دونوں کے علاوہ ، ہمیں بھی ایل ای ڈی موجودہ اور پش بٹن کے اس پار پل ڈاون مقاصد کے ل an ایک اضافی ریسازٹر کو محدود کرنے کے ل a ایک رزسٹر کی ضرورت ہے۔ اسکیمیٹک حصے میں اس کا مزید مظاہرہ کیا جائے گا۔ ہماری ضرورت کے اجزاء۔
- ایک پش بٹن (خاص طور پر کسی بھی قسم کے لمحاتی سوئچ - سپرش سوئچ)
- ایل ای ڈی کا کوئی رنگ
- پل ڈاؤن ڈاؤن مقاصد کے لئے 4.7k مزاحم
- 100 آر ریزسٹر
مذکورہ بالا اجزاء کے علاوہ ، ہمیں N76E003 مائکروکونٹرولر پر مبنی ڈویلپمنٹ بورڈ نیز نیو لنک پروگرامر کی ضرورت ہے ۔ مزید برآں ، جیسا کہ ذیل میں دکھایا گیا ہے تمام اجزاء کو مربوط کرنے کے لئے بریڈ بورڈ اور ہک اپ تاروں کی بھی ضرورت ہے۔
N76E003 ایل ای ڈی اور پش بٹن انٹرفیس سرکٹ
جیسا کہ ہم ذیل میں اسکیمیٹک میں دیکھ سکتے ہیں ، ٹیسٹ ایل ای ڈی جو ترقیاتی بورڈ کے اندر ہے ، بندرگاہ 1.4 پر منسلک ہے اور پورٹ 1.5 پر ایک اضافی ایل ای ڈی منسلک ہے ۔ ریزسٹر R3 ایل ای ڈی موجودہ کو محدود کرنے کے لئے استعمال کیا جاتا ہے۔
پن 1.6 میں ، ایس ڈبلیو نامی ایک پش بٹن منسلک ہے۔ جب بھی بٹن دبایا جائے گا ، پن اونچا ہو جائے گا۔ بصورت دیگر ، یہ 4.7K پل-ڈاؤن ریزسٹر R1 کے ذریعے کم ہوجائے گا ۔ اگر آپ اس تصور میں نئے ہیں تو آپ پل اپ اور پل ڈاون ریزٹرز کے بارے میں مزید جان سکتے ہیں۔
پن ایک پروگرام سے متعلق پن بھی ہے جو پروگرامر کے ذریعہ حاصل کیا جاتا ہے۔ یہ پروگرام ڈیٹا بھیجنے کے لئے استعمال ہوتا ہے۔ تاہم ، ہم ان پنوں کو منتخب کرنے کے ساتھ ساتھ N76E003 کی پن نقشہ سازی کے بارے میں منصفانہ معلومات حاصل کریں گے ۔
N76E003 پن آؤٹ ڈایاگرام
N76E003 کا پن آریگرام ذیل کی تصویر میں دیکھا جاسکتا ہے۔
جیسا کہ ہم دیکھ سکتے ہیں ، ہر پن میں متعدد کام ہوتے ہیں اور مختلف مقاصد کے لئے استعمال ہوسکتے ہیں۔ آئیے ایک مثال لیتے ہیں۔ پن 1.7 کو ایک رکاوٹ یا ینالاگ ان پٹ یا عام مقصد کے ان پٹ آؤٹ پٹ آپریشن کے طور پر استعمال کیا جاسکتا ہے۔ اس طرح ، اگر کوئی پن I / O پنوں کے بطور استعمال ہوتا ہے ، تو متعلقہ فعالیت دستیاب نہیں ہوگی۔
اس کی وجہ سے ، پن 1.5 جو ایل ای ڈی آؤٹ پٹ پن کے طور پر استعمال ہوتا ہے ، یہ PWM اور دیگر فعالیت کو کھو دے گا۔ لیکن یہ مسئلہ نہیں ہے کیونکہ اس منصوبے کے لئے کسی اور فعالیت کی ضرورت نہیں ہے۔ آؤٹ پٹ کے طور پر پن 1.5 کو منتخب کرنے اور ان پٹ کے طور پر 1.6 پن کو منتخب کرنے کے پیچھے ، کیونکہ آسان رابطہ کے لئے GND اور VDD پنوں کی قریب ترین دستیابی ہے۔
تاہم ، 20 پنوں میں سے اس مائکروکانٹرولر میں ، 18 پنوں کو جی پی آئی او پن کے طور پر استعمال کیا جاسکتا ہے۔ پن 2.0 ری سیٹ ان پٹ کے لئے پورے طور پر استعمال ہوتا ہے اور اسے آؤٹ پٹ کے طور پر استعمال نہیں کیا جاسکتا ہے۔ اس پن کے علاوہ ، تمام پنوں کو نیچے بیان کردہ وضع میں تشکیل کیا جاسکتا ہے۔
ڈیٹا شیٹ کے مطابق ، PxM1.n ، اور PxM2.n دو رجسٹر ہیں جو I / O پورٹ کے کنٹرول آپریشن کا تعین کرنے کے لئے استعمال ہوتے ہیں۔ اب ، GPIO پورٹ لکھنے اور پڑھنے میں آنا بالکل الگ چیز ہے۔ کیونکہ پورٹ کنٹرول رجسٹر کو لکھنے سے بندرگاہ کی لچک حالت بدل جاتی ہے ، جبکہ پورٹ کو پڑھنے سے منطق کی حیثیت مل جاتی ہے۔ لیکن کسی بندرگاہ کو پڑھنے کے ل it ، اسے لازمی طور پر ان پٹ وضع کرنا چاہئے۔
N76E003 کیلئے آسان GPIO کنٹرول پروگرام
اس ٹیوٹوریل میں استعمال ہونے والا مکمل پروگرام اس صفحے کے نیچے پایا جاسکتا ہے ، کوڈ کی وضاحت مندرجہ ذیل ہے۔
ان پٹ کے بطور پن کو ترتیب دینا
آئیے پہلے ان پٹ کے ساتھ آغاز کریں۔ جیسا کہ بالکل پہلے بحث کی گئی ، بندرگاہ کی حیثیت کو پڑھنے کے ل read ، اسے ان پٹ کے بطور ترتیب دینے کی ضرورت ہے۔ لہذا ، جیسا کہ ہم نے P1.6 کو اپنے ان پٹ سوئچ پن کے بطور منتخب کیا ہے ، ہم نے اسے کوڈ کے ٹکڑوں کی نیچے والی لائن کے ذریعے ظاہر کیا ہے۔
# وضاحت SW P16
اس کو ایک ہی پن کو ان پٹ کے طور پر سیٹ کرنے کی ضرورت ہے۔ اس طرح ، سیٹ اپ فنکشن پر ، پن نیچے والی لائن کا استعمال کرتے ہوئے ان پٹ کے طور پر سیٹ کیا جاتا ہے۔
باطل سیٹ اپ (باطل) {P14_Quasi_Mode؛ P15_Quasi_Mode؛ P16_ ان پٹ_موڈ؛ }
یہ لائن P16_ ان پٹ_موڈ؛ Function_define.h ہیڈر فائل میں "BSP شامل لائبریری" میں وضاحت کی گئی ہے جو P1M1- = SET_BIT6 کے طور پر پن بٹ سیٹ کرتی ہے۔ P1M2 & = ~ SET_BIT6 ۔ SET_BIT6 بھی اسی ہیڈر فائل میں وضاحت کی گئی ہے اسمبلی
# وضاحت SET_BIT6 0x40
پنوں کو آؤٹ پٹ کے بطور ترتیب دینا
ان پٹ پن کی طرح ، آؤٹ پٹ پن جو جہاز کے ٹیسٹ ایل ای ڈی اور بیرونی ایل ای ڈی 1 کے ذریعہ استعمال ہوتا ہے ، متعلقہ پنوں کے ساتھ کوڈ کے پہلے حصے میں بھی اس کی وضاحت کی گئی ہے۔
# ڈیفائن ٹیسٹ_ ایل ای ڈی پی 14 # وضاحت ایل ای ڈی 1 پی 15
وہ پنوں کو نیچے لائنوں کا استعمال کرتے ہوئے سیٹ اپ فنکشن میں آؤٹ پٹ کے طور پر سیٹ کیا گیا ہے۔
باطل سیٹ اپ (باطل) { P14_Quasi_Mode؛ // آؤٹ پٹ P15_Quasi_Mode؛ // آؤٹ پٹ P16_ ان پٹ_موڈ؛ }
ان لائنوں کو Function_define.h ہیڈر فائل میں بھی بیان کیا گیا ہے جہاں P1M1 & = ~ SET_BIT4 کے طور پر پن بٹ سیٹ کرتا ہے ۔ P1M2 & = ~ SET_BIT4 ۔ SET_BIT6 بھی اسی ہیڈر فائل میں وضاحت کی گئی ہے اسمبلی
# وضاحت SET_BIT4 0x10
لامحدود جبکہ لوپ
ایک ہارڈ ویئر ، اگر طاقت کے ساتھ منسلک ہوتا ہے اور کامل طریقے سے کام کرتا ہے جس سے پیداوار کو مستقل طور پر کام کرنا چاہئے ، تو اطلاق کبھی نہیں رکتا ہے۔ لامحدود اوقات میں بھی یہی کام کرتا ہے۔ یہاں ایک لامحدود جبکہ لوپ کا کام آتا ہے ۔ لوپ کے اندر کی ایپلی کیشن لامحدود طور پر چلتی ہے۔
جبکہ (1) { ٹیسٹ_ ایل ای ڈی = 0؛ sw_delay (150)؛ ٹیسٹ_ ایل ای ڈی = 1؛ sw_delay (150)؛ اگر (SW == 1) {LED1 = 0؛ } دوسری {ایل ای ڈی 1 = 1؛ }}}
مذکورہ بالا جبکہ لوپ sw_delay قدر کے مطابق لیڈ کو ٹمٹماتا ہے اور ایس ڈبلیو کی حیثیت کو بھی چیک کرتا ہے۔ اگر سوئچ کو دبایا جاتا ہے تو ، P1.6 زیادہ ہوگا ، اور اس طرح جب اس کو دبایا جائے گا ، پڑھنے کی حیثیت 1 ہوگی۔ اس صورتحال میں ، اس وقت کے لئے ، سوئچ دبایا جاتا ہے اور پورٹ P1.6 زیادہ رہتا ہے ، ایل ای ڈی 1 چمک اٹھے گا۔
پروگرامنگ N76E003 اور آؤٹ پٹ کی تصدیق
ہمارے میں N76E003 ساتھ شروع ہو رہی ٹیوٹوریل، ہم N76E003 پروگرام کے لئے کہ کس طرح پہلے سے ہی، ہم صرف ہمارے بورڈ کے پروگرام کے لئے یہاں ایک ہی اقدامات اعادہ کروں گا تاکہ سیکھا. کوڈ کامیابی کے ساتھ مرتب ہوا اور 0 وارننگ اور 0 نقائص کو لوٹا اور کیل کے ذریعہ پہلے سے طے شدہ چمکنے کا طریقہ استعمال کرکے چمک گیا۔
جیسا کہ آپ مذکورہ تصویر میں دیکھ سکتے ہیں ، جب میں پش بٹن دباتا ہوں تو ہماری بیرونی ایل ای ڈی آن ہوجاتی ہے۔ منصوبے کا مکمل کام ذیل میں منسلک ویڈیو میں پایا جاسکتا ہے۔ امید ہے کہ آپ نے ٹیوٹوریل سے لطف اندوز ہوئے ہوں گے اور آپ کو کوئی مفید کام سیکھا ہے ، اگر آپ کے کوئی سوالات ہیں تو ، انہیں نیچے تبصرہ سیکشن میں چھوڑیں۔ آپ دوسرے تکنیکی سوالات پوچھنے کے لئے ہمارے فورمز کا استعمال بھی کرسکتے ہیں۔