எந்தவொரு இயந்திரத்திற்கும் எந்தவொரு வீட்டு உபகரணமாக இருந்தாலும் அல்லது தொழில்துறை இயந்திரங்களாக இருந்தாலும் காட்சி அவசியம். காட்சி இயந்திரத்தை இயக்குவதற்கான கட்டுப்பாட்டு விருப்பங்களைக் காண்பிப்பது மட்டுமல்லாமல், அந்த இயந்திரத்தால் செய்யப்படும் பணியின் நிலை மற்றும் வெளியீட்டையும் காட்டுகிறது. 7-பிரிவு காட்சி, 16x2 எல்சிடி டிஸ்ப்ளே, டிஎஃப்டி டச் ஸ்கிரீன் டிஸ்ப்ளே, ஓஎல்இடி டிஸ்ப்ளே போன்ற எலக்ட்ரானிக்ஸ் சாதனங்களில் பல வகையான காட்சிகள் பயன்படுத்தப்படுகின்றன.
16x2 எல்சிடி டிஸ்ப்ளே மிகவும் அடிப்படை காட்சி தொகுதி மற்றும் கால்குலேட்டர், டிஜிட்டல் மீட்டர் போன்ற சில சிறிய மின்னணு சாதனங்களிலும் பயன்படுத்தப்படுகிறது. பிற மைக்ரோகண்ட்ரோலர்களுடன் அடிப்படை இடைமுகம் உட்பட 16x2 எல்சிடியைப் பயன்படுத்தி நாங்கள் நிறைய திட்டங்களைச் செய்துள்ளோம்:
- 8051 மைக்ரோகண்ட்ரோலருடன் எல்சிடி இடைமுகம்
- ATmega32 மைக்ரோகண்ட்ரோலருடன் எல்.சி.டி.
- பி.ஐ.சி மைக்ரோகண்ட்ரோலருடன் எல்.சி.டி இடைமுகம்
- அர்டுயினோவுடன் 16x2 எல்.சி.டி.
- பைத்தானைப் பயன்படுத்தி ராஸ்பெர்ரி பை உடன் 16x2 எல்சிடி இடைமுகம்
இந்த டுடோரியலில், அட்மேகா 16 ஏவிஆர் மைக்ரோகண்ட்ரோலருடன் 16x2 எல்சிடியை எவ்வாறு இடைமுகப்படுத்துவது மற்றும் எளிய வரவேற்பு செய்தியைக் காண்பிப்பது எப்படி என்று பார்ப்போம்.
கூறுகள் தேவை
- ஆட்மேகா 16
- 16x2 எல்சிடி தொகுதி
- ஜம்பர்கள்
- ப்ரெட்போர்டு

சுற்று வரைபடம்


