[8051] Acesso a porta serial RS232

Rotina que mostra como acessar a serial do 8051.

Código Fonte

;Este programa mostra a utilização do canal de comunicação serial,
;nele é continuamente enviada a frase: "TRANSMITINDO DADOS".

;Cristal: 11.0592MHz

;Configurações:

;Serial -> Modo 1
;Baud Rate -> 2400Bps

ORG 0000H            ;End. inicial da mem ROM

MOV A,#00H           ;Limpar o acumulador

;Configuração do canal serial
MOV SCON,#01000000B  ;Porta serial configurado no Modo 1
MOV PCON,#00000000B  ;SMOD em 0

;Configuração do Timer 1 para geração de Baud Rate
MOV TMOD,#00100000B  ;Timer 1 configurado no modo 2
MOV TL1,#0F4H        ;Carga inicial p/ 2400Bps
MOV TH1,#0F4H        ;Regarga p/ 2400Bps
SETB TR1             ;Liga o Timer 1

;Rotina de envio contínuo
TRANSMIT: MOV DPTR,#0100H      ;Carrega ponteiro com o endereço de início da mensagem
MOV R0,#00H          ;Zera R0
VOLTA: MOV A,R0             ;Guarda o valor de Acc em R0
MOVC A,@A+DPTR       ;Carrega caracter da mensagem em Acc
CJNE A,#'#',CONTINUA ;Compara com o caracter de terminação se não terminou continua

SJMP TRANSMIT        ;Retorna ao ao início da mensagem

CONTINUA: MOV SBUF,A           ;Envia carcter
INC R0               ;Incrementa R0
JNB TI,$             ;Verifica se já transmitiu
CLR TI               ;Zera a flag TI para novo envio

SJMP VOLTA           ;Volta para enviar o caracter seguinte

;Mensagem a ser enviada
ORG 0100H            ;Endereço do 1º caracter da mensagem

DB 'TRANSMITINDO DADOS','#'  ;Mensagem a ser enviada, "#" é caracter de terminação

END                  ;Fim de compilação

Obrigado e até o próximo post.

DATEK Tecnologia Eletrônica
[8051] Acesso a porta serial RS232
Tags:                         

Deixe uma resposta

%d blogueiros gostam disto: