Ir ao conteúdo
  • Cadastre-se

Ajuda PIC e PIC SIMULATOR IDE


Luxfero

Posts recomendados

Olá se alguem souber me ajudar, pois eu tentei exaustivamente descobrir o que esta acotecento e nada..... bom o problema é o seguinte em algumas linha ele troca GPIO por TRISIO, se alguem ja passou por isso e sabe o que esta errado valeu... o pic é o 12f629...


start
BCF STATUS,RP0 ;Bank 0
;CLRF GPIO ;Init GPIO
MOVLW 07h ;Set GP<2:0> to
MOVWF CMCON ;digital IO
BSF STATUS,RP0 ;Bank 1




BCF TRISIO,1; pino 6 output
BCF TRISIO,0; pino 7 output

BSF GPIO,1; nessa parte do programa ele troca por TRISIO

programa
BTFSS GPIO,2; aqui tb ele troca por TRISIO
GOTO programa;
BSF GPIO,1;

ligado
BTFSS GPIO,2; aqui tb ele troca por TRISIO
GOTO ligado;
BCF GPIO,1;
GOTO programa;


END

Link para o comentário
Compartilhar em outros sites

Simples, os registradores do PIC estão espalhados pela RAM o problema é que a RAM é dividida em blocos chamados de banks, onde cada bank possui um numero igual de bytes, e possui um certo numero de registradores, a questão é que o TRISIO e o GPIO estão no mesmo endereço de memoria mas em bancos diferentes, por isso toda vez que você passa ao Bank 1 e acerta o TRISIO, se você for escrever no GPIO sem voltar ao bank0 antes ,o PIC vai entender que você quer escrever no TRISIO (que é o que esta acontecendo com você).

Se quiser mais informações sugiro uma lida no datasheet do PIC12F629 na seção memory organization, que explica tudo.

OBS.:

-Para ir ao Bank0 use : BCF STATUS,RP0

-Para ir ao Bank1 use : BSF STATUS,RP0.

Abs.

Link para o comentário
Compartilhar em outros sites

puxa Felipe muito obrigado mesmo, eu ja tinha visto essa parte no datasheet mas como os endereços de memoria eram diferentes nao tinha pensado por esse lado, mas agora tudo ficou muito claro Obrigado.

Outra duvida, agora o programa funciona ok no simulator, mas depois que eu gravo ele nao funciona na realidade...

Link para o comentário
Compartilhar em outros sites

boiando total, onde eu configuro isso? bom eu pesquisei a respeito e cheguei a resposta de que eu tinha que ter anotado o numero antes de gravar no pic pela primeira vez, mas eu ja gravei e perdi esse numero, e agora? alguem tem alguma ideia?

Bom ainda estou sem saber, de qualquer forma eu consegui fazer "funcionar" usando 3824h no ICprog e essa config word __CONFIG _MCLRE_OFF & _CP_OFF & _WDT_OFF & _INTRC_OSC_NOCLKOUT

nao funcionou como eu queria, no entando uma coisa estranha esta acontecendo quando voce aproxima qualquer objeto condutor o LED liga, e voce afasta ele desliga.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...