- தேவையான பொருட்கள்
- 16 எக்ஸ் 2 எல்சிடி டிஸ்ப்ளே தொகுதி
- சுற்று வரைபடம் மற்றும் இணைப்புகள்
- புரோகிராமிங் ARM7-LPC2148
எந்த வீட்டு உபகரணங்கள் அல்லது தொழில்துறை இயந்திரங்கள் என்பது ஒரு இயந்திரத்தின் தேவையான பகுதியாகும். காட்சி இயந்திரத்தை இயக்குவதற்கான கட்டுப்பாட்டு விருப்பங்களைக் காண்பிப்பது மட்டுமல்லாமல், அந்த இயந்திரத்தால் செய்யப்படும் பணியின் நிலை மற்றும் வெளியீட்டையும் காட்டுகிறது. 7-பிரிவு காட்சி, எல்சிடி டிஸ்ப்ளே, டிஎஃப்டி டச் ஸ்கிரீன் டிஸ்ப்ளே, எல்இடி டிஸ்ப்ளே போன்ற பல வகையான டிஸ்ப்ளேக்கள் பயன்படுத்தப்படுகின்றன. 16x2 எல்சிடி டிஸ்ப்ளே மிகவும் அடிப்படை மற்றும் சில சிறிய எலக்ட்ரானிக்ஸ் கருவிகளில் பயன்படுத்தப்பட்ட டிஸ்ப்ளே, நாங்கள் நிறைய செய்துள்ளோம் 16x2 எல்சிடியைப் பயன்படுத்தும் திட்டங்கள் பிற மைக்ரோகண்ட்ரோலர்களுடன் அடிப்படை இடைமுகம் உட்பட:
- 8051 மைக்ரோகண்ட்ரோலருடன் எல்சிடி இடைமுகம்
- ATmega32 மைக்ரோகண்ட்ரோலருடன் எல்.சி.டி.
- பி.ஐ.சி மைக்ரோகண்ட்ரோலருடன் எல்.சி.டி இடைமுகம்
- அர்டுயினோவுடன் 16x2 எல்.சி.டி.
- பைத்தானைப் பயன்படுத்தி ராஸ்பெர்ரி பை உடன் 16x2 எல்சிடி இடைமுகம்
இந்த டுடோரியலில், ARM7-LPC2148 மைக்ரோகண்ட்ரோலருடன் 16x2 LCD ஐ எவ்வாறு இடைமுகப்படுத்துவது மற்றும் எளிய வரவேற்பு செய்தியைக் காண்பிப்பது எப்படி என்று பார்ப்போம். நீங்கள் ARM7 உடன் புதியவராக இருந்தால், ARM7 LPC2148 இன் அடிப்படைகளுடன் தொடங்கி, கெயில் uVision ஐப் பயன்படுத்தி அதை எவ்வாறு திட்டமிடலாம் என்பதை அறிக
தேவையான பொருட்கள்
வன்பொருள்
- ARM7-LPC2148 மைக்ரோகண்ட்ரோலர் போர்டு
- எல்சிடி (16 எக்ஸ் 2)
- பொட்டென்டோமீட்டர்
- 5 வி மின்னழுத்த சீராக்கி ஐ.சி.
- ப்ரெட்போர்டு
- கம்பிகளை இணைக்கிறது
- 9 வி பேட்டரி
- மைக்ரோ யூ.எஸ்.பி கேபிள்
மென்பொருள்
- கெயில் uVision 5
- மேஜிக் ஃப்ளாஷ் கருவி
திட்டத்தில் இறங்குவதற்கு முன், எல்சிடி செயல்பாட்டு முறைகள் மற்றும் எல்சிடி ஹெக்ஸ் குறியீடுகளைப் பற்றி சில விஷயங்களை நாம் அறிந்திருக்க வேண்டும்.
16 எக்ஸ் 2 எல்சிடி டிஸ்ப்ளே தொகுதி
16 எக்ஸ் 2 எல்சிடி 16 நெடுவரிசைகளையும் 2 வரிசைகளையும் கொண்டுள்ளது என்று கூறுகிறது. இந்த எல்சிடி 16 ஊசிகளைக் கொண்டுள்ளது. படம் மற்றும் அட்டவணைக்கு கீழே எல்சிடி டிஸ்ப்ளே மற்றும் அதன் செயல்பாடுகளின் முள் பெயர்களைக் காட்டுகிறது.

|
NAME |
செயல்பாடு |
|
வி.எஸ்.எஸ் |
தரை முள் |
|
வி.டி.டி. |
+ 5 வி உள்ளீட்டு முள் |
|
VEE |
முள் சரிசெய்யவும் |
|
ஆர்.எஸ் |
பதிவு தேர்வு |
|
ஆர் / டபிள்யூ |
முள் படிக்க / எழுத |
|
இ |
பின் இயக்கவும் |
|
டி 0-டி 7 |
தரவு பின்ஸ் (8 பின்ஸ்) |
|
எல்.ஈ.டி ஏ |
அனோட் முள் (+ 5 வி) |
|
எல்.ஈ.டி கே |
கத்தோட் முள் (ஜி.என்.டி) |
எல்சிடி இரண்டு வெவ்வேறு முறைகளில் வேலை செய்யலாம், அதாவது 4-பிட் பயன்முறை மற்றும் 8 பிட் பயன்முறை. 4 பிட் பயன்முறையில், தரவை நிப்பிள், முதலில் மேல் நிப்பிள் மற்றும் பின்னர் குறைந்த நிப்பிள் மூலம் அனுப்புகிறோம். ஒரு நிப்பிள் என்றால் என்ன என்று உங்களுக்குத் தெரியாதவர்களுக்கு: ஒரு நிப்பிள் என்பது நான்கு பிட்களின் ஒரு குழு, எனவே ஒரு பைட்டின் கீழ் நான்கு பிட்கள் (டி 0-டி 3) கீழ் நிப்பலை உருவாக்குகின்றன, அதே நேரத்தில் மேல் நான்கு பிட்கள் (டி 4-டி 7) ஒரு பைட்டின் உயர் நிப்பிள் உருவாகிறது. இது 8 பிட் தரவை அனுப்ப எங்களுக்கு உதவுகிறது.
8 பிட் பயன்முறையில் 8 பிட் தரவை ஒரு பக்கவாட்டில் நேரடியாக அனுப்பலாம், ஏனெனில் நாங்கள் 8 தரவு வரிகளையும் பயன்படுத்துகிறோம்.
இங்கே இந்த திட்டத்தில் 4-பிட் பயன்முறையில் பொதுவாக பயன்படுத்தப்படும் பயன்முறையைப் பயன்படுத்துவோம். நான்கு பிட் பயன்முறையில் நாம் 4 பின்ஸ் மைக்ரோகண்ட்ரோலரை சேமிக்கலாம், மேலும் வயரிங் மேல்நிலைகளையும் குறைக்கலாம்.
எந்தவொரு கட்டளையையும் எடுக்க 16x2 ஹெக்ஸ் குறியீட்டைப் பயன்படுத்துகிறது, கர்சரை நகர்த்துவது, பயன்முறையைத் தேர்ந்தெடுப்பது, கட்டுப்பாட்டை இரண்டாவது வரிக்கு மாற்றுவது போன்ற எல்சிடிக்கு பல ஹெக்ஸ் கட்டளைகள் உள்ளன. 16 எக்ஸ் 2 எல்சிடி டிஸ்ப்ளே தொகுதி மற்றும் ஹெக்ஸ் கட்டளைகளைப் பற்றி மேலும் அறிய, இணைப்பைப் பின்தொடரவும்.
சுற்று வரைபடம் மற்றும் இணைப்புகள்

