pic 12F629-Como fazer ???
 Mosaico
 Mosaico
 PIC
 pic 12F629-Como fazer ???
  Registrar   Ajuda   Login

Tópico AnteriorTópico Anterior - Próximo TópicoPróximo Tópico
Tópico com 1337 visitas e 12 mensagens
Autor
Tópico: pic 12F629-Como fazer ???
Francisco
Usuário Nivel 1

Postagens: 3
Registro: 4/23/2007
Local: Londrina - PR - Brasil
Idade: 46 anosSexo não informado
 Postado em 4/23/2007 12:53:00 PM

Bom dia a todos desse forum. Desde já agradeço a ajuda. Estou com um problema com o pic 12F629 . Tenho um programa rodando no pic 16f628. Este programa no entanto é pequeno e gostaria de passar ele para um pic 12f 629. O problema é que não estou conseguindo fazer esta mudança. O assemblador me dá dezenas de erros que não entendi o por que . Alguém tem alguma dica ? Ou até um programa simples de fazer piscar um led (codigo fonte em assembler) para dar um start. Acho que estou errando no cabeçalho (inicialização das variáveis e configurações do modo de operação).

IP LogadoPróxima Mensagem
turuna
Usuário Nivel 5

Postagens: 344
Registro: 3/17/2006
Local: Londrina - PR - Brasil
Idade: 49 anosSexo não informado
 Postado em 4/23/2007 1:13:00 PM

O Franciso poste no fórum o texto do código fonte para que possamos ajudar...........ok?

IP LogadoMensagem AnteriorPróxima Mensagem
Francisco
Usuário Nivel 1

Postagens: 3
Registro: 4/23/2007
Local: Londrina - PR - Brasil
Idade: 46 anosSexo não informado
 Postado em 4/23/2007 2:56:00 PM

Mensagem original postada por turuna O Franciso poste no fórum o texto do código fonte para que possamos ajudar...........ok?


#INCLUDE <P16F628A.INC>
__CONFIG _BODEN_ON & _CP_ON & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _INTOSC_OSC_CLKOUT

#DEFINE BANK0 BCF STATUS,RP0 ;SETA BANK 0 DE MEMÓRIA
#DEFINE BANK1 BSF STATUS,RP0 ;SETA BANK 1 DE MEMÓRIA
CBLOCK 0x20 ;ENDEREÇO INICIAL DA MEMÓRIA DE USUÁRIO
CONTADOR ;VARIAVEL DE CONTROLE 60-2
CONT ;VARIAVEL DE CONTROLE DO HALL
CONTF ;VARIAVEL DE CONTROLE 36-1
FF ;Estado do Hall
ENDC
#DEFINE BOTAO PORTA,1 ; ENTRADA
#DEFINE SEL1 PORTA,2 ; PORTA DE SELEÇÃO 1
#DEFINE SEL2 PORTA,3 ; PORTA DE SELEÇÃO 2
#DEFINE LED PORTB,0 ; PORTA DO LED 0->APAGADO 1->ACESO
#DEFINE LED1 PORTB,1
#DEFINE LED3 PORTB,2
#DEFINE F FF,0
ORG 0x00 ;ENDEREÇO INICIAL DE PROCESSAMENTO
GOTO INICIO
ORG 0x04 ;ENDEREÇO INICIAL DA INTERRUPÇÃO
RETFIE ;RETORNA DA INTERRUPÇÃO
INICIO
CLRF PORTA ;LIMPA O PORTA
CLRF PORTB ;LIMPA O PORTB
BANK1 ;ALTERA PARA O BANCO 1
MOVLW B'00001110'
MOVWF TRISA ;DEFINE RA2, Ra3, RA4 COMO ENTRADAS E DEMAIS COMO SAÍDAS
MOVLW B'00000000'
MOVWF TRISB ;DEFINE TODO O PORTB COMO SAÍDA
MOVLW B'10000000'
MOVWF OPTION_REG ;PRESCALER 1:2 NO TMR0 PULL-UPS DESABILITADOS
MOVLW B'00000000'
MOVWF INTCON ;TODAS AS INTERRUPÇÕES DESLIGADAS
BANK0 ;ALTERA PARA O BANCO 0
MOVLW B'00000111'
MOVWF CMCON ;DEFINE O MODO DE OPERAÇÃO DO COMPARADOR ANALÓGICO
MOVLW .221
MOVWF CONTF
MOVLW .198
MOVWF CONTADOR
MOVLW .255
MOVWF FF
MAIN
BTFSS SEL1 ;testa porta de seleção1
GOTO $+4 ;vai p/ rotina de fonica 60-2
BTFSS SEL2 ;testa porta de seleção2
GOTO MAIN3 ;vai p/ rotina de distribuidor
GOTO MAIN2 ;vai p/ rotina de fonica 36-1



