இந்த டுடோரியலில் 4M4 (16 விசை) விசைப்பலகையை ATMEGA32A மைக்ரோகண்ட்ரோலருடன் இடைமுகப்படுத்த உள்ளோம். எலக்ட்ரானிக்ஸ் திட்டங்களில் பயன்படுத்தப்படும் மிக முக்கியமான உள்ளீட்டு சாதனங்களில் கீபேட் ஒன்றாகும் என்பதை நாங்கள் அறிவோம். மின்னணு அமைப்புக்கு கட்டளைகள் அல்லது வழிமுறைகளை வழங்குவதற்கான எளிய வழிகளில் கீபேட் ஒன்றாகும்.
கூறுகள் தேவை
வன்பொருள்: ATMEGA32, மின்சாரம் (5v), AVR-ISP PROGRAMMER, JHD_162ALCD (16 * 2LCD), 100uF மின்தேக்கி, 100nF மின்தேக்கி, 10KΩ மின்தடை (8 துண்டுகள்).
மென்பொருள்: அட்மல் ஸ்டுடியோ 6.1 அல்லது அட்மல் ஸ்டுடியோ 6.2, புரோஜிஸ்ப் அல்லது ஃபிளாஷ் மேஜிக்.
சுற்று வரைபடம் மற்றும் வேலை விளக்கம்

சுற்றுகளில் ATMEGA32 இன் PORTB தரவு துறைமுக LCD உடன் இணைக்கப்பட்டுள்ளது. PORTC ஐ ஒரு சாதாரண தகவல்தொடர்பு துறைமுகமாக பயன்படுத்த விரும்பினால், உருகி பைட்டுகளை மாற்றுவதன் மூலம் PORTC ot ATMEGA இல் உள்ள JTAG தகவல்தொடர்புகளை முடக்க இங்கே ஒருவர் நினைவில் கொள்ள வேண்டும். 16x2 எல்சிடியில் ஒரு பின் ஒளி இருந்தால் எல்லாவற்றிற்கும் மேலாக 16 ஊசிகளும் உள்ளன, பின் ஒளி இல்லாவிட்டால் 14 ஊசிகளும் இருக்கும். ஒருவர் பின் ஒளி ஊசிகளை ஆற்றலாம் அல்லது விட்டுவிடலாம். இப்போது 14 ஊசிகளில் 8 தரவு ஊசிகளும் (7-14 அல்லது டி 0-டி 7), 2 மின்சாரம் வழங்கல் ஊசிகளும் (1 & 2 அல்லது விஎஸ்எஸ் & விடிடி அல்லது ஜிஎன்டி & + 5 வி), மாறுபட்ட கட்டுப்பாட்டுக்கு 3 வது முள் (எழுத்துக்கள் எவ்வளவு அடர்த்தியாக இருக்க வேண்டும் என்பதை விஇஇ கட்டுப்படுத்துகிறது காட்டப்பட்டுள்ளது), மற்றும் 3 கட்டுப்பாட்டு ஊசிகளும் (RS & RW & E).
சுற்றில், நான் இரண்டு கட்டுப்பாட்டு ஊசிகளை மட்டுமே எடுத்துள்ளேன் என்பதை நீங்கள் அவதானிக்கலாம், இது நெகிழ்வுத்தன்மையைக் கொடுக்கும், கான்ட்ராஸ்ட் பிட் மற்றும் READ / WRITE ஆகியவை பெரும்பாலும் பயன்படுத்தப்படுவதில்லை, எனவே அவை தரையில் சுருக்கப்படலாம். இது எல்சிடியை மிக உயர்ந்த மாறுபாடு மற்றும் வாசிப்பு பயன்முறையில் வைக்கிறது. எழுத்துக்கள் மற்றும் தரவை அதற்கேற்ப அனுப்ப நாம் இயக்க மற்றும் RS ஊசிகளைக் கட்டுப்படுத்த வேண்டும்.
எல்சிடிக்கு செய்யப்படும் இணைப்புகள் கீழே கொடுக்கப்பட்டுள்ளன:
தரையில் PIN1 அல்லது VSS
PIN2 அல்லது VDD அல்லது VCC to + 5v power
PIN3 அல்லது VEE தரையில் (ஒரு தொடக்கநிலைக்கு அதிகபட்ச மாறுபாட்டை வழங்குகிறது)
UC இன் PD6 க்கு PIN4 அல்லது RS (பதிவு தேர்வு)
PIN5 அல்லது RW (படிக்க / எழுது) தரையில் (எல்சிடியை வாசிப்பு பயன்முறையில் வைக்கிறது பயனருக்கான தகவல்தொடர்புகளை எளிதாக்குகிறது)
UC இன் PD5 க்கு PIN6 அல்லது E (இயக்கு)
UC இன் PIN7 அல்லது D0 முதல் PB0 வரை
UC இன் PIN8 அல்லது D1 முதல் PB1 வரை
UC இன் PIN9 அல்லது D2 முதல் PB2 வரை
UC இன் PIN10 அல்லது D3 முதல் PB3 வரை
UC இன் PIN11 அல்லது D4 முதல் PB4 வரை
UC இன் PIN12 அல்லது D5 முதல் PB5 வரை
UC இன் PIN13 அல்லது D6 முதல் PB6 வரை
UC இன் PIN14 அல்லது D7to PB7
சுற்றில் நாங்கள் 8 பிட் தகவல்தொடர்புகளை (டி 0-டி 7) பயன்படுத்தியிருப்பதைக் காணலாம், இருப்பினும் இது கட்டாயமில்லை, நாங்கள் 4 பிட் தகவல்தொடர்பு (டி 4-டி 7) ஐப் பயன்படுத்தலாம், ஆனால் 4 பிட் தகவல்தொடர்பு நிரல் சற்று சிக்கலானது. எனவே மேலே உள்ள அட்டவணையை கவனிப்பதில் இருந்து எல்.சி.டி யின் 10 ஊசிகளை கட்டுப்படுத்தியுடன் இணைக்கிறோம், இதில் 8 ஊசிகளும் தரவு ஊசிகளும் கட்டுப்பாட்டுக்கு 2 ஊசிகளும் ஆகும்.
இப்போது விசைப்பலகையைப் பற்றி பேசலாம், விசைப்பலகையானது மல்டிபிளெக்ஸ் விசைகளைத் தவிர வேறில்லை. கட்டுப்பாட்டு அமைப்பின் முள் பயன்பாட்டைக் குறைப்பதற்காக பொத்தான்கள் மல்டிபிளெக்ஸ் வடிவத்தில் இணைக்கப்பட்டுள்ளன.
எங்களிடம் 4x4 விசைப்பலகை இருப்பதைக் கவனியுங்கள், இந்த விசைப்பலகையில் எங்களிடம் 16 பொத்தான்கள் உள்ளன, சாதாரண சந்தர்ப்பங்களில் 16 பொத்தான்களை இடைமுகப்படுத்த 16 கட்டுப்படுத்தி ஊசிகளும் தேவை, ஆனால் கட்டுப்பாட்டு அமைப்பு பார்வையில் இது நல்லதல்ல. மல்டிபிளக்ஸ் வடிவத்தில் பொத்தான்களை இணைப்பதன் மூலம் இந்த முள் பயன்பாட்டைக் குறைக்கலாம்.
எடுத்துக்காட்டாக, எங்களிடம் 16 பொத்தான்கள் இருப்பதைக் கருத்தில் கொண்டு, ஒரு விசைப்பலகையை உருவாக்க அதை ஒரு கட்டுப்படுத்தியுடன் இணைக்க விரும்புகிறோம், இந்த விசைகள் படத்தில் காட்டப்பட்டுள்ளபடி ஏற்பாடு செய்யப்பட்டுள்ளன:

