seven segment display with pic assembler part - 02

 

                                    ඩිජිට් හතර ඉවෙන්ට් කවුන්ටරය


මුල් කවුන්ටරයේ ලක්ෂණ දක්වන මෙහි වෙනසකට තිඛෙන්නේ ඉලක්කම් හතරක සංඛ්‍යාවක් 0000 සිට 9999 දක්වා ප්‍රදර්ශනය කළ හැකි වීමයි. මෙහිදී අප විසින් පාවිච්චි කරන්නේ මල්ටි ප්ලෙක්ස් ස්කෑනින් නම් ක්‍රමයයි. මෙහිදී වරින් වර එක සේග්මන්ට් බැගින් සෙලෙක්ට් කරමින් එයට අදාල පැටන් එක පොර්ට් බී හරහා ලබාදෙයි . මෙය ප්‍රමානවත් වේගයකින් පවත්වාගෙන යන කල විට ග්මන්ට් හතරම ම දැල්වී ඇති සේ පෙනේ.


මුල් කවුන්ටරයේ හා මෙහි වෙනසකට තිඛෙන්නේ  100 101 102 103  යන ස්ථාන වලට පිළිවෙලින් කවුන්ටර් හතරක් යොදා තිබීමයි.තවද මෙහිදි අප විසින් ප්‍රදාන අග්‍රය වශයෙන් පෝට් බී සීරෝ බිට් එක යොදා ගනී. ආර් .බී සීරෝ අතුරු බිඳුම සක්‍රීය කර එමගින් ප්‍රදාන ස්පන්දය ලබා දීමට සලසා ඇත .

සාමාන්‍ය ප්‍රදානයක් වෙනුවට අතුරු බිඳුමක් හරහා ප්‍රදානයක් ලබා ගන්නේ ගන්නේ ඇයි ??

මෙම ඛේතයේ තනි සෙග්මනට් එකේ කවුන්ටරයට සාපේක්ෂව ඛේතය විශාල බැවින් ප්‍රදාන ස්පන්ද මග හැරීමට ඇති ඉඩ කඩ වැඩිය .නමුත් අතුරු බිඳුම සක්‍රීය කර තැබූ විට ස්වයංක්‍රීයවම ඉන්ටර්රප්ට් වෙක්ටර් එකට ඇතුල් වන නිසා ස්පන්ද මග හැරීමේ අවදානම අවම වේ ..

ආර් බී සීරෝ අතුරු බිඳුම වින්‍යාස ගත කරන්නේ කෙසේද ??


මෙහිදී ඔබ විසින් ඉන්ට්කොන් රෙජිස්ටරයේ ජී. අයි. ඊ සහ අයි. එන්.ටී .ඊ යන බිට් සෙට් කර තැබිය යුතු අතර ආර් බී සීරෝ අග්‍රයට ස්පන්දයක් ලැබුණු වහාම ඛේතය 0X04 හෙවත් ඉන්ටර්රප්ට් වෙක්ටර් කොටසට ඇතුළු වේ .මෙවිට ප්‍රථමව අයි. එන්.ටී .‍ එ‍‍ෆ් යන ‍‍ෆ්ලෑග් බිට් එක පරීක්ෂා කර බලන අතර එය සෙට් වී නොමැති නම් RETFIE (RETURN FROM INTERRUPT)  යන විධානයෙන් අතුරු බිඳුමෙන් ඉවත් වේ .සෙට් වී ඇත්නම් අයි. එන්.ටී .‍ එ‍‍ෆ් ‍‍ෆ්ලෑග් බිට් එක ක්ලියර් කර ඒ යටතේ ඇති ඛේතය ක්‍රියාත්මක කල යුතුය .


·   GIE - Global Interrupt Enable bit - controls all possible interrupt sources simultaneously.

o       1 - Enables all unmasked interrupts.

o       0 - Disables all interrupts.

·   PEIE - Peripheral Interrupt Enable bit acts similar to GIE, but controls interrupts enabled by peripherals. It means that it does not affect interrupts triggered by the timer TMR0 or by changing state on port B or RB0/INT pin.

o       1 - Enables all unmasked peripheral interrupts.

o       0 - Disables all peripheral interrupts.

·   T0IE - TMR0 Overflow Interrupt Enable bit controls interrupt enabled by TMR0 overflow.

o       1 - Enables the TMR0 interrupt.

o       0 - Disables the TMR0 interrupt.

·   INTE - RB0/INT External Interrupt Enable bit controls interrupt caused by changing logic state on pin RB0/IN (external interrupt).

o       1 - Enables the INT external interrupt.

o       0 - Disables the INT external interrupt.

·   RBIE - RB Port Change Interrupt Enable bit. When configured as inputs, port B pins may cause interrupt by changing their logic state (no matter whether it is highto- low transition or vice versa, fact that something is changed only matters). This bit determines whether interrupt is to occur or not.

o       1 - Enables the port B change interrupt.

o       0 - Disables the port B change interrupt.

·   T0IF - TMR0 Overflow Interrupt Flag bit registers the timer TMR0 register overflow, when counting starts from zero.

o       1 - TMR0 register has overflowed (bit must be cleared in software).

o       0 - TMR0 register has not overflowed.

·   INTF - RB0/INT External Interrupt Flag bit registers change of logic state on the RB0/INT pin.

o       1 - The INT external interrupt has occurred (must be cleared in software).

o       0 - The INT external interrupt has not occurred.

·   RBIF - RB Port Change Interrupt Flag bit registers change of logic state of some port B input pins.

o       1 - At least one of the port B general purpose I/O pins has changed state. Upon reading portB, RBIF (flag bit) must be cleared in software.

o       0 - None of the port B general purpose I/O pins has changed state.

                           (* RELATED BITS ARE MARKED IN RED)




source code is on https://github.com/mikrohouse/asm-tutorials/tree/main/SSD

Comments

Popular posts from this blog

pic micro assembler tutorials in sinhala part1

microc for pic

pic assembler eeprom