8
 Dente Azul Tecnologia [www.denteazul.com.br ] 1 Tutorial Prático RS232  Às vezes é necessário simular a comunic ação RS232 antes de montar o circuito, este tutorial aborda como realizar esta simulação no PROTEUS usando o compilador PIC C. O projeto mostrado a seguir lançará mão do uso de uma interrupção externa para ler o estado das chaves SW1, SW2, SW3 e enviar esta informação para o computador utilizando o canal d e comunicação RS232 . Para que seu projeto tenha êxito é necessário que os programas a seguir estejam devidamente instalados em seu computador:  Virtual Serial Ports Drivers;  HyperTerminal. NOTA: Estes programas são os responsáveis por simular o uso das portas ou canais de comunicação RS232 por onde seus dados estarão trafegando. É possível também usar programas similares a estes desde que as condições e configurações sejam obedecidas.  Após instalar os programas citados monte o circ uito mostrado na figura a se guir:  Após montado o circuito acima, vá até o compilador PIC C  e crie um projeto novo em PIC Wizard usando o PIC16F877A, e em Interrupts escolha a interrupção externa e digite o seguinte código: #include <16F877A.h> #device adc=8 RA0/AN0 2 RA1/AN1 3 RA2/AN2/VREF-/CVREF 4 RA4/T0CKI/C1OUT 6 RA5/AN4/SS/C2OUT 7 RE0/AN5/RD 8 RE1/AN6/WR 9 RE2/AN7/CS 10 OSC1/CLKIN 13 OSC2/CLKOUT 14 RC1/T1OSI/CCP2  16 RC2/CCP1  17 RC3/SCK/SCL  18 RD0/PSP0  19 RD1/PSP1  20 RB7/PGD  40 RB6/PGC  39 RB5  38 RB4  37 RB3/PGM  36 RB2  35 RB1  34 RB0/INT  33 RD7/PSP7  30 RD6/PSP6  29 RD5/PSP5  28 RD4/PSP4  27 RD3/PSP3  22 RD2/PSP2  21 RC7/RX/DT  26 RC6/TX/CK  25 RC5/SDO  24 RC4/SDI/SDA  23 RA3/AN3/VREF+ 5 RC0/T1OSO/T1CKI  15 MCLR/Vpp/THV 1 U1 PIC16F877A C1 33pF C2 33pF X1 CRYSTAL R1 1k GND  ERROR TXD 3 RXD 2 CTS 8 RTS 7 DSR 6 DTR 4 DCD 1 RI 9 P1 COMPIM R4 10k SW1 SW-SPST R5 1k SW2 SW-SPST R6 1k SW3 SW-SPST R7 1k D0 D1 D2 D0 D1 D2

Tutorial Prático RS232[]

Embed Size (px)

Citation preview

Page 1: Tutorial Prático RS232[]

5/7/2018 Tutorial Prático RS232[www.denteazultecnologia.com.br] - slidepdf.com

http://slidepdf.com/reader/full/tutorial-pratico-rs232wwwdenteazultecnologiacombr 1/7

 

Dente Azul Tecnologia [www.denteazul.com.br]

Tutorial Prático RS232

 Às vezes é necessário simular a comunicação RS232 antes de montar o circuito, este tutorial aborda

como realizar esta simulação no PROTEUS usando o compilador PIC C. O projeto mostrado a seguir 

lançará mão do uso de uma interrupção externa para ler o estado das chaves SW1, SW2, SW3 e enviar 

esta informação para o computador utilizando o canal de comunicação RS232 .

Para que seu projeto tenha êxito é necessário que os programas a seguir estejam devidamente

instalados em seu computador:

  Virtual Serial Ports Drivers;

  HyperTerminal.

NOTA: Estes programas são os responsáveis por simular o uso das portas ou canais de comunicação

RS232 por onde seus dados estarão trafegando. É possível também usar programas similares a estes

desde que as condições e configurações sejam obedecidas.

 Após instalar os programas citados monte o circuito mostrado na figura a seguir:

 Após montado o circuito acima, vá até o compilador PIC C e crie um projeto novo em PIC Wizard usando

o PIC16F877A, e em Interrupts escolha a interrupção externa e digite o seguinte código:

#include <16F877A.h>#device adc=8 

RA0/AN02

RA1/AN13

RA2/AN2/VREF-/CVREF4

RA4/T0CKI/C1OUT6

RA5/AN4/SS/C2OUT7

RE0/AN5/RD8

RE1/AN6/WR9

RE2/AN7/CS10

OSC1/CLKIN13

OSC2/CLKOUT

14

RC1/T1OSI/CCP216

RC2/CCP117

RC3/SCK/SCL18

RD0/PSP019

RD1/PSP120

RB7/PGD40

RB6/PGC39

RB538

RB437

RB3/PGM36

RB2 35RB1

34RB0/INT

33

RD7/PSP730

RD6/PSP629

RD5/PSP528

RD4/PSP427

RD3/PSP322

RD2/PSP221

RC7/RX/DT26

RC6/TX/CK25

RC5/SDO24

RC4/SDI/SDA23

RA3/AN3/VREF+5

RC0/T1OSO/T1CKI15

MCLR/Vpp/THV1

U1

PIC16F877A

C1

33pF

C2

33pF

X1CRYSTAL

R1

1k

GND

ERROR

TXD3

RXD2

CTS8

RTS7

DSR6

DTR4

DCD1

RI9

P1

COMPIM

R410k

SW1

SW-SPST

R51k

SW2

SW-SPST

R61k

SW3

SW-SPST

R71k

D0 D1 D2

D0

D1D2

