
Estamos trabalhando no link de RF para o nosso projeto de futebol de robôs, então já começamos a implementar a comunicação serial com MAX232, neste sábado de 24/03/2007 Victory e Murilo implementaram com sucesso a comunicação seria com MAX232 entre 2 comutadores, e assim que o link de RF chegar já estará tudo pronto p/ só fazer a ligação e trocar dados via ambiente wireless!
Enquanto murilo se concentrava em modular o projeto em uma placa padrão, Victory adiantou a implementação do software assembler para comunicar com o 8051 do robô armlock de sumô de robô, afinal antes de implementarmos o novo robo de futebol vamos controlar remotamente via RF o robô antigo para garantir a funcionalidade total do protocolo e só então partir para a etapa seguinte do projeto. Dessa forma pretendemos economizar tempo pois a montagem do sumô já esta funcional
Esperamos daqui a alguns dias estar com o kit de RF em mãos para fazer os testes... ahh e tb consertar nosso kit de 8051 q está com o display quebrado, pois o programa implementado escreve os caracteres recebidos no display!
Segue parte do código implementado... infelizmente o blog tá acusando limite de caracteres esgotado, então se quiser o resto é só solicitar via hereim@ig.com.br :
;Inicia programa no endereço de reset
ORG 0000h
JMP main
;Endereço de interrupção serial
ORG 0023h
jmp trata_serial
;Pula endereços de registradores
ORG 0030h
main:
;Configura comunicação serial Assincrona 8bits (mode 1) baud-rate dado por Timer1 (SM0=0, SM1=1)
;Habilita recepção de dados (REN=1)
MOV SCON, #01010000b
;Dobra relacao de divisao de frequencia na serial (SMOD = 0)
MOV PCON, #00000000b
;Configura Timer1 8bits auto-reload (mode 2) (T1M1=1, T1M0=0)
;Configura Timer0 16bits (mode 1) (T1M1=0, T1M0=1)
MOV TMOD, #00100001b
;Baud-Rate = 9600
MOV TH1, #0FDh
MOV TL1, #00h
;Configura interrupção serial (EA=1, ES=1)
MOV IE, #10010000b
;Limpa flag de interrução
CLR RI
;Ativa Timer1
SETB TR1
;loop infinito para leitura de dados da serial
JMP $
;********************************************************************************************
; Trata recebimento de dados via serial
;********************************************************************************************
trata_serial:
MOV A, SBUF ;Lê dado recebido
LCALL wrcar1 ;Chama a funcao que escreve caracter lido no LCD
CLR RI
RETI
(...)
|
||||
|
||||