- پی ڈبلیو ایم (پلس کی چوڑائی ماڈلن)
- PWM پنوں میں ARM7-LPC2148
- اے آر ایم 7-ایل پی سی 2148 میں پی ڈبلیو ایم رجسٹر
- ضروری اجزاء
- سرکٹ ڈایاگرام اور رابطے
- پروگرامنگ ARM7-LPC2148 PWM کے لئے
- پی ڈبلیو ایم اور اے ڈی سی کے لئے پروگرامنگ ایل پی سی 2148 میں شامل اقدامات
جیسا کہ ہم جانتے ہیں کہ مائکروکنٹرولرز اینالاگ سینسرز سے اینالاگ ان پٹ لیتے ہیں اور ان اشاروں پر کارروائی کرنے کے لئے اے ڈی سی (اینالاگ سے ڈیجیٹل کنورٹر) کا استعمال کرتے ہیں۔ لیکن کیا ہوگا اگر مائکروکینٹرلر اینولوگ چلنے والے آلات جیسے سروو موٹر ، ڈی سی موٹر وغیرہ کو کنٹرول کرنے کے لئے ینالاگ سگنل تیار کرنا چاہتا ہے؟ مائکروکانٹرولرز 1V ، 5V جیسی آؤٹ پٹ وولٹیج نہیں تیار کرتے ہیں اس کے بجائے وہ ینالاگ ڈیوائسز کو چلانے کے لئے PWM نامی ایک تکنیک استعمال کرتے ہیں۔ پی ڈبلیو ایم کی ایک مثال ہمارے لیپ ٹاپ کا کولنگ فین (ڈی سی موٹر) ہے جسے درجہ حرارت کے مطابق رفتار پر قابو رکھنے کی ضرورت ہے ، اور اسی کو مدر بورڈز میں پلس چوڑائی ماڈولیشن (پی ڈبلیو ایم) تکنیک کا استعمال کرکے لاگو کیا جاتا ہے ۔
اس ٹیوٹوریل میں ہم ARM7-LPC2148 مائکروقابو کنٹرولر میں PWM کا استعمال کرتے ہوئے ایل ای ڈی کی چمک پر قابو پالیں گے۔
پی ڈبلیو ایم (پلس کی چوڑائی ماڈلن)
پی ڈی ڈبلیو ایم ڈیجیٹل ویلیو کا استعمال کرتے ہوئے ینالاگ ڈیوائسز کو کنٹرول کرنے کا ایک اچھا طریقہ ہے جیسے موٹر کی رفتار کو کنٹرول کرنا ، لیڈ کی چمک وغیرہ۔ اگرچہ پی ڈبلیو ایم خالص مطابق پیداوار فراہم نہیں کرتا ہے ، لیکن یہ ینالاگ ڈیوائسز کو کنٹرول کرنے کے لئے مناسب ینالاگ دالیں تیار کرتا ہے۔ نتیجے میں لہر کی اوسط قیمت میں تغیر پانے کے ل P PWM دراصل ایک مستطیل پلس کی لہر کی چوڑائی کو ماڈلوں۔
PWM کے ڈیوٹی سائیکل
وقت کا فیصد جس میں پی ڈبلیو ایم سگنل ہائی (وقت پر) رہتا ہے ، کو ڈیوٹی سائیکل کہا جاتا ہے۔ اگر سگنل ہمیشہ ہی رہتا ہے تو یہ 100٪ ڈیوٹی سائیکل میں ہوتا ہے اور اگر یہ ہمیشہ ہی بند رہتا ہے تو یہ 0٪ ڈیوٹی سائیکل ہے۔
ڈیوٹی سائیکل = ٹائم آن کریں / (ٹائم آن کریں + ٹرن آف ٹائم)
PWM پنوں میں ARM7-LPC2148
نیچے دی گئی تصویر میں ARM7-LPC2148 کے PWM آؤٹ پٹ کی نشاندہی کی گئی ہے. PWM کے لئے کل چھ پن ہیں۔
پی ڈبلیو ایم چینل |
LPC2148 پورٹ پن |
پی ڈبلیو ایم 1 |
P0.0 |
پی ڈبلیو ایم 2 |
P0.7 |
پی ڈبلیو ایم 3 |
P0.1 |
پی ڈبلیو ایم 4 |
P0.8 |
پی ڈبلیو ایم 5 |
P0.21 |
پی ڈبلیو ایم 6 |
P0.9 |
اے آر ایم 7-ایل پی سی 2148 میں پی ڈبلیو ایم رجسٹر
ہمارے منصوبے میں آنے سے پہلے ہمیں ایل پی سی 2148 میں پی ڈبلیو ایم رجسٹروں کے بارے میں جاننے کی ضرورت ہے۔
پی ڈبلیو ایم کے لئے ایل پی سی 2148 میں استعمال ہونے والے رجسٹروں کی فہرست یہ ہے
1. پی ڈبلیو ایم پی آر: پی ڈبلیو ایم پریسکل رجسٹر
استعمال کریں: یہ 32 بٹ رجسٹر ہے۔ اس میں پی او ڈبلیو ایم ٹائمر کاؤنٹر کو بڑھانے سے پہلے پی سی ایل کے لازمی طور پر چکر لگانا چاہ ((منفی 1)
2. پی ڈبلیو ایم پی سی: پی ڈبلیو ایم پریسکلر کاؤنٹر
استعمال کریں: یہ 32 بٹ رجسٹر ہے ۔ اس میں انسداد اضافی قیمت شامل ہے۔ جب یہ قدر PR قیمت جمع 1 کے برابر ہوتی ہے تو ، PWM ٹائمر کاؤنٹر (TC) میں اضافہ ہوتا ہے۔
3. پی ڈبلیو ایم ٹی سی آر: پی ڈبلیو ایم ٹائمر کنٹرول رجسٹر
استعمال کریں: اس میں کاؤنٹر قابل ، کاؤنٹر ری سیٹ اور PWM قابل قابو بٹس شامل ہیں۔ یہ 8 بٹ رجسٹر ہے۔
7: 4 |
3 |
2 |
1 |
0 |
محفوظ |
PWM کے قابل |
محفوظ |
کاؤنٹر ریسٹ |
کاؤنٹر قابل |
- پی ڈبلیو ایم قابل بنائیں: (بٹ -3)
0- PWM غیر فعال
1- PWM فعال
- کاؤنٹر قابل: (بٹ 0)
0- کاؤنٹرز کو غیر فعال کریں
1- کاؤنٹر کو فعال کریں
- کاؤنٹر ری سیٹ: (بٹ -1)
0- کچھ نہیں۔
1- پی سی ایل کے مثبت کنارے پر پی ڈبلیو ایم ٹی سی اور پی ڈبلیو ایم پی سی کو دوبارہ سیٹ کرتا ہے۔
4. پی ڈبلیو ایم ٹی سی: پی ڈبلیو ایم ٹائمر کاؤنٹر
استعمال کریں: یہ 32 بٹ رجسٹر ہے۔ اس میں بڑھتی ہوئی پی ڈبلیو ایم ٹائمر کی موجودہ قیمت ہے۔ جب پریسکلر کاؤنٹر (پی سی) پریسلر رجسٹر (پی آر) ویلیو پلس 1 تک پہنچ جاتا ہے تو ، اس کاؤنٹر میں اضافہ ہوتا ہے۔
5. PWMIR: PWM انٹراپٹ رجسٹر
استعمال کریں: یہ 16 بٹ رجسٹر ہے۔ اس میں پی ڈبلیو ایم میچ چینلز کے وقفے سے جھنڈے شامل ہیں 0-6۔ اس چینل (ایم آر ایکس انٹراپٹ) کے لئے جب خلل آتا ہے تو ایک رکاوٹ کا جھنڈا مقرر کیا جاتا ہے جہاں ایکس چینل کا نمبر (0 سے 6) ہوتا ہے۔
6. PWMMR0-PWMMR6: PWM میچ رجسٹر
استعمال کریں: یہ 32 بٹ رجسٹر ہے ۔ دراصل میچ چینل گروپ 6 واحد کنارے سے کنٹرول شدہ یا 3 ڈبل ایج کنٹرول شدہ پی ڈبلیو ایم آؤٹ پٹ ترتیب دینے کی اجازت دیتا ہے۔ آپ پی ڈبلیو ایم پی سی آر میں اپنی ضروریات کو پورا کرنے کے لئے ان پی ڈبلیو ایم آؤٹ پٹس کو تشکیل دینے کے لئے سات میچ چینلز میں ترمیم کرسکتے ہیں۔
7. پی ڈبلیو ایم ایم سی آر: پی ڈبلیو ایم میچ کنٹرول رجسٹر
استعمال کریں: یہ 32 بٹ رجسٹر ہے۔ اس میں مداخلت ، ری سیٹ اور اسٹاپ بٹس شامل ہیں جو منتخب کردہ میچ چینل کو کنٹرول کرتی ہیں۔ PWM میچ رجسٹروں اور PWM ٹائمر کاؤنٹرز کے مابین ایک میچ ہوتا ہے۔
31:21 |
20 |
19 |
18 |
.. |
5 |
4 |
3 |
2 |
1 |
0 |
محفوظ |
PWMMR6S |
PWMMR6R |
PWMMR6I |
.. |
پی ڈبلیو ایم ایم آر 1 ایس |
PWMMR1R |
PWMMR11 |
PWMMR0S |
PWMMR0R |
PWMMR01 |
یہاں ایکس 0 سے 6 تک ہے
- PWMMRxI (بٹ 0)
فعال یا غیر فعال PWM مداخلتیں
0- PWM میچ رکاوٹیں غیر فعال کریں۔
1- پی ڈبلیو ایم میچ میں مداخلت کو قابل بنائیں۔
- پی ڈبلیو ایم ایم آر ایکس آر: (بٹ 1)
RESET PWMTC - ٹائمر کاؤنٹر ویلیو جب بھی PWMRx سے میل کھاتا ہے
0- کچھ نہیں کرنا۔
1- پی ڈبلیو ایم ٹی سی کو دوبارہ مرتب کرتا ہے۔
- PWMMRxS: (بٹ 2)
PWMTC اور PWMPC کو روکیں جب PWMTC میچ رجسٹر ویلیو تک پہنچ جاتا ہے
0- PWM اسٹاپ کی خصوصیت کو غیر فعال کریں۔
1- PWM اسٹاپ کی خصوصیت کو فعال کریں۔
8. پی ڈبلیو ایم پی سی آر: پی ڈبلیو ایم کنٹرول رجسٹر
استعمال کریں: یہ 16 بٹ رجسٹر ہے۔ اس میں وہ بٹس شامل ہیں جو PWM آؤٹ پٹ 0-6 کو اہل بناتے ہیں اور ہر آؤٹ پٹ کے لئے سنگل کنارے یا ڈبل ایج کنٹرول کو منتخب کرتے ہیں۔
31: 15 |
14: 9 |
8: 7 |
6: 2 |
1: 0 |
غیر استعمال شدہ |
PWMENA6-PWMENA1 |
غیر استعمال شدہ |
PWMSEL6-PWMSEL2 |
غیر استعمال شدہ |
- PWMSELx (x: 2 سے 6)
- پی ڈبلیو ایم ایکس کے لئے سنگل ایج وضع
- 1- PWMx کیلئے ڈبل ایج وضع۔
- پی ڈبلیو ایم این ایکس (x: 1 سے 6)
- PWMx غیر فعال کریں۔
- 1- PWMx فعال ہے۔
9. PWMLER: PWM لیچ رجسٹر کو فعال کریں
استعمال کریں: یہ 8 بٹ رجسٹر ہے۔ اس میں ہر میچ چینل کے لئے میچ ایکس لیچ بٹس شامل ہیں۔
31: 7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
غیر استعمال شدہ |
LEN6 |
LEN5 |
LEN4 |
LEN3 |
LEN2 |
LEN1 |
LEN0 |
لینیکس (x: 0 سے 6):
0-
نئی میچ ویلیوز کی لوڈنگ کو غیر فعال کریں 1- ٹائمر کو ری سیٹ ہونے پر PWWMatch رجسٹر (PWMMRx) سے نئی میچ ویلیوز لوڈ کریں۔
اب اے آر ایم مائکروکنٹرولر میں پلس کی چوڑائی ماڈلن کو ظاہر کرنے کے لئے ہارڈ ویئر سیٹ اپ کی تعمیر شروع کرنے دیتا ہے۔
ضروری اجزاء
ہارڈ ویئر
- ARM7-LPC2148 مائکروکانٹرولر
- 3.3V وولٹیج ریگولیٹر آئی سی
- 10 ک پوٹینومیٹر
- ایل ای ڈی (کوئی رنگ)
- LCD (16x2) ڈسپلے ماڈیول
- بریڈ بورڈ
- مربوط تاروں
سافٹ ویئر
- کییل یوویژن 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) |
GND |
وی ایس ایس ، آر / ڈبلیو ، کے |
+ 5 وی |
وی ڈی ڈی ، اے |
ایل ای ڈی اور ARM7-LPC2148 کے درمیان رابطہ
ایل ای ڈی کا اونوڈ LPC2148 کے PWM آؤٹ پٹ (P0.0) سے منسلک ہے ، جبکہ ایل ای ڈی کا کیٹوڈ پن LPC2148 کے GND پن سے منسلک ہے۔
ARM7-LPC2148 اور 3.3V وولٹیج ریگولیٹر کے ساتھ پوٹینومیٹر کے درمیان رابطہ
3.3V وولٹیج ریگولیٹر آئی سی |
پن تقریب |
ARM-7 LPC2148 پن |
1. بائیں پن |
- GND سے Ve |
GND پن |
2. سینٹر پن |
ریگولیٹ + 3.3V آؤٹ پٹ |
LPC2148 کے P0.28 کے پوٹینومیٹر ان پٹ اور پوٹینومیٹر کی پیداوار میں |
3. رائٹ پن |
+ وی سے 5 وی ان پٹ |
+ 5 وی |
نوٹ کرنے کے لئے نکات
1. LPC2148 کے ADC پن (P0.28) کو ینالاگ ان پٹ ویلیو فراہم کرنے کے لئے یہاں 3.3V کا وولٹیج ریگولیٹر استعمال کیا جاتا ہے اور کیونکہ ہم 5V پاور استعمال کررہے ہیں ہمیں 3.3V کے وولٹیج ریگولیٹر کے ساتھ وولٹیج کو کنٹرول کرنے کی ضرورت ہے۔
2. ایل پی سی 2148 پن P0.28 کو ینالاگ ان پٹ (ADC) فراہم کرنے کے لئے (0V سے 3.3V) کے درمیان وولٹیج کو مختلف کرنے کے لئے ایک پوٹینومیٹر استعمال کیا جاتا ہے
پروگرامنگ ARM7-LPC2148 PWM کے لئے
ARM7-LPC2148 پروگرام کرنے کے لئے ہمیں کیل یوویژن اور فلیش جادو آلے کی ضرورت ہے۔ ہم مائکرو USB پورٹ کے ذریعہ اے آر ایم 7 اسٹک پروگرام کرنے کے لئے USB کیبل استعمال کررہے ہیں۔ ہم کیل کا استعمال کرتے ہوئے کوڈ لکھتے ہیں اور ایک ہیکس فائل تخلیق کرتے ہیں اور پھر HEX فائل فلیش جادو کا استعمال کرتے ہوئے ARM7 اسٹیک پر چمک جاتی ہے۔ کیل یوویژن اور فلیش جادو کو انسٹال کرنے کے بارے میں اور ان کا استعمال کرنے کے طریقہ کے بارے میں مزید جاننے کے ل AR اے آر ایم 7 ایل پی سی 2148 مائکروکنٹرولر کے ساتھ شروعات کرنا اور کییل یوویژن کا استعمال کرکے اسے پروگرام کریں۔
اس ٹیوٹوریل میں ہم ایل ای ڈی کی چمک کو کنٹرول کرنے کے لئے اے ڈی سی اور پی ڈبلیو ایم تکنیک استعمال کریں گے۔ یہاں LPC2148 کو ADC ان پٹ P0.28 کے ذریعے ینالاگ ان پٹ (0 سے 3.3V) دیا جاتا ہے ، پھر اس مطابق ان پٹ کو ڈیجیٹل ویلیو (0 سے 1023) میں تبدیل کیا جاتا ہے۔ پھر اس قدر کو دوبارہ ڈیجیٹل ویلیو (0 - 255) میں تبدیل کردیا گیا کیونکہ ایل پی سی 2148 کے پی ڈبلیو ایم آؤٹ پٹ میں صرف 8 بٹ ریزولوشن (2 8) ہے۔ ایل ای ڈی PWM پن P0.0 سے منسلک ہے اور ایل ای ڈی کی چمک پوٹینومیٹر کا استعمال کرتے ہوئے کنٹرول کی جا سکتی ہے۔ اے آر ایم 7-ایل پی سی 2148 میں اے ڈی سی کے بارے میں مزید معلومات کے ل the لنک کی پیروی کریں۔
پی ڈبلیو ایم اور اے ڈی سی کے لئے پروگرامنگ ایل پی سی 2148 میں شامل اقدامات
مرحلہ 1: - سب سے پہلے چیز PLL کو گھڑی بنانے کے ل config ترتیب دینا ہے کیونکہ یہ پروگرامروں کی ضرورت کے مطابق LPC2148 کے سسٹم گھڑی اور پیریفیریل گھڑی طے کرتا ہے۔ ایل پی سی 2148 کے لئے گھڑی کی زیادہ سے زیادہ تعدد 60 میگاہرٹز ہے۔ مندرجہ ذیل لائنیں PLL گھڑی کی تیاری کو ترتیب دینے کے ل used استعمال ہوتی ہیں۔
باطل initilizePLL (باطل) // گھڑی کی نسل کے لئے PLL استعمال کرنے کے کام { PLL0CON = 0x01؛ PLL0CFG = 0x24؛ PLL0FEED = 0xAA؛ PLL0FEED = 0x55؛ جبکہ (! (PLL0STAT & 0x00000400))؛ PLL0CON = 0x03؛ PLL0FEED = 0xAA؛ PLL0FEED = 0x55؛ VPBDIV = 0x01؛ }
مرحلہ 2: - اگلی چیز یہ ہے کہ PWEL رجسٹر کا استعمال کرکے LPC2148 کے PWM پنوں اور PWM فنکشن کا انتخاب کریں۔ ہم PINSEL0 استعمال کرتے ہیں کیونکہ ہم LPC2148 کے PWM آؤٹ پٹ کیلئے P0.0 استعمال کرتے ہیں۔
PINSEL0 = 0x00000002؛ // PWM آؤٹ پٹ کے لئے پن P0.0 مرتب کرنا
مرحلہ 3: - اگلا ہمیں پی ڈبلیو ایم ٹی سی آر (ٹائمر کنٹرول رجسٹر) کا استعمال کرتے ہوئے ٹائمر کو دوبارہ مرتب کرنے کی ضرورت ہے۔
پی ڈبلیو ایم ٹی سی آر = (1 << 1)؛ // PWM ٹائمر کنٹرول رجسٹر کاؤنٹر ری سیٹ کے بطور مقرر کرنا
اور پھر ، پریسکل ویلیو سیٹ کریں جو PWM کی ریزولوشن کا فیصلہ کرتی ہے۔ میں اسے صفر پر سیٹ کر رہا ہوں
پی ڈبلیو ایم پی آر = 0 ایکس 100؛ // PWM نسبتا قدر مقرر کرنا
مرحلہ 4: - اگلا ہمیں پی ڈبلیو ایم ایم سی آر (پی ڈبلیو ایم میچ کنٹرول رجسٹر) قائم کرنے کی ضرورت ہے کیونکہ یہ پی ڈبلیو ایم ایم آر0 کے لئے ری سیٹ ، رکاوٹ جیسے آپریشن طے کرتا ہے۔
PWMMCR = (1 << 0) - (1 << 1)؛ // PWM میچ کنٹرول رجسٹر قائم کرنا
مرحلہ 5: - پی ڈبلیو ایم چینل کی زیادہ سے زیادہ مدت پی ڈبلیو ایم ایم آر کا استعمال کرتے ہوئے طے کی گئی ہے۔
PWMMR0 = PWMvalue؛ // PWM قدر زیادہ سے زیادہ قیمت دینا
ہمارے معاملے میں زیادہ سے زیادہ قیمت 255 ہے (زیادہ سے زیادہ چمک کے لئے)
مرحلہ 6: - اگلا ہمیں پی ڈبلیو ایم ایل ای آر کا استعمال کرتے ہوئے میچ میچ رجسٹروں پر لیچ ایبل کو سیٹ کرنے کی ضرورت ہے
PWMLER = (1 << 0)؛ // اینالبی پی ڈبلیو ایم لیچ
(ہم PWMMR0 استعمال کرتے ہیں) لہذا PWMLER میں 1 ترتیب دے کر اسی بٹ کو قابل بنائیں
مرحلہ 7: - پن میں پی ڈبلیو ایم آؤٹ پٹ کو چالو کرنے کے ل we ہمیں پی ڈبلیو ایم ٹی سی آر کو پی ڈبلیو ایم ٹائمر کاؤنٹرز اور پی ڈبلیو ایم طریقوں کو فعال کرنے کے لئے استعمال کرنے کی ضرورت ہے۔
پی ڈبلیو ایم ٹی سی آر = (1 << 0) - (1 << 3)؛ // PWM اور PWM کاؤنٹر کو چالو کرنا
مرحلہ 8: - اب ہمیں اے ڈی سی پن P0.28 سے پی ڈبلیو ایم کے ڈیوٹی سائیکل قائم کرنے کے لئے پوٹینومیٹر ویلیو حاصل کرنے کی ضرورت ہے۔ لہذا ہم پوٹینومیٹر اینالاگ ان پٹ (0 سے 3.3V) کو اے ڈی سی کی اقدار (0 سے 1023) میں تبدیل کرنے کے لئے ایل پی سی 2148 میں اے ڈی سی ماڈیول کا استعمال کرتے ہیں۔
یہاں ہم اقدار کو 0-1023 سے 0-255 میں 4 کے ساتھ تقسیم کرکے تبدیل کررہے ہیں کیونکہ ایل پی سی 2148 کے پی ڈبلیو ایم میں 8 بٹ ریزولوشن (2 8) ہے ۔
مرحلہ 9: - کے LPC2148 میں اے ڈی سی پن P0.28 منتخب، ہم استعمال کرتے ہیں
PINSEL1 = 0x01000000؛ // P0.28 کو بطور ADC INPUT AD0CR = (((14) << 8) - (1 << 21)) مقرر کرنا؛ // A / D تبادلوں کے لئے گھڑی اور PDN مرتب کرنا
مندرجہ ذیل لائنیں ینالاگ ان پٹ (0 سے 3.3V) پر قبضہ کرتی ہیں اور اسے ڈیجیٹل ویلیو (0 سے 1023) میں تبدیل کرتی ہیں۔ اور پھر اس ڈیجیٹل اقدار کو 4 سے تقسیم کرکے ان (0 سے 255) میں تبدیل کیا جاتا ہے اور آخر کار LWC2148 کے P0.0 پن میں PWM آؤٹ پٹ کے طور پر کھلایا جاتا ہے جس پر ایل ای ڈی منسلک ہوتا ہے۔
AD0CR - = (1 << 1)؛ // اے ڈی سی رجسٹر میں تاخیر کے وقت AD0.1 چینل منتخب کریں (10)؛ AD0CR - = (1 << 24)؛ // جب کہ ((AD0DR1 & (1 << 31)) == 0) A / D تبادلوں کا آغاز کریں ؛ // ADC ڈیٹا رجسٹر میں DONE بٹ چیک کریں adcvalue = (AD0DR1 >> 6) & 0x3ff؛ // ADC ڈیٹا رجسٹر ڈیوائسیکل = ایڈکلیو / 4 سے نتیجہ حاصل کریں؛ // ڈیوائسیکل اقدار حاصل کرنے کے لئے فارمولہ (0 سے 255) PWMMR1 = ڈیوائسیکل؛ // PWM میچ رجسٹر پر ڈیوائسیکل ویلیو سیٹ کریں PWMLER - = (1 << 1)؛ // ڈیوائسیکل ویلیو کے ساتھ پی ڈبلیو ایم آؤٹ پٹ کو قابل بنائیں
مرحلہ 10: - اگلا ہم ان اقدار کو LCD (16X2) ڈسپلے ماڈیول میں ظاہر کرتے ہیں۔ لہذا ہم 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) ڈسپلے کریں ؛ // پہلی لائن پہلی پوزیشن }
جب ہم LPC2148 کے ساتھ 4 بٹ موڈ میں LCD سے منسلک ہوتے ہیں تو ہمیں اقدار بھیجنا پڑتا ہے تاکہ گھٹاؤ کے ذریعہ بطور (اپر نبل اور لوئر بلبل) ڈسپلے ہوں۔ لہذا مندرجہ ذیل لائنوں کو استعمال کیا جاتا ہے۔
باطل LCD_DISPLAY (char * msg) // ایک ایک کرکے بھیجے گئے حروف کو پرنٹ کرنے کا کام { uint8_t i = 0؛ جبکہ (=! = 0) { IO0PIN = ((IO0PIN & 0xFFFF00FF) - ((# & 0xF0) << 8))؛ // اپر نیبل IO0SET = 0x00000050 بھیجتا ہے ؛ ڈیٹا IO0CLR = 0x00000020 پرنٹ کرنے کے لئے // RS HIGH & EHLE HIGH ؛ // RW LOW موڈ میں تاخیر (2) لکھیں ؛ IO0CLR = 0x00000040؛ // EN = 0 ، آر ایس اور آر ڈبلیو کوئی تبدیلی نہیں (یعنی آر ایس = 1 ، آر ڈبلیو = 0) تاخیر سے (5)؛ IO0PIN = ((IO0PIN & 0xFFFF00FF)) - ((# & 0x0F) << 12٪)؛ // نچلے نچلے IO0SET = 0x00000050 بھیجتا ہے ؛ // RS & EN HIGH IO0CLR = 0x00000020؛ تاخیر (2)؛ IO0CLR = 0x00000040؛ تاخیر (5)؛ میں ++؛ } }
ان ADC اور PWM اقدار کو ظاہر کرنے کے لئے ہم INT مین () فنکشن میں درج ذیل لائنوں کا استعمال کرتے ہیں ۔
LCD_SEND (0x80)؛ سپرنٹف (ڈسپلےڈ سی ، "اڈکلیویو =٪ ایف" ، اڈکلیو)؛ LCD_DISPLAY (displayadc)؛ // ڈسپلے ADC ویلیو (0 سے 1023) LCD_SEND (0xC0)؛ سپرنٹف (لیڈ آؤٹ پٹ ، "PWM OP =٪. 2f" ، چمک)؛ ایل سی ڈی_ڈیشل (لیڈ آؤٹ پٹ)؛ // ڈیوائسیکل اقدار ڈسپلے کریں (0 سے 255)
سبق کا مکمل کوڈ اور ویڈیو تفصیل ذیل میں دیا گیا ہے۔