ajuda com meu primeiro microcontrolador (pic12f629)

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Mensagempor mamp » 28 Out 2010 16:07

Cara! Fiquei muito feliz com o código que voce postou, era justamente o que eu precisava. Inclusive ja faz tempo que o vi e estou tentanto aplica-lo porem estou em um beco sem saida, ja que o bendito do programa que transforma de .asm pra .hex - pelo menos o que eu instalei em 2 pcs diferentes - fabrica um .hex que o icprog nao consegue ler. Poxa é a primeiro microcontrolador que compro e ao inves de ter um problema com o microcontrolador em si, to com problema de software, que deve ser uma coisa tola, mas que tudo que tentei pra resolver nao deu em nada.
mamp
Bit
 
Mensagens: 34
Registrado em: 13 Set 2010 15:43

Mensagempor mamp » 02 Nov 2010 18:14

Bem, dei uma pesquisada na net sobre como usar o MPLAB... Acho que todos os problemas era porque eu achava que era so sair abrindo o programa e transformar de .asm pra .hex, aí achei uns manuais etc, me obriguei a ler e vi que não era tão simples, tinha que configurar umas coisinhas, consegui fazer o led piscar. aleluia - TÓPICO RESOLVIDO.
Agradeço muito a todo mundo que me ajudou.
Segue abaixo um tuto que fiz, pra preencher essa lacuna já que nao se tinha nenhum tuto que servisse pro 12f629 e que ao mesmo tempo fosse pra iniciante em microcontroladores
mamp
Bit
 
Mensagens: 34
Registrado em: 13 Set 2010 15:43

Mensagempor mamp » 02 Nov 2010 18:16

TUTORIAL PISCAR LED COM O MICROCONTROLADOR PIC 12f629

Tutorial passo a passo: fazer um hello world (piscar um led) com pic 12f629

Em primeiro lugar - prá quem está começando agora - não se iluda quando ouvir que um tuto do 12f675 servirá pro 12f629, é difícil de fazer a migração do código de um pro outro.

Como não tem nenhum tutorial, pelo menos eu procurei igual um camelo na net e não achei, pro 12f629, me senti na obrigação de escrever um, já que acabei de fazer o meu bendito 12f629 piscar, inclusive acho que vou deixar piscando até amanhã, de tanto trampo que deu.


-----------------------------------
PARTE I - Trabalhando com a parte de Software:

Antes de fazer qualquer coisa, devemos pegar o valor da calibração que encontra-se gravado no 12f629, o procedimento de como fazer encontra-se no link:

http://www.4shared.com/file/35555854/56 ... 2F6xx.html

Agora vamos ao código, ele é bem sintético, ou seja servirá só pra piscar o led e mais nada.

Copie e cole o código abaixo em um editor de texto e salve com a extensão .asm (ao salvar o arquivo utilize uma pasta dentro da raiz C: ,não salve nos meus documentos ou no desktop pois gera nome de arquivos muito longos e pode acarretar em erros)


list P=12F629
#include <P12F629.INC>
__config _WDT_OFF & _INTRC_OSC_NOCLKOUT & _CP_OFF & _CPD_OFF & _BODEN_OFF & _MCLRE_OFF & _PWRTE_ON


x EQU 20H
seg EQU 21H
milisegundo EQU 22H

ORG 000

MOVLW 0X07
MOVWF CMCON
BSF STATUS,RP0
MOVLW B'00001011'
MOVWF TRISIO
BCF STATUS,RP0
;------------------------------------
; MAIN LOOP
MAIN:
BSF GPIO,2
CALL S1
CALL S1
CALL S1
BCF GPIO,2
CALL S1
CALL S1
CALL S1
GOTO MAIN

S1:
movlw 240
movwf seg

ms100:
movlw 10
movwf milisegundo

ms1:
movlw 249
movwf x
ms2:
nop
decfsz x
goto ms2

decfsz milisegundo
goto ms1

decfsz seg
goto ms100

return

END

Pode copiar o "end" que ele também faz parte do código.

1)Agora abra o programa MPLAB peça pra ele abrir o arquivo que voçe salvou, exemplo: meuarquivo.asm

2)Vá na aba: Configure -> SElect Device e selecione 12f629

3)Vá na aba: Project -> Quickbuild e confira se o arquivo está ok.
Ao fazer isso, na mesma pasta onde está o meuarquivo.asm automaticamente vai ser gravado um arquivo com a extensão .hex

4) Abra o programa WINPIC800

5) Selecione o pic como: 12f629

6) Vá na aba: Settings -> Hardware e selecione o dispositivo de gravação que você tem.

7) Faça o procedimento de ler o Pic e guardar o valor de calibração.(guarde o valor em um local seguro, escreva em um papel por exemplo)

8) Peça pra que o WINPIC800 apague o que está gravado no 12f629.

9) Peça pra que o WINPIC800 abra o arquivo .hex que o MPLAB gerou

10) Escreva o valor de calibração no endereço 0x03F8 (conforme o procedimento do link la em cima)

11) Salve o seu arquivo, por exemplo: com_calibracao.hex

12) Peça pra que o WINPIC800 gravar o arquivo no seu pic

---------------------

Parte II - Montando o Circuito:


Pesquise no google por "DataSheet" "pic" "12f629" e baixe o arquivo.

Abra o arquivo e veja que o 12f629 tem pinos que vão do 1 até o 8.

Serão usados apenas os pinos 1, 5 e 8 (só o necessário - assim fica muito mais fácil de entender o que tá acontecendo)

1) Ligue o positivo da bateria no pino 1 (eu usei 4 pilhas recarregáveis de 1.2 Volts em Série), mas com o DataSheet em mãos confira se a DDP da sua bateria é compatível com o 12f629.

2) Conecte um resistor de 1K ohms no pino 5 (pelo que vi por aí dá pra variar bastante o valor deste resistor, desde 150 ohms até 1330 etc etc, mas eu usei 1K).

3) Conecte o led em série da seguinte forma: pino 5 -> resistor de 1k -> led -> negativo da bateria.

4) Faça mais uma ligação do negativo da bateria, desta vez no pino 8.

Pronto! Se tudo deu certo. Neste momento o pic deverá estar fazendo o led piscar

Tuto por: Marcelo Martins Portelinha - bessante@hotmail.com
mamp
Bit
 
Mensagens: 34
Registrado em: 13 Set 2010 15:43

Anterior

Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x