electronic sinhalen

සිංහල භාෂාවෙන් විද්‍යා හා තාක්ෂණ කරුණු ලබාදෙන, SENRO-TECH යුගයේ අපූර්වතම විද්‍යා හා තාක්ෂණ ගෙව්ශණය. SENROTECH is all about connecting you to the Technologies ©Copyrighted

Friday, March 6, 2020

microcontroller sinhala - මයික්‍රෝකොන්ට්‍රෝලර්ස් (pic microcontroller programming) - 39


Interrupt with PIC Microcontroller




පරිඝණක,මයික්‍රෝකොන්ට්‍රෝලර පද්ධති ආදී බොහෝ embedded පද්ධති සදහා වැඩසටහන් නිර්මාණය කිරීමේදී බොහෝ විට යොදාගැනෙන තවත් වැදගත් ඒකකයක් වන්නේ Interrupt වේ. Interrupt යන්නේ සිංහල තේරුම අතුරුබිදුම් යන්න වේ.මෙය මේ සදහා යොදනු ලබන තාක්ෂණික ව්‍යවහාරික වචනය වේ.එම නිසා Interrupt යන්නේ අදහස් කරන්නේ කුමක් දැයි විමසා බැලිය යුතුය.  

Interrupt හෙවත් අතුරුබිදුම් යන්නේ සරල තේරුම වන්නේ යම් ක්‍රියාවකට සිදු කරන බාදාව වේ.ඒ අනුව Interrupt මගින් සිදු කරනු ලබන්නේ. යම් කරමින් සිටින ක්‍රියාවලියකට බාධා කිරීමක් සිදු කර වෙනත් ක්‍රියාවලියක් සිදුකිරීම සදහා යොමු කිරීමයි.ඉන්පසු එම ක්‍රියාවලිය අවසන් කර මුල් ක්‍රියාවලිය නවත්වපු තැන වෙත නැවත යොමු කිරීම Interrup මගින් සිදු කරනු ලබයි.මෙය උදාහරනයක් මගින් පැහැදිලි කරගත හැක. 

අපගේ එදිනෙදා කරනු ලබන වැඩකටයුතු සියල්ලම පාහේ කරනු ලබන්නේද  මෙම බාධා කිරීම් මත වේ.සිතන්න  ඔබ පොතක් කියවමින් සිටිනවා කියා.මේ අතර තුර දුරකතනය නාද උවහොත් ඔබ පොත කියවීම නතර කර දුරකතනයට ප්‍රතිචාර දක්වා ඉන් අනතුරුව නැවත පොත කියවීම ආරම්භ කරනු ලබයි.මෙලෙස නැවත පොත කියවමින් සිටින අතර තුර නිවසට යහලුවෙක් පැමිනේ එවිටද පොත කියවීම නතර කර යහලුවා සමග කතා කර ඔහු ගිය පසු නැවත පොත කියවීමට පටන් ගනු ලබයි.මෙම උදාහරනය මගින් Interrupt හී ගති ලක්ෂණ හා කාර්යන් පහසුවෙන් වටහා ගත හැක.

ඉහත අවස්ථා දෙකේ පොත කියවීම නම් ක්‍රියාවලිය සදහා ඇති වූ බාදාවන් වන්නේ දුරකතනය නාද වීම සහ යහලුවෙක් නිවසට පැමිණීම වේ.මේවා හරියටම Interrupt වැනිය.එනම් පොත කියවීම නම් ප්‍රධාන ක්‍රියාවලියට සිදුවන බදා කිරීම් වේ.එලෙසම මයික්‍රෝකොන්ට්‍රෝලර  යොදාගෙන වැඩසටහන් ක්‍රියාත්මක කිරීමේදී එම ප්‍රධාන වැඩසටහනට කරනු ලබන බාධා කිරීම් Interrupt ලෙස හැදින්වේ.

ඉහත උදාහරනයේ දී  පොත කියවීමේදී බාදාවන් දෙකක් සිදු විය. එම බාධාවන්ට   අනුරූපව ප්‍රතිචාර දක්වා නැවත පොත කියවීම සිදු කරන ලදී. එලෙසම මයික්‍රෝකොන්ට්‍රෝලර වලද විවිධ ආකාරයේ Interrupt වර්ග ඇත. මයික්‍රෝකොන්ට්‍රෝලර මගින් ද කරනු ලබන්නේ ඇති වන  Interrupt එක අනුව ඊට ප්‍රතිචාර දක්වා නැවත ප්‍රධාන වැඩසටහන ක්‍රියාත්මක කිරීමයි.මෙහිදී මයික්‍රෝකොන්ට්‍රෝලර විසින් දක්වන ප්‍රතිචාරය වන්නේ වෙනම වැඩසටහනක් ක්‍රියාත්මක කිරීම වේ.ඒ අනුව Interrupt එකක කාර්ය වන්නේ  ප්‍රධාන වැඩසටහන මදකට නවතා ප්‍රධාන වැඩසටහනෙන් බැහැර වූ වෙනත් වැඩසටහනක් ක්‍රියාත්මක කිරීම වේ.


තවද ඉහත උදාහරනයම ගත් කල ,පොත කියවීමේදී භාහිරින් විවිධ බාදා කිරීම් ඇති විය හැක.ඒවායින් සමහරක් බාධා කිරීම් නොසලකා හැරිය හැක.උදාහරන ලෙස ,දුරකතනයට ප්‍රතිචාර දැක්වීම අවශ්‍ය නම් පමණක් සිදු කල හැක.එහෙත් නිවසට මිතුරෙක් පැමිණි විට එය මගනොහැර  ප්‍රතිචාර දැක්විම සිදු කල යුතුය.ඒ අනුව සමහරක් බාදා කිරීම වලට අනිවාර්යෙන්ම ප්‍රතිචාර දැක්වීම සිදු කල යුතුය. මයික්‍රෝකොන්ට්‍රෝලරය ගත් කල ද ඇති කරන Interrupt එක අනුව ඒවායේ වැදගත්කම අඩු වැඩි වීම අනුව සමහර Interrupt නොසලකා හැරිය හැක.


ඉහත පැහැදිලි කිරිම් සිදු කරනු ලැබුවේ,Interrupt  යනු කුමක්දැයි වටහා ගැනීමට වේ.දැන් මයික්‍රෝකොන්ට්‍රෝලර වල Interrupt අවශ්‍ය වන්නේ ඇයි දැයි විමසා බලමු.

 

මයික්‍රෝකොන්ට්‍රෝලර සදහා Interrupt අවශ්‍ය වන්නේ ඇයි ?


මයික්‍රෝකොන්ට්‍රෝලරය තුල විවිධ ඒකක (A/D Converter , Timer, Synchronous Serial communication, USART,…ආදිය) ඇත.මයික්‍රෝකොන්ට්‍රෝලර සදහා වැඩසටහන් ගොඩ නැගීමේදී කරනු ලබන්නේ මෙම ඒකක  එකක් හෝ කිහිපයක් යොදාගෙන වැඩසටහන් ගොඩ නැගීමයි.ඒකක කිහිපයක් යොදාගෙන වැඩසටහන් නිර්මාණය කිරීමේදී මෙම සෑම ඒකකයක්ම නිරන්තරයෙන් ක්‍රියාත්මක වීම අවශ්‍ය නොවිය හැක.ඒවා ක්‍රියාත්මක වීම සිදු විය යුත්තේ එම ඒකක හා සම්බන්ද සංඥා ලැබෙන විට දී පමණක් විය හැක.එමනිසා මෙම ඒකක සියල්ලම පාලනය සදහා වන වැඩසටහන ප්‍රධාන වැඩ සටහනේ තිබීම අවශ්‍ය නැත.මෙවැනි අවස්ථාවන් සදහා Interrupt යොදාගැනීම සිදු කල හැක.



Interrupt එකක කාර්ය වන්නේ, එය ජනනය වූ විට වෙනම වැඩසටහනක් ක්‍රියාත්මක කිරීම වේ. මයික්‍රෝකොන්ට්‍රෝලරය තුල ඇති බොහෝ ඒකක වල Interrupt පහසුකම ඇත.ඒ අනුව අවශ්‍ය Interrupt සක්‍රිය කර එම ඒකකය සදහා වන සංඥා ලැබෙන විට පමණක් ඊට අදාල වැඩසටහන ක්‍රියාත්මක වන ලෙස වැඩසටහන ගොඩ නැගීම සිදු කලහැක.


Interrupt ක්‍රියාත්මකවන ආකාරය 
මයික්‍රෝකොන්ට්‍රෝලරය  ක්‍රියාත්මක වන්නේ එහි Program memory යේ ඇති වැඩසටහනට අනුව වේ. එසේම මෙම වැඩසටහනේ ඇති උපදෙස් Program memory තුල  තැන්පත් කරනු ලබන්නේ line by line  වේ.එසේම මෙම වැඩසටහන ක්‍රියාත්මක කිරීමේදී, මෙම උපදෙස් (දත්ත) line by line   ඉහල සිට පහලට කියවමින් වැඩසටහන නිරන්තරයෙන් ක්‍රියාත්මක කරනු ලබයි.මෙම කාලය පුරාවට මයික්‍රෝකොන්ට්‍රෝලරය  විසින් වෙන කිසිදු කාර්යක් සිදු නොකරනු ලබයි.

( Program memory ක්‍රියාත්මක වන ආකාරය පිළිබදව මීට පෙර පැහැදිලි කර ඇත.)

Interrupt ඇති වූ විට, මෙම ප්‍රධාන වැඩසටහනෙන් බාහිර වෙනම වැඩසටහනක් ක්‍රියාත්මක කරන බව ඉහත පැහැදිලි කරන ලදී.ඒ අනුව ඇති වන Interrupt එක අනුව ක්‍රියාත්මක කිරීම සදහා වැඩසටහනක් තිබිය යුතුය. එසේම මෙම වැඩසටහන ඇතුලත් කිරීම සදහා ද මතකයක් තිබිය යුතුය.ඒ සදහා වෙනම මතකයක් බාවිතා කල යුතුය.එසේත් නොමැති නම් තිබෙන Program memory එකම කොටස් දෙකකට වෙන් කල යුතුය.එහෙත් මේ සදහා යොදාගනු ලබන්නේ ඉහත ක්‍රම දෙකටම වඩා වෙනස් වූ අපූර්වතම ක්‍රමයකි.

එනම් Program memory යේම Interrupt වැඩසටහන ද ඇතුලත් කරනු ලබයි.ඉන් අනතුරුව Interrupt එකක් ඇති වූ විට සිදු කරනු ලබන්නේ  Interrupt වැඩසටහන ඇති memory location එකකකට ගමන් කර එය ක්‍රියාත්මක කිරීම වේ.මෙය සිදු කරන ආකාරය පහත දක්වා ඇති ආකාරයට විස්තර කර ගත හැක.

MCLR පින් එක යොදාගෙන වැඩසටහන reset කිරීමේදී ද සිදුවුයේ Program memory ආරම්බක පිහිටුම වන 0000h වෙත ගමන් කර වැඩසටහන නැවත මුල සිට ක්‍රියාත්මක කිරීම වේ. Interrupt වැඩසටහන ක්‍රියාත්මක කිරීම සදහා යොදාගනු ලබන්නේද මෙවැනිම ක්‍රමයකි.එනම් Interrupt එකක් ඇති වූ විට සිදු වන්නේ Program memory යේ 0004h වන memory location වෙත ගමන් කිරීමයි.එම ස්ථානයේ Interrupt වැඩසටහනට ගමන් කිරීමට අදාල උපදෙස් ඇතුලත් කිරීම මගින් Interrupt වැඩසටහන ක්‍රියාත්මක කරවා ගත හැක.

Interrupt සක්‍රිය කර ඇති විට පමණක් මෙම memory location එක Interrupt හී උපදෙස් ඇතුලත් කිරීම සදහා යොදාගනු ලබයි.

තවද Interrupt එකක් ඇති වූ විට පමණක් මෙම memory location එකට ගමන් කර Interrupt වැඩසටහනට ගමන් කිරීමට අදාල උපදෙස් ක්‍රියාත්මක කිරීම සිදු කරනු ලබන අතර Interrupt ඇති නොවන විට මෙම memory location මග හැර වැඩසටහන ක්‍රියාත්මක කරනු ලබයි.
 

Interrupt Service Routine (ISR)


අප මෙතෙක් සිදු කරනු ලැබූ මයික්‍රෝකොන්ට්‍රෝලර සදහා වැඩසටහන් සකස් කිරීමේදී සිදු කරනු ලැබුවේ ,එම වැඩසටහන සදහා යොදාගැනෙන ඒකක හා සම්බන්ද  input/output ආදිය නිරන්තරයෙන් අධීක්ෂණය කරමින් වැඩසටහන් ගොඩනැගීම වේ.උදාහරනයක් ලෙස මයික්‍රෝකොන්ට්‍රෝලරය සමග  සුවිචයක් සම්බන්ද කර එම සුවිචය එබීම මගින් යම් වැඩසටහනක් ක්‍රියාත්මක වන අවස්ථාවක් සලකන්න.මෙහිදී අප විසින් වැඩසටහන ගොඩනැගීමේදී කරනු ලැබුවේ, සුවිචය එබීම සිදුවී ඇත්තැයි නිරන්තරයෙන් අධීක්ෂණය කරන ආකාරයට වේ.මේ ආකාරයට වැඩසටහනේ යොදාගැනෙන උපදෙස් නිරන්තරයෙන් අධීක්ෂණය කරමින් වැඩසටහන් ගොඩ නැගීම POLLING ලෙස හැඳින්වේ.

(මෙම ක්‍රමය වැඩසටහන් ගොඩ නැගීම සදහා එතරම් සාර්තක ක්‍රමයක් නොවේ.)

මයික්‍රෝකොන්ට්‍රෝලර හා මයික්‍රෝප්‍රෙසෙසර ආදිය යොදාගෙන නිර්මාණය කරන බොහෝ පද්ධත්වල යොදාගනු ලබන්නේ  Interrupt මත පදනම් වූ වැඩසටහන් කරන ක්‍රමයයි.එනම් මෙහිදී ඉහත POLLING ක්‍රමයේදී මෙන් නිරන්තරයෙන් ඒකක හා සම්බන්ද උපදෙස්  සියල්ලම අධීක්ෂණය කරමින් නොසිටින අතර ලැබෙන input අනුව Interrupt  එකක් ඇති කර ඊට අදාල වැඩසටහන ක්‍රියාත්මක කරනු ලබයි.උදාහරනයක් ලෙස පරිඝණකයක Mouse එකේ හා key bode  එකේ දත්ත ලබා දෙනු ලබන්නේද Interrupt මත පදනම්ව වේ.එනම් පරිඝණකය සතුව ක්‍රියාත්මක වන වැඩසටහනක් ඇත.එහෙත් අප විසින් Mouse එක මත අත තැබූ සැනින් Interrupt එකක් ඇති වී Mouse එක පාලනය සදහා වන වැඩසටහන ක්‍රියාත්මක කර   Mouse විසින් දෙනු ලබන input ලබා ගනු ලබයි.


