interface serial

Software e Hardware para linha x51

Moderadores: 51, guest2003, Renie, gpenga

interface serial

Mensagempor avidaehdura » 26 Nov 2007 16:32

ae pessoal

sou novato com 8051
quem puder me ajudar, por favor, to precisando.
preciso fazer um programa (em assembly)que receba pela interface serial bytes(8 bits de dados) à taxa 9,6kbits po segundo. cada dado recebido deve ser comparado a 20h. caso o dado recebido seja igual a 20h, o programa deve rotacionar um bit aceso (nivel logico 1) na porta p1

valeu
avidaehdura
 
Mensagens: 1
Registrado em: 23 Nov 2007 20:27

Mensagempor Francesco » 15 Mai 2008 16:33

Olá,

O programa que você quer fazer não é difícil. Qual cristal você está usando? Isso definirá a velocidade da sua porta serial.
Caso seja de 11,0592MHz, a conta fica assim:

Velocidade = ( ( 2^SMOD ) * Cristal ) / ( 384 * ( 256 - TH1 ) )

Velocidade são seus 9600bps, SMOD é um bit de configuração, aceita apenas 1 ou 0. Cristal é a velocidade do seu cristal em Hz, e TH1 é o valor a ser configurado no Timer 1, esse valor (TH1) é o que você quer.

Supondo que seu cristal seja 11,0592MHz e SMOD seja 0, o valor de TH1 é FDh.

Uma configuração básica pode ser feita assim:

MOV SCON,#60h
MOV TMOD,#20h
MOV TH1,#0FDh
SETB TR1

Quando um dado é recebido, a flag RI é setada. Você pode fazer o programa principal ficar testando ela.

JNB RI,$
MOV A,SBUF
CLR RI

Agora é só testar. Basta fazer um SUB e comparar as flags.
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP


Voltar para 8051

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x