Академический Документы
Профессиональный Документы
Культура Документы
ORG 00h
MOV SCON,#40h ;SM0=0 SM1=1 SM2=0 REN=0 TB8 RB8 TI RI
MOV TMOD,#20h ;G C/T M1 M2 X X X X -> T1 MODO 2
MOV TH1,#253 ;256-N
MOV TL1,#253 ;256-N
SETB TR1 ;TIMER RUN
MOV A,#'A'
VOLTA: CJNE A,#'Z'+1,ENVIA
SJMP $
ENVIA: MOV SBUF,A ;CARREGO O DADO NO SBUF
JNB TI,$ ;AGUARDO O ENVIO
INC ACC ;INCREMENTO O ACC
CLR TI
SJMP VOLTA
END
--------------------------------------------
--------------------------------------------
;Exemplo 2: Receber um dado e enviar esse mesmo dado pela porta serial...
ORG 00h
MOV SCON,#50h ;SM0=0 SM1=1 SM2=0 REN=0 TB8 RB8 TI RI
MOV TMOD,#20h ;G C/T M1 M2 X X X X -> T1 MODO 2
MOV TH1,#253 ;256-N
MOV TL1,#253 ;256-N
SETB TR1 ;TIMER RUN
lOOP: JNB RI,$ ;AGUARDO CHEGAR UM CARACTERE
CLR RI ;LIMPO A FLAG
MOV A,SBUF ;LEIO O DADO RECEBIDO
MOV SBUF,A ;CARREGO O REGISTTRADOR C O DADO A SER
ENVIADO
JNB TI,$ ;AGUARDO O ENVIO
CLR TI ;LIMPO A FLAG
SJMP LOOP
END
--------------------------------------------
--------------------------------------------
;Exemplo 3: Receber um dado e enviar esse mesmo dado pela porta serial usando
interrup��es...
--------------------------------------------
--------------------------------------------
;Exemplo 4: Escrever um firmware que envie uma msg via rs-232. Utilize o caractere
'#' para indicar o fim da mensagem...
ORG 00h
INICIO: MOV SCON,#40 ;SM0=0 SM1=1 SM2=0 REN=0 TB8=0 RB8=0 TI=0 RI=0
(TB8CONFIG. SCON)
MOV TMOD,#20h ;G C/T M1=1 M0=0
MOV TL1,#253 ;256 - N
MOV TH1,#253 ;9600 BPS
SETB TR1 ;LIGO T1
MOV DPTR,#MSG ;INFORMA AO PTPTR ONENDERE�O 1� CARACTERE DA MENSAGEM
LOOP: MOV A,#0 ;LIMPO O ACUMULADOR
MOVC A,@A+DPTR
CJNE A,#'#',ENVIA
SJMP $