8051
AVR
EZLab
PIC
80C196KC
DSP
ARM
VHDL
¸¶ÀÌÅ©·Î¸¶¿ì½º
·Îº¿Ã౸
Battle ·Îº¿
·Îº¿´ëȸ
È޸շκ¿
Embeded Linux
HW/SW °­ÁÂ
RTOS
 
 

5. ½Ã¸®¾ó Åë½ÅÁ¦¾î ¹æ¹ý

 

  ÀÌ·ÐÀ» ¸ÕÀú °øºÎÇÏ°í, ¿¹Á¦·Î PIC(PIC16C73B ȤÀº PIC16F84)³¢¸® ¼­·Î Åë½ÅÇؼ­ I/O Æ÷Æ®¿¡ DISPLAY ´õ ³ª¾Æ°¡ LCD¿¡ DISPLAYÇÏ´Â °Í ±îÁö Çغ¸´Â °ÍÀÌ ÀúÀÇ ¸ñÇ¥ÀÔ´Ï´Ù. ÀÏ´ÜÀº I/O Æ÷Æ®¿¡ DISPLAYÇÏ´Â °Í±îÁö ÇÏ°í ´ÙÀ½ °­Á¿¡ LCD¿¡ ´ëÇØ ¾Ë¾Æº» ÈÄ °è¼ÓµÇ´Â ¿¹Á¦·Î PIC³¢¸® Åë½ÅÇؼ­ LCD¿¡ Åë½ÅÇÑ ¹®ÀÚ¸¦ Ç¥½ÃÇÏ´Â °Í±îÁö ÇØ º¾½Ã´Ù. ÀÌ·ÐÀº ÀÎÅͳݻ󿡼­ RS232 °­Á¸¦ ÆÛ¿Â ±ÛÀ̹ǷΠº» °­ÁÂ¿Í ¾à°£Àº °ü°è°¡ ¾øÀ» ¼öµµ ÀÖ½À´Ï´Ù. ÀÌÇØÇϽñ⠹ٶó°í Âü°íÀÚ·á·Î È°¿ëÇϽñ⠹ٶø´Ï´Ù.

1. ½Ã¸®¾ó Åë½ÅÀ̶õ?

    "½Ã¸®¾ó Åë½Å"À̶õ ÀϹÝÀûÀ¸·Î ÄÄÇ»ÅÍ ±â±â¸¦ Á¢¼ÓÇÏ´Â ¹æ¹ýÀÇ Çϳª·Î, Á¢¼ÓÇÏ´Â ¼±ÀÇ ¼ö¸¦ »è°¨ÇÏ°í, ¶ÇÇÑ ¿ø°Å¸®±îÁö ½ÅÈ£¸¦ º¸³¾ ¼ö ÀÖµµ·Ï ÇÑ ¹æ½ÄÀ» ¸»ÇÑ´Ù. À̶§ ½ÅÈ£°¡ 1ºñÆ®¸¶´Ù ½Ã¸®¾ó(Á÷·Ä)·Î º¸³»Áö±â ¶§¹®¿¡ ½Ã¸®¾ó Åë½ÅÀ̶ó ºÎ¸¥´Ù.


2. ÆÛ½º³ÎÄÄÇ»ÅÍ¿ÍÀÇ Á¢¼Ó

    ¿©±â¼­´Â Åë½Å Á¢¼Ó »ó´ë¹æÀ» ÆÛ½º³ÎÄÄÇ»ÅÍ·Î ÇÑ´Ù. ±×·¯³ª, ÀÌ ½Ã¸®¾ó Åë½ÅÀÇ Á¢¼ÓÀº Ç¥ÁØÈ­µÇ¾î ÀÖÀ¸¸ç, "RS-232C"¶ó ºÎ¸£°í Àִµ¥, ´ëºÎºÐÀÇ ÆÛ½º³ÎÄÄÇ»Åͳª ¸ðµ©ÀÌ ÀÌ ±Ô°Ý¿¡ µû¸£°í Àֱ⠶§¹®¿¡ °°Àº ¹æ¹ýÀ¸·Î Á¢¼ÓÇÒ ¼ö ÀÖ´Ù.
    ÀÌ Á¢¼Ó¿¡´Â "25ÇÉ DSUB Ä¿³ØÅÍ"³ª "9ÇÉ ¹Ì´Ï DSUB Ä¿³ØÅÍ"¶ó ºÎ¸£´Â Ä¿³ØÅÍ°¡ ÀϹÝÀûÀ¸·Î »ç¿ëµÇ°í ÀÖÀ¸¹Ç·Î, ±×°ÍÀ» ÀüÁ¦·Î ¼³¸íÇÑ´Ù. Àú´Â º¸Åë 9ÇÉ DSUB Ä¿³ØÅ͸¦ »ç¿ëÇÕ´Ï´Ù. 2¹ø, 3¹ø, 5¹ø¸¸ ¿¬°áÇصµ µÇ´õ¶ó±¸¿ä. ¾ÈµÇ¸é 4¹ø 5¹øÀ» ¼­·Î ´Ü¶ô ½Ãŵ´Ï´Ù.

     

    Ä¿³ØÅÍÀÇ ÇÉ ¹øÈ£¿Í ½ÅÈ£ ¹× °£ÀÌÀûÀÎ »ç¿ë¹ýÀº ¾Æ·¡ Ç¥¿Í °°´Ù.

¹Ì´ÏDSUB
Ä¿³ØÅÍ

25ÇÉ
DSUB

½ÅÈ£ ¸íĪ

°£´ÜÇÑ »ç¿ë¹ý

1

8

CD(Data Carrier Detect)

ÀÔ·Â, »ç¿ëÇÏÁö ¾Ê´Â´Ù

2

3

RD(Receive Data)

ÀÔ·Â, »ó´ë¹æ TD¿¡ Á¢¼Ó

3

2

TD(Transmit Data)

Ãâ·Â, »ó´ë¹æ RD¿¡ Á¢¼Ó

4

20

DTR(Data Terminal Ready)

Ãâ·Â, »ç¿ëÇÏÁö ¾Ê´Â´Ù

5

7

SG(Signal Ground)

±×¶ó¿îµå, »ó´ë¹æ SG¿¡ Á¢¼Ó

6

6

DSR(Data Set Ready)

ÀÔ·Â, »ç¿ëÇÏÁö ¾Ê´Â´Ù

7

4

RTS(Request to Send)

Ãâ·Â, »ó´ë¹æ CTS¿Í Á¢¼Ó

8

5

CTS(Clear to Send)

ÀÔ·Â, »ó´ë¹æ RTS¿Í Á¢¼Ó

9

22

RI(Ring Indicate)

ÀÔ·Â, »ç¿ëÇÏÁö ¾Ê´Â´Ù

 

 

3. ½Ã¸®¾ó Åë½Å Á¦¾î ÇÁ·Î±×·¥ÀÇ ±¸¼º

      ¿©±â¼­ ¼Ò°³ÇÏ´Â Åë½Å¿ë ÇÁ·Î±×·¥Àº ŸÀÌ¸Ó ÀÎÅÍ·´Æ®¸¦ »ç¿ëÇÏ°í ÀÖ´Ù. ÀÌ ÀÎÅÍ·´Æ®¸¦ »ç¿ëÇÔÀ¸·Î½á °¢ ºñÆ®ÀÇ ½ÅÈ£¸¦ ±â´Ù¸®°í ÀÖ´Â µ¿¾È, ÄÄÇ»ÅÍ¿¡´Â ´Ù¸¥ ÀÛ¾÷À» ½Ãų ¼ö ÀÖ´Ù. µû¶ó¼­, Åë½ÅÀ» Çϸ鼭 ´Ù¸¥ ÀÏÀ» ÇÏ·Á´Â °æ¿ì, ¿¹¸¦ µé¸é Ç¥½Ã¸¦ Çϰųª ¸ðÅ͸¦ µ¿ÀÛ½ÃÅ°´Â ÀÏÀÌ °¡´ÉÇØÁø´Ù.
    Àüü´Â 3°³ÀÇ ÇÁ·Î±×·¥ ¸ðµâ°ú ÇϳªÀÇ º¯¼ö Á¤ÀÇ ºÎºÐÀ¸·Î ±¸¼ºµÇ¾î ÀÖ´Ù.

    ¿©±â¼­ ¾à°£ ¿¬±¸µÇ¾î ÀÖ´Â °ÍÀº ¿ì¼± ½ºÅ¸Æ® ºñÆ®ÀÇ ÀÎÅÍ·´Æ®°¡ µé¾î¿Ô´Ù¸é, È®ÀÎÇϱâ À§ÇØ 10¥ìs ±â´Ù¸° ´ÙÀ½, ´Ù½Ã Çѹø ÀÔ·ÂÀ» Àоîµé¿© º¸°í, °°Àº ½ÅÈ£¿´´Ù¸é ½ºÅ¸Æ® ºñÆ®·Î °£ÁÖÇÑ´Ù.
    ´Ù¸£¸é ³ëÀÌÁî·Î ÀÎÅÍ·´Æ®°¡ µé¾î¿Â °ÍÀ¸·Î °£ÁÖÇÏ¿© ¹«½ÃÇÏ°í, ´ÙÀ½ ½ºÅ¸Æ® ºñÆ®ÀÇ ÀÎÅÍ·´Æ®¸¦ ±â´Ù¸°´Ù.
    È®½ÇÈ÷ ½ºÅ¸Æ® ºñÆ®¸¦ ¹Þ¾Æµé¿´´Ù¸é ´ÙÀ½ÀÇ Å¸À̸Ӵ 1.5ºñÆ®ºÐÀÇ ½Ã°£À¸·Î ½ºÅ¸Æ®ÇÑ´Ù.
    ±×¸®°í time upÀÇ ÀÎÅÍ·´Æ®°¡ µé¾î¿À¸é µ¥ÀÌÅÍ·Î ÀÔ·ÂÀ» ÀоîµéÀδÙ. ÀÌ°ÍÀ¸·Î Ʋ¸²¾øÀÌ È®½ÇÇÑ µ¥ÀÌÅ͸¦ ÀоîµéÀÌ°Ô µÈ´Ù. ÀÌÇÏ, 1ºñÆ®ºÐ ½Ã°£ÀÇ Å¸À̸ӷΠ°è¼ÓÇÑ´Ù.


4. Åë½Å¼Óµµ¿ë ÆĶó¸ÞÅÍ

    (1) Åë½Å¼Óµµ¿ë ÆĶó¹ÌÅÍ


      Åë½Å¼Óµµ¸¦ °¡º¯À¸·Î Çϱâ À§ÇØ 2°³ÀÇ ÆĶó¹ÌÅ͸¦ »ç¿ëÇÏ°í ÀÖ´Ù. ±× °ªÀ» ±¸ÇÏ´Â ¹æ¹ýÀº ¾Æ·¡¿Í °°ÀÌ ÇÑ´Ù.
      ¿ì¼±, Åë½Å¼Óµµ·ÎºÎÅÍ 1ºñÆ®ÀÇ ÆÞ½ºÆøÀ» ±¸ÇÑ´Ù. ´ÙÀ½¿¡ ¸¶ÀÌÅ©·ÎÄÄÇ»ÅÍÀÇ Å¬·ÏÀ¸·Î ±×°ÍÀ» ³ª´©¾î Ä«¿îÅÍÀÇ °ªÀ» ±¸ÇÑ´Ù(1Ä«¿îÆ®´Â 4Ŭ·ÏºÐ). ±×¸®°í ±× Ä«¿îÆ®°ªÀ» ½ÇÇöÇÏ´Â prescaler¿Í TMR0ÀÇ °ªÀ» ±¸ÇÑ´Ù.
      ¾Æ·¡ Ç¥´Â ½ÇÁ¦ÀÇ ¿¹À̸ç, Ŭ·ÏÀº 10MHzÀÇ °æ¿ìÀÌ´Ù.

       

    BaudRate

    PulseWidth

    Counter

    prescale

    TMR0(BITTMR)

    width

    300bps

    3333.33usec

    8333

    64(5)

    130(7E)

    3328usec

    1200

    833.33

    2083

    16(3)

    130(7E)

    832

    2400

    416.67

    1041

    8(2)

    128(80)

    409

    4800

    208.33

    521

    4(1)

    124(84)

    198

    9600

    104.17

    260

    2(0)

    122(86)

    99

 

 

5. ½ÇÇè³»¿ë

1) ¸ñÀû

  CCS-C»çÀÇ PCM ÄÄÆÄÀÏ·¯¸¦ ÀÌ¿ëÇÏ¿© RS232C Åë½ÅÇÏ´Â ¹æ¹ýÀ» ÀÍÈù´Ù.

¶ÇÇÑ, PIC ³»ºÎÀÇ USART( RS232C )¸¦ ÀÌ¿ëÇÏÁö ¾Ê°í ¼ÒÇÁÆ®¿þ¾îÀûÀ¸·Î ÇÏ´Â ¹æ¹ýÀ» ÀÍÈù´Ù. ÀÌ·¸°Ô ÇÔÀ¸·Î¼­ USART°¡ ¾ø´Â ¿¹¸¦ µé¾î 5X °è¿­, 6X °è¿­ µî¿¡¼­ ¼ÒÇÁÆ®¿þ¾îÀûÀ¸·Î RS232C¸¦ ±¸ÇöÇÏ¿© °³¹ß½Ã ´Ü°¡¸¦ ÁÙÀ̴µ¥ ±× ¸ñÀûÀÌ ÀÖ´Ù.

¸¸ÀÏ °³¹ß½Ã ²À RS232C¸¦ Çϵå¿þ¾îÀûÀ¸·Î ÇؾßÇÑ´Â °æ¿ì´Â °Ô½ÃÆÇ¿¡ ±ÛÀ» ¿Ã·Á ÁÖ¼¼¿©~~

 

2) ¹æ¹ý

  ´ÙÀ½ÀÇ È¸·Îµµ¿¡¼­ º¸´Â ¹Ù¿Í °°ÀÌ PIC¿Í PICÀÇ RB0¸¦ ¼­·Î ¿¬°áÇÕ´Ï´Ù. RB0 Æ÷Æ®¸¦ ÅëÇØ PIC´Â ¼­·Î RS232C Åë½ÅÀ» ÇÑ´Ù. ¹°·Ð ÇÁ·ÎÅäÄÝÀ» RS232C ¸ðµâ¿¡¼­ ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó ¼ÒÇÁÆ®¿þ¾îÀûÀ¸·Î ¸¸µé¾î ÁØ´Â °Ì´Ï´Ù.

  

 

         

 

 

3) ÇÁ·Î±×·¥

  ÇÁ·Î±×·¥Àº PIC16C73B¿ëÀ¸·Î ÄÚµùÇß½À´Ï´Ù. Çì´õÆÄÀÏÀº Á¦°¡ °Ô½ÃÆÇ¿¡ ¿Ã¸° °ÍÀ¸·Î¸¸ ÇØ¾ß ÇÕ´Ï´Ù. ¸¸ÀÏ 74³ª, 84·Î Çغ¸½Ã°í ½ÍÀº ºÐÀº #include " "¹®¿¡¼­ ¹Ù²Ù¾î ÁÖ½Ã¸é µÇ±¸¿ä. ¹°·Ð Çì´õÆÄÀÏÀº °Ô½ÃÆÇ¿¡ ¿Ã¸®°Ú½À´Ï´Ù. µû¶ó¼­ °Ô½ÃÆÇ¿¡ ¿Ã¸° Çì´õÆÄÀÏÀº 73B, 74B, 84 ¸ðµÎ ¿Ã¸®°Ú½À´Ï´Ù.

                                         [RS232C ¼Û½Å(TX) ÇÁ·Î±×·¥ ]

