Página 1 de 1

Problema para programar o 12F629

MensagemEnviado: 02 Jun 2007 16:57
por lpagano
Galera,

Estou programando o 12F629 para gerar um sinal quadrado na saída GP0 mas na hora da simulação no MPLAB o pino GP0 fica sempre em 0, mesmo dando um bsf no bit 0 do registro GPIO (veja a linha 7 do Programa Principal).

Veja abaixo o código que fiz. Alguém consegue encontrar algum erro?



;----------------CRISTAL DE 4MHz----------------------
;----------------DEFINIÇÕES DO PIC-------------------


list p=12F629
include <P12F629.inc> ;define o P12F629 como mc
org 0 ;inicia a gravação no endereço 00h

PDel0 EQU 0x20 ;define PDel0 na pos 0x20



bsf STATUS,RP0 ;seta o RP0 do STATUS como 1 (banco 2)
bcf TRISIO,0 ;habilita como saída o GPIO, bit 0
bcf STATUS,RP0 ;reseta o RP0 do STATUS


;-------------------------------------------------------
; Programa principal
;-------------------------------------------------------

Main:
bcf GPIO,0 ;seta em 0 o pino GP0
nop
nop
nop
call PDelay ;chama subrotina de atraso
bsf GPIO,0 ;seta em 1 o pino GP0
nop
call PDelay
goto Main ; volta para Main


;-------------------------------------------------------
; Subrotina de atraso (1ms)
;-------------------------------------------------------

PDelay movlw .248 ; 1 set numero de repeticion
movwf PDel0 ; 1 |
PLoop0 clrwdt ; 1 clear watchdog
decfsz PDel0, 1 ; 1 + (1) es el tiempo 0 ?
goto PLoop0 ; 2 no, loop
PDelL1 goto PDelL2 ; 2 ciclos delay
PDelL2 clrwdt ; 1 ciclo delay
return ; 2+2 Fin.

end




Valeu!

MensagemEnviado: 02 Jun 2007 17:15
por Red Neck Guy
ô, acho que tu tens que desligar os comparadores...
Não uso esse carinhas faz um tempão, vou olhar aqui e ver se realmente é isso...

MensagemEnviado: 02 Jun 2007 17:47
por RobL
Conforme o Aquino disse:
Logo no inicio do código acrescente:

movlw 0x7
movwf CMCON

Isso tornará suas portas como digitais e passarão a responder.

Permita-me uma sugestão:
Procure descrever, em suas anotações no código, o que uma porta setada fará, no mundo real e não repetir o código escrito à esquerda. Desta forma lhe dará uma visão do funcionamento como um todl.
Ex: BSF porta x ; aciona o rele do motor 1 (e não : setou o bit da porta x).

MensagemEnviado: 02 Jun 2007 18:03
por lpagano
Pessoal,

Valeu, agora funcionou. Tinha esquecido do registrador CMCON.

Brigadúúúúúú!!!!!!!!

MensagemEnviado: 02 Jun 2007 18:50
por Red Neck Guy
lpagano escreveu:Pessoal,

Valeu, agora funcionou. Tinha esquecido do registrador CMCON.

Brigadúúúúúú!!!!!!!!


Brigadú nada

R$ 100,00

Banco do Brasil
AG : 4986
C/C: 123456-8

MensagemEnviado: 14 Jun 2007 13:47
por lpagano
Aquino,

Dia 31/02 eu deposito.

:lol: