Escolar Documentos
Profissional Documentos
Cultura Documentos
Cristal: O cristal oscilador, é para definir o ciclo da maquina do processador, onde é calculado pela formula de
C valor
C m=
4
Onde para podemos definir que cristal utilizando recorremos as datasheet, aqui vamos usar como exemplos o
PIC12675. Abaixo podemos ver a tabela do cristal e seus capacitores, e podemos ver também a montagem do cristal
Aonde através dessa tabela podemos ver qual valor de cristal utilizar.
Programação:
Na programação fizemos um oscilador de 500Hz no GP0 e 50Hz no GP1, através com delas, e sentamos 0 ou 1 na
onda. Porém usando o modo de delay, uma função depende da outra tendo assim que frequência não é correta,
para corrigir isso é só através de Interrupções.
/* ========================================================================== */
Podemos fazer um mapeamento de Hardware usando uma função #define, onde podemos trocar nomes dos pinos
pelo nome que deseja colocar, muitos projetistas usam muito o #define.
Observe o código abaixo: Podemos usar para um projeto de automação, como um interruptor.
#define S1 GPIO.F0
#define S2 GPIO.F1
#define D1 GPIO.F5
#define D2 GPIO.F4
void main()
ANSEL = 0;
CMCON = 7;
TRISIO0_bit = 1;
TRISIO1_bit = 1;
TRISIO4_bit = 0;
TRISIO5_bit = 0;
S1 = 1;
S2 = 1;
D1 = 0;
D2 = 0;
while(1)
if(S1 == 0)
delay_ms(300);
if (S2 == 0)
D2 = ~D2;
delay_ms(300);
}
Registrador CMCON: A função desse registrador é desligar os comparadores interno dentro do PIC, pois estamos
sentamos entradas digitais e não analógica, e o termo 7 vem, por causa que temos que colocar 111 nos bits menos
significativos como mostra imagem datasheet abaixo;
Aula 7: PIC16F628A e comando Shith letf(deslocamento e bit)
void main()
while(1)
//Concamitante
delay_ms(300);
}
Analise:
-Podemos atribuir um TRIS e PORT todo apenas colocando 0 ou 1, assim atribuindo todo se são entrar ou
saída, ou vamos nos inicializar com 0, pode colocar em forma decimal (255), hexadecimal(0xFF). E muito
hexadecimal, pois economiza memória.
-Foi criado uma variável control, com atribuição de 255, pois os led estão ligados em current sink, e são ativa
quando são zero nos PORT.
-Assim atribuímos o valor de control a PORT, e fazemos um deslocamento de bit, utilizando comando shif left
onde << deslocamento para esquerda, >> deslocamento para direita. E assim desligando todo o PORTB e
fazendo com que led ligue sequencial, quando control =0; restaura o valor,