#include "H_16C73B.h"
#use delay(clock=4000000)
#use rs232(baud=4800, xmit=pin_b0, rcv=pin_b1)

void main(void)
{
        char rcv_value;

        TRISB = 0x00;
        PORTB = 0x00; // Æ÷Æ® ÃʱâÈ­

        while(1) {

                // ¹®ÀÚ 'A'¸¦ RS232 Æ÷Æ®( RB0 )·Î º¸³½´Ù.

                putc('A'); delay_ms(1000);

        }
}

 

                                         [RS232C ¼ö½Å(RX) ÇÁ·Î±×·¥ ]

#include "H_16C73B.h"
#use delay(clock=4000000)
#use rs232(baud=4800, xmit=pin_b1, rcv=pin_b0)

#define         LED     RB7
#define         ON      1
#define         OFF     0

void main(void)
{
        char rcv_value;

        TRISB = 0x0f;
        PORTB = 0x00; // Æ÷Æ® ÃʱâÈ­

        while(1) {
                // RS232Æ÷Æ® Áï, rb0·Î µé¾îµµ´Â µ¥ÀÌÅÍ °¨Áö
                // -> kbhit()ÇÔ¼ö( ¸Þ´º¾ó ÂüÁ¶ )
                if( kbhit() ) {
                        // getc()ÇÔ¼ö´Â ¸Þ´º¾ó ÂüÁ¶  
                        rcv_value = getc();

                        // ¹ÞÀº °ªÀÌ ¹®ÀÚ 'A'À̸é RB7ÀÇ LED¸¦ ON ½ÃÅ°°í
                        // 'A'°¡ ¾Æ´Ï¸é RB7ÀÇ LED¸¦ OFF ½ÃŲ´Ù.
                        if( rcv_value == 'A' ) { LED = ON;  }
                        else                        { LED = OFF; }
                }
        }
}

 

4) ÇÁ·Î±×·¥ ¼³¸í

 ¼Û½Å( MCU_TX )ÂÊ¿¡¼­´Â ¹®ÀÚ 'A'¸¦ 1ÃÊ¿¡ Çѹø¾¿ º¸³»°í ¼ö½Å( MCU_RX )ÂÊ¿¡¼­´Â ¹®ÀÚ 'A'°¡ µé¾î¿À¸é RB7¿¡ 5[V]¸¦ º¸³»¾î LED¸¦ ÄÑ°í ´Ù¸¥ DATA°¡ µé¾î¿À¸é LED¸¦ OFF ½ÃŲ´Ù.




»óÈ£ : (ÁÖ) ·Îº¸ºí·° »ç¾÷ÀÚµî·Ï¹øÈ£:214-86-56219 Åë½ÅÆǸž÷½Å°í19-2544 ´ëÇ¥: ½Å´ë¼· ÀüÈ­:(02)2679-8556 Fax :(02)2679-8557 [°³ÀÎÁ¤º¸Ã³¸®¹æħ]
º»»ç : °æ±âµµ ºÎõ½Ã ¿ø¹Ì±¸ ¾à´ëµ¿ ºÎõ Å×Å©³ëÆÄÅ© 401µ¿ 502È£     ¼­¿ï»ç¹«¼Ò : ¼­¿ï½Ã ¿µµîÆ÷±¸ ¹®·¡µ¿ 4°¡ 8-1 4Ãþ
Copyright(C) 2004, (ÁÖ) ·Îº¸ºí·° ½Ã½ºÅÛÁî All Rights Reserved E-Mail : WebMaster