கீழே உள்ள அட்டவணை LCD & ARM7-LPC2148 க்கு இடையிலான சுற்று இணைப்புகளைக் காட்டுகிறது.
|
ARM7-LPC2148 |
எல்சிடி (16 எக்ஸ் 2) |
|
பி.0.4 |
ஆர்எஸ் (பதிவு தேர்வு) |
|
பி.0.6 |
மின் (இயக்கு) |
|
பி.0.12 |
டி 4 (தரவு முள் 4) |
|
பி.0.13 |
டி 5 (தரவு முள் 5) |
|
பி.0.14 |
டி 6 (தரவு முள் 6) |
|
பி.0.15 |
டி 7 (தரவு முள் 7) |
எல்சிடி மற்றும் ஏஆர்எம் 7 ஸ்டிக் உடன் மின்னழுத்த சீராக்கி இணைப்புகள்
மின்னழுத்த சீராக்கி மூலம் ARM7 & LCD க்கு இடையிலான இணைப்புகளை கீழே உள்ள அட்டவணை காட்டுகிறது.
|
மின்னழுத்த சீராக்கி ஐ.சி. |
முள் செயல்பாடு |
LCD & ARM-7 LPC2148 |
|
1. இடது முள் |
பேட்டரி 9 வி உள்ளீட்டிலிருந்து + வீ |
என்.சி. |
|
2.செண்டர் முள் |
- பேட்டரியிலிருந்து வீ |
எல்.சி.டி.யின் வி.எஸ்.எஸ்., ஆர் / டபிள்யூ, கே ARM7 இன் GND |
|
3. வலது முள் |
ஒழுங்குபடுத்தப்பட்ட + 5 வி வெளியீடு |
வி.டி.டி, எல்.சி.டி. ARM7 இன் + 5 வி |
எல்சிடியுடன் பொட்டென்டோமீட்டர்
எல்சிடி டிஸ்ப்ளேவின் மாறுபாட்டை வேறுபடுத்துவதற்கு ஒரு பொட்டென்டோமீட்டர் பயன்படுத்தப்படுகிறது. ஒரு பானையில் மூன்று ஊசிகளும் உள்ளன, இடது முள் (1) + 5 வி மற்றும் மையம் (2) விஇஇ அல்லது எல்சிடி தொகுதியின் வி 0 உடன் இணைக்கப்பட்டுள்ளது மற்றும் வலது முள் (3) ஜிஎன்டியுடன் இணைக்கப்பட்டுள்ளது. குமிழியைத் திருப்புவதன் மூலம் நாம் மாறுபாட்டை சரிசெய்யலாம்.
ஜம்பர் அமைப்புகள்
ARM7- ஸ்டிக்கில் ஒரு ஜம்பர் முள் உள்ளது, இதன்மூலம் யூ.எஸ்.பி பயன்படுத்துவதன் மூலமோ அல்லது 5 வி டி.சி உள்ளீட்டை சக்திக்காக மட்டுமே பயன்படுத்துவதன் மூலமோ குறியீட்டை ஆற்றலாம் மற்றும் பதிவேற்றலாம். கீழே உள்ள படங்களை நீங்கள் காணலாம்.
குதிப்பவர் டி.சி நிலையில் இருப்பதை கீழே உள்ள படம் காட்டுகிறது. அதாவது வெளிப்புற 5 வி விநியோகத்திலிருந்து பலகையை நாம் இயக்க வேண்டும்.

இந்த படம் ஜம்பர் யூ.எஸ்.பி பயன்முறையில் இணைக்கப்பட்டுள்ளது என்பதைக் காட்டுகிறது. இங்கே சக்தி மற்றும் குறியீடு மைக்ரோ யு.எஸ்.பி போர்ட் வழியாக வழங்கப்படுகிறது.

குறிப்பு: இங்கே இந்த டுடோரியலில் ஜம்பரை யூ.எஸ்.பி-க்கு அமைப்பதன் மூலம் யூ.எஸ்.பி பயன்படுத்துவதன் மூலம் குறியீட்டைப் பதிவேற்றியுள்ளோம், பின்னர் ஜம்பரை டி.சி பயன்முறையில் மாற்றி எல்.பி.சி 2148 ஐ 5 வி இன் ரெகுலேட்டரிலிருந்து மாற்றினோம். இறுதியில் கொடுக்கப்பட்ட வீடியோவில் இதை நீங்கள் பார்க்கலாம்.
16x2 எல்சிடியை ARM7 மைக்ரோகண்ட்ரோலருடன் இணைப்பதற்கான இறுதி சுற்று இதுபோல் இருக்கும்:

புரோகிராமிங் ARM7-LPC2148
ARM7-LPC2148 நிரலுக்கு, எங்களுக்கு கெயில் uVision & Flash Magic கருவி தேவை. மைக்ரோ யூ.எஸ்.பி போர்ட் வழியாக ARM7 ஸ்டிக்கை நிரல் செய்ய யூ.எஸ்.பி கேபிளைப் பயன்படுத்துகிறோம். நாங்கள் கெயிலைப் பயன்படுத்தி குறியீட்டை எழுதி ஒரு ஹெக்ஸ் கோப்பை உருவாக்குகிறோம், பின்னர் ஹெச்எக்ஸ் கோப்பு ஃபிளாஷ் மேஜிக்கைப் பயன்படுத்தி ARM7 ஸ்டிக்கிற்கு ஒளிரும். கெயில் யுவிஷன் மற்றும் ஃப்ளாஷ் மேஜிக் நிறுவுதல் மற்றும் அவற்றை எவ்வாறு பயன்படுத்துவது என்பது பற்றி மேலும் அறிய ARM7 LPC2148 மைக்ரோகண்ட்ரோலருடன் தொடங்குதல் மற்றும் கெயில் யுவிஷனைப் பயன்படுத்தி அதை நிரல் செய்தல்.
ARM 7 உடன் எல்.சி.டி.யை இணைப்பதற்கான முழுமையான குறியீடு இந்த டுடோரியலின் முடிவில் கொடுக்கப்பட்டுள்ளது, இங்கே அதன் சில பகுதிகளை விளக்குகிறோம்.
முதலில் நாம் தேவையான தலைப்பு கோப்புகளை சேர்க்க வேண்டும்
#சேர்க்கிறது
எல்சிடி தொகுதியைத் தொடங்குவது மிக முக்கியமான படியாகும். செயல்பாட்டு முறை (4-பிட்), எல்சிடி வகை (16 எக்ஸ் 2), தொடக்க வரி போன்றவற்றைப் பற்றி எல்சிடிக்குச் சொல்ல, உண்மையில் கட்டளைகளாக இருக்கும் சில ஹெக்ஸ் குறியீடுகளைப் பயன்படுத்துகிறோம்.
வெற்றிட LCD_INITILIZE (வெற்றிடத்தை) // LCD ஐ தயார் செய்வதற்கான செயல்பாடு { IO0DIR = 0x0000FFF0; // முள் P0.4, P0.6, P0.12, P0.13, P0.14, P0.15as OUTPUT delay_ms (20); LCD_SEND (0x02); // எல்சிடியை 4-பிட் செயல்பாட்டு முறையில் தொடங்கவும் LCD_SEND (0x28); // 2 கோடுகள் (16X2) LCD_SEND (0x0C); // கர்சரில் LCD_SEND (0x06) ஐக் காண்பி; // ஆட்டோ அதிகரிப்பு கர்சர் LCD_SEND (0x01); // தெளிவான LCD_SEND (0x80) ஐக் காண்பி ; // முதல் வரி முதல் நிலை }
4-பிட் பயன்முறையில், ஊசிகளுக்கு வெவ்வேறு வகையான எழுதும் செயல்பாடு உள்ளது, அதாவது மேல் மற்றும் கீழ் நிப்பிளைப் பயன்படுத்துவதன் மூலம். அது எவ்வாறு செய்யப்படுகிறது என்பதைப் பார்ப்போம்
void LCD_SEND (char கட்டளை) // ஹெக்ஸ் கட்டளைகளை நிப்பிள் மூலம் அனுப்பும் செயல்பாடு { IO0PIN = ((IO0PIN & 0xFFFF00FF) - ((கட்டளை & 0xF0) << 8%); // கட்டளையின் மேல் நிப்பிளை அனுப்பவும் IO0SET = 0x00000040; // HIGH IO0CLR ஐ இயக்குதல் = 0x00000030; // RS & RW LOW delay_ms ஐ உருவாக்குதல் (5); IO0CLR = 0x00000040; // உருவாக்குதல் குறைந்த தாமதம்_எம்எஸ் (5); IO0PIN = ((IO0PIN & 0xFFFF00FF) - ((கட்டளை & 0x0F) << 12%); // கட்டளையின் கீழ் நிப்பிளை அனுப்பவும் IO0SET = 0x00000040; // இயக்கக்கூடிய உயர் IO0CLR = 0x00000030; // RS & RW LOW delay_ms (5); IO0CLR = 0x00000040; // குறைந்த தாமதம்_எம் (5); }
நிப்பிள் அனுப்பும் தர்க்கம்
IO0PIN = ((IO0PIN & 0xFFFF00FF) - ((கட்டளை & 0x0F) << 12%); // கட்டளையின் கீழ் நிப்பிளை அனுப்பவும் IO0PIN = ((IO0PIN & 0xFFFF00FF) - ((கட்டளை & 0xF0) << 8%); // கட்டளையின் மேல் நிப்பிள் அனுப்பவும்
இரண்டு திட்டங்களுக்கு மேல் இந்த திட்டத்தில் முக்கிய பங்கு வகிக்கிறது. முதல் கட்டளை கீழ் நிப்பிளை அனுப்புகிறது மற்றும் இரண்டாவது மேல் நிப்பிளை அனுப்புகிறது. அது நாம் செய்யும் மற்ற ஊசிகளை பாதிக்காமல். இந்த தர்க்கத்தைப் பற்றி முதலில் தெரிந்துகொள்வதற்கு முன்பு அது எவ்வாறு நடக்கிறது என்பதைப் பார்ப்போம்
ORing- (A-0 = A), (A-1 = 1) ANDing- (A & 0 = 0), (A & 1 = A)
எனவே மற்ற ஊசிகளைப் பாதிக்காமல் ஒரு முகமூடி கருத்து மற்றும் தருக்க மாற்ற செயல்பாட்டைப் பயன்படுத்துகிறோம். அதாவது ஊசிகளை மட்டுமே (P0.12-P0.15) பயன்படுத்துவதோடு P0.4, P0.6 போன்ற வேறு ஊசிகளும் பாதிக்கப்படுவதில்லை. தரவை நான்கு பிட்களில் மாற்றுவதன் மூலமும், கீழ் நிப்பிளின் இடத்தில் மேல் நிப்பிள் செய்வதன் மூலமும், மேல் நிப்பிளை மறைப்பதன் மூலமும் இது செய்யப்படும். பின்னர் வெளியீட்டில் மேல் நிப்பிள் தரவைப் பெறுவதற்கு குறைந்த பிட்களை பூஜ்ஜியமாக (0XF0) உருவாக்குகிறோம் மற்றும் நிப்பிள் தரவுடன் ORed செய்கிறோம்.
இதேபோன்ற செயல்முறை குறைந்த நிப்பிள் தரவுகளுக்குப் பயன்படுத்தப்படுகிறது , ஆனால் இங்கே நாம் தரவை மாற்ற வேண்டியதில்லை.
வெளியீட்டிற்கு தரவை எழுதும் போது, அதாவது கட்டளை பயன்முறையில் ஆர்எஸ் குறைவாக இருக்க வேண்டும் மற்றும் இயக்கத்தை இயக்க உயர்வாக இருக்க வேண்டும், மற்றும் தரவு பயன்முறையில் ஆர்எஸ் உயரமாக இருக்க வேண்டும் மற்றும் இயக்கத்தை இயக்க உயர்வாக இருக்க வேண்டும்.
இப்போது வெளியீட்டில் அச்சிடப்பட வேண்டிய சரம் தரவை அனுப்புவதற்கு, அதே கொள்கை நிப்பிள் மூலம் நிப்பிள் பயன்படுத்தப்படுகிறது. இங்கே முக்கியமான படி REGISTER SELECT (RS) தரவு பயன்முறையில் அதிகமாக இருக்க வேண்டும்.
void LCD_DISPLAY (char * msg) // அனுப்பிய எழுத்துக்களை ஒவ்வொன்றாக அச்சிடுவதற்கான செயல்பாடு { uint8_t i = 0; (msg! = 0) { IO0PIN = ((IO0PIN & 0xFFFF00FF) - ((msg & 0xF0) << 8%); // மேல் நிப்பிள் IO0SET = 0x00000050 ஐ அனுப்புகிறது ; // தரவை அச்சிட RS HIGH & ENABLE HIGH IO0CLR = 0x00000020; // RW LOW எழுதும் முறை தாமதம் ms (2); IO0CLR = 0x00000040; // EN = 0, RS மற்றும் RW மாறாமல் (அதாவது RS = 1, RW = 0) தாமதம் ms (5); IO0PIN = ((IO0PIN & 0xFFFF00FF) - ((msg & 0x0F) << 12%); // லோவர் நிப்பிள் IO0SET = 0x00000050 ஐ அனுப்புகிறது ; // RS & EN HIGH IO0CLR = 0x00000020; தாமதம் எம்.எஸ் (2); IO0CLR = 0x00000040; தாமதம் எம்.எஸ் (5); i ++; }
முழுமையான குறியீட்டு மற்றும் ஆர்ப்பாட்டம் வீடியோ கீழே கொடுக்கப்பட்டுள்ளது.