16x2 எல்சிடி டிஸ்ப்ளேக்கான அட்மேகா 16 ஐ புரோகிராமிங் செய்கிறது
நிரலாக்கத்திற்கு எந்த வெளி நூலகங்களும் தேவையில்லை. இங்கே Atmega16 USBASP மற்றும் Atmel Studio7.0 ஐப் பயன்படுத்தி திட்டமிடப்பட்டுள்ளது. திட்டத்தின் முடிவில் முழுமையான நிரல் மற்றும் வேலை வீடியோ கொடுக்கப்பட்டுள்ளது, நிரலை Atmega16 இல் பதிவேற்றி, எல்சிடியின் பிரகாசத்தை சரிசெய்ய 10k POT ஐ சுழற்றுங்கள்.ஆரம்பத்தில் CPU அதிர்வெண்ணை வரையறுத்து, IO ஊசிகளை அணுகுவது போன்ற அட்மெல் ஸ்டுடியோ தொகுப்புடன் வரும் தேவையான நூலகங்களை உள்ளடக்குங்கள்
நிரலில் எல்சிடியின் ஆர்எஸ் மற்றும் ஈஎன் முள் வரையறுக்கவும். தரவு மற்றும் கட்டளை பதிவேட்டைத் தேர்ந்தெடுக்க RS பின்ஸ் பயன்படுத்தப்படுகிறது. செயலாக்க முள் தரவைப் பொருத்துகிறது.
# PA3 ஐ வரையறுக்கவும் # rs PA2 ஐ வரையறுக்கவும்
எல்.சி.டி. இங்கே, போர்டா பயன்படுத்தப்படுகிறது.
# lcdDirection DDRA ஐ வரையறுக்கவும் # lcdPort PORTA ஐ வரையறுக்கவும்
அடுத்த கட்டம் ஒரு அளவுருவை கடந்து ஒரு கட்டளையை ஏற்றுக்கொள்ளும் ஒரு செயல்பாட்டை உருவாக்குவது. பல எல்சிடி ஹெக்ஸ் கட்டளைகள் உள்ளன. எல்சிடியின் செயல்பாட்டை வரையறுக்க ஹெக்ஸ் கட்டளைகள் பயன்படுத்தப்படுகின்றன. எல்சிடியின் 4-பிட் பயன்முறையைப் பயன்படுத்துவதால், பைட் (8-பிட்) இரண்டு பாக்கெட்டுகளில் அனுப்பப்படும். ஒரு பாக்கெட்டுகள் அப்பர் நிப்பிள் (4-பிட்) மற்றும் பிற பாக்கெட் லோயர் நிப்பிள் (4-பிட்) ஆக இருக்கும்.
void lcdCommand (கையொப்பமிடாத கரி கட்டளைகள்) { lcdPort = (lcdPort & 0x0F) - (கட்டளைகள் & 0xF0); lcdPort & = ~ (1 <
அடுத்த கட்டமாக எழுத்துக்களை ஏற்றுக்கொண்டு எல்சிடி துறைமுகத்துடன் இணைக்க வேண்டும். பெறப்பட்ட எழுத்துக்கள் பின்னர் எல்.சி.டி நிப்பலுக்கு நிப்பிள் மூலம் அனுப்பப்படுகின்றன. பாஸ் பை அளவுருவைப் பயன்படுத்தி செயல்பாடு பாத்திரத்தை எடுத்து பின்னர் மேல் மற்றும் கீழ் நிப்பிளை எடுக்கும். தரவு பதிவேட்டில் 'rs' முள் உயர்வாக அமைக்கப்பட்டுள்ளது, பின்னர் தரவை அடைக்க உயரும் துடிப்பு அனுப்பப்படும். இதேபோல், செயலாக்கத்தின் மதிப்பை மாற்றுவதன் மூலமும், இயக்கத்திற்கான உயரும் துடிப்பை அனுப்புவதன் மூலமும் அனுப்பப்படும் குறைந்த நிப்பிள்.
வெற்றிட lcdChar (கையொப்பமிடாத கரி சரம்) { lcdPort = (lcdPort & 0x0F) - (சரம் & 0xF0); lcdPort - = (1 <
இந்த செயல்பாடு எழுத்தை சரமாக மாற்றுகிறது, பின்னர் எழுதும் சரம் தேவைப்படும் நிரலில் பயன்படுத்தலாம்.
void lcdString (char * str) { int j; for (j = 0; str! = 0; j ++) { lcdChar (str); } }
இப்போது ஒரு செயல்பாடு திரையை அழிக்க எழுதப்பட்டுள்ளது. நீங்கள் HEX இல் 01 கட்டளையை அனுப்ப வேண்டும், பின்னர் கர்சரை ஆரம்ப நிலைக்கு அமைக்கவும்.
void lcdClear () { lcdCommand (0x01); _ தாமத_எம்எஸ் (2); lcdCommand (0x80); }
இப்போது முக்கிய செயல்பாட்டில், எல்சிடி துவக்கப்பட்டது. ஆரம்பத்தில் எல்சிடிக்கு PORT திசையை இடைமுகத்திற்கு அமைக்கவும். இங்கே, PORT OUTPUT ஆக அமைக்கப்பட்டுள்ளது, எனவே FF ஐ அமைக்கவும்.
lcdDirection = 0xFF; _ தாமத_எம்எஸ் (20)
பின்னர் ஹெக்ஸில் 02 ஐ அனுப்பி 4-பிட் பயன்முறையில் எல்சிடியை அமைக்கவும். 2 வரியிலும், 15x7 மேட்ரிக்ஸ் பிக்சல்களையும் 4-பிட் பயன்முறையில் அமைக்க 28 ஹெக்ஸ் அனுப்பவும்.
lcdCommand (0x02); lcdCommand (0x28);
கட்டளை 0C மற்றும் 06 சுட்டியின் நிலையில் கட்டுப்படுத்த பயன்படுத்தப்படுகிறது. இறுதியாக ஹெக்ஸில் 01 ஐ அனுப்புவதன் மூலம் திரையை அழிக்கவும். இது எல்சிடியின் துவக்கத்தை முடிக்கும்.
lcdCommand (0x0c); lcdCommand (0x06); lcdCommand (0x01);
துவக்கம் முடிந்ததும் ஒரு சரத்தை அனுப்புவதன் மூலம் எல்சிடியை சோதிக்கவும். இங்கே நாம் 1 வது வரிசையில் ஒரு சரம் " இன்டர்ஃபேசிங் எல்சிடி " ஐ அனுப்புகிறோம்.
lcdString ("இடைமுக எல்சிடி");
பின்னர் ஹெக்சில் c0 கட்டளையை அனுப்புவதன் மூலம் கர்சரை அடுத்த வரிசையில் நகர்த்தவும். இறுதியாக இந்த நிலையில், " Atmega1 6 உடன்" என்ற சரத்தை எழுதுங்கள்.
lcdCommand (0xC0); lcdString ("Atmega16 உடன்");

இது 16x2 எல்சிடியை அட்மேகா 16 உடன் இடைமுகப்படுத்துவதற்கான முழுமையான டுடோரியலை முடிக்கிறது. நீங்கள் எந்த படத்தையும் பிக்சல்களையும் பெறவில்லை என்றால், குறியீடு மற்றும் சுற்று வரைபடத்தின் படி உங்கள் வயரிங் சரிபார்க்கவும் அல்லது எல்சிடியின் வி 0 முள் இணைக்கப்பட்ட பிஓடியின் மதிப்பை மாற்றவும். உங்களுக்கு ஏதேனும் சந்தேகம் அல்லது பரிந்துரை இருந்தால், எங்கள் மன்றத்திற்கு எழுதுவதன் மூலமோ அல்லது கீழே கருத்து தெரிவிப்பதன் மூலமோ எங்களை அணுகலாம்.