BTFSS BOTAO ;Lê a entrada, entrada em zero?
GOTO $+4 ;Sim pulso em Baixo vai p mudança de estado
BSF LED ;Não, o Pulso está em 1 retorna para MAIN
BSF LED1 ;permanece igual entrada
GOTO MAIN
BCF LED ;mudança de estado
BCF LED1
BTFSS BOTAO ;Lê entrada, entrada em zero?
GOTO $-1 ;sim, não mudou de estado, aguarda
BSF LED ;não, mudou de estado, pulso=1
BSF LED1
INCFSZ CONTADOR ;incrementa e testa se o contador zerou (PA)
GOTO MAIN ;não zerou
BTFSS BOTAO ;zerou contagem (então lê entrada,testa se entrada em zero?)
GOTO $+2 ;(PB) sim, mudou de estado,
GOTO $-2 ;não,não mudou de estado, pulso=1, aguarda
BSF LED
BSF LED1
BTFSS BOTAO ;Lê entrada, testa se é zero
GOTO $-1 ;sim, continua aguardando
; criação da referência
BTFSS BOTAO ;não(PC), testa se é zero
GOTO $+2 ;sim , (PD)
GOTO $-2 ;não, aguarda retorna
BTFSS BOTAO ;lê entrada testa se zero
GOTO $-1 ;sim, aguarda
BCF LED ;não, muda a saída, zera os contadores e retorna ao início
BCF LED1
MOVLW .198
MOVWF CONTADOR
GOTO MAIN

MAIN2 ;

BTFSS BOTAO ;Lê a entrada, entrada em zero?
GOTO $+4 ;Sim pulso em Baixo
BSF LED ;Não, o Pulso está em 1
BSF LED1
GOTO MAIN
BCF LED
BCF LED1
BTFSS BOTAO ;Lê entrada, entrada em zero?
GOTO $-1 ;sim, não mudou de estado
BSF LED ;não,mudou de estado, pulso=1
BSF LED1
INCFSZ CONTF ;incrementa e testa se o contador zerou
GOTO MAIN ;não zerou
BTFSS BOTAO ;zerou contagem (então lê entrada,testa se entrada em zero?)
GOTO $+2 ;sim, mudou de estado,
GOTO $-2 ;não,não mudou de estado, pulso=1, aguarda
BSF LED
BSF LED1
BTFSS BOTAO ;Lê entrada, testa se é zero
GOTO $-1 ;sim, continua aguardando
BCF LED
BCF LED1
MOVLW .221
MOVWF CONTF
GOTO MAIN

MAIN3 ;

MOVLW .180 ;carrega contador
MOVWF CONT
BTFSS BOTAO ;Lê a entrada, entrada em zero?
GOTO $-1 ;Sim pulso em Baixo
INCFSZ CONT ;Não,incrementa e testa se o contador zerou
GOTO $+2 ;não zerou
GOTO $+4 ;zerou
BTFSS BOTAO ;lê entrada E=0???
GOTO $-6 ;SIM
GOTO $-2 ;não
BTFSS F ;testa fase
GOTO $+4 ;zero
BSF LED
BCF F ;carrega contador
GOTO MAIN3
BCF LED
BSF F
GOTO MAIN
END ;OBRIGATÓRIO



-----Desculpe se estou pedindo alguma coisa muito básica. Passei o fim de semana inteiro procurando na net informação sobre o 12F629 . Mas não consegui achar informação que me ajudasse com isso . Mas beleza , se puder me ajudar , agradeço muito .

IP LogadoMensagem AnteriorPróxima Mensagem
Paulo_P
Usuário Nivel 5

Postagens: 71
Registro: 11/23/2006
Local: São Paulo - SP - Brasil
Idade: 48 anosSexo Masculino
 Postado em 4/23/2007 3:39:00 PM

Alterou o #INCLUDE <P16F628A.INC>

Para o PIC novo que pretende usar ?


IP LogadoMensagem AnteriorPróxima Mensagem
Mari
Usuário Nivel 5

Postagens: 96
Registro: 5/15/2006
Local: Curitiba - PR - Brasil
Idade: 31 anosSexo Feminino
 Postado em 4/23/2007 4:20:00 PM

Como disse o Paulo, #INCLUDE <P16F628A.INC> altere para #INCLUDE <P12F629.INC>, isso só pra começar. Vai ter bastante trabalho amigo, a migração não é só isso.

IP LogadoMensagem AnteriorPróxima Mensagem
Francisco
Usuário Nivel 1

Postagens: 3
Registro: 4/23/2007
Local: Londrina - PR - Brasil
Idade: 46 anosSexo não informado
 Postado em 4/23/2007 10:00:00 PM

Mensagem original postada por Paulo_P Alterou o #INCLUDE <P16F628A.INC>

Para o PIC novo que pretende usar ?


sim fiz a alteração do include para o 12f629 , bem com a mudança no MPLAB do device para o 12f629.

IP LogadoMensagem AnteriorPróxima Mensagem
Leandro_pic
Usuário Nivel 5

Postagens: 465
Registro: 2/24/2007
Local: criciuma - SC - Brasil
Idade: 26 anosSexo Masculino  Aniversário em 3/7
 Postado em 4/24/2007 12:39:00 PM

Tente mudar para o 16F648A é igualzinho ao 16F628A só que ele tem 4k de memoria Flash

IP LogadoMensagem AnteriorPróxima Mensagem
turuna
Usuário Nivel 5

Postagens: 344
Registro: 3/17/2006
Local: Londrina - PR - Brasil
Idade: 49 anosSexo não informado
 Postado em 4/24/2007 6:00:00 PM

Preste atenção nas palvras de configuração é ai que o bicho pega tb,faça o seguinte vá ao MCHIP_tools dentro do mplab e abra o arquivo de inclusão e abra o p16f629 e verifique as pavavras corretas de configuração,estou com a MARY,é melhor 16F648A .


IP LogadoMensagem AnteriorPróxima Mensagem
indio
Usuário Nivel 5

Postagens: 76
Registro: 11/24/2006
Local: mogi mirim - SP - Brasil
Idade: 43 anosSexo Masculino
 Postado em 4/24/2007 8:44:00 PM

rapaiz! ééééé um nunca vi tanto erro compilei sue sftware e de 105 erros nao entendi;estou pelejando T+

IP LogadoMensagem AnteriorPróxima Mensagem
Leandro_pic
Usuário Nivel 5

Postagens: 465
Registro: 2/24/2007
Local: criciuma - SC - Brasil
Idade: 26 anosSexo Masculino  Aniversário em 3/7
 Postado em 4/25/2007 12:43:00 PM

Já deu uma olhada no datasheet?
1 dos erros:
não existe PORTA ou PORTB nem TRISA ou TRISB, mas sim GPIO e TRISIO, VC terá que refazer o programa e junto ao datasheet ver o que muda de um para outro.


IP LogadoMensagem AnteriorPróxima Página
 Todos os horários são de Brasília (GMT -03:00)
 Nova Mensagem desde a sua Última Visita.
[***] Palavra proibida pelo moderador do Grupo de Discussão
Páginas: 1 2
Tópico AnteriorTópico Anterior - Próximo TópicoPróximo Tópico

Volta para o Topo da Página



Forum Now! - Criar seu forum grátis