படத்தில் காட்டப்பட்டுள்ளபடி இந்த பொத்தான்கள் பொதுவான நெடுவரிசைகளால் இணைக்கப்பட்டுள்ளன:

படத்தில் காட்டப்பட்டுள்ளபடி, ஒவ்வொரு நான்கு பொத்தான்களின் குறிக்கப்படாத முனைகள் ஒரு நெடுவரிசையை உருவாக்க கெதருக்கு இழுக்கப்படுகின்றன, எனவே 16 விசைகளுக்கு நான்கு நெடுவரிசைகள் உள்ளன.
மேலே உள்ள நெடுவரிசை இணைப்புகளை நாம் மறந்துவிட்டால், ஒவ்வொரு நான்கு பொத்தான்களின் பொதுவான குறிக்கப்பட்ட முனைகளையும் ஒன்றாக இணைத்து ஒரு வரிசையை உருவாக்குகிறோம்:

படத்தில் காட்டப்பட்டுள்ளபடி, 16 விசைகளுக்கு படத்தில் காட்டப்பட்டுள்ளபடி நான்கு வரிசைகள் இருக்கும்.
இப்போது அவர்கள் இருவரும் ஒன்றாகக் காணப்படும்போது, கீழேயுள்ள சுற்று போன்ற ஒன்றைப் பெறுகிறோம்:

கட்டுப்படுத்தியின் முள் பயன்பாட்டைக் குறைக்க இங்கே 16 விசைகளை மல்டிபிளெக்ஸ் வடிவத்தில் இணைத்துள்ளோம். இணைக்கப்பட்ட 16 விசைகளின் முதல் வழக்கோடு ஒப்பிடும்போது, கட்டுப்படுத்தியில் 16 பின்ஸ் தேவைப்பட்டது, ஆனால் இப்போது மல்டிபிளெக்ஸிங் செய்த பிறகு 16 விசைகளை இணைக்க 8 ஊசிகளின் கட்டுப்படுத்தி தேவை.
பொதுவாக இது ஒரு விசைப்பலகையில் வழங்கப்படுகிறது:

மேலே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி மேலே உள்ள விசைப்பலகையில் 16 விசைகள் உள்ளன, மேலும் இந்த விசைகள் ஒவ்வொன்றும் மல்டிபிளக்ஸ் செய்யப்பட்ட பொத்தானை உள்ளமைவில் ஒரு பொத்தானைக் குறிக்கும். மல்டிபிளக்ஸ் செய்யப்பட்ட இணைப்பைக் குறிக்கும் மேலே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி 8 முள் இணைப்புகள் உள்ளன.
இப்போது வேலை செய்ய:
இங்கே விசைப்பலகையில் நான்கு நெடுவரிசைகள் மற்றும் நான்கு வரிசைகள் உள்ளன, பொத்தானை அழுத்துவதை அடையாளம் காண, நாங்கள் குறுக்கு குறிப்பு முறையைப் பயன்படுத்தப் போகிறோம். இங்கே முதலில் நாம் அனைத்து நெடுவரிசைகளையும் அல்லது அனைத்து வரிசைகளையும் vcc உடன் இணைக்கப் போகிறோம், எனவே வரிசைகள் பொதுவான vcc உடன் இணைக்கப்பட்டிருந்தால், நெடுவரிசைகளை கட்டுப்படுத்திக்கு உள்ளீடுகளாக எடுக்கப் போகிறோம்.
இப்போது படத்தில் காட்டப்பட்டுள்ளபடி பொத்தானை ஒன்று அழுத்தினால்:

அதன் பிறகு கீழே உள்ள படத்தில் காட்டப்பட்டுள்ளபடி ஒரு மின்னோட்டம் சுற்று வழியாக பாய்கிறது:

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

எனவே வரிசையில் நாம் R1 உயர்வாக இருக்கிறோம்.
இப்போதைக்கு முதல் வழக்கில் சி 1 உயர்வும், இரண்டாவது வழக்கில் ஆர் 1 உயர்வும் உள்ளன, எனவே பொத்தானின் மேட்ரிக்ஸ் நிலை உள்ளது, எனவே எண் “ஒன்று”.
இரண்டாவது பொத்தானை அழுத்தினால், நாம் C1 ஐ நெடுவரிசையாகக் கொண்டிருப்போம், ஆனால் பொதுவான நெடுவரிசையில் நாம் பெறும் உயர் தர்க்கம் 'R2' ஆக இருக்கும். எனவே நாம் சி 1 மற்றும் ஆர் 2 ஐ வைத்திருப்போம், எனவே இரண்டாவது பொத்தானின் மேட்ரிக்ஸ் நிலை நமக்கு இருக்கும்.
இப்படித்தான் நாங்கள் நிரலை எழுதப் போகிறோம், எட்டு ஊசிகளின் விசைப்பலகையை எட்டு ஊசிகளைக் கட்டுப்படுத்தியுடன் இணைக்கப் போகிறோம். தொடக்கத்தில் நான்கு வரிசை விசைப்பலகையை இயக்குவதற்கு நான்கு ஊசிகளின் கட்டுப்படுத்தியை நாங்கள் இயக்குகிறோம், இந்த நேரத்தில் மற்ற நான்கு ஊசிகளும் உள்ளீடுகளாக எடுக்கப்படுகின்றன. பொத்தானை அழுத்தும் போது தொடர்புடைய நெடுவரிசை முள் மேலே இழுக்கப்படுகிறது, எனவே கட்டுப்பாட்டு முள் மேலே இழுக்கப்படும், இது உள்ளீட்டை சக்தியாகவும் சக்தியை உள்ளீடாகவும் மாற்ற அங்கீகரிக்கப்படும், எனவே வரிசைகளை உள்ளீடுகளாகக் கொண்டிருப்போம்.
இதன் மூலம் பயனர் அழுத்தும் பொத்தானைப் பெறுகிறோம். இந்த மேட்ரிக்ஸ் முகவரிகள் தொடர்புடைய எண்ணுக்கு அனுப்பப்படுகின்றன, மேலும் இந்த எண் எல்சிடியில் காட்டப்பட்டுள்ளது.
ஏ.வி.ஆர் மைக்ரோகண்ட்ரோலருடன் கீபேட் இடைமுகத்தின் வேலை கீழே கொடுக்கப்பட்டுள்ள சி குறியீட்டில் படிப்படியாக விளக்கப்பட்டுள்ளது. நீங்கள் சரிபார்க்கலாம்: 8051 மைக்ரோகண்ட்ரோலருடன் கீபேட் இடைமுகம்.
