PIC12F675 - Usando os seis pinos I/O

Para aproveitarmos ao máximo os pinos de entrada e saída do PIC12F675, devemos configurar o mesmo para usar o oscilador interno. Sendo assim teremos 5 pinos de entrada e saída e 1 pino que funciona apenas como entrada.

GP0 - entrada/saída

GP1 - entrada/saída

GP2 - entrada/saída

GP3 - entrada

GP4 - entrada/saída

GP5 - entrada/saída

Como exemplo iremos montar um circuito em que são ligados cinco LEDs um em cada pino de entrada/saída e uma chave no pino de entrada (GP3).

O código abaixo foi escrito para o compilador GCBASIC. Para compilar o código podemos usar o programa Prithvi (para Windows) ou o Ktechlab-gcb (para Linux).

Código:

' Este programa aciona cinco LEDs ao pressionar um botao ligado no GP3.

' Cada LED esta ligado as portas GP0, GP1, GP2, GP4 e GP5 do PIC12F675.

' Obs.: O Pino GP3/MCLR funciona apenas como entrada.

'============================================================================

' Configurações iniciais

'============================================================================

#chip 12F675, 4 'Configura o PIC12F675 para trabalhar na frequencia de 4MHz

#config osc = int 'Configura o PIC para funcionar com o cristal interno.

'Dando nome aos pinos para facilitar na programação:

#define LedA GPIO.0

#define LedB GPIO.1

#define LedC GPIO.2

#define Botao GPIO.3

#define LedD GPIO.4

#define LedE GPIO.5

'Definindo a direção de cada pino como entrada ou saída:

Dir LedA Out

Dir LedB Out

Dir LedC Out

Dir LedD Out

Dir LedE Out

Dir Botao In

'============================================================================

' Rotina principal

'============================================================================

Do

if Botao = 0 then

LedA = 1

LedB = 1

LedC = 1

LedD = 1

LedE = 1

else

LedA = 0

LedB = 0

LedC = 0

LedD = 0

LedE = 0

end if

Loop

'============================================================================

Segua em anexo os arquivos Hex e a simulação feita no Proteus 7.8 SP2: