electronic sinhalen

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

Wednesday, February 5, 2020

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


pic microcontroller UART communication - 2

 මයික්‍රෝකොන්ට්‍රෝලරය යොදාගෙන   RS232 ක්‍රමයට දත්ත සංනිවේදනය කිරීම


RS232 ක්‍රමයට දත්ත සංනිවේදනය කිරීමට මයික්‍රෝකොන්ට්‍රෝලරය සතුව ඇති ඒකකය UART වේ.PIC16F877A මයික්‍රෝකොන්ට්‍රෝලරය තුලද මෙම ඒකකයක් අන්තර්ගත කොට ඇත.පහත දැක්වෙන්නේ මෙම UART ඒකකය හසුරවමින් RS232 ක්‍රමයට සංනිවේදනය හැසිරවීමට මයික්‍රෝකොන්ට්‍රෝලරය තුල ඇති රෙජිස්ටර වේ.

TXSTA -මෙම රෙජිස්ටරය මගින් දත්ත transmit කිරීම පාලනය කරනු ලබයි.

මෙම රෙජිස්ටරය මගින් දත්තය transmit කිරීමට අදාල data Frame    එක සකස් කිරීම සිදුකිරීම හා transmit ක්‍රියාවලිය පාලනය කිරීම සිදු කරනු ලබයි.පහත දැක්වෙනන්න එම ක්‍රියාවලිය සිදු කිරීමට අදාල බිට් සැකසුම් සුදුකරන ආකාරය වේ.
 

TX9: 9-bit Transmit Enable bit
1 = Selects 9-bit transmission

0 = Selects 8-bit transmission
මෙම බිට් එක මගින් Parity bit එකක් යොදා      transmission එක කරනවාද යන්න තීරනය කරනු ලබයි.
TXEN: Transmit Enable bit

1 = Transmit enabled
0 = Transmit disabled

SYNC: USART Mode Select bit
1 = Synchronous mode
0 = Asynchronous mode
BRGH: High Baud Rate Select bit
1 = High speed
0 = Low speed
TRMT: Transmit Shift Register Status bit
1 = TSR empty
0 = TSR full
TX9D: Parity bit එක ලෙස යෙදෙනු ලබන බිට් එක යෙදීම සිදුකරයි.
RCSTA - මෙම රෙජිස්ටරය මගින් බාහිර සිට පැමිනෙන  දතත් පාලනය කිරීම සිදු කරනු ලබයි.


මෙම රෙජිස්ටරය මගින් බාහිර උපාංගයේ සිට පැමිනෙන data Frame  පාලනය කිරීම සහ නැවත දත්තය සැදීම සිදු කරනු ලබයි.
 
SPEN: Serial Port Enable bit  - RC7, RC6 පින් සිරියල් ක්‍රමයට දත්ත ගමන් කිරීමට සකස් කිරීම සිදු කරනු ලබයි.
1 = Serial port enabled
0 = Serial port disabled
RX9: 9-bit Receive Enable bit  - data Frame  එකේ Parity bit එකක් අත්ද නැත්ද යන්න සටහන් කිරීමටයොදාගනු ලබයි.
1 = Selects 9-bit reception
0 = Selects 8-bit reception
SREN: Single Receive Enable bit 
මෙම බිට් එක මෙම සංනිවේදනයේදී නොසලකා හරිනු ලබයි.
CREN: Continuous Receive Enable bit

Asynchronous mode:
1 = Enables continuous receive
0 = Disables continuous receive
ADDEN: Address Detect Enable bit
මෙම බිට් එක යොදාගනු ලබන්නේ Parity bit එකක් සහිත සංනිවේදන වලදී වේ.
Asynchronous mode 9-bit (RX9 = 1):
1 = Enables address detection, enables interrupt and load of the receive buffer when RSR is set
0 = Disables address detection, all bytes are received and ninth bit can be used as parity bit
FERR: Framing Error bit
1 = Framing error (can be updated by reading RCREG register and receive next valid byte)
0 = No framing error
OERR: Overrun Error bit
1 = Overrun error (can be cleared by clearing bit CREN)
0 = No overrun error
RX9D: 9th bit of Received Data (can be parity bit but must be calculated by user firmware)


SPBRG - RS232 ක්‍රමයේ ඇති වැදගත්ම කොටස වන Baud Rate එක සකස් කිරීම මෙම රෙජිස්ටරයමගින් සිදු කරනු ලබයි.
TXREG -මෙම රෙජිස්ටරය යොදාගනු ලබන්නේ ඉහත transmit කිරීමට  සකස්කල data Frame  එක ගබඩාකර තබාගැනීම සදහා වේ. 

RCREG- මෙම රෙජිස්ටරය මගින් කරනු ලබන්නේ බාහිර උපාංගයේ සිට පැමිනෙන data Frame  එක ගබඩාකර තබා ගැනීමට වේ.


MikroC මගින්  RS232 ක්‍රමයට දත්ත සංනිවේදනය කිරීම



MikroC යොදාගෙන RS232 ක්‍රමයට දත්ත සංනිවේදනය කිරීම සදහා ඉහත ආකාරයට රෙජිස්ටරවල දැනුමක් අවශ්‍යය නොවේ.ඊට හේතුව වන්නේ MikroC හී language libry එක මගින් මෙම රෙජිස්ටර යොදාගෙන සංනිවේදනය කිරීම සදහා function නිර්මාණය කර තිබීමයි.ඒ අනුව මෙම function යොදාගෙන පහසුවෙන් RS232 ක්‍රමයට සංනිවේදනය සිදු කර ගත හැක.පහත දැක්වෙන්නේ RS232 ක්‍රමයට යොදාගැනෙන එම function වේ.


UART1_Init(Baud Rate):- RS232 ක්‍රමයට සංනිවේදනය ආරම්බ කිරීම සහ Baud Rate එක සකස් කිරීම සිදු කරනු ලබයි.
UART1_Data_Ready:-යම් දත්තයක් ලැබෙන්නේ නම් එය ලැබීමට සූදානම් කරනු ලබයි.මෙහිදී 1 නම් receive register දත්ත ලබා ගත හැක.0 නම් receive register යේ දත්ත නොමැත
UART1_Read():-receive register ඇති දත්ත ලබා ගැනීම සදහා යොදාගනු ලබයි.
UARTx_Read_Text:- Text වර්ගයේ දත්තයක් කියවීම සිදු කරනු ලබයි.
UARTx_Write :- දත්තයක් Transmit කිරීම සිදු කරනු ලබයි.
UARTx_Write_Text :- Text වර්ගයේ දත්තයක් Transmit කිරීම සිදු කරනු ලබයි.
 

Programming PIC Microcontroller for UART Communication:

මෙම වැඩසටහන මගින් මයික්‍රෝකොන්ට්‍රෝලරයේ UART ඒකකය යොදාගෙන RS232 ක්‍රමය මගින් දත්ත සංනිවේදනය කරන ආකාරය පැහැදිලි කරගත හැක.ඒ සදහා PIC16F877A මයික්‍රෝකොන්ට්‍රෝලර දෙකක් යොදාගෙන එම දෙක අතර RS232 ක්‍රමයට දත්ත  සංනිවේදනය කරන ආකාරය සලකා බලමු.ඒ අනුව මෙහිදී සිදු කරනු ලබන්නේ එක් මයික්‍රෝකොන්ට්‍රෝලරයට lcd display එකක් සම්බන්ද කර ඇති අතර අනෙක් මයික්‍රෝකොන්ට්‍රෝලරයට  keypad එකක් සම්බන්ද කර, keypad එක මගින් ලබා දෙන දත්ත RS232 ක්‍රමයට lcd එක සම්බන්ද  මයික්‍රෝකොන්ට්‍රෝලරයට  ලබා දී, එම දත්ත lcd එකේ ප්‍රදර්ශනය කරන ආකාරයේ වැඩසටහනකි. පහත දැක්වෙන්නේ එම වැඩසටහනට අදාල පරිපථ සටහන් සහ මයික්‍රෝකොන්ට්‍රෝලරයන්ට අදාල වැඩසටහන් වේ.