ÇнÀ¸ñÇ¥    1

ÇнÀÁÖÁ¦    1

¿¹½À³»¿ë    1

½Ç½À¹æ¹ý    1

°ú    Á¦    1

¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼­¿Í PCÅë½Å

ÇнÀ¸ñÇ¥

¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼­¿Í RS232Åë½ÅÀ» Á¦ÀÛÇÏ¿© ÇöÀå¿¡¼­ ½Ç½Ã°£ Á¦¾î¿¡ Ȱ¿ë ÇÑ´Ù.

ÇнÀÁÖÁ¦

PIC16F877°ú PC»çÀÌ¿¡ RS232C Åë½ÅÀ» ÇÏ¿© ¹®ÀÚ 1(0X31), 2(0X32) ÀÌ Àü¼ÛµÊ¿¡ µû¶ó LED1,2°¡ ON µÇµµ·Ï ÇÑ´Ù.

¿¹½À³»¿ë

PIC16F877¿¡¼­ RS232 Åë½Å ÇÁ·Î±×·¥

½Ç½À¹æ¹ý

 

1. ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼­ ÇÁ·Î±×·¥ ÀÛ¼º

¾Æ·¡´Â ¸¶ÀÌÅ©·ÎÇÁ·Î¼¼¼­ ÇÁ·Î±×·¥ÀÌ´Ù. °£´ÜÇÏ°Ô RS232C¸¦ Å×½ºÆ® ÇÒ ¼ö ÀÖ´Â ÇÁ·Î±×·¥ÀÌ´Ù. 16F877°ú PC¸¦ RS232C ÄÉÀ̺í·Î ¿¬°áÇϰí 16F877ÀÇ C1(Pin¹øÈ£16), C2(Pin¹øÈ£17), C4(Pin¹øÈ£23)¿¡ Anode ÇüÅ·ΠLED¸¦ ¿¬°áÇÑ´Ù.

16F877ÀÌ µ¿ÀÛÇϸé C4ÀÇ LED°¡ Á¡¸êÇÔÀ¸·Î µ¿ÀÛÀÇ »óŸ¦ ¾Ë ¼ö ÀÖ´Ù. Åë½ÅÀ¸·Î ¹®ÀÚ 1(¾Æ½ºÅ°ÄÚµå 0x31) ÀÌ µé¾î¿À¸é 16F877 C1À» Á¢Áö(0) ½ÃÄÑ LED°¡ ON µÇ°í, ¹®ÀÚ 2(¾Æ½ºÅ°ÄÚµå 0x32) ÀÌ µé¾î¿À¸é 16F877 C2À» Á¢Áö(0) ½ÃÄÑ LED°¡ ON µÈ´Ù.

 

//intrs232.c

 

#include <16F877.H>

#include <math.h>

#fuses   XT,NOPROTECT,NOWDT

 

#use delay(clock=20000000) // 20MHz Clock »ç¿ë

#define HIGH_START 20

#use rs232(BAUD=9600,XMIT=PIN_C6,RCV=PIN_C7,Parity=N,BITS=8) // 9600 bps ·Î Åë½Å ¼³Á¤

#use standard_io(B)

#byte port_b=6

byte seconds, high_count,in;

 

#int_rda                               // RS232C Åë½ÅÀÌ µé¾î¿À¸é ¾Æ·¡ ÇÔ¼ö°¡ ½ÃÀ۵ȴÙ.

void serial_isr() {

   in = getchar();

   output_high(PIN_C1);       // LED1,2¸¦ ÃʱâÈ­ ÇÑ´Ù. (OFF·Î ÃʱâÈ­)

   output_high(PIN_C2);

   if(in==0x31)                     // ¹®ÀÚ1ÀÌ µé¾î¿À¸é C1 Æ÷Æ®ÀÇ LED°¡ ON

      output_low(PIN_C1);

   else if(in==0x32)                            // ¹®ÀÚ1ÀÌ µé¾î¿À¸é C2 Æ÷Æ®ÀÇ LED°¡ ON

      output_low(PIN_C2);

}

 

main()

{

              enable_interrupts(global);

            enable_interrupts(int_rda);     // RS232C ÀÎÅÍ·´Æ® ¼³Á¤

 

              while(1) {                              //  C4 Æ÷Æ®ÀÇ LED°¡ 100mS °£°ÝÀ¸·Î Á¡µîÇÑ´Ù.

                             output_low(PIN_C4);

                             delay_ms(100);

                             output_high(PIN_C4);

                             delay_ms(100);

              }

}

 

óÀ½

°ú    Á¦

PC¿¡¼­ Visual C++ÇÁ·Î±×·¥À¸·Î 1,2¹ø ¹öưÀ» ¸¸µé°í ÀÌ ¹öưÀ» ON/OFF ÇÒ ¶§¸¶´Ù LED°¡ µ¿ÀÛÇϵµ·Ï ¸¸µç´Ù.