- اے ڈی سی کیا ہے؟
- اے آر ایم 7-ایل پی سی 2148 میں اے ڈی سی
- اے ڈی ایم پنوں میں اے آر ایم 7-ایل پی سی 2148
- اے آر ایم 7-ایل پی سی 2148 میں اے ڈی سی رجسٹر
- ایل پی سی 2148 میں ADXCR رجسٹر ہوں
- ADxGDR: ADC عالمی ڈیٹا رجسٹر
- ضروری اجزاء
- سرکٹ ڈایاگرام
- اے ڈی سی کے لئے پروگرامنگ ARM7-LPC2148
الیکٹرانکس کی دنیا میں مارکیٹ میں ینالاگ سینسر کی بہت ساری قسمیں ہیں جو درجہ حرارت ، رفتار ، نقل مکانی ، دباؤ وغیرہ کی پیمائش کے لئے استعمال ہوتی ہیں۔ ینالاگ سینسر کا استعمال پیداوار کے لئے کیا جاتا ہے جو وقت کے ساتھ مسلسل تبدیل ہوتا رہتا ہے۔ ینالاگ سینسرز کے یہ اشارے کچھ مائکرو وولٹ (یووی) سے لے کر کئی ملی وولٹ (ایم وی) تک قدر میں بہت کم ہوتے ہیں ، لہذا کچھ شکل وسیع کی ضرورت ہوتی ہے۔ مائکروکانٹرولر میں ان ینالاگ سگنلز کو استعمال کرنے کے ل we ہمیں ینالاگ سگنل کو ڈیجیٹل سگنل میں تبدیل کرنے کی ضرورت ہے کیونکہ مائکروکنٹرولر صرف ڈیجیٹل سگنل کو سمجھتا ہے اور اس پر کارروائی کرتا ہے۔ لہذا بیشتر مائکروکانٹرولر میں اے ڈی سی (اینالاگ سے ڈیجیٹل کنورٹر) نامی ایک انبیلٹ اہم خصوصیت موجود ہے ۔ ہمارے مائکروکنٹرولر ARM7-LPC2148 میں بھی ADC کی خصوصیت موجود ہے۔
اس ٹیوٹوریل میں ہم دیکھیں گے کہ کس طرح اے آر ایم 7-ایل پی سی 2148 میں اے ڈی سی کو ینالاگ پن کو مختلف وولٹیج کی فراہمی کے ذریعہ استعمال کیا جائے اور ڈیجیٹل تبادلوں کے مطابق ینالاگ کے بعد 16x2 LCD اسکرین پر ڈسپلے کیا جائے۔ تو آئی ڈی سی کے بارے میں ایک مختصر تعارف سے شروع کرتے ہیں۔
اے ڈی سی کیا ہے؟
جیسا کہ پہلے کہا گیا ہے کہ ADC کا مطلب ینالاگ سے ڈیجیٹل تبادلوں میں ہے اور اس کا استعمال ینالاگ قدروں کو حقیقی دنیا سے ڈیجیٹل اقدار جیسے 1 اور 0 کی شکل میں کرنا ہے۔ تو یہ ینالاگ قدریں کیا ہیں؟ یہ وہی چیزیں ہیں جو ہم اپنی روزمرہ کی زندگی میں دیکھتے ہیں جیسے درجہ حرارت ، رفتار ، چمک وغیرہ۔ ان پیرامیٹرز کو متعلقہ سینسروں کے ذریعہ ینالاگ وولٹیج کے طور پر ماپا جاتا ہے اور پھر یہ ینالاگ قدریں مائکروقابو کرنے والوں کے لئے ڈیجیٹل اقدار میں تبدیل ہوجاتی ہیں۔
آئیے ہم یہ فرض کریں کہ ہماری اے ڈی سی کی حد 0V سے 3.3V تک ہے اور ہمارے پاس 10 بٹ اے ڈی سی ہے اس کا مطلب ہے کہ ہماری ان پٹ وولٹیج 0-3.3 وولٹ مختلف انلاگ اقدار (2 10 = 1024) کی 1024 سطحوں میں تقسیم ہوجائے گی ۔ مطلب 1024 ایک 10 بٹ ADC کی قرارداد ہے ، اسی طرح 8 بٹ ADC کی قرارداد 512 (28) ہوگی اور 16 بٹ ADC کی قرارداد 65،536 (216) ہوگی۔ LPC2148 میں 10 بٹ ریزولوشن ADC ہے ۔
اس کے ساتھ اگر اصل ان پٹ وولٹیج 0V ہے تو پھر MCU کا ADC اسے 0 کی طرح پڑھے گا اور اگر یہ 3.3V ہے تو MCU 1024 پڑھے گا اور اگر یہ کہیں 1.65v کی طرح ہے تو MCU 512 پڑھے گا۔ ہم ذیل کا استعمال کرسکتے ہیں ڈیجیٹل ویلیو کا حساب لگانے کے لئے فارمولے جو ADC اور آپریٹنگ وولٹیج کی قرارداد پر مبنی MCU کے ذریعہ پڑھیں گے۔
(ADC قرارداد / آپریٹنگ وولٹیج) = (ADC ڈیجیٹل ویلیو / اصل وولٹیج کی قیمت)
جیسے مثال کے طور پر اگر حوالہ وولٹیج 3v ہے:
ہم نے سابقہ مضمون میں اے ڈی سی کو تفصیل سے بتایا۔
اے آر ایم 7-ایل پی سی 2148 میں اے ڈی سی
- LPC2148 ڈیجیٹل کنورٹرز کے لئے دو ینالاگ پر مشتمل ہے ۔
- یہ کنورٹرز ڈیجیٹل کنورٹرس کے لئے 10 بٹ کے لگ بھگ متوقع ینالاگ ہیں۔
- جبکہ ADC0 کے چھ چینل ہیں ، ADC1 کے پاس آٹھ چینلز ہیں۔
- لہذا ، ایل پی سی 2148 کے لئے دستیاب ADC آدانوں کی کل تعداد 14 ہے ۔
- یہ صرف ان پٹ وولٹیج (0 سے 3.3V) میں بدلتا ہے۔ یہ وولٹیج حوالہ 3.3V سے زیادہ نہیں ہونا چاہئے۔ کیونکہ اس سے آئی سی کو نقصان پہنچے گا اور غیر یقینی اقدار بھی مہیا ہوں گے۔
ایل پی سی 2148 میں اے ڈی سی کی کچھ اہم خصوصیت
- ہر کنورٹر 400000 10 بٹ نمونے فی سیکنڈ میں زیادہ کارکردگی کا مظاہرہ کرنے کا اہل ہے۔
- ہر ینالاگ ان پٹ میں وقفے سے اوورہیڈ کو کم کرنے کے ل result ایک سرشار رزلٹ رجسٹر ہوتا ہے۔
- سنگل یا ایک سے زیادہ آدانوں کے لئے تبادلوں کا طریقہ پھٹ۔
- ان پٹ پن یا ٹائمر میچ سگنل پر منتقلی پر اختیاری تبادلوں۔
- دونوں کنورٹرز کے لئے گلوبل اسٹارٹ کمانڈ۔
دوسرے مائکروکنٹرولروں میں ADC استعمال کرنے کا طریقہ بھی چیک کریں:
- ایردوینو یونو میں اے ڈی سی کا استعمال کیسے کریں؟
- انٹرفیسنگ ADC0808 کے ساتھ 8051 مائکروکانٹرولر
- PIC مائکروکانٹرولر کے ADC ماڈیول کا استعمال
- راسبیری پائی اے ڈی سی ٹیوٹوریل
- MSP430G2 میں ADC کا استعمال کیسے کریں - ینالاگ وولٹیج کی پیمائش کریں
- STM32F103C8 میں ADC کا استعمال کیسے کریں
اے ڈی ایم پنوں میں اے آر ایم 7-ایل پی سی 2148
جیسا کہ ارلیئر کو بتایا گیا ہے ، ARM7-LPC2148 میں 6 ینالاگ ان پٹ کے ساتھ 2 چینل ADC0 اور 8 ینالاگ ان پٹ کے ساتھ ADC1 موجود ہیں۔ تو مکمل طور پر ینالاگ آدانوں کے لئے 14 پن ہیں۔ نیچے دیا ہوا آراگرام ان پنوں کو دکھاتا ہے جو ینالاگ ان پٹ کے لئے دستیاب ہیں۔
چونکہ ADC ان پٹ دیگر GPIO پنوں کے ساتھ ملٹی پلیکس ہیں۔ ہمیں ADC فنکشن کو منتخب کرنے کے ل PIN PINSEL رجسٹر ترتیب دے کر ان کو فعال کرنے کی ضرورت ہے ۔
نیچے دیئے گئے جدول میں ایل پی سی 2148 میں اے ڈی سی اور قابل احترام اے ڈی سی چینل نمبر کی پنوں کو دکھایا گیا ہے۔ AD0 چینل 0 ہے اور AD1 چینل 1 ہے
ایل پی سی 2148 پن |
اے ڈی سی چینل نمبر |
پی0.28 |
AD0.1 |
P0.29 |
AD0.2 |
P0.30 |
AD0.3 |
پی0.25 |
AD0.4 |
P0.4 |
AD0.6 |
پی0.5 |
AD0.7 |
P0.6 |
AD1.0 |
P0.8 |
AD1.1 |
P0.10 |
AD1.2 |
P0.12 |
AD1.3 |
P0.13 |
AD1.4 |
P0.15 |
AD1.5 |
P0.21 |
AD1.6 |
P0.22 |
AD1.7 |
اے آر ایم 7-ایل پی سی 2148 میں اے ڈی سی رجسٹر
LPC2148 میں A / D تبادلوں کی خصوصیت کو استعمال کرنے کے لئے پروگراموں میں رجسٹر استعمال ہوتے ہیں۔
ذیل میں ایل / پی 2121 میں A / D تبادلوں کے ل used رجسٹروں کی ایک فہرست دی گئی ہے
1. ADCR: ڈیجیٹل کنٹرول کے رجسٹر کے مطابق
استعمال کریں: یہ رجسٹر LPC2148 میں A / D کنورٹر کی تشکیل کے لئے استعمال کیا جاتا ہے
2. ADGDR: ڈیجیٹل گلوبل ڈیٹا رجسٹر کے مطابق
استعمال کریں: اس رجسٹر میں A / D کنورٹر کے لئے کچھ سا نہیں ہے اور تبادلوں کا نتیجہ یہاں محفوظ ہے۔
3. ADINTERN: ڈیجیٹل مداخلت کے قابل یکجا رجسٹر
استعمال کریں: یہ ایک رکاوٹ قابل رجسٹر ہے۔
4. ADDR0 - ADDR7: ڈیجیٹل چینل ڈیٹا رجسٹر کے مطابق
استعمال کریں: اس رجسٹر میں متعلقہ چینلز کے لئے A / D قدر ہے۔
5. ADSTAT: ڈیجیٹل اسٹیٹ رجسٹر کے مطابق.
استعمال کریں: اس رجسٹر میں متعلقہ ADC چینل کے لئے DONE جھنڈا اور متعلقہ ADC چینل کے لئے OVERRUN پرچم بھی شامل ہے۔
اس ٹیوٹوریل میں ہم صرف ADCR اور ADGDR کے رجسٹر ہی استعمال کریں گے۔ آئیے ان کے بارے میں تفصیل سے دیکھیں
ایل پی سی 2148 میں ADXCR رجسٹر ہوں
چینل 0 اور چینل 1 کیلئے بالترتیب AD0CR اور AD1CR۔ یہ 32 بٹ رجسٹر ہے۔ ٹیبل کے نیچے ADCR رجسٹر کے لئے بٹ فیلڈز کا اشارہ ہے۔
31:28 |
27 |
26:24 |
23: 22 |
21 |
20 |
19: 17 |
16 |
15: 8 |
7: 0 |
محفوظ |
EDGE |
شروع کریں |
محفوظ |
PDN |
محفوظ |
سی ایل کے ایس |
برسٹ |
CLCKDIV |
فروخت |
آئیے انفرادی اندراجات کو تشکیل دینے کے طریقہ کے بارے میں دیکھیں
1. SEL: (0 سے 7) کے بٹس ADC کے تبادلوں کے لئے چینل کو منتخب کرنے کے لئے استعمال ہوتے ہیں۔ ہر چینل کے لئے ایک تھوڑا سا مختص کیا جاتا ہے۔ مثال کے طور پر بٹ -0 کو ترتیب دینے سے ADC تبادلوں کے نمونہ کے لئے AD0.1 ہوجائے گا۔ اور بٹ کو ترتیب دینے سے AD0.1 ہوجائے گا۔ اسی طرح بٹ 7 کو ترتیب دینے سے AD0.7 کی تبدیلی ہوگی۔ اہم مرحلہ یہ ہے کہ ہمارے پاس پورٹ کے مطابق پنسل ہے جس کے لئے ہم PLC2148 میں پورٹ 0 کے لئے مثال کے طور پر PINSEL0 استعمال کررہے ہیں۔
2. سی ایل سی ۔35: (8 سے 15) تک کی بٹس گھڑی تقسیم کرنے والے کے لئے ہیں ۔ یہاں اے پی بی گھڑی (اے آر ایم پیریفرل بس گھڑی) کو A / D کنورٹر کے ل required مطلوبہ گھڑی تیار کرنے کے لئے اس قدر کے علاوہ تقسیم کیا گیا ہے ، جو 4.5 میگا ہرٹز سے کم یا اس کے برابر ہونا چاہئے کیونکہ ہم LPC2148 میں لگاتار قریب قریب طریقہ کار استعمال کر رہے ہیں۔
3. برسٹ: بٹ 16 برسٹ تبادلوں کے موڈ کے لئے استعمال ہوتا ہے۔
1 ترتیب: ADC بٹنوں میں منتخب کردہ سبھی چینلز کے ل the تبادلوں کا کام کرے گا۔
ترتیب 0: BURST تبادلوں کے وضع کو غیر فعال کردے گی۔
CL . سی ایل سی کے ایس: (17 سے 19) تین بٹس سے بٹس کو منتخب کرنے کے لئے استعمال کیا جاتا ہے قرارداد اور A / D تبادلوں کے لئے گھڑیوں کی تعداد کو برسٹ موڈ میں کیونکہ یہ مسلسل A / D تبادلوں کا موڈ ہے۔
بٹس کی قیمت (17 سے 19) |
بٹس (درستگی) |
گھڑی کی تعداد نہیں |
000 |
10 |
11 |
001 |
9 |
10 |
010 |
8 |
9 |
011 |
7 |
8 |
100 |
6 |
7 |
101 |
5 |
6 |
110 |
4 |
5 |
111 |
3 |
4 |
5. پی ڈی این: تھوڑا 21 ایل پی سی 2148 میں اے ڈی سی کا پاور ڈاون موڈ منتخب کرنے کے لئے ہے ۔
- A / D PDN وضع میں ہے۔
- A / D آپریشنل موڈ میں ہے
6. شروع کریں: (24 سے 26) تک بٹس START کے لئے ہیں۔ جب 0 مرتب کرکے برسٹ تبادلوں کا طریقہ کار بند ہو تو ، یہ شروعاتی بٹس مفید ثابت ہوتی ہیں کہ A / D تبادلوں کا آغاز کب ہوگا۔ اسٹارٹ ایج کنٹرولڈ تبادلوں کیلئے بھی استعمال ہوتا ہے۔ جب LPC2148 کے CAP یا MAT پن میں ایک ان پٹ ہے تو A / D تبدیل ہونا شروع ہوتا ہے۔ آئیے مندرجہ ذیل ٹیبل کو چیک کریں
بٹس کی قیمت (24 سے 26) |
پن کا ایل پی سی 2148 کا |
اے ڈی سی کا فنکشن |
000 |
PDN وضع میں ADC سیٹ کرنے کے لئے استعمال کیا جاتا ہے کوئی آغاز نہیں |
|
001 |
A / D تبادلوں کا آغاز کریں |
|
010 |
CAP0.2 / MAT0.2 |
ایل پی سی 2148 کے سی اے پی / ایم اے ٹی پنوں پر پن 27 (اٹھنا یا گرنا) پر منتخب کردہ ای ڈی جی ای پر A / D تبادلوں کا آغاز کریں۔ |
011 |
CAP0.0 / MAT0.0 |
|
100 |
MAT0.1 |
|
101 |
MAT0.3 |
|
110 |
MAT1.0 |
|
111 |
MAT1.1 |
7. ایج: 27 ویں سا ای ڈی جی ای کے لئے ہے جب اسٹارٹ بٹ 010-111 پر مشتمل ہو۔ جب تبادلہ شروع ہوتا ہے جب CAP یا MAT ان پٹ ہوتا ہے تو آپ اس کے لئے اوپر جدول دیکھ سکتے ہیں۔
ترتیب : 0 - گرتے ہوئے کنارے پر
1 - رائزنگ ایج پر
ADxGDR: ADC عالمی ڈیٹا رجسٹر
بالترتیب ADC چینل 0 اور ADC چینل 1 کیلئے AD0GDR اور AD1GDR۔
یہ 32-بٹ رجسٹر میں A / D تبادلوں کا نتیجہ اور DONE بٹ بھی ہوتا ہے جو اشارہ کرتا ہے کہ A / D تبادلوں کا کام ہوچکا ہے۔ جدول کے نیچے ADGDR رجسٹر کیلئے بٹ فیلڈز کی نشاندہی کی گئی ہے۔
31 |
30 |
29:27 |
26:24 |
23: 16 |
15: 6 |
5: 0 |
کیا |
اووررن |
محفوظ |
CHN |
محفوظ |
نتیجہ |
محفوظ |
1. نتیجہ : یہ بٹس (6 سے 15) ADCR SEL رجسٹر میں منتخب چینل کے لئے A / D تبادلوں کا نتیجہ پر مشتمل ہے۔ قیمت A / D تبادلوں کے مکمل ہونے کے بعد ہی پڑھی جاتی ہے اور اس کا اشارہ DONE bit سے ہوتا ہے ۔
مثال: 10 بٹ ADC کے نتیجے میں ذخیرہ شدہ قیمت (0 سے 1023) میں مختلف ہوتی ہے۔
2. چینل: ان بٹس 24 سے 26 میں چینل نمبر ہوتا ہے جس کے لئے A / D تبادلوں ہوتا ہے۔ تبدیل شدہ ڈیجیٹل قدر RESULT بٹ میں موجود ہے۔
مثال: 000 ADC چینل 0 کے لئے ہے اور 001 ADC چینل 1 ، وغیرہ کے لئے ہے
3. اووررن: اووررون کے لئے 30 ویں سا تھوڑا سا برسٹ موڈ میں استعمال ہوتا ہے۔ جب 1 سیٹ کریں تو ، سابقہ تبدیل شدہ ADC ویلیو نئی تبدیل شدہ ADC ویلیو سے اوور رائٹ ہوجاتی ہے۔ جب رجسٹر پڑھا جاتا ہے تو اس سے اووررن بٹ صاف ہوجاتا ہے۔
4. کام: 31 واں تھوڑا سا کے لئے ہے۔
1 سیٹ کریں: جب A / D تبادلوں کا عمل مکمل ہوجائے۔
سیٹ 0: جب رجسٹر پڑھا جائے اور ADCR لکھا ہو۔
ہم نے ان اہم رجسٹروں کے بارے میں دیکھا ہے جو ایل پی سی 2148 میں اے ڈی سی میں استعمال ہوتے ہیں۔ اب اے آر ایم 7 میں اے ڈی سی کا استعمال شروع کریں۔
ضروری اجزاء
ہارڈ ویئر
- ARM7-LPC2148 مائکروکانٹرولر
- 3.3V وولٹیج ریگولیٹر آئی سی
- 5V وولٹیج ریگولیٹر آئی سی
- 10K پوٹینومیٹر - 2 نمبر
- ایل ای ڈی (کوئی رنگین)
- LCD ڈسپلے (16X2)
- 9V بیٹری
- بریڈ بورڈ
- مربوط تاروں
سافٹ ویئر
- کییل یوویژن 5
- جادو فلیش ٹول
سرکٹ ڈایاگرام
نیچے دی گئی جدول میں LCD اور ARM7-LPC2148 کے درمیان سرکٹ رابطے دکھائے گئے ہیں ۔
ARM7-LPC2148 |
LCD (16x2) |
P0.4 |
آر ایس (رجسٹر سلیکٹ) |
P0.6 |
ای (قابل بنائیں) |
P0.12 |
ڈی 4 (ڈیٹا پن 4) |
P0.13 |
ڈی 5 (ڈیٹا پن 5) |
P0.14 |
ڈی 6 (ڈیٹا پن 6) |
P0.15 |
ڈی 7 (ڈیٹا پن 7) |
اے آر ایم 7 - LPC2148 کے ساتھ LCD استعمال کرنے کے بارے میں مزید معلومات حاصل کریں۔
اہم: یہاں ہم دو وولٹیج ریگولیٹر آئی سی استعمال کر رہے ہیں ایک 5V LCD ڈسپلے کے لئے اور دوسرا 3.3V ینالاگ ان پٹ کے لئے جو پوٹینومیومیٹر کے ذریعہ مختلف ہوسکتا ہے۔
ایل سی ڈی اور اے آر ایم 7 اسٹک کے ساتھ 5V وولٹیج ریگولیٹر کے درمیان رابطے
5V وولٹیج ریگولیٹر آئی سی |
پن تقریب |
LCD اور ARM-7 LPC2148 |
1. بائیں پن |
+ بیٹری 9V ان پٹ سے Ve |
این سی |
2. سینٹر پن |
- بیٹری سے Ve |
VSS ، R / W ، LCD کا K اے آر ایم 7 کا جی این ڈی |
3. رائٹ پن |
باقاعدہ + 5V آؤٹ پٹ |
وی ڈی ڈی ، ایل سی ڈی کا اے ARM7 کا + 5V |
LCD کے ساتھ پوٹینومیٹر
LCD ڈسپلے کے برعکس مختلف ہونے کے لئے ایک پوٹینومیٹر استعمال کیا جاتا ہے۔ ایک برتن میں تین پن ہیں ، بائیں پن (1) + 5V اور مرکز (2) سے VEE یا LCD ماڈیول کا V0 اور دائیں پن (3) GND سے جڑا ہوا ہے۔ ہم دستک موڑ کر اس کے برعکس کو ایڈجسٹ کرسکتے ہیں۔
LPC2148 اور 3.3V وولٹیج ریگولیٹر کے ساتھ پوٹینومیٹر کے درمیان رابطہ
3.3V وولٹیج ریگولیٹر آئی سی |
پن تقریب |
ARM-7 LPC2148 |
1. بائیں پن |
- بیٹری سے Ve |
GND پن |
2. سینٹر پن |
ریگولیٹ + 3.3V آؤٹ پٹ |
پوٹینومیٹر ان پٹ اور پوٹینومیٹر کی پیداوار P0.28 پر |
3. رائٹ پن |
+ بیٹری 9V ان پٹ سے Ve |
این سی |
اے ڈی سی کے لئے پروگرامنگ ARM7-LPC2148
ARM7-LPC2148 پروگرام کرنے کے لئے ہمیں کیل یوویژن اور فلیش جادو آلے کی ضرورت ہے۔ ہم مائکرو USB پورٹ کے ذریعہ اے آر ایم 7 اسٹک پروگرام کرنے کے لئے USB کیبل استعمال کررہے ہیں۔ ہم کیل کا استعمال کرتے ہوئے کوڈ لکھتے ہیں اور ایک ہیکس فائل تخلیق کرتے ہیں اور پھر HEX فائل فلیش جادو کا استعمال کرتے ہوئے ARM7 اسٹیک پر چمک جاتی ہے۔ کیل یوویژن اور فلیش جادو کو انسٹال کرنے کے بارے میں اور ان کا استعمال کرنے کے طریقہ کے بارے میں مزید جاننے کے ل AR اے آر ایم 7 ایل پی سی 2148 مائکروکنٹرولر کے ساتھ شروعات کرنا اور کییل یوویژن کا استعمال کرکے اسے پروگرام کریں۔
اس ٹیوٹوریل میں ہم LPC2148 میں ADC کا استعمال کرکے ینالاگ ان پٹ وولٹیج (0 سے 3.3V) کو ڈیجیٹل ویلیو میں تبدیل کرتے ہیں اور LCD ڈسپلے (16x2) پر ینالاگ وولٹیج ڈسپلے کرتے ہیں۔ ان پٹ ینالاگ وولٹیج کو مختلف کرنے کے لئے ایک پوٹینومیٹر استعمال کیا جائے گا۔
ARM7-LPC2148 4 بٹ موڈ کے ساتھ LCD انٹرفیس کرنے کے بارے میں مزید معلومات کے ل this اس لنک پر عمل کریں۔
ARM 7 کے ساتھ اے ڈی سی کا استعمال کرتے ہوئے کے لئے مکمل ضابطہ یہاں ہم اس کے چند حصوں کی وضاحت کر رہے ہیں، اس ٹیوٹوریل کے آخر میں دیا جاتا ہے.
LPC2148-ADC پروگرامنگ میں شامل اقدامات
1. پنسل رجسٹر LPC2148 کے پورٹ پن اور ADC فنکشن کو ینالاگ ان پٹ کے طور پر منتخب کرنے کے لئے استعمال کیا جاتا ہے۔
PINSEL1 = 0x01000000؛ // P0.28 کو بطور AD0.1 منتخب کریں
2. ADXCR (ADC کنٹرول رجسٹر) پر قدر لکھ کر تبادلوں کے لئے گھڑی اور قدرے درستگی کا انتخاب کریں۔
AD0CR = 0x00200402؛ // تبادلوں کے ل operation اے ڈی سی آپریشن کو 10 بٹس / 11 سی ایل کے بطور سیٹ کریں (000)
3. ADXCR میں START بٹس پر قیمت لکھ کر تبادلوں کا آغاز کریں۔
یہاں میں نے AD0CR رجسٹر کے 24 ویں بٹ پر لکھا ہے ۔
AD0CR = AD0CR - (1 << 24)؛
Now . اب ہمیں اسی ADXDRy (ADC ڈیٹا رجسٹر) کے DONE BIT (31th) کو چیک کرنا ہے کیونکہ یہ 0 سے 1 میں تبدیل ہوتا ہے۔ لہذا ہم استعمال کرتے ہوئے لوپ کو مستقل طور پر جانچ پڑتال کرتے ہیں کہ آیا ڈیٹا رجسٹر کے 31 ویں بٹ پر تبادلہ عمل ہوا ہے یا نہیں۔
جبکہ (! (AD0DR1 & 0x80000000))؛
5. مکمل بٹ 1 پر سیٹ ہونے کے بعد ، تبادلہ کامیاب ہوجاتا ہے ، اگلا ہم اسی ADC ڈیٹا رجسٹر AD0DR1 سے نتیجہ پڑھتے ہیں اور قیمت کو متغیر میں اسٹور کرتے ہیں۔
adcvalue = AD0DR1؛
ہم ایک متغیر کا نام دیا میں وولٹیج اور ذخیرہ کرنے کی ڈیجیٹل قدر میں تبدیل کرنے کا فارمولا استعمال اگلا وولٹیج .
وولٹیج = ((adcvalue / 1023.0) * 3.3)؛
5. ڈیجیٹل تبادلوں کے مطابق کے بعد ڈیجیٹل اقدار (0 سے 1023) ظاہر کرنے کے لئے درج ذیل لائنوں کا استعمال کیا جاتا ہے۔
adc = adcvalue؛ اسپرنٹف (ڈسپلےڈ سی ، "ایڈکلیو =٪ ایف" ، ایڈ سی)؛ LCD_DISPLAY (displayadc)؛ // ڈسپلے ADC ویلیو (0 سے 1023)
6. مندرجہ ذیل لائنیں ڈیجیٹل تبادلوں کے مطابق ینالاگ کے بعد اور مرحلہ 5 کے بعد ان پٹ ینالاگ وولٹیج (0 سے 3.3V) ظاہر کرنے کے لئے استعمال کی جاتی ہیں۔
LCD_SEND (0xC0)؛ سپرنٹف (وولٹ ویلیو ، "وولٹیج =٪. 2 ایف وی" ، وولٹیج)؛ LCD_DISPLAY (وولٹ ویلیو)؛ // ڈسپلے (ان پٹ ینالاگ وولٹیج)
7. اب ہمیں LCD ڈسپلے پر ان پٹ وولٹیج اور ڈیجیٹل قدروں کو ظاہر کرنا ہے۔ اس سے پہلے کہ ہم LCD ڈسپلے کو شروع کریں اور پیغام بھیجنے کے ل appropriate مناسب احکامات استعمال کریں۔
ذیل میں کوڈ LCD کو شروع کرنے کے لئے استعمال ہوتا ہے
باطل LCD_INITILIZE (باطل) // LCD تیار کرنے کے لئے فنکشن { IO0DIR = 0x0000FFF0؛ // سیٹ P0.12 ، P0.13 ، P0.14 ، P0.15 ، P0.4 ، P0.6 بطور آؤٹ پٹ میں تاخیر_میس (20)؛ LCD_SEND (0x02)؛ // LCD کو آپریشن 4-بٹ وضع میں LCD_SEND (0x28) میں شروع کریں؛ // 2 لائنیں (16 ایکس 2) LCD_SEND (0x0C)؛ // LCD_SEND (0x06) پر کرسر پر ڈسپلے کریں ؛ // آٹو انکریمنٹ کرسر LCD_SEND (0x01)؛ // واضح LCD_SEND (0x80) ڈسپلے کریں ؛ // پہلی لائن پہلی پوزیشن }
ذیل میں کوڈ LCD پر اقدار کو ظاہر کرنے کے لئے استعمال ہوتا ہے
باطل LCD_DISPLAY (چار * MSG) // فنکشن حروف پرنٹ کرنے کے لئے ایک ایک کر بھیجا { میں = uint8_t 0؛ جبکہ (=! = 0) { IO0PIN = ((IO0PIN & 0xFFFF00FF) - ((# & 0xF0) << 8))؛ // اپر نیبل IO0SET = 0x00000050 بھیجتا ہے ؛ ڈیٹا IO0CLR = 0x00000020 پرنٹ کرنے کے لئے // RS HIGH & EHLE HIGH ؛ // RW LOW لکھیں موڈ میں تاخیر_میز (2)؛ IO0CLR = 0x00000040؛ // EN = 0 ، RS اور RW کوئی تبدیلی نہیں (یعنی RS = 1، RW = 0) delay_ms (5)؛ IO0PIN = ((IO0PIN & 0xFFFF00FF)) - ((# & 0x0F) << 12٪)؛ // نچلے نچلے IO0SET = 0x00000050 بھیجتا ہے ؛ // RS & EN HIGH IO0CLR = 0x00000020؛ تاخیر_سے (2)؛ IO0CLR = 0x00000040؛ تاخیر_سے (5)؛ میں ++؛ } }
تاخیر پیدا کرنے کے لئے ذیل میں فنکشن کا استعمال کیا جاتا ہے
کالعدم تاخیر_مز (uint16_t j) // ملی سیکنڈ میں تاخیر کا کام { uint16_t x، i؛ (i = 0؛ i) کیلئے
مظاہرے ویڈیو کے ساتھ مکمل کوڈ ذیل میں دیا گیا ہے۔