කලින් ලිපියෙන් අපි WinAVR කියන programming interface එකේ මුලික settings හදන හැටි සහ microcontroller එක program කරන්න අවශ්ය කරන files හදාගන්න හැටි ඉගෙනගත්තා.
ඒ ලිපිය පහල සබැදියෙන් බලන්න.
මයික්රොකන්ට්රෝලර් පාඩම - 03
අද අපි microcontroller IC ගැන සහ මේ microcontroller පාඩම් මාලාවේදී අපි යොදාගන්න IC එක ගැන මුලික දේවල් ටිකක් ඉගෙන ගනිමු.
අපි මේ microcontroller පාඩම් මාලාවේදී microcontroller IC එක විදියට යොදාගන්න බලාපොරොත්තු වෙන්නේ ATmega32 කියන IC එක. මේ IC එක Atmel කියන company එකෙන් නිෂ්පාදනය කරන IC එකක්. ATmega කියන්නේ AVR වල programming IC series එකේ එක series එකක් කියලා මම ඔයාලට පළමු ලිපියෙන් කිව්වා මතක ඇති. මේ ATmega IC වල මුලික ක්රියාකාරීත්වය බොහෝ දුරට සමාන නිසා එක IC එකක් ගැන ඉගෙන ගත්තහම මේ series එකේ අනිත් IC එක්ක වැඩ කරන එක සිම්පල්.
ATmega32 IC එක pin 40 ක IC එකක්. මේ pin 40න් pin 32ක් අපිට අවශ්ය විදියට programm කරගන්න පාවිච්ච් කරන්න පුළුවන්. ඉතිරි pin ටික IC එකට power දෙන්න, ground pin, reset, පිටතින් oscilator එකක් සවි කිරීමට, ආදියට වෙන් කරලා තියෙනවා.
මේ IC එක වැඩකරන්න operating voltage එක විදියට 5 V දෙන්න ඕනේ. 5 V ට වඩා වැඩි උනොත් IC එක පිච්චේවි.
Microcontroller IC එකකින් කරන්න පුළුවන් දේ සුළුපටු නෑ. Microcontroller IC එකකින් කරන්න පුළුවන් දේ ගැන IC එක හදන company එකෙන්ම නිකුත් කරන datasheet එකේ තියෙනවා. ATmega32 IC එකේ datasheet එකේ පිටු 346 කම ඒ ගැන විස්තර කරලා තියෙනවා. පිටු 346 ක් නරකමත් නෑ නේද... :) :) ATmega32 IC එකේ datasheet එක “ATmega32 datasheet” කියලා google එකේ search කරලා download කරගන්න පුළුවන්. එහෙම නැත්නම් පහල ලින්කුවෙන් බාගන්න.
ATmega32 Datasheet - Atmel
ATmega32 IC එකේ 32 kB flash memory එකක් තියෙනවා. ඒ කියන්නේ අපිට උපරිම file size එක 32 kB වෙන programm code එකක් IC එකට දාන්න පුළුවන්. IC එකේ flash memory size එක අපිට IC එකේ number එක බැලුවම කියන්න පුළුවන්. ඒ කියන්නේ ATmega32 කියන නමේ “32” කියන්නේ ඔය මම කියපු flash memory size එක. ඒ වගේ ATmega8, ATmega16 වල පිළිවෙලින් 8 kB හා 16 kB flash memory එකක් තියෙනවා.
Microcontroller IC එක වැඩ කරන්නේ “1”, “0” logic levels වලින්. ඒ කියන්නේ එයා අදුනන්නේ, pin වලින් output කරන්නේ “1”, “0” logic levels විතරයි. logic “1” විදියට එයා සලකන්නේ 5 V සහ logic “0” විදියට සලකන්නේ 0 V.
මම මුලින් කිව්ව pin 32 ත් pin 8 ගානේ කොටස් 4 කට බෙදල තියෙනවා. ඒ එක කොටසකට අපි PORT එකක් කියලා කියනවා. මේ කොටස් 4 PORTA, PORTB, PORTC, PORTD කියලා නම් කරලා තියෙනවා. මේ නම් වලින් IC එකට call කලොත්, මොන PORT එකටද කතා කලේ කියලා IC එක අදුනනවා. IC එකේ තියන pin ගණන මත IC එකට තියෙන PORTS ගාන වෙනස් වෙන්න පුළුවන්. උදාහරණයක් විදියට ATmega8 IC එකේ තියෙන්නේ pin 28 යි, ඒ නිසා PORTS 3 යි තියෙන්නේ.
මේ එක එක PORT එකේ තියෙන pin 8 අයෙත් වෙන වෙනම නම් කරලා තියෙනවා. උදාහරණයක් විදියට PORTA ගේ pin 8, PA0, PA1,PA2,........PA7 විදියට නම් කරලා තියෙනවා. PORTB ගේ නම් PB0, PB1,PB2,........PB7 විදියට.
මම මේ කියපු දේ පහත තියෙන IC එකේ pin diagram එකෙන් හොදටම බලාගන්න පුළුවන්.
ඒ වගේම එක එක pin වලට අමතර වශයෙන් කරන්න පුළුවන් අනෙකුත් වැඩ මොනවාද කියලා කෙටි නම් use කරල වරහන් ඇතුලේ කියලා තියෙනවා. ඒවා ගැන වැඩි විස්තර IC එකේ Datasheet එකේ පැහැදිලිව විස්තර කරලා තියෙනවා.
මුලිකව ගත්තම microcontroller IC එකේ තියෙන්නේ registers. ඒ registers අතුරින් අති බහුතරය 8-Bit registers. ඉතිරි ඒවා 16-Bit registers. අපි microcontroller එකට code එකක් ලියනවා කියලා ඇත්තටම කරන්නේ මේ registers වලට එක එක values ලියන එක.
ඉහත විදියට සැලකූ විට මුලින් අපි කතා කරපු එක එක pin අටේ PORT 4 ත් registers වලට අනුරූප වෙනවා. ඒ කියන්නේ PORTA, PORTB, PORTC, PORTD කියලා වෙන වෙනම registers 4ක් තියෙනවා. ඒ වගේම එක් එක් PORT එකක තියෙන pin 8 අදාල register එකේ 0 වෙනි bit එකේ සිට 7 වෙනි bit එක දක්වා අනුරූප වෙනවා. පහල රුපය බැලුවොත් ඒක තේරේවි.
මුලිකව, microcontroller එකක pin එකක් ගැන සැලකුවහම ඒ pin වලට ආකාර 2 කින් හැසිරෙන්න පුළුවන්. ඒ,
- Input
- Output
හිතන්න අපිට LED එකක් පත්තු කරන්න ඕන කියලා, ඒ සදහා අපි microcontroller එකට LED එක connect කරලා තියෙන pin එක output විදියට set කරන්න ඕන.
අපිට switch එකක් microcontroller එකට connect කරන්න ඕන නම් අදාල pin එක input එකක් විදියට set කරන්න ඕන.
අද පාඩම නම් හිතුවට වඩා දිග වැඩි උනා වගේ. දිග වැඩි උනාමත් කියවන්න ගියාම එපා වෙනවනේ. ඒත් ඉතින් ගුරුමුෂ්ටි තියාගන්නේ නැතුව කියාදෙන්න ඕනේ නිසා අවශ්ය දේවල් ටික කියාදෙන්න වැඩිපුර ඉඩක් හා වෙලාවක් යනවා.
අපි microcontroller ගැන වැඩිපුර දේවල් අපි ඉදිරි පාඩම් වලදී කතා කරමු. ඒ වගේම අපිත් එක්ක දිගටම රැදෙන්න කියලා මම ඔයාලට ආරාධනා කරනවා.
koo ithuruwa
ReplyDelete