MAX232-01 (Dual EIA-232 Drivers/Receivers), PC로 문자 보내기

      MCU와 PC와의 통신을 위하여 RS232를 사용할떄 대부분 사용하는 반도체 소자입니다. 일반적으로 MCU 에서 RS232를 위하여 내보내거나 받아들이는 신호는 High 인 경우 5 V, Low 인 경우 0 V입니다. PC의 경우 High 인 경우 -12 V, Low 인경 +12 V로 전압차이가 있습니다. 이러한 신호 차이를 해결해 주는 소자가 바로 MAX232로 RS232 통신에서 흔하게 사용하는 소자입니다.

     
ref) http://www.ti.com/lit/ds/symlink/max232.pdf




MAX232를 사용하여 PC와 통신하기 위한 회로


     MAX232를 ㅎ사용하여 MCU에서 0 ~ 99 까지 숫자를 PC로 보내는 프로그램입니다. 숫자 0을 보내기 전에 PC로 "Start"를 먼저 보내고 숫자를 0 부터 보내도록 하였습니다. 프로그램에서

//***********************************************************************
// MAX232를 사용한 PC와 통신하기
//***********************************************************************  											 
                    
#include  <16f687.h>
										
#device   ADC=10
#fuses    HS                                        //* 4MHz 이상은 HS
#use      delay (clock = 18432000)      //* 사용한 크리스탈
//* *** UART (RS232)를 사용하기 위한 설정
#use 		rs232 (baud=19200, xmit=PIN_B7, rcv=PIN_B5)
                                                      
#define     LED_ON          output_low  (PIN_C2)
#define     LED_OFF         output_high (PIN_C2)
#define     IN_SW           input (PIN_A3)
										                                                    
void main (void)
{	int16 idx = 0 ;
				
	printf ("$#CLR_LCD;") ; delay_ms (100) ;		//* LCD 모두 지우기
	printf ("$#BL_ON;") ;					//* LCD Back Light 켜기

	while (1) {
		printf ("Start")	; putc (0x0D) ; putc (0x0A) ;

		for (idx = 0;idx <= 99;idx ++) {
			printf ("idx: %3ld", idx)	;
			putc (0x0D) ; putc (0x0A) ;
			delay_ms (200) ;
		}
	} 
}     
                                                     
//***********************************************************************  										 




  
TOP
Next >