Registrador sbuf

Computação43,18 KB

COMUNICAÇÃO SERIAL 8051

scon

Registrador SBUF: Lugar onde fica a byte serial. É um registrador duplo
Pois pode servir pára escrever (modo de transmissão) e ler (modo de
recepção).
TRANSMISSÃO
MOVSBUF, A ; carrega o byte a ser transm. No ACC, e joga no SBUF
RECEPÇÃO
MOVA,SBUF ; carrega o valor do byte recebindo, e joga no ACC (pára ser lido)
Pára recever um um dado serial o BIT REN (do SCON) deve estar setado e o BIT
RI zerado. Ao receber a informação (via SBUF) o RI é setado automaticamente,
Indicando que tem um byte no SBUF. Exemplo
LOOP:        JNB          RI, LOOP         ; fica em loop até o serial ter recebido um byte
                   CLR         RI                      ;zera RI pára próxima recepção
                   MOV      A,SBUF            ; lê o byte recebido

Na trasmissão o BIT TI (do SCON) fica setado quando o SBUF está vazio, ou seja, a
Transmissão já foi feita. Exemplo
LOOP:     JNB         TI, LOOP      ; éspera o SBUF ficar vazio, ou seja, TI = 1
                CLR         TI                 ;zera TI pára próxima transmissão
                MOV      SBUF, A        ; carrego novo byte a ser transmitido

BAUND-RATE (TAXA DE TRANSMISSAO DE DADOS):A velocidade na qual
os modemsImagen  conseguem transmitir dados. A taxa de transmissão de dados
é o número de eventos, ou mudanças de sinal, que ocorrem em um
segundo - e não o número de bitsImagen transmitidos por segundo (bpsImagen).
Baund-RATE = (2^SMOD) x freq. De overflow do timer/cont1
                               32
SMOD (BIT 8 do registrador PCON, é 0 ou 1)
Número de contagens = freq, de clock/ 12               = freq, de clock
                                            freq.Overflow do timer        freq.Overflow do timer x 12
Carga do time = 256d - número de contagens d (d = decimal)
INTERRUPÇÃO SERIAL
MOV    Ié, #90H ; INTERRUPÇÃO SERIAL HABILITADA!
ORG     0023H ; endereço de interrupção SERIAL
SJMP    NOME DA ROTINA ;desvia pára esse endereço de int.
A interrupção ocorre quando o bit RI ou TI é setado.
Estrutura de delay
DELAY
MOVLW          Número MULTIPLICADOR do delay
MOVWF          TEMP2
DL_0
MOVLW          .250
MOVWF          TEMP1
DL_1                             ; Delay de 1ms
NOP
DECFSZ              TEMP1, F ;decremente temp 1, e guarda o result, em temp1.
GOTO                DL_1

DECFSZ              TEMP2,F
GOTO                 DL_0
RETURN

Baixar

PDF Word HTML