POLLING හා Interrupt මත පදනම් වූ වැඩසටහන් කරන ක්‍රමය පැහැදිලි කර ගැනීම සදහා ඇති අනෙක්  හොදම උදාහරනය ලෙස salesmen කෙනෙකුගේ හා කඩ හිමියෙකුගේ ක්‍රියාවලිය යොදාගත හැක.එනම් salesmen කෙනෙකු බාන්ඩ විකිනීම සදහා ගෙයිනි ගෙට යනු ලබයි.මෙය හරියටම POLLING ක්‍රමය වැනිය. POLLING ක්‍රමයේදී ද වැඩසටහනේ යොදා ගැනෙන ඒකක වෙත ගොස් ඒවායේ උපදෙස් එකින් එක කියවනු ලබයි.එහෙත් කඩ හිමියෙකු ගැන සැලකීමේ දී භාන්ඩ මිලදී ගැනීමට අවශ්‍ය අය කඩ හිමියා ලගට පැමිණ භාන්ඩ මිලදී ගැනීම සිදුකරනු ලබයි.මෙය Interrupt මත පදනම් වූ වැඩසටහන් කරන ක්‍රමය වැනිය.එනම් මෙහිදීද සිදු වන්නේ, වැඩසටහනේ යොදාගනු ලබන ඒකක සියල්ල එකින් එක අධීක්ෂණය කරනවා වෙනුවට Interrupt එකක් ඇති වූ විට එම Interrupt එකට අදාල වැඩසටහනේ ඇති උපදෙස් පමණක් ක්‍රියාත්මක කිරීම වේ.



මයික්‍රෝකොන්ට්‍රෝලරය තුල ඇති  විවිධ ඒකක හා සම්බන්ද Interrupt විශාල ප්‍රමාණයක් ඇත.වැඩසටහන් කරනයේදී මෙම Interrupt එකක් හෝ කිහිපයක් යොදාගනු ලබයි. Interrupt එකක් ජනනය වූ විට එය කුමන ඒකකයෙන්ද ජනනය වූවේද බලා ඊට අදාල වැඩසටහනට යොමු කල යුතුය. Interrupt Service Routine (ISR) ලෙස හදුන්වනු ලබන්නේ මෙම කාර්ය සිදු කරනු ලබන ක්‍රමය වේ.
 



ඉහත රූපයේ දක්වා ඇත්තේ මයික්‍රෝකොන්ට්‍රෝලරය තුල Interrupt හී ක්‍රියාකාරිත්වය පැහැදිලි කිරීම සදහා යොදාගෙන ඇති  බල්බ සහ සුවිච වලින් සමන්විත පරිපථ සටහනකි.මෙහි බල්බයක් දැල්වීම Interrupt එකක් ඇතිවීම පෙන්නුම් කිරීමට අනුරූප වේ.


•ඉහත පරිපථ සටහන අධ්‍යනයේදී පෙනෙන කරුන නම්,බල්බයක් දැල්වීම සිදු කිරීම සදහා GIE සුවිචය on අවස්ථාවේ පවත්වා ගත යුතු බවයි. එලෙසම මයික්‍රෝකොන්ට්‍රෝලරයේ ද Interrupt සක්‍රිය කිරීම සදහා ද  එහි ඇති සියලුම Interrupt සක්‍රිය කිරීම කල යුතුය. GIE සුවිචය යොදාගෙන ඇත්තේ මයික්‍රෝකොන්ට්‍රෝලරයේ සියලුම Interrupt සක්‍රිය කිරීම සදහා ඇති බිටුව නිරූපණය කිරීම සදහා වේ.
•නිල්පාට කොටුව තුල ඇති සුවිච යොදාගෙන ඇත්තේ, දැල්විය යුතු බල්බ තීරණය කිරීම සදහා වේ.මෙහිදී සුවිච එකක් හෝ කිහිපයක් හෝ සියල්ලම on කිරීම මගින් එය සිදු කල හැක.එලෙසම අප විසින් ගොඩනගනු ලබන වැඩසටහනේ යොදාගනු ලබන ඒකක හා සම්බන්ද Interrupt සක්‍රිය කිරීම සදහා ද බිටු ඇත. නිල් පාට කොටුව තුල ඇති සුවිච යොදාගෙන  ඇත්තේ එම එක් එක් ඒකක හා සම්බන්ද Interrupt සක්‍රිය කිරීමට අදාල බිටු නිරූපණය කිරීම සදහා වේ. රූපසටහනේ සුවිච දෙකක් on කිරීම සිදු කරන අතර එය  Interrupt දෙකක් සක්‍රිය කිරීමට  අනුරූප වේ.
•දැන් ඉහත on කරනු ලැබූ සුවිච හා සම්බන්ද රතුපාට කොටුව තුල ඇති සුවිචයක් on කිරීම මගින් බල්බයක් දැල්වීම සිදු කල හැක. මෙය යොදාගෙන ඇත්තේ Interrupt ඇතිවීම පෙන්නුම් කිරීම සදහා වේ.ඒ අනුව රූපසටහනේ පළමු සුවිචය සක්‍රිය කරනු ලබයි.එය EEIE සම්බන්ද Interrupt එක ඇති වීමට අනුරූප වේ.
•මෙහි බල්බයක් දැල්වීම Interrupt එකක් ඇතිවීම පෙන්නුම් කිරීමට අනුරූප වේ.ඒ අනුව මයික්‍රෝකොන්ට්‍රෝලර තුලදී  Interrupt එකක් ඇති වූ විට එය කුමන ඒකකය හා සම්බන්ද Interrupt එකක් ද ඇති වුනේද යන්න පෙන්නුම් කිරීම සදහා flag බිට් එකක් යොදාගනු ලබයි. Interrupt එකක් ඇති වූ විට, මෙම flag බිටුව කියවීම මගින් ඊට අදාල වැඩසටහනට යොමුවීම සිදු කරනු ලබයි.


PIC 16F877A මයික්‍රෝකොන්ට්‍රෝලරයේ ඇති Interrupt වර්ග.

මයික්‍රෝකොන්ට්‍රෝලරයේ  ඇති බොහෝ ඒකක Interrupt ආකාරයෙන් පාලනය කිරීම සදහා පහසුකම් සපයා ඇත.ඒ අනුව ඇති මෙම Interrupt වර්ග ප්‍රධාන ආකාර දෙකකට වෙන් කල හැක. 

1.අභ්‍යන්තර අතුරු බිදුම් (internal interrupt)

Interrupt එක ඇති කරනු ලබන්නේ මයික්‍රෝකොන්ට්‍රෝලරයේ අභ්‍යන්තර පරිපථ කොටසකින් නම් එය internal interrupt එකක් ලෙස හදුන්වනු ලබයි.උදාහරනයක් ලෙස Serial ක්‍රමයට දත්ත සම්ප්‍රේශණය කිරීම Interrupt එකක් ලෙස යෙදාගත හැක.ඒ අනුව පහත දැක්වෙන්නේ එලෙස යොදාගත හැකි ඒකක කිහිපයක් වේ.
•Timer
•Parallel Slave Port Read/Write
•A/D Converter
•USART Receive
•USART Transmit
•Synchronous Serial Port
•CCP1 (Capture, Compare, PWM)
•CCP2  (Capture, Compare, PWM)
•Comparator
•EEPROM Write Operation

2.බාහිර අතුරු බිදුම් (external interrupt)
මෙහිදී Interrupt එක ඇති කරනු ලබන්නේ මයික්‍රෝකොන්ට්‍රෝලරයට බාහිර පරිපථයකින් නම් එය බාහිර අතුරු බිදුම්ක් ලෙස හදුන්වනු ලබයි.මෙම interrupt මයික්‍රෝකොන්ට්‍රෝලරයට ලබා දීම සදහා පින් එකක් හෝ කිහිපයක් අන්තර්ගත කොට ඇත.උදාහරන ලෙස මයික්‍රෝකොන්ට්‍රෝලරයේ පින් එකක් මත වොල්ටීයතාවය වෙනස් කිරීම මගින් interrupt එකක් ඇති කිරීම ගත හැක.


PIC 16F877A මයික්‍රෝකොන්ට්‍රෝලරයේ interrupt සදහා ඇති රෙජිස්ටර

ඉහත දක්වා ඇති ඒකක interrupt ආකාරයෙන් යොදා ගැනීම සදහා interrupt හා සම්බන්ද රෙජිස්ටර ඇත.ඒ අනුව පහත දැක්වෙන්නේ PIC16F877A මයික්‍රෝකොන්ට්‍රෝලරයේ interrupt ජනනය කිරීම සහ එම ජනනය වූ interrupt එකට අදාල වැඩසටහනට  පිවිසීමට සැකසුම් සකස් කිරීම සදහා ඇති රෙජිස්ටර වේ.

INTCON
OPTION_REG
PIE1
PIR1
PIE2
PIR2

Interrupt යොදාගෙන වැඩසටහන් කරනය

ඉහත රෙජිස්ටර යොදාගෙන interrupt සක්‍රිය කර වැඩසටහන් කරන ආකාරය පිළිබදව අවබෝද කර ගැනීම සදහා උදාහරනයක් මගින් විමසා බලමු.මේ සදහා යොදාගන් ලබන්නේ බාහිර අතුරු බිදුමක් (external interrupt) වේ.ඒ අනුව PIC 16F877A මයික්‍රෝකොන්ට්‍රෝලරයේ 33 වන පින් එක external interrupt  එකක් ජනනය කිරීමට ඇති පින් එකක් වේ.එනම් මෙම පින් එක මත වෝල්ටීයතාවය වෙනස් වන විට interrupt ජනනය වේ.  ඒ අනුව මෙම interrupt එක සක්‍රිය කර ගැනීමට අවශ්‍ය වන රෙජිස්ටර පිළිබදව සලකා බලමු.



INTCON Register




GIE – Global Interrupt Enable

මෙම බිටුව මගින් සියලුම Interrupt සක්‍රිය කිරීම සිදු කරනු ලබයි.

1 – Enables all unmasked interrupts
0 – Disables all interrupts


PEIE – Peripheral Interrupt Enable

මෙම බිටුව මගින් සියලුම Peripheral Interrupt සක්‍රිය කිරීම සිදු කරනු ලබයි.

1 – Enables all unmasked peripheral interrupts

            0 – Disables all peripheral interrupts


TMR0IE – Timer 0 Overflow Interrupt Enable
මෙම බිටුව මගින් TMR Overflow Interrupt සක්‍රිය කිරීම සිදු කරනු ලබයි.
         1 – Enables the TMR0 interrupt
         0 – Disables the TMR0 interrupt

INTE – RB0/INT External Interrupt Enable
මෙය මගින් RB0/INT External Interrupt සක්‍රිය කිරීම සිදු කරනු ලබයි.
    1 – Enables the RB0/INT external interrupt
    0 – Disables the RB0/INT external interrupt

RBIE –  RB Port Change Interrupt Enable
මෙය RB Port Change Interrupt සක්‍රිය කිරීම සිදු කරනු ලබයි.
1 – Enables the RB port change interrupt
0 – Disables the RB port change interrupt
 

TMR0IF – Timer 0 Overflow Interrupt Flag

මෙම බිටුව Interrupt ජනනය වූ විට දැන ගැනීම සදහා ඇති Flag බිටුවකි.ඒ අනුව මෙම බිටු යොදාගනු ලබන්නේ TMR0 register එක overflow වීම හදුනා ගැනීම සදහා වේ. 
1 – TMR0 register has overflowed. It must be cleared in software.
0 – TMR0 register did not overflow



INTF – RB0/INT External Interrupt Flag

මෙම බිටුවද Flag බිටුවක් වන අතර මෙය යොදා ගනු ලබන්නේ RB0 පින් එක මත වොල්ටීයතා වෙනසක් ඇති වූ විට ඒ බව පෙන්වීම සදහා වේ. 
1 – The RB0/INT external interrupt occurred. It must be cleared in software.
0 – The RB0/INT external interrupt did not occur



RBIF – RB Port Change Interrupt Flag

මෙම බිටුම මගින් RB4 සිට RB7 දක්වා ඇති පින් මත වෝල්ටීයතාවයේ වෙනසක් ඇති වුවහොත් ඒබව පෙන්වීම සදහා යොදාගනු ලබයි. 
1 – At least one of the RB7 – RB4 pins changed state,
0 – None of the RB7 – RB4 pins have changed state
 
පහත දැක්වෙන්නේ external interrupt සක්‍රිය කර වැඩ සටහනක් නිර්මාණය සදහා වන පරිපථ සටහන සහ MikroC වැඩසටහන වේ