Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
ws
Feed RSS
CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A
Categorias
Escrito por Claudio Larios em 7 de agosto de 2012 Ir para comentrios Deixe um comentrio (48)
CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A Selecionar categoria
Categorias
Controlar brinquedos por controle remoto tem sido um dos passatempos mais apreciados por crianas e
tambm adultos. Muitos gastam fortunas comprando replicas de carros, locomotivas, etc. Os menos
afortunados nas finanas , preferem ser mais economicos, montando suas proprias rplicas e construindo
seus prprios circuitos eletrnicos. Em alguns casos, queremos apenas controlar alguma coisa a distncia,
como por exemplo, um aparelho colocado no telhado ou em um prdio distante. Ser que poderiamos tirar
proveito das facilidades de programao de um microcontrolador para fazermos isto? Veja a resposta
Temas comuns
Temas
64bitsASM
comuns
ASP.NET ATMEGA ATMEGA8
Este projeto experimental, utiliza 2 PICs 16F628A , sendo um no transmissor e outro no receptor. No Mapa de visitas
transmissor, temos 8 chaves ligadas aos pinos do PIC, que quando acionadas, setaro as respectivas saidas
no receptor (led 0 a led 7). Esta saidas podero controlar reles de carga, controlando assim maior potncia. Mapa de 4486
visitas
v isits
since 19 Jun 2013
Cargas pequenas podero ser controladas por transistores, tambm pode-se usar foto acopladores como
MOC3021 para controlar triacs diretamente em corrente alternada (lampadas, motores,etc). Use sua
imaginao!!!
O protocolo usado, basicamente envia um startbit, seguido por um numero de 8 bit, correspondente ao
NMERO IDENTIFICADOR do aparelho, aps o que, vem os 8 bits correspondentes ao estado dos botes e
um intervalos final entre transmisses. A idia do numero do aparelho, poder usar varios conjuntos tx +
Meta
rx de numeros diferentes, sem que um controle o outro (pelo menos em teoria). Este nmero poder ser
alterado no arquivo asm e dever ser recompilado para obter o novo arquivo hex. Registrar-se
Registrar-se
Meta
Um bit 0 formado por 1 periodo de tempo low + 2 periodos de tempo high na saida, pino 17. O bit 1 Login
corresponde a 2 periodos de tempo em nivel low, seguido de 1 periodo de tempo em nivel high na saida, Posts RSS
pino 17. RSS dos comentrios
A rotina de recepo examina a cada 50 microsegundos o estado do pino 17 (entrada de rf) e se=0 WordPress.org
incrementa o contador LC. Se for =1, incrementa o contador HC. A diferena entre eles corresponde ao
bit a ser transferido no contador de saida (Res1,Res0). Em uma recepo bem sucedida, o byte Res0
Atividade Frum
comparado com um nmero fixo do aparelho, e se for igual, ir colocar na saida (Portb), os valores
recebidos. Caso cesse a transmisso, os contadores de tempos NOTX1 E NOTX, sero decrementados pela
Atividade Frum
Re: PIC by: Guest
July 5, 2013, 23:54
rotina, e , chegando em zero, iro apagar todas as saidas (clrf portb).
Re: PIC by: Guest
July 5, 2013, 23:44
Dever ser usado transmissor e receptor na frequencia cedida a controle remotos na faixa de 27 mhz .
larios.tecnologia.ws/iBlog/archives/1332 1/13
19/07/13 CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A | larios.tecnologia.ws
Existe muitos vendidos comercialmente, mas podero ser tambm montados. Abaixo temos um exemplo Re: PIC by: Guest
ilustrativo de circuito transmissor e receptor, comum nos sites da internet, (porm, no tendo sido testado July 5, 2013, 23:37
por mim, nem tenho algum em especial para recomendar): PIC by: Guest
July 5, 2013, 23:34
Como se trata de uma montagem experimental, foi testada apenas em protoboard, com um tx + rx de 433
mhz, mas, para uso em brinquedos, no permitido, porque nesta frequencia, poder atrapalhar o
funcionamento de equipamentos como portes, alarmes, etc.
CR27_TX_ASM
CR27_TX_HEX
CR27_RX_ASM
larios.tecnologia.ws/iBlog/archives/1332 2/13
19/07/13 CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A | larios.tecnologia.ws
CR27_RX_HEX
Curiosidades:
Filas
Petrleo acabar algum dia?
Gs Natural energia para o lar
Ponte da torre Uma entrada para Londres
Outros assuntos:
Como lidar com os sogros?
Desempenhem bem o papel de pais
Como reagir ao assdio sexual
Como lidar com problemas financeiros e dvidas
Converse com seus filhos sobre sexo
At o prximo artigo!!!
CONTROLE REMOTO
HT6P_CLONE_PIC629 GERANDO CDIGO HT6P HCS_PIC GERANDO PROTOCOLO HCS 200301 VIA
POR SOFTWARE EM UM PIC 12F629 SOFTWARE EM PIC 12F629
Ol Mauro!
Use a formula para a frequncia de Pwm resultante fornecido no datasheet do
prprio PIC16f877a, na pagina 67 ;
PWM PERIOD
The PWM period can be calculated using the
following formula:
PWM Period = [(PR2) + 1] 4 TOSC
(TMR2 Prescale Value)
PWM frequency is defined as 1/[PWM period].
Em alguns casos, ter de escolher outro cristal que possibilite a frequencia correta.
Outras rotinas tero de ser ajustadas para a nova frequencia.
Quanto a filtro de boto, voc poder testar o boto e aps uns 2 msegundos,
testar de novo para eliminar debounce. Outra maneira decrementar um contador
previamente carregado enquanto o boto estiver no nivel desejado, e se houve um
ruido, mudando para o outro estado, recarregar o valor no contador, e quando sair
da contagem em zero, porque no houve
mais ruido de chaveamento.
Claudio
larios.tecnologia.ws/iBlog/archives/1332 3/13
19/07/13 CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A | larios.tecnologia.ws
simplesmente sou apaixonado por programao e eletrnica.
O que fao pegar partes de programas j prontos e executveis e vou montando e
emendando pra chegar no meu objetivo, esse seu cdigo fiz o teste no protoboard e
funciona que uma beleza.
Vc esta certo apesar de eu j estar fazendo calo na bunda eu no to conseguindo
configurar os bits e nem fazer o incremento e decremento correto. To usando o registrado
res1 dessa maneira para separar e identificar o canal e mandar para o pwm para ser
incrementado/decrementado.
Ficaria assim RX:
CCP1 PWM1 MOTOR1
CCP2 PWM2 MOTOR2
B1 ESQUERDA
B2 DIREITA
B3 FRENTE
B4 R
E mais uns incrementos tipo buzina, farol etc. Eu vo verificar suas dicas e qualquer
resultado eu posto aqui, mais uma ves Agradeo.
Ol Mauro!
Gostaria de lembra-lo que com um nico PWM no conseguir controlar vrios
canais. Voc tem que escolher um nico canal para ser PWM ou usar um
microcontrolador com vrios PWMs.
Claudio
CBLOCK 0X20
PWM_SOBE,PWM_DESCE,RES1,RES0,RES1A,RES0A,FLAGS,BITCOUNTER,LC,HC,CONT,R0,R1,R2,NOTX,NOTX1,AUX
ENDC
seg EQU 20h
mili EQU 21h
x EQU 22h
W2 EQU 23h
ST2 EQU 24h
ORG 0X0000
GOTO START
;=============================PWM=========================
ORG 0X0004
movwf W2 ; salvo o W em W2
movf STATUS,W ; W = Status original
movwf ST2 ; Salva em ST2
BTFSS INTCON,T0IF
GOTO SAI_INT
BCF INTCON,T0IF
GOTO INCREMENTA_CCPR1L
GOTO SAI_INT
INCREMENTA_CCPR1L
MOVLW .255 ;255
XORWF CCPR1L,W
BTFSC STATUS,Z
GOTO SAI_INT
INCF CCPR1L,F
;DECREMENTA_CCPR1L
; MOVLW .0 ;0
; XORWF CCPR1L,W
; BTFSC STATUS,Z
; GOTO SAI_INT
larios.tecnologia.ws/iBlog/archives/1332 4/13
19/07/13 CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A | larios.tecnologia.ws
; DECF CCPR1L,F
SAI_INT
movf ST2,W ; le STATUS2 para w
movwf STATUS ; e recupera
movf W2,W ; recupero W original
retfie ; retorna da interrupcao.
;=======================================================
START:
MOVLW 0X07
MOVWF CMCON ;DESLIGA COMPARADORES
MOVLW .0
MOVWF PORTA
MOVWF PORTB
BANK1
MOVLW B11010110
MOVWF OPTION_REG
MOVLW B00000001 ;ENTRADA RF
MOVWF TRISA
MOVLW B00000000 ;TUDO SAIDA
MOVWF TRISB
MOVLW B10000000
movwf TRISC
MOVLW B00000000
MOVWF TRISD
MOVLW B00000000
MOVWF TRISE
MOVLW .255
MOVWF PR2
BANK0
MOVLW B00000111
MOVWF CMCON
MOVLW B11100000
MOVWF INTCON
MOVLW B00000110
MOVWF T2CON
CLRF CCPR1L
MOVLW B00001100
MOVWF CCP1CON
DECFSZ NOTX,F
GOTO SEG_RECP
MOVLW VNOTX
MOVWF NOTX
DECFSZ NOTX1,F
GOTO SEG_RECP
CLRF PORTB ;DESLIGA TODAS AS SAIDAS, SE NO HOUVER SINAL RF
SEG_RECP
GOTO L1
M0
MOVFW LC ;TESTA SE NO PASSOU DO LIMITE MAXIMO DE TEMPO EM LOW NA
ENTRADA DE RF
larios.tecnologia.ws/iBlog/archives/1332 5/13
19/07/13 CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A | larios.tecnologia.ws
SUBLW TMAX
BTFSS STATUS,C
GOTO INICIO ;C=0 (-) LC>TMAX (REJEITAR DADO PAUSA INICIAL)
MOVFW HC ;OBTEM O VALOR DE CARRY(HUM OU ZERO)
SUBWF LC,W
RRF RES1,F ;DESLOCA O BIT NOS REGISTRADORES DE RESULTADO
RRF RES0,F
DECFSZ BITCOUNTER,F ;DECREMENTA O CONTADOR DE BITS A SER RECEBIDO
GOTO L0 ;LE PROXIMO BIT
BTFSC FLAG1 ;TESTA SE A PRIMEIRA OU A SEGUNDA RECEPO
GOTO PULA1
MOVFW RES1 ;SALVA A PRIMEIRA LEITURA PARA COMPARAO COM UMA SEGUNDA
MOVWF RES1A
MOVFW RES0
MOVWF RES0A
BSF FLAG1 ;SETA FLAG DE PRIMEIRA RECEPO
GOTO INICIO
PULA1
BCF FLAG1 ;SEGUNDA RECEPO, COMPARA COM A PRIMEIRA
MOVFW RES1
XORWF RES1A,W
BTFSS STATUS,Z
GOTO ERROTX
MOVFW RES0
XORWF RES0A,W
BTFSS STATUS,Z
GOTO ERROTX ;ERRO DE RECEPO
GOTO ACIONAR ;OK BOA RECEPO
ERROTX
CLRF RES1A ; APAGA RESULTADOS DE COMPARAO
CLRF RES0A
GOTO INICIO
;============================\\ INICIO
//===========================
ACIONAR
MOVLW 0XAA
XORWF RES0,W
BTFSS STATUS,Z
GOTO INICIO
;===========================\\ PWM_SOBE //===============
COMF RES1,W
MOVWF PWM_SOBE
MOVLW .128
XORWF PWM_SOBE,W
BTFSS STATUS,Z
bCf intcon,t0if
MOVLW .108
MOVWF TMR0
;GOTO VAI
GOTO PWM_CAI
;===========================\\ PWM_DESCE //==============
PWM_CAI
COMF RES1,W
MOVWF PWM_DESCE
MOVLW .8 ; 64
XORWF PWM_DESCE,W
BTFSC STATUS,Z
GOTO FOI
GOTO POE_PORTB
;===========================================================
;VAI
;BSF PORTB,7
;CALL S1
;BCF PORTB,7
;GOTO ENFRENTE
FOI
BSF PORTB,6
CALL S1
BCF PORTB,6
GOTO ENFRENTE
;=============================POE NA PORTA
B=================
POE_PORTB
COMF RES1,W ;PEM NA SAIDA
MOVWF PORTB
ms1
movlw 249 ; carrega x com o valor 249 (decimal)
movwf x ; 2 us ( 1 do movlw e 1 do movwf )
ms2
nop ; + 1 us
decfsz x ; + 1 us (no ltimo eh 2 e pula p/ decfsz seg)
larios.tecnologia.ws/iBlog/archives/1332 6/13
19/07/13 CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A | larios.tecnologia.ws
goto ms2 ; + 2 us, total 4us.(no ltimo no passa aqui)
; (4 us x 249)-1 totaliza 995 us
decfsz mili ; +1 us (na ltima pasagem 2 us)
goto ms1 ; +2 us (na ltima passagem pula)
; total ms1 (1000 x 100)-1 = 99999
decfsz seg ; + 1 us (no ltimo eh 2 e pula p/ return)
goto ms100 ; +2 us (na ltima passagem pula)
;===========================fim da rotina de 1
segundo===================
CLRWDT
GOTO $-1
end
Ol Mauro!
Fico feliz que esteja fazendo progresso com o programa. Quanto a ser louco por
programar em assembly , creio que vai do costume. Se voc comea com C
difcil querer aprender em assembly. Mas, parece que o oposto tambm ocorre.
Creio que todas as linguagens tem suas vantagens e desvantagens. Quanto ao seu
cdigo, verifique no datasheet do pic 16f877,pagina 67, como usar corretamente o
PWM. O registrador CCP1L + CCP1CON nos bits 4,5 , tem que ser
incrementados/decrementados para variar o tempo on/off em plena escala. Eu
achei estranho a sua rotina de interrupo, pois nela voc est incrementando o
CCP1L. Tambm, ao receber a transmisso correta, voc esta usando todo o
registrador res1 para comandar. Quantos botes voc esta usando para aumentar e
diminuir? Quantos canais sero? Como atuaro? Procure colocar no papel a
sequencia de idias, de como funcionar cada passo. Depois, comece a digitar cada
poro de cdigo. Voc est indo muito bem. No desista!
Cludio
Ol Jos Luis!
Obrigado por seu comentrio e o incentivo. Quanto a adaptar seu relgio, d com
certeza, se voc descobrir como a multiplexao. Se for por coluna com display e
linhas com os seguimentos fcil. Basta ligar transistores que chaveiem os leds por
seguimentos e outro que chaveie a alimentao do display. O display seria um
caseiro? O relgio projeto com pic ou comercial, do tipo radio/relgio?
Cludio
larios.tecnologia.ws/iBlog/archives/1332 7/13
19/07/13 CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A | larios.tecnologia.ws
basico que ascender o led kkkkkkk se vc pudesse me ajudar eu agradeco desde de ja
estou desesperado meu tcc ja o mes que vem vlw abraos!!!
Ol Ewerton! No estou dispondo de tempo para poder ajudar, mas sugiro que
voc converse com o orientador de projetos de TCC de sua escola, de como ele
deseja que seja feito este trabalho de concluso. Caso alguns dos leitores deste blog
tiverem algum material que possa ser util, por favor, enviem diretamente para ele.
Claudio
Ol Ney! Seria sim, mas tem que acrescentar mais linhas de cdigo. Seria um misto
de pulso e reteno. Veja como pode ser feito
neste exemplo aqui j publicado.
Claudio
ola Claudio, j tinha ate dado uma olhada no cdigo v6 publicado com (pulso
ou reteno) ainda estou gateando, no consigo fazer algumas alteraes,
mas ainda chego-la. se vc tive um tempinho, minha ideia seria usa o pino 1
ou pino 2 para selecionar um Jumper pulso ou reteno. a montei um
transmissor com frequncia 433,92 Mhz para usa no luga daquele publicado
de 27 Mhz facio de monta com alcance ate 100m, assim que tive bem testado
irei passa pra vc posta aqui.
Ol Ney!
No entendi bem o que voc quer fazer? No que seria usado?
Claudio
larios.tecnologia.ws/iBlog/archives/1332 8/13
19/07/13 CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A | larios.tecnologia.ws
Pode ficar tranquilo quanto segurana e etc.Sou de Santo
Antnio do Monte-MG,a capital brasileira dos fogos de artifcio, eu
j trabalhei na fabricao deles, meu pai trabalha at hoje e
conheo outros detonadores sem fio e com fio.Meu projeto
didtico tambm e mesmo que apresente falhas, o risco mnimo
devido ao conhecimento que tenho dos perigos e precaues que
vou tomar.
Ol Aslem! Menos mau ento. Para fazer o que voc deseja, ter
que aumentar a quantidade de bit a ser enviado em +8 bit, tanto
no tx como no rx. Ter que fazer testes em mais 8 chaves, talvez
colocando-as no portD. O portA incompleta, no Pic 16f877,
sendo melhor usar o portB e Portc no lugar do portA e B.
Vai envolver muitas mudanas, com certeza. No momento, no
estou com disponibilidade de tempo para isto, e tambm, no
tenho um pic 16f877 (40 pinos) para testes. Talvez tenha um
16f872 (28 pinos) . Vai para o caderninho, ok.
Claudio
Ol Aloisio! O startbit no deve ser alterado, mas o primeiro byte pode ser usado
para diferenciar um tx de outro. Veja o pedao de cdigo abaixo:
INICIO:
;=============================
MOVLW 0XAA ;CDIGO DO TX
MOVWF RES0
MOVFW PORTB ;PEGA INFORMAO DAS TECLAS
XORLW 0XFF
BTFSC STATUS,Z
GOTO INICIO ;AGUARDA ALGUMA TECLA SER APERTADA
MOVFW PORTB
MOVWF RES1
ENVIAR:
Voce pode alterar a primeira linha acima,onde est MOVLW 0XAA ;CDIGO DO
TX
para outro valor, como por exemplo, MOVLW 0X33 ;CDIGO DO TX .
A mesma mudana tem que ser feito no receptor que ir receber o sinal.
Cludio
Ol Gilvan!
O que voc quer fazer chama-se modo de reteno, ou seja , um aperto no boto
ir ligar e outro aperto , desligar. Sim, possivel fazer isto. Ter que alterar a rotina
um pouco. Sugiro que voc estude os arquivos asm do RECEPTOR DE CONTROLE
REMOTO GENERICO PARA HT6P20B COM PIC 12F629 , de como foi feito na
verso 6 PULSO/RETENO. Depois, altere as linhas para fazer o que deseja e
recompile no Mplab-ide.
Cludio
larios.tecnologia.ws/iBlog/archives/1332 9/13
19/07/13 CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A | larios.tecnologia.ws
Claudio Larios 7 de novembro de 2012 em 08:40 Faa login para responder
Ol Gilvan! Creio que seja um simples problema de polarizao. Voce deve estar
usando o mesmo valor do resistor para o led na base do bc 548. Tente troca-lo por
um de 10K. Lembre-se que o nivel low do Pic pode variar de 0,2 at por volta de
0,8 volts. O transistor passa a conduzir a partir de 0,5 chegando a saturao com
0,7 volts. Na situao de low com o,6 volts j faria o transistor conduzir e ligar o
rele.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CBLOCK 0X20
RES1,RES0,RES1A,RES0A,FLAGS,BITCOUNTER,LC,HC,CONT,R0,R1,R2,NOTX,
NOTX1,AUX,OUT,RES1TX,RES0TX,R6,R5,R7,BTS ;registradores
ENDC
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ORG 0X00
GOTO START
ORG 0X04
RETFIE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
START:
MOVLW 0X07
MOVWF CMCON ;DESLIGA COMPARADORES
MOVLW .0
MOVWF PORTA
MOVWF PORTB
BANK1
CLRF OPTION_REG ;HABILITA PULL-UP
BANK0
CLRF FLAGS ;APAGA REGISTRADOR DE FLAGS
larios.tecnologia.ws/iBlog/archives/1332 10/13
19/07/13 CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A | larios.tecnologia.ws
MOVLW VNOTX
MOVWF NOTX
MOVLW VNOTX1
MOVWF NOTX1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INICIOTX:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
ENVIAR:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
PAUSA:
MOVLW .23 ;23 UNIDADES BASICAS DE BIT
MOVWF R6
RTY:
CALL DELAY1CK
DECFSZ R6,F
GOTO RTY
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
CALL STARTBIT
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
MOVLW QBYTE ;QUANTIDADE DE BITS A TRANSMITIR
MOVWF R5
VOLT10:
BCF STATUS,C
RRF RES1TX,F
RRF RES0TX,F
BTFSC STATUS,C
GOTO EB1
CALL BIT0
VV13:
DECFSZ R5,F
GOTO VOLT10
GOTO INICIOTX ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
EB1:
CALL BIT1
GOTO VV13
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;ROTINAS
DELAY1CK:
MOVLW .120
MOVWF R7 ;158D PARA 330 MICROSEG. DE LAMBDA
DECFSZ R7,F
GOTO $-1
RETURN
BIT0:
BCF OUT_RF
CALL DELAY1CK
BSF OUT_RF
CALL DELAY1CK
CALL DELAY1CK
BCF OUT_RF
RETURN
BIT1:
BCF OUT_RF
CALL DELAY1CK
CALL DELAY1CK
BSF OUT_RF
CALL DELAY1CK
BCF OUT_RF
RETURN
STARTBIT:
BSF OUT_RF
CALL DELAY1CK
BCF OUT_RF
RETURN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
INICIORX:
;BANK0
CLRF FLAGS ;APAGA REGISTRADOR DE FLAGS
MOVLW VNOTX ;APAGA REGISTRADOR
MOVWF NOTX ;APAGA REGISTRADOR
MOVLW VNOTX1 ;APAGA REGISTRADOR
MOVWF NOTX1 ;APAGA REGISTRADOR
CLRF RES1 ;LIMPA REGISTRADOR DO 2BYTE (TECLAS)
CLRF RES0 ;LIMPA REGISTRADOR DO 1BYTE (CDIGO)
MOVLW QBYTE ;PREPARA A RECEPO PARA 16 BITS A RECEBER
larios.tecnologia.ws/iBlog/archives/1332 11/13
19/07/13 CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A | larios.tecnologia.ws
MOVWF BITCOUNTER ;ARMAZENA O VALOR DE 16 NO REG.BITCOUNTER
L0
BCF FLAG ;LIMPA O FLAG0, REGISTRO DE RECEPO
CLRF HC ;LIMPA O REG.HC
CLRF LC ;LIMPA O REG.LC
L1
L1H
SS5:
BTFSS FLAG ;TESTA FLAG DE HUM/ZERO RECEBIDO
GOTO L2 ;FLAG=0
Ol Jamil! Voc est indo muito bem. Pense no seguinte: Cada um dos programas
em s, forma um loop fechado para funcionarem. Se voce colocar o tx antes do rx,
nunca vai funcionar o rx e vice-versa. O que voce tem de fazer ,de alguma forma ,
interromper o loop individual e de um passar para o outro e do outro para um. Mas
tem que levar a questo da prioridade. Se uma recepo est em progresso, dever
terminar primeiro, antes de comear a transmitir, ou seja, recepo tem prioridade.
A milhares de jeito diferente de fazer a coisa funcionar (e isto me maravilha!). Voc
poder usar o desvio de rotina (goto) para isto. Mas , parece, olhando por cima,
que se voc iniciar a rotina de recepo primeiro, e escolher um ponto desta rotina
em que voc poder usar um call testa_tx para ver se algum boto foi apertado da
parte da transmisso, ou seja, voc vai colocar toda rotina da transmisso como se
fosse uma subrotina. Se no estiver recebendo nenhum sinal, ela ir imediatamente
enviar o sinal para transmisso e acabando , voltar para a rotina de recepo. O
ponto critico de onde voc chamaria esta subrotina, levando em conta a
prioridade da recepo (logicamente, se desejar, por ser subrotina, poderia ser
chamada de varios pontos estratgicos. Voc deve estudar como funciona tanto a
recepo como a transmisso, que fica mais facil achar este ponto. Eu procuro, ao
estudar programas de colegas, desenhar um fluxograma em uma folha de papel, a
medida que vou lendo o arquivo ASM. Isto ajuda a ver o que est acontecendo.)
Espero que estas dicas te ajudem.
Claudio
Ol Jamil! Creio que no ter problemas para fazer isto. Basta colocar os dois
arquivos juntos (tx e rx) fazendo o loop final de um ir para o loop inicial do outro.
Dever acertar na inicializao, as ios correspondentes aos pinos de entrada e saida
em apenas um dos arquivos ( o que voce escolher como inicial). Elimine a
inicializao do outro. Dai, bastaria montar varios circuitos para teste.
Claudio
larios.tecnologia.ws/iBlog/archives/1332 12/13
19/07/13 CONTROLE REMOTO 8 CANAIS ON/OFF PIC 16F628A | larios.tecnologia.ws
Ol Jamil! Obrigado pelo seu comentrio. No entendi bem o que voc deseja fazer.
Colocar 2 softwares em um unico Pic? Se for isto, qual o objetivo?
Cludio
Deixe um Comentrio
Voc precisa fazer o login para publicar um comentrio.
Deixe um Comentrio
larios.tecnologia.ws/iBlog/archives/1332 13/13