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)

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