මේ මයික්රොකොන්ට්රෝලරය යනු මොකද්ද කියල? ඇත්තටම මේක පෙනුමෙන් සංගෘහිත පරිපථයක්(Integrated Circuit (ic) ). ඒත් මේක පුංචි පරිගණකයක් වගේ.මේක අපිට ඕන විදියට දත්ත කවල අවශ්ය ආකාරයට යොදා ගන්න පුලුවන්.මෙයට පිටතින් දෙන්න ඕන ප්රදානයන්(Inputs) හා බල සැපයුම(Power supply) පමනයි. එවිට අප දී ඇති දත්ත වලට අනුව ක්රියා කරනවා. මයික්රොකොන්ට්රෝලරය තුල RAM, ROM, Clock සියල්ල පිහිටවා ඇත. නමුත් මයික්රොප්රොසෙසරයට මේවා පිටතින් ලබා දිය යුතුයි.හැබැයි මයික්රොකොන්ට්රෝලරයට සාපේක්ෂව එහි ක්රියාකාරී වේගය වැඩි. ඔයාල මට කියන්න එපා මම මේකෙ අතීතෙ ගැන කිව්වෙ නෑ කියල. ඒක ඔයාල ඕන නම් කොහෙන් හරි හොයා ගන්න.අනෙක මොකටද අතීතෙ ?. මයික්රොකොන්ට්රෝලරයේ ඇතුලන්තය පහත රූප සටහන් 2න් නිරූපනය වේ. බලල ඒකෙ චිත්ත රූපයක් මවල තියා ගන්නකො.මම පැහැදිලි කරන කොට ඔයාලට පස්සෙ තේරුන් යාවි.


මයික්රොකොන්ට්රෝලරයට විදුලිය සැපයූ විට එයට සපයා ඇති ක්රම ලේඛනය(Program) පරීක්ෂා කර එයට අනුව පියවරෙන් පියවර(Step by step) වැඩ කරයි. ඒ සදහා ලබා දී ඇති ප්රදානයන් පරීක්ෂා කර බලා එයට අදාලව ක්රමලේඛනයට අනුව අදාල ප්රතිදානයන්(Output) ලබා දෙයි. මේ සදහා මෙය මතකයන්(memory) 2ක උපකාර ලබා ගනු ලබයි.මම ඒව ඉංග්රිසියෙන්ම දානවා. මොකද ඒව සිංහලෙන් දැන ගෙන වැඩක් නෑ.· Data memory
· Program memory
PROGRAM MEMORY අපි විවිධ ක්රමලේඛන ලියන භාෂාවන් වලින් නිර්මාණය වුන ක්රම ලේඛනය මයික්රොකොන්ට්රෝලරයේ ගබඩා කර තබන්නේ මෙම මතකයේය. මෙය ස්ථිර මතකයයි. මෙය බොහෝ විට Flash ROM එකකි.මෙහි ධාරතාවය(Capacity) උපකරණයෙන් උපකරණයට වෙනස් වේ.
DATA MEMORY මෙය SFR හා GPR යනුවෙන් කොටස් 2කි. මෙහි GPR යනු RAM එක වශයෙන් බාවිතා වන කොටසයි. SFR යනු මයික්රොකොන්ට්රෝලරයේ නියමිත වැඩ සදහා සකසා ඇති රෙජිස්ටර්(PORTA, PORTB, TRISA, TRISB) වර්ග වේ. දත්ත හැසිරවීමේ පහසුවට මෙම මතකය BANK 1, BANK 2 වශයෙන් කොටස් 2ට බෙදේ.ඔබට අවශ්ය රෙජිස්ටරය බාවිතයට ප්රථම එම රෙජිස්ටරය අයත් BANK එක select කරන්න අමතක කරන්න එපා.
ගොඩක් අය මුලින්ම තෝර ගන්නෙ 16F84 . ඒත් මම හිතුවා 16F877a වගේ එකකින් වැඩේ කලා නම් හරි කියල


මයික්රොකොන්ට්රෝලරයට විදුලිය සැපයූ විට එයට සපයා ඇති ක්රම ලේඛනය(Program) පරීක්ෂා කර එයට අනුව පියවරෙන් පියවර(Step by step) වැඩ කරයි. ඒ සදහා ලබා දී ඇති ප්රදානයන් පරීක්ෂා කර බලා එයට අදාලව ක්රමලේඛනයට අනුව අදාල ප්රතිදානයන්(Output) ලබා දෙයි. මේ සදහා මෙය මතකයන්(memory) 2ක උපකාර ලබා ගනු ලබයි.මම ඒව ඉංග්රිසියෙන්ම දානවා. මොකද ඒව සිංහලෙන් දැන ගෙන වැඩක් නෑ.· Data memory
PROGRAM MEMORY අපි විවිධ ක්රමලේඛන ලියන භාෂාවන් වලින් නිර්මාණය වුන ක්රම ලේඛනය මයික්රොකොන්ට්රෝලරයේ ගබඩා කර තබන්නේ මෙම මතකයේය. මෙය ස්ථිර මතකයයි. මෙය බොහෝ විට Flash ROM එකකි.මෙහි ධාරතාවය(Capacity) උපකරණයෙන් උපකරණයට වෙනස් වේ.
DATA MEMORY මෙය SFR හා GPR යනුවෙන් කොටස් 2කි. මෙහි GPR යනු RAM එක වශයෙන් බාවිතා වන කොටසයි. SFR යනු මයික්රොකොන්ට්රෝලරයේ නියමිත වැඩ සදහා සකසා ඇති රෙජිස්ටර්(PORTA, PORTB, TRISA, TRISB) වර්ග වේ. දත්ත හැසිරවීමේ පහසුවට මෙම මතකය BANK 1, BANK 2 වශයෙන් කොටස් 2ට බෙදේ.ඔබට අවශ්ය රෙජිස්ටරය බාවිතයට ප්රථම එම රෙජිස්ටරය අයත් BANK එක select කරන්න අමතක කරන්න එපා.
ගොඩක් අය මුලින්ම තෝර ගන්නෙ 16F84 . ඒත් මම හිතුවා 16F877a වගේ එකකින් වැඩේ කලා නම් හරි කියල
මොනවගෙන්ද මේක හැදිල තියෙන්නෙ? මේක ඇත්තටම ඉලෙක්ට්රොනික් උපකරන විශාල ප්රමාණයක එකතුවක්. මේකෙ තියෙන කුඩාම තැනුම් එකකය රෙජිස්ටර්(Register) කියලා තමයි හදුන්වන්නෙ. මේක හැදිලා තියෙන්නේ Flip flop 8ක් එකතු වෙලා. පහත රූපයෙන් ඒක ඔබට පැහැදිලි වේවි.
Flip flop කියන්නේ bit 1 ක මතකයක් තියා ගෙන ඉන්න පුලුවන් ඉලෙක්ට්රොනික් සැකැස්මක්. හැබැයි clock එක තියෙනකන් විතරයි මේ bit එක තියෙන්නෙ. මේ විදියට bit 8ක් රෙජිස්ටර් එකක තියා ගන්න පුලුවන්. අපි මයික්රොකොන්ට්රොලර් එක ක්රමලේඛනය කරනවා කියන්නේ අපේ වැඩේට හරියන්න මේ රෙජිස්ටර් ටික සකසන එකයි.මේ ආකාරයට විවිධ වැඩ වලට විශේෂ කරපු රෙජිස්ටර් මයික්රොකොන්ට්රෝලර් එක ඇතුලෙ තියෙනවා. මම කලින් දවසෙ කිව්වා නේද මතකයේ තියෙන SFR , GPR කියාලා මතක කොටස් 2ක් ගැන?. මෙහි SFR කියන්නෙ Special function register කියන එකයි. මෙම රෙජිස්ටර් මයික්රොකොන්ට්රෝලරයේ සුවිශේෂී වැඩ සදහා බාවිතා කරයි.එනම් ඒවායේ අපට ඕන ඕන විදියට දත්ත පුරවන්න බැහැ. අපි පිටතින් ගන්න දත්ත , වෙනත් ගණිත කර්ම වලින් ගන්න දත්ත අපි GPR හෙවත් General purpose register තුල ගබඩා කරනවා. අපි දැන් මේ රෙජිස්ටර් කිහිපයක් ගැන බලමු.
W REGISTER
කරුමෙ කියන්නේ මේ ඇතුලෙ තියෙන රෙජිස්ටර් වලට කෙලින්ම දත්ත හුවමාරු කරන්න බැහැනෙ. ඒ නිසා මේකට අතරමැදි රෙජිස්ටර් එකක් පාවිච්චි කරන්න වෙනවා. හරියට නිකන් ලව් කරන කාලෙ කොල්ල සපෝටර් කෙනෙක්ගෙ අතේ ලියුම් යවනව වගේ. ඔන්න ඕකට තමයි W register එක පාවිච්චි කරන්නෙ.
PROGRAM COUNTER
අපි මෙහෙම හිතමුකො....අපි පන දා ගෙන ලියන program එක මයික්රොකොන්ට්රෝලරයට දැම්මම තියෙන්නෙ පේලි විදියට කියලා.හැම පේලියටම අංකයක් තියෙනවා. ඒ කියන්නෙ ඒක තමයි ඒ පේලියෙ ලිපිනය(Address). අපිට මේ ලිපිනයෙන් ඕන වෙලාවක Access කරන්න පුලුවන්.මෙන්න මේ ලිපිනය තියා ගෙන ඉන්න රෙජිස්ටරය තමයි Program register කියන්නෙ.මෙම ලිපිනය clock pulse එක සමග එකින් එක වැඩි වෙනවා.මේක වෙනස් වන්නේ CALL,RETLW, GOTO, RETURN වගේ Assembly key word බාවිතා කලොත් විතරයි.
ALU REGISTER
මයික්රොකොන්ට්රෝලරය තුල සිදු කරන ගණිත කර්ම මෙම රෙජිස්ටරය තුල සිදු කරනවා. එකතු කරීම , ගුණ කිරීම , බෙදීම, අඩු කිරීම වගේම බූලියන් ගණිත කර්මත් BIT SHIFTING , BIT ROTATING , BIT ORIENTED වගේ ඒවත් කරන්න පුලුවන්.මම මේ ගණිත කර්ම වෙනම පෝස්ට් එකක් දාල කියල දෙන්නම්. නැත්තම් ඔයාලට විතරක් නෙවෙයි මටත් පටලැවෙනව.පහත රූප සටහනේ දැක්වෙන්නෙ ALU Register එකේ දළ සැකැස්මක්.
STACK POINTER
අපි program එකක් ලියන කොට ඒක විවිධ කොටස් වලට බෙදනවා. Main program කියලා අපි හදුන්වන්නෙ අපේ ප්රධාන ක්රම ලේඛනය. එක තමයි නිතරම වැඩ කරන්නේ. ඊට අමතරව විවිධ ක්රියා වලට අදාලව sub routine ලියනවා. උදාහරණයක් ලෙස අපේ main program එක වැඩ කරන වෙලාවෙ මොකක් හරි sensor එකකින්input එකක් එනවා.ඒකට අදාල program එක sub routine එකක් විදියට තමයි ලියන්නේ. ඉතින් අපිට ඕක කරන්න program එකේදී memory එකේ එක එක තැන් වලට පනින්න වෙනව. ඒ වෙලාවට කලින් හිටපු තැන මතක තියා ගන්නෙ මේ stack pointer කියන රෙජිස්ටර් එක. දැන් තේරුනාද? පහත රූපයෙන් ඔයාලට මම කියන දේ තවත් තේරේවි.
TIMERS
අපේ වැඩ සටහනේ විවිධ අවස්ථා වලදී කාල ගනනය සිදු කර කටයුතු කිරීමට සිදු වෙනවා. එහිදී තමයි මේ timers ඕන වෙන්නේ. මයික්රොකොන්ට්රෝලරය අනුව එහි තිබෙන timers ගනන හා විවිධ හැකියාවන් වෙනස් වෙනවා. මේවායේ timers ආකාරTIMER 0 ,TIMER 1 විදියට තමයි වෙනස් වෙන්නෙ. මේ එකිනෙකට ගනනය කල හැකි කාල ප්රමාණත් වෙනස්. අනෙක මේව දෘඩාංග(Hardware timers). ඒ නිසා Programඑකෙන් මේවා පාලනය කරන්න පුලුවන්. Main program එකට කරදරේකුත් නෑ.මේවා ගැන මම පස්සෙ ආයෙ කියනවා. මොකද මේක පැහැදිලි වෙන්නේ program එකක් කරන ගමන් කියන කොට. ඔයාල කියන්න එපා උඩින් පල්ලෙන් කරනවා කියල හොදේ...
WATCH DOG TIMER
මේක නම් ටිකක් අමුතුයි. අනෙක් හැම timer එකක්ම වැඩ කරන්නේ system clock එකෙන්. ඒත් මේකට ඇතුලෙම resister , capacitor වලින් හැදුන දෝළකයක් තියෙනවා (RC Oscillator). මේක සක්රිය කරන්නෙත් අමුතු විදියට. එනම් මේක onකරන්නෙ program එකේ මුල තියෙන configuration bits හදලා.කලබල වෙන්න එපා.මේව මම හෙමිහිට පැහැදිලි කරන්නම්.මුලින්ම මට ඕන මේක මොකද්ද, මොකටද ගන්නේ , මේක අනෙක් ඒවට වඩා වෙනස් වෙනවද නැද්ද කියල ඔයාල තේරුම් ගන්න එක විතරයි.
ආ......... මම මේකෙන් මොකද්ද වෙන්නෙ කියලා කිව්වෙ නැහැනෙ. අනේ සමා වෙන්න... මේකෙ වෙන්නෙ මේ රෙජිස්ටරේ පිරුනම සම්පුරණයෙන්ම program එකrestart වෙනවා.ඇත්තටම මේක මොකටද? අපි හිතමු දිගින් දිගටම එකම program එක වැඩ කරනවා කියලා. අපිට මෙක කරන්න වෙන්නෙ program එක එක පාරක් වැඩ කරල ඉවර උනාම මුලට යන්න කියල විධානයක් ලියල. ඒත් අපිට මේ timer එක යොදා ගෙන ඒක කරන්න පුලුවන්. අපි මේක සකසනවා program එකේ තරමට. එතකොට හරි නේද?Program එක run වෙලා ඉවර වෙන කොට watch dog timer එකත් පිරෙනවා. ඊළගටrestart වෙනව.මේකෙන් අපිට වාසියක් තියෙනවා. එකම program එක නැවත නැවත වැඩ කරන්න ලිව්ව නම් මයික්රොකොන්ට්රොලර් එක හිර (struck) වෙන්නත් පුලුවන්. මේකෙන් නිතර නිතර restart වෙන හින්ද එක වෙන්නෙ නෑ.
STATUS REGISTER
මේක ගොඩක් යොදා ගන්නේ ALU register එකත් එක්ක. ALU register එකේ ගණිත කර්ම කරන කොට එවායේ විවධ දත්තයන් ගබඩා කරන්නේ මේකෙ. ගණිත කර්මයේ උත්තරය 0 ද වගේ ඒව. තවත් වැඩක් තමයි අර මම මුලින් කිව්වෙ Bank selectකරන්න වෙනවා කියල.ඒක කරන්නෙ මේකෙ 5 වෙනි bit එකෙන්.පහත රූපයෙන් එක ඔයාලට තවත් ඒක තේරෙවි.
අපි ඉගෙන ගන්න electronics analog හා digital කියල කොටස් 2කට බෙදෙනවා. Analog කියන්නෙ විද්යුත් සංඥාවක් 0 සිට යම් අගයක් දක්වා සන්තතික ලෙස වෙනස් වීමයි. උදාහරණයක් ලෙස 0 සිට 5 දක්වා වෝල්ටීය තාවය වෙනස් වේ නම් එහි 0,0.5, 1, 1.02, 3, 3.1, 4.9, 5ලෙස 5 දක්වා ඕනෑම අගයක් ගත හැක.
එහෙත් digital electronics වලදී එසේ නොවේ.එහි ඇත්තේ අගයන් 2ක් පමණි. එනම් on හා off පමණි. 0 ත් 5ත් අතර ක්රියා කරයි නම් එහි ඇත්තේ 0ත් 5ත් පමණි.අද කාලයේ ඇති electronics පුනරුදයට බෙහෙවින් digital electronics වල දියුණුව බලපා ඇත.digital electronics වලදී සියලුම දත්ත 1හා 0න් ලබා දෙයි.එනම් එයට ද්වීමය කේත(Binary code) ක්රමය බාවිතා කරයි.
Digital electronics වල මූලික සැකැස්ම තාර්කික ද්වාර (Logic gate) වේ.Digital circuits, IC, micro controllers මෙම gates එකතු වීමෙන් සෑදී ඇත.මෙමgates AND, OR, NOT, NAND, NOR, XOR යනුවෙන් වේ.මේවායෙන් AND, OR හාNOT gates මූලික ඒවා වේ.පහත රූපයෙන් දැක්වෙන්නේ ඒවායේ සංකේතයන් සහ ගණිතමය ස්වරූපයයි.
මෙම සියලුම ද්වාර NAND gate යොදාගෙන සෑදිය හැක.එහිදී NAND gatesකිහිපයක් යොදා ගත යුතුයි.පහත රූපයේ දැක්වෙන්නේ එසේ කරන ආකාරයයි.
දැන් අපි බලමු මේ gates හදන්නේ කොහොමද කියල. ඇත්තෙන්ම මේව හදන්න උපයෝගී කර ගන්නෙ අර්ධ සන්නායකයි (Semi-conductors). මේවාට යොදා ගන්නේDiode හා transistors වේ.මේ රූපෙ බලන්නකෝ.
මේ ඔක්කොම gates, transistors පමණක් යොදා ගෙන සෑදිය හැක. මේ රූපෙන් පෙන්නෙ ඒක.බලන්නකො....
Digital logic circuits කොටස් 2කි.
1. Combinational logic circuits
2. Sequential logic circuits
Combinational logic circuits කියන්නෙ gates යොදා ගෙන ප්රතිදානයේ විවිධ වෙනස් කම් කර ගැනීමයි.එහිදී දත්ත ගබඩා කර ගැනීමක් නැත.නමුත් Sequential logic circuits වල Combinational logic circuits එකකට memory elementsඑකක් සම්බන්ධ කර ඇත.මේක බලන්නකෝ...
මේ රූපයෙන් දැක්වෙන පරිදි circuit එකට මුලින්ම ලබා දෙන සංඥාව හා memory elements එකෙහි ඇති දත්තයන් combinational logic circuit එකට ලබා දේ.එමcircuit එකෙන් සංඥාව යම් වෙනස් කිරීමක් කරයි. ප්රතිදානය ලබා දේ.නමුත් එවිටම එම ප්රතිදානය memory elements එකේ ගබඩා කිරීමක්ද කරයි.ඊළග ප්රතිදානය ලබා දෙන විට එම ගබඩා කළ දත්තයද උපාකාරී කර ගනු ලැබේ.මෙම ක්රියාව චක්රයක් ආකාරයට සිදු වේ.මෙහි විශේෂ්යත්වය වන්නේ ප්රතිදානය සුලු වේලාවක් ගබඩා කර ගැනීමේ හැකියාවයි.මෙම කාලය clock cycle එකක් වේ.මෙසේ සෑදෙන පරිපථ flip flopවේ.මෙම flip flop circuits, gates යොදා ගෙන සැදිය හැක.
අද නිකන් පාඩම දිග වැඩිද මන්දා....ඒත් කරන්න දෙයක් නෑ. කරන්නම වෙනවා.අපි විවේකයක් ගන්නත් එක්ක මේ සතියෙ මට වුන වැඩක් කියන්නම්.මම ගෙදර යන්න කොළඹ ඉදල ගාල්ලට එන කොට රෑ 10.30යි. බද්දෙගම බස් එක ගිහින්.මගේ අතේ තිබුනේ රුපියල් 40.00යි. මම දැන් කරන්නෙ මොකද්ද කියලා කල්පනා කරන කොට අපේ ගමේ අයියා කෙනෙක් හම්බ වුනා.මට එයා කිව්වා එයාගෙ තාත්ත එනවා බයිසිකලෙන් එයා එක්ක යමු කියලා.මටත් මාර happy. ඔන්න පැයක් විතර යන කොට ආවා.බද්දෙගම ඉදලා ගාල්ලට එන්න පැයක් විතර යනවා.කිලොමීටර් 25ක් විතර තියෙනවා. අනෙක එදා මාර වැස්ස.අර අයියා තාත්තට කිව්වා අපේ පැත්තෙ මල්ලි කෙනෙක් ඉන්නව දාගෙන යමු කියාලා. තාත්ත කියාපි මේකෙ යන්න බෑ මේ රෑ 3 දෙනෙක් දා ගෙන ගිහින් මොනවා හරි වුනොත් අපිත් කොට උඩ කියලා. මොනවා කරන්නද මම ඒ අයියාට යන්න කියලා.මිනිහටත් හිතට අමාරුයි.මම පයින් එනවා කියලා හිතා ගෙන පයින් ආවා.හැබැයි මාව බයිසිකල් 2කින් සැලකිය යුතු දුරක් එක්ක ආවා. ඒ අයට මගේ ප්රණාමය.කොහොම වුනත් ගෙදර එන කොට උදේ 2.30යි.මොනවා කරන්නද මිනිස්සු විවිධාකාරයි නේද?
ආ දැන් ආයෙ පාඩමට එමු......
අපි flip flop ගැනනෙ කථා කලේ. Flip flop තියෙනවා වර්ග ගානක්. පහත රූපය බලන්නකෝ.
පහත රූප සටහනෙන් එම flip flop වල කාර්යය හා gate වලින් ඒවා නිර්මාණය වන ආකාරය දැක්වේ.හොදට බලා තේරුම් ගන්න බලන්න.
අද මම සංඛ්යා බාවිතය ගැන කථා කරන්නයි සූදානම. ගොඩක් අයට නම් අද පාඩම මහා කම්මැලි එකක් වේවි. ඒත් යන ගමන පිලිවෙලකට යන්න ඕන. අපි computer එකේ වැඩ කරන්නේ ගොඩක් හරිය ඉංග්රීසියෙන්.ඒත් මේක ඉංග්රීසි දන්නවද? අප්පො නෑ....මොකෝ පණ තියෙන දෙයක්යැ? Computer එක දන්නෙ එකම එක දෙයයි. ඒ එම පරිපථයේ විදුලිය ගමන් කරනවද නැද්ද යන්න විතරයි. එනම් on හා off අවස්ථා විතරයි මේවයෙ තියෙන්නෙ. Digital electronics වල දී මේ අවස්ථා දෙක 1 හා 0 ලෙස නම් කරනවා. මේකට අපි කියන්නේ යාන්ත්රික භාෂාවක්(Machine language) කියලා. අපි මයික්රොකොන්ට්රෝලර් එකක් සමග ගනුදෙනු කරන්නෙත් මේ වගේ සංඛ්යා ක්රම බාවිතා කරල.
උදාහරණයක් ලෙස මයික්රොකොන්ට්රෝලරයකට දත්ත ලබා දීමේදී එයට තේරෙන පරිදි දිය යුතුයි. ඒ නිසා අපි මේ සංඛ්යා පද්දති ඉගෙන ගන්නම ඕන. අපි මුලින්ම පහත සංඛ්යා පද්දති බලමු.... කම්මැලිද මන්දා...
1. දහයේ පාදය - Decimal
මෙහිදී අපි ගන්නෙ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 යන සංඛ්යා 10 පමණයි. මෙහිදී අපි සංඛ්යාවක් ලිවීමේදී එම සංඛ්යාවේ ස්ථාන සදහා නිෂ්චිත වටිනා කමක් ඇත.අපි 2345 යන සංඛ්යාව ගනිමු.
දැන් අපි බලමු දශම සංඛ්යාවක කොහොමද අගය ලබා ගන්නෙ කියල. 5.45ගමු.
2. දෙකේ පාදය - Binary
මේක තමයි වටිනාම පාදය කිව්වොත් නිවැරදි. ඇයි මම එහෙම කියන්නෙ කියල වැඩ කරන කොට ඔයාලට පැහැදිලි වේවි.මේකෙ තියෙන්නෙ ඉලක්කම් 2යි. ඒ 1හා 0 විතරයි. ලේසි නේද 2යි නෙ? උදාහරණයක් විදියට දෙකේ පාදයේ සංඛ්යාවක් මේ වගේ....
10110012
අපි දැන් ටිකක් ගැඹුරට යන්නයි යන්නේ. අපි ඉහත සංඛ්යාව මෙසේ දක්වමු.
මෙහි වම් පැත්ත MSB(Most Significant Bit) සහ දකුණු පැත්තLSB(Least Significant Bit) කියල තමයි හදුන්වන්නේ. මෙහි 1 හො 0 යන එක් අවස්ථාවක් bit එකක් ලෙසත් bit 8ක් byte එකක් ලෙසත් bit 4ක් nibbleඑක්ක ලෙසත් හදුන්වයි.
දැන් අපි බලමු දෙකේ පාදයේ අගයක් දුන් විට එය දහයේ පාදයට හරවන්නේ කොහොමද කියල.(Binary to Decimal). අපි ඉහත අගය 10110012 ම ගනිමු. පහත පියවර අනුගමනය කරන්න.
දශම සංඛ්යාවක් නම් මෙහෙමයි.. 101.10012 යන අගය ගනිමු.
දැන් බලමු decimal එකක් binary කරන
හැටි.මෙන්න මෙහෙමයි....88ම ගනිමු.
හැටි.මෙන්න මෙහෙමයි....88ම ගනිමු.
අගය වන්නේ = 1011000
දැන් දශම සංඛ්යාවක් බලමු කොහොමද හරවන්නෙ කියල.5.5625 ම උදාහරණයට ගනිමු.
පූර්ණ සංඛ්යාවෙන් ලැබෙන්නේ 101 වේ.දැන් දශම කොටස වන .5625 ගැන බලමු.
ඔන්න මම දැන් කොටස් දෙක එකතු කරනවා. 101.10012
3. අටේ පාදය - Octal
මේකත් අර ක්රමේටම තමයි යන්නේ.
දහයේ පාදය අටේ පාදයට හැරවීම
834.34510 යන අගය ගනිමු.
එවිට අගය වන්නේ 1502.26058 වේ.
අටේ පාදයේ සංඛ්යාවක් දහයේ පාදයට හැරවීම
ඉහත අගයම ගනිමු. එතකොට හොදට තේරෙනවා නේදෝ............................
1502.26058
හරිද මන්දා.........ම් හරිනේ දශමෙ පොඩි පරහක් තියෙනවා. ඒ අපි හරියටම දශම ගත්තෙ නැති නිසා හොදේ.
ද්වීමය සංඛ්යාවක් අටේ පාදයට හැරවීම
අටේ පාදය ද්වීමය සංඛ්යාවට පෙරලීම
මෙහිදී සංඛ්යාව ඉහත ආකාරයටම ඈත් කරල වෙන් වෙන්ව ලියා ගන්න. දැන් වෙනම එක් එක් සංඛ්යාවට අදාල ද්වීමය අගය ලියන්න.දැන් තියෙන්නෙ ඔය ටික ලං කර ගන්න විතරයි යාලුවනේ. ලං කර ගන්න අමාරු නැහැනෙ....මම දන්නවනෙ ඔයාල කොච්චර දෙවල් ලං කර ගෙන ඇත්ද? ඕකත් මහ කජ්ජක්ද........?
මෙන්න උදාහරනෙ...
435.2168 අගය ගමුකො.
මෙකත් ඉතින් කියන්නම ඕන නිසා කියනවා. නැත්තම් කැතැයි වගේ ..
අපි ගමු වෙන අගයක්.10111011001.001111012යන සංඛ්යාව අටේ පාදයට හරවමුකො.
මේක අපි දශම තිතේ ඉදල දෙපැත්තට ඉලක්කම් තුනෙන් තුනට වෙන් කරමු.ඊළගට ඒ කෑලි වෙන වෙනම දහයේ පාදයට හරවනව. දැන් ඉතින් ලං කරනවා. හරිනේ වැඩේ....
බලමුකො උදාහරනේ.......
1. දහසයේ පාදය - Hexa Decimal
දහසයේ පාදය නම් අනෙක් ඒවට වඩා හරිම වෙනස්. මේකෙ අක්ෂර ක්රමේකුත් තියෙනවා. 0 ඉදල 9 වෙනකන් කිසිම අවුලක් නෑ. එත් 10 ඉදල 15 ට වෙනකන් පිලිවෙලට A,B,C,D,E හා F ලෙස තමයි නම් කරල තියෙන්නෙ.
දහයේ පාදය දහසයේ පාදයට හැරවීම
367.23410 යන සංඛ්යාව ගනිමු.
පුර්ණ සංඛ්යාව මුලින්ම හොදේ....
දහසයේ පාදයේ සංඛ්යාවක් දහයේ පාදයට හැරවීම
අපි ඉහත සංඛ්යාව නැවතත් දහයේ පාදයට හරවමු. එනම් 16F.3BE7අගය. මෙන්න මෙහෙමයි.
ඔහොම හොදයි නේද යාලුවනේ...?
දහසයේ පාදයේ සංඛ්යාවක් ද්වීමය සංඛ්යාවක් බවට හැරවීම
මේ සදහා 5EF.7B16 යන සංඛ්යාව ගනිමු.
No comments:
Post a Comment