Page 2: Tutorial Prático RS232[]

5/7/2018 Tutorial Prático RS232[www.denteazultecnologia.com.br] - slidepdf.com

http://slidepdf.com/reader/full/tutorial-pratico-rs232wwwdenteazultecnologiacombr 2/7

 

Dente Azul Tecnologia [www.denteazul.com.br]

 2 

#FUSES NOWDT   //No Watch Dog Timer  

#FUSES HS  //High speed Osc (> 4mhz) 

#FUSES PUT   //Power Up Timer  

#FUSES NOPROTECT   //Code not protected from reading #FUSES NODEBUG  //No Debug mode for ICD 

#FUSES NOBROWNOUT   //No brownout reset  

#FUSES NOLVP   //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O 

#FUSES NOCPD  //No EE protection 

#FUSES WRT_50%  //Lower half of Program Memory is Write Protected  

#use delay(clock=20000000)

#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)

 //Declaração das variáveis que irão receber o valor inteiro do estado dos pinos D0, D1 e D2.

int d0;int d1;

int d2;

 //Função da interrupção externa

#int_EXT 

void EXT_isr(void)

 //as variáveis serão correpondentes ao estado dos pinos D0, D1 e D2 respectivamente

d0 = input(PIN_D0);

d1 = input(PIN_D1);

d2 = input(PIN_D2);

 //Envio da informação através do RS232

 printf("Mode Chave 1: [%d]\n\rMode Chave 2: [%d]\n\rMode Chave 3: [%d]\n\r", d0, d1, d2);

 }

void main()

setup_adc_ports(NO_ANALOGS);

setup_adc(ADC_OFF);

setup_psp(PSP_DISABLED);

setup_spi(SPI_SS_DISABLED);

setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);setup_timer_1(T1_DISABLED);

setup_timer_2(T2_DISABLED,0,1);

setup_comparator(NC_NC_NC_NC);

setup_vref(FALSE);

 //Ativação das interrupções globais e da interrupção externa

enable_interrupts(INT_EXT);

enable_interrupts(GLOBAL);

 //Definindo que a ocorrência da interrupção externa se dará na borda de descida (high to low)

ext_int_edge(H_TO_L);

 //Inicio do envio de dados através do canal de comunicação RS232

 printf("\n\r\n\r\n\r\n\r******* TESTE RS232 ******\n\r");

Page 3: Tutorial Prático RS232[]

5/7/2018 Tutorial Prático RS232[www.denteazultecnologia.com.br] - slidepdf.com

http://slidepdf.com/reader/full/tutorial-pratico-rs232wwwdenteazultecnologiacombr 3/7

 

Dente Azul Tecnologia [www.denteazul.com.br]

while(1);

 }

 Após instalar os programas citados siga os seguintes passos:

1º Passo: Abra o programa Virtual Serial Port Driver e clique em Add pairs como mostra a figura abaixo:

2º Passo: Verifique se as portas COM1 e COM2 foram adicionadas no local indicado pela figura abaixo:

3º Passo: Abra o HyperTerminal e crie uma nova conexão com o nome portCOM1 como mostra a figuraabaixo:

Page 4: Tutorial Prático RS232[]

5/7/2018 Tutorial Prático RS232[www.denteazultecnologia.com.br] - slidepdf.com

http://slidepdf.com/reader/full/tutorial-pratico-rs232wwwdenteazultecnologiacombr 4/7

 

Dente Azul Tecnologia [www.denteazul.com.br]

4º Passo: No campo Conectar-se usando escolha a opção COM1.

5º Passo: Nas Propriedades de COM1 escolha 9600 no campo Bits por segundo.

6º Passo: Vá em File e posteriormente em Properties. 

Page 5: Tutorial Prático RS232[]

5/7/2018 Tutorial Prático RS232[www.denteazultecnologia.com.br] - slidepdf.com

http://slidepdf.com/reader/full/tutorial-pratico-rs232wwwdenteazultecnologiacombr 5/7

 

Dente Azul Tecnologia [www.denteazul.com.br]

5  

7º Passo: Vá na aba Settings e clique sobre o botão ASCII Setup... 

8º Passo: Marque a caixa Echo typed characters locally  

Page 6: Tutorial Prático RS232[]

5/7/2018 Tutorial Prático RS232[www.denteazultecnologia.com.br] - slidepdf.com

http://slidepdf.com/reader/full/tutorial-pratico-rs232wwwdenteazultecnologiacombr 6/7

 

Dente Azul Tecnologia [www.denteazul.com.br]

9º Passo: Abra o HyperTerminal novamente e crie uma outra conexão com o nome portCOM2 comomostra a figura abaixo (siga as mesmas configurações da portCOM1).

10º Passo: Faça o teste de conexão escrevendo um texto em qualquer janela e verifique que o mesmo

texto estará sendo ecoado para a outra janela do HyperTerminal. Isto ocorrerá durante a simulação,

mas a COM1 será o canal de comunicação estabelecido no PROTEUS. Após feito o teste feche a janela

 portCOM1. 

11º Passo: Volte à simulação criada no PROTEUS e dê um clique duplo sobre o conector DB9, configure o

campo Physical port como COM1 e deixe o restante como mostra a figura abaixo:

Page 7: Tutorial Prático RS232[]

5/7/2018 Tutorial Prático RS232[www.denteazultecnologia.com.br] - slidepdf.com

http://slidepdf.com/reader/full/tutorial-pratico-rs232wwwdenteazultecnologiacombr 7/7

 

Dente Azul Tecnologia [www.denteazul.com.br]

7  

12º Passo: Dê play na simulação e veja o resultado: