- 16x2 டாட் மேட்ரிக்ஸ் எல்சிடி கன்ட்ரோலர் ஐசி எச்டி 44780:
- 16x2 எல்சிடியில் தனிப்பயன் எழுத்தைக் காண்பித்தல்:
- புரோகிராமிங் மற்றும் வேலை விளக்கம்:
- சுற்று இணைப்புகள் மற்றும் சோதனை:
எங்கள் முந்தைய டுடோரியலில், பிஐசி மைக்ரோகண்ட்ரோலருடன் 16 * 2 எல்சிடியை எவ்வாறு இடைமுகப்படுத்துவது என்பதைக் கற்றுக்கொண்டோம். நீங்கள் பி.ஐ.சி மைக்ரோகண்ட்ரோலரில் தொடக்கநிலையாளராக இருந்தால், மேலும் செல்லுமுன் அதைப் பார்க்க பரிந்துரைக்கிறோம். முன்னதாக பி.இ.சி மைக்ரோகண்ட்ரோலரில் எல்.ஈ.டி ஒளிரும் திட்டம் மற்றும் டைமர்களைப் பயன்படுத்தி பி.ஐ.சியின் அடிப்படைகளையும் கற்றுக்கொண்டோம். MPLABX மற்றும் XC8 கம்பைலரைப் பயன்படுத்தி PIC மைக்ரோகண்ட்ரோலர்களைக் கற்றல் குறித்த அனைத்து பயிற்சிகளையும் இங்கே பார்க்கலாம்.
இந்த டுடோரியலில், எங்கள் சொந்த தனிப்பயன் எழுத்துக்களை உருவாக்கி அவற்றை PIC16F877A PIC மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி எங்கள் எல்சிடி திரையில் காண்பிப்பதன் மூலம் அதை மேலும் சுவாரஸ்யமாக்குவோம். HD44780A IC ஆல் வழங்கப்பட்ட சில முன் வரையறுக்கப்பட்ட பெரும்பாலும் பயன்படுத்தப்படும் தனிப்பயன் எழுத்துக்கள் உள்ளன, அவற்றை எவ்வாறு பயன்படுத்தலாம் என்பதையும் பார்ப்போம். எங்கள் முந்தைய டுடோரியலில் விளக்கப்பட்டுள்ளபடி, எங்கள் எல்சிடி ஒரு ஹிட்டாச்சி எச்டி 44780 கட்டுப்படுத்தியைக் கொண்டுள்ளது, இது எழுத்துக்களைக் காட்ட உதவுகிறது. நாம் காண்பிக்கும் ஒவ்வொரு எழுத்தும் ஏற்கனவே HD44780 IC இன் ROM க்குள் முன்பே வரையறுக்கப்பட்டுள்ளது. எல்சிடியில் தன்மையைக் காண்பிக்கும் முன், எல்சிடி கன்ட்ரோலர் ஐசி எச்டி 44780 பற்றி அறிந்து கொள்வோம்.
16x2 டாட் மேட்ரிக்ஸ் எல்சிடி கன்ட்ரோலர் ஐசி எச்டி 44780:
தனிப்பயன் தன்மையைக் காண்பிக்க, தனிப்பயன் எழுத்து எப்படி இருக்கும் என்பதை நாம் எப்படியாவது ஐ.சி.க்கு சொல்ல வேண்டும். இதைச் செய்ய HD44780 எல்சிடி கட்டுப்படுத்தி ஐ.சி.க்குள் இருக்கும் மூன்று வகையான நினைவுகளைப் பற்றி நாம் தெரிந்து கொள்ள வேண்டும்:
கேரக்டர் ஜெனரேட்டர் ரோம் (சி.ஜி.ஆர்.எம்): இது படிக்க மட்டுமே நினைவகம், முன்பு கூறியது போல், அதற்குள் முன் வரையறுக்கப்பட்ட எழுத்துக்களின் அனைத்து வடிவங்களும் உள்ளன. இந்த ரோம் ஒவ்வொரு வகை இடைமுக ஐசியிலிருந்தும் மாறுபடும், மேலும் சில அவற்றுடன் சில முன் வரையறுக்கப்பட்ட தனிப்பயன் தன்மையைக் கொண்டிருக்கலாம்.
காட்சி தரவு ரேம் (டி.டி.ஆர்.ஏ.எம்): இது ஒரு சீரற்ற அணுகல் நினைவகம். ஒவ்வொரு முறையும் நாம் ஒரு பாத்திரத்தைக் காண்பிக்கும் போது அதன் வடிவம் CGROM இலிருந்து பெறப்பட்டு DDRAM க்கு மாற்றப்பட்டு பின்னர் திரையில் வைக்கப்படும். எளிமையாகச் சொல்வதென்றால், எல்.சி.டி திரையில் தற்போது காண்பிக்கப்படும் அனைத்து எழுத்துகளின் வடிவங்களையும் டி.டி.ஆர்.ஏ.எம் கொண்டிருக்கும். ஒவ்வொரு சுழற்சிக்கும் இந்த வழி CGROM இலிருந்து தரவைப் பெற தேவையில்லை, மேலும் குறுகிய புதுப்பிப்பு அதிர்வெண்ணைப் பெற உதவுகிறது
எழுத்து ஜெனரேட்டர் ரேம் (சி.ஜி.ஆர்.ஏ.எம்): இது ஒரு சீரற்ற அணுகல் நினைவகம், எனவே அதிலிருந்து தரவை எழுதவும் படிக்கவும் முடியும். பெயர் குறிப்பிடுவது போல, இந்த நினைவகம் தனிப்பயன் எழுத்தை உருவாக்க பயன்படும். நாம் எழுத்துக்கு ஒரு வடிவத்தை உருவாக்கி அதை CGRAM இல் எழுத வேண்டும், இந்த முறை தேவைப்படும் போது திரையில் படித்து காண்பிக்கப்படலாம்.
இப்போது, எச்டி 44780 இடைமுக ஐசியில் உள்ள நினைவக வகைகளைப் பற்றிய அடிப்படை புரிதல் எங்களுக்கு கிடைத்தது. இன்னும் கொஞ்சம் புரிந்துகொள்ள அதன் டேட்டாஷீட்டைப் பார்ப்போம்.

தரவுத்தாள் குறிப்பிடுவது போல, எச்டி 44780 ஐசி சிஜிஆர்ஏஎம்மில் எங்கள் தனிப்பயன் வடிவங்களை சேமிக்க 8 இடங்களாக வழங்கியுள்ளது, வலதுபுறத்தில் சில முன் வரையறுக்கப்பட்ட எழுத்துக்கள் இருப்பதையும் நம் எல்சிடி திரையில் காண்பிக்க முடியும். நாம் அதை எப்படி செய்ய முடியும் என்று பார்ப்போம்.
16x2 எல்சிடியில் தனிப்பயன் எழுத்தைக் காண்பித்தல்:
தனிப்பயன் எழுத்தைக் காண்பிக்க நாம் முதலில் அதற்கான வடிவத்தை உருவாக்கி அதை CGRAM இல் சேமிக்க வேண்டும். எங்களிடம் ஏற்கனவே நூலக செயல்பாடுகள் இருப்பதால், சில எளிய கட்டளைகளுடன் இதைச் செய்வது எளிதாக இருக்க வேண்டும். எல்சிடி செயல்பாடுகளுக்கான நூலகம் இங்கே உள்ளது, ஆனால் இங்கே நாங்கள் அனைத்து நூலக செயல்பாடுகளையும் நிரலில் ஒட்டியுள்ளோம், எனவே இந்த தலைப்பு கோப்பை எங்கள் நிரலில் சேர்க்க தேவையில்லை. அடிப்படை எல்சிடி வேலை மற்றும் அதன் பின்அவுட்களுக்காக இந்த கட்டுரையை சரிபார்க்கவும்.
முதல் படி ஒரு முறை அல்லது தனிப்பயன் எழுத்தை உருவாக்குவது. ஒவ்வொரு கதாபாத்திரமும் 5 * 8 புள்ளிகளின் கலவையாகும் என்பது நமக்குத் தெரியும். எந்த புள்ளி (பிக்சல்) உயரத்திற்கு செல்ல வேண்டும், எது குறைவாக இருக்க வேண்டும் என்பதை நாம் தேர்ந்தெடுக்க வேண்டும். கீழே உள்ளதைப் போன்ற ஒரு பெட்டியை வரைந்து, உங்கள் எழுத்தின் அடிப்படையில் பகுதிகளை நிழலிடுங்கள். இங்கே என் கதாபாத்திரம் ஒரு குச்சி மனிதன் (இது ஒன்று போல் இருக்கும் என்று நம்புகிறேன்). நிழலாடியதும், கீழே காட்டப்பட்டுள்ளபடி ஒவ்வொரு பைட்டிற்கும் சமமான பைனரி மதிப்பை எளிமையாக எழுதுங்கள்.

நிழலாடிய பகுதியில் ஒரு '1' மற்றும் ஒவ்வொரு பைட்டிற்கும் அன்-ஷேடட் பகுதியில் ஒரு '0' வைக்கவும், அதுதான் எங்கள் தனிப்பயன் முறை தயாராக உள்ளது. இதேபோல் எங்கள் 8 மெமரி இடைவெளிகளுக்கு 8 தனிப்பயன் முறை குறியீடுகளை உருவாக்கியுள்ளேன். அவை கீழே உள்ள அட்டவணையில் பட்டியலிடப்பட்டுள்ளன.
|
எஸ்.என்.ஓ: |
தனிப்பயன் எழுத்து |
வடிவ குறியீடு |
|
1 |
|
0b01110, 0b01110, 0b00100, 0b01110, 0b10101, 0b00100, 0b01010, 0b01010 |
|
2 |
|
0b00000, 0b00000, 0b01010, 0b00100, 0b00100, 0b10001, 0b01110, 0b00000 |
|
3 |
|
0b00100, 0b01110, 0b11111, 0b11111, 0b01110, 0b01110, 0b01010, 0b01010 |
|
4 |
|
0b01110, 0b10001, 0b10001, 0b11111, 0b11011, 0b11011, 0b11111, 0b00000 |
|
5 |
|
0b01110, 0b10000, 0b10000, 0b11111, 0b11011, 0b11011, 0b11111, 0b00000 |
|
6 |
|
0b00000, 0b10001, 0b01010, 0b10001, 0b00100, 0b01110, 0b10001, 0b00000 |
|
7 |
|
0b00000, 0b00000, 0b01010, 0b10101, 0b10001, 0b01110, 0b00100, 0b00000 |
|
8 |
|
0b11111, 0b11111, 0b10101, 0b11011, 0b11011, 0b11111, 0b10001, 0b11111 |
குறிப்பு: சி.ஜி.ஆர்.ஏ.எம்மில் வழங்கப்பட்ட அனைத்து 8 இடங்களையும் ஏற்றுவது கட்டாயமில்லை.
புரோகிராமிங் மற்றும் வேலை விளக்கம்:
இப்போது எங்கள் மாதிரி குறியீடுகள் தயாராக உள்ளன, அவற்றை எல்சிடியின் சிஜிஆர்ஏஎம்மில் ஏற்ற வேண்டும் மற்றும் பிஐசி மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி அவற்றைக் காண்பிக்க வேண்டும். CGRAM இல் அவற்றை ஏற்றுவதற்கு நாம் 5 * 8 வரிசை கூறுகளை உருவாக்கி, ஒவ்வொரு பைட்டையும் ' for loop ' ஐப் பயன்படுத்தி ஏற்றலாம். முறை குறியீட்டின் வரிசை கீழே காட்டப்பட்டுள்ளது:
const கையொப்பமிடாத குறுகிய Custom_Char5x8 = b 0b01110,0b01110,0b00100,0b01110,0b10101,0b00100,0b01010,0b01010, // CGRAM நினைவக இடத்திற்கான குறியீடு 1 0b00000,0b00000,0b01010,0b00100,0b00100,0b001 CGRAM நினைவக இடம் 2 0b00100,0b01110,0b11111,0b11111,0b01110,0b01110,0b01010,0b01010, // CGRAM நினைவக இடத்திற்கான குறியீடு 3 0b01110,0b10001,0b10001,0b11111,0b11011,0b11011,0b11011 space 4 0b01110,0b10000,0b10000,0b11111,0b11011,0b11011,0b11111,0b00000, // CGRAM மெமரி ஸ்பேஸிற்கான குறியீடு 5 0b00000,0b10001,0b01010,0b10001,0b00100,0b01110,0b10001 0b00000,0b00000,0b01010,0b10101,0b10001,0b01110,0b00100,0b00000, // CGRAM நினைவக இடத்திற்கான குறியீடு 7 0b11111,0b11111,0b10101,0b11011,0b11011,0b11111,0b1111
ஒவ்வொரு நினைவக இடமும் அதன் மரியாதைக்குரிய எழுத்து வடிவத்துடன் ஏற்றப்படுகிறது. இந்த வடிவத்தை HD44780 IC இல் ஏற்ற, HD44780 இன் தரவுத் தாளைக் குறிப்பிட வேண்டும், ஆனால் இது CGRAM இன் முகவரியை அமைக்க பயன்படுத்தக்கூடிய கட்டளை வரிகள் மட்டுமே
// *** CGROM இல் தனிப்பயன் கரியை ஏற்றவும் *** ////// Lcd_Cmd (0x04); // அமை CGRAM முகவரி Lcd_Cmd (0x00); //.. CGRAM முகவரியை அமைக்கவும் (i = 0; i <= 63; i ++) Lcd_Print_Char (Custom_Char5x8); எல்சிடி_சிஎம்டி (0); // வீட்டிற்குத் திரும்பு Lcd_Cmd (2); //.. வீட்டிற்குத் திரும்பு // *** தனிப்பயன் கரி ஏற்றுகிறது *** //////
இங்கே, ' for loop' க்குள் ஒவ்வொரு பைனரி மதிப்பும் CGROM இல் ஏற்றப்படும். முறை ஏற்றப்பட்டதும், கீழே காட்டப்பட்டுள்ளபடி வெற்றிடமான Lcd_Print_Char (char data) செயல்பாட்டைப் பயன்படுத்தி வடிவத்தின் இருப்பிடத்தை அழைப்பதன் மூலம் தனிப்பயன் எழுத்துக்களைக் காண்பிக்க முடியும்.
எல்சிடி_பிரண்ட்_சார் (0); // தனிப்பயன் எழுத்து 0 Lcd_Print_Char (1) ஐக் காண்பி; // தனிப்பயன் எழுத்து 1 Lcd_Print_Char (2) ஐக் காண்பி; // தனிப்பயன் எழுத்து 2 Lcd_Print_Char (3) ஐக் காண்பி; // தனிப்பயன் எழுத்து 3 Lcd_Print_Char (4) ஐக் காண்பி; // தனிப்பயன் எழுத்து 4 Lcd_Print_Char (5) ஐக் காண்பி; // தனிப்பயன் எழுத்து 5 Lcd_Print_Char (6) ஐக் காண்பி; // தனிப்பயன் எழுத்து 6 Lcd_Print_Char (7) ஐக் காண்பி; // தனிப்பயன் எழுத்து 7 ஐக் காண்பி
முன் வரையறுக்கப்பட்ட சிறப்பு எழுத்து அச்சிடுக:
HD44780 IC ஆனது DDROM இல் சேமிக்கப்பட்ட சில முன் வரையறுக்கப்பட்ட சிறப்பு எழுத்துக்களைக் கொண்டுள்ளது. தரவுத்தாள் அதன் பைனரி மதிப்பைக் குறிப்பிடுவதன் மூலம் இந்த எழுத்துக்களை நேரடியாக திரையில் அச்சிடலாம்.
எடுத்துக்காட்டாக: "ALPHA" எழுத்தின் பைனரி மதிப்பு 0b11100000. இதை எவ்வாறு பெறுவது என்பது கீழேயுள்ள படத்தில் இருந்து புரிந்து கொள்ளப்படலாம், அதேபோல் ஐ.சி.யில் முன் வரையறுக்கப்பட்ட எந்த சிறப்பு எழுத்துக்கும் நீங்கள் மதிப்பு பெறலாம்.

பைனரி மதிப்பு தெரிந்தவுடன், கீழே காட்டப்பட்டுள்ளபடி வெற்றிடமான Lcd_Print_Char (char data) செயல்பாட்டைப் பயன்படுத்தி தொடர்புடைய எழுத்தை திரையில் அச்சிடலாம் , Lcd_Print_Char (0b11100000); தரவுத் தாளில் இருந்து ஆல்பாவின் பைனரி மதிப்பு
முழு குறியீடு இந்த திட்டத்தின், குறியீடு பிரிவில் கீழே கொடுக்கப்பட்டுள்ளது மேலும் விபரம் பார்க்கலாம் வீடியோ இந்த பயிற்சியின் இறுதியில் உள்ள விளக்கம்.
சுற்று இணைப்புகள் மற்றும் சோதனை:
இந்த திட்டத்திற்கு கூடுதல் வன்பொருள் தேவை இல்லை, முந்தைய எல்சிடி இன்டர்ஃபேசிங் டுடோரியலிலிருந்து அதே இணைப்புகளைப் பயன்படுத்தினோம், எல்இடி ஒளிரும் டுடோரியலில் நாங்கள் உருவாக்கிய அதே போர்டைப் பயன்படுத்தினோம். எப்போதும் போல எங்கள் வெளியீட்டை சரிபார்க்க புரோட்டியஸைப் பயன்படுத்தி நிரலை உருவகப்படுத்துவோம்.

நாங்கள் எதிர்பார்த்தபடி இயங்கும் போது, எங்கள் வன்பொருள் அமைப்பில் குறியீட்டை நேரடியாக எரிக்கலாம். திட்டத்தின் வெளியீடு இந்த மாதிரி ஏதாவது இருக்க வேண்டும்:

MPLABX மற்றும் XC8 கம்பைலருடன் PIC மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி 16x2 LCD இல் எந்தவொரு தனிப்பயன் எழுத்தையும் நீங்கள் காண்பிக்க முடியும். எங்கள் முழுமையான PIC மைக்ரோகண்ட்ரோலர் கற்றல் தொடரையும் இங்கே பாருங்கள்.








