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: