Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Andrias Matheus

PIC Erro em programação de assembly

Recommended Posts

olá. estou fazendo uma programação para pic na qual o pic vai receber um sinal de módulo nec de um receptor infravermelho, e vai realizar determinada função.

para esse processo, estou utilizando preescaler de 1:16 e timer 1 no modo de temporizador. mas ao fazer essas configurações na programação, está dando erro na parte :

"org 0x00

goto inicio"

o erro é: overwriting previous address contents (0000)

não estou sabendo resolver esse pequeno problema.

aqui vão algumas partes da programação relacionadas aos banks do pic e as variáveis criadas:

 

----- variáveis -----

cblock    0x20       
        w_temp           
        status_temp       
        temp1
        temp2
        temp3
        tmr1l_temp
        tmr1h_temp
    
    endc       

       

inicio
    bank1                ;altera para o banco 1
    movlw    b'11111111'
    movwf    trisa        ;define porta como entradas
    movlw    b'00000000'
    movwf    trisb        ;define portb como saídas
    movlw    b'10000100'
    movwf    option_reg    ;define opções de operação prescaler 1:2 no tmr0
                        ;pull-ups desabilitados
                        ;as demais confg. são irrelevantes
    movlw    b'11000000'
    movwf    intcon        ;define opções de interrupções desligadas
    movlw b'00000101'
    movwf pie1

    
bank0        
    movlw    b'11000000'
    movwf    intcon            ;retorna para o banco 0
    movlw    b'00000101'
    movwf    cmcon        ;define o modo de operação do comparador analógico
    movlw b'00000111'
    movwf ccp1con; define preescaler 1:16
    
    movlw b'00110001' ; talvez b'00110101'
    movwf t1con ; define o timer1 como contador 1:8
    bcf t1con, tmr1on
    movf tmr1l,w
    movwf tmr1l_temp
    movf tmr1h,w
    movwf tmr1h_temp
    bsf t1con, tmr1on

Compartilhar este post


Link para o post
Compartilhar em outros sites

Inicie assim:

 

---- variáveis -----

cblock    0x20       
        w_temp           
        status_temp       
        temp1
        temp2
        temp3
        tmr1l_temp
        tmr1h_temp
    
    endc    

org  0x00
goto inicio

 

Para facilitar os bancos,no inicio do código,defina eles assim:

 

#DEFINE BANK1 	BSF     STATUS,RP0
#DEFINE BANK0 	BCF	STATUS,RP0

Deste modo quando precisar mudar os bancos,apenas digite:

 

	BANK1					; 
	BCF		OPTION_REG,7	        ; Faça o que tenha que fazer
        .....
	BANK0					; Retorna a origem
	....

 

Editado por vtrx

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×