resumo comandos
Tris – configura entrada e saída digital
Ex: trisb=0b00000001 – pino rb0 configurado com entrada e os demais do port b como saída.
Port -> aciona saída digital ou faz a leitura da entrada
Ex: portb.rb1=1 ; nível lógico 1 no pino rb1 if(portb.rb0==1) { }
Comandos :
Delay_ms(100); // atraso de 100 milisegundos. while (1) { } // loop infinito if( condição ) { } ex: if(variavel>20) { } vdelay(variavel); // configuração LCD para placa MCLAB01 sbit LCD_RS at RE0_bit; sbit LCD_EN at RE1_bit; sbit LCD_D4 at RD4_bit; sbit LCD_D5 at RD5_bit; sbit LCD_D6 at RD6_bit; sbit LCD_D7 at RD7_bit;
sbit LCD_RS_Direction at TRISE0_bit; sbit LCD_EN_Direction at TRISE1_bit; sbit LCD_D4_Direction at TRISD4_bit; sbit LCD_D5_Direction at TRISD5_bit; sbit LCD_D6_Direction at TRISD6_bit; sbit LCD_D7_Direction at TRISD7_bit;
// End LCD module connections
// tipos de dados mais utilizados. char textp[15], int contador;
//
Lcd_Init(); // inicializa o LCD em modo 4 bits.
Lcd_Cmd(_LCD_CLEAR); // Clear display limpa o display
Lcd_Cmd(_LCD_CURSOR_OFF); // desliga o cursor
Lcd_Out(1,1,"Contador"); // Escreve na linha 01 coluna 06
wordtostr(contador,texto);
//converte o valor numérico de contador e atribui ao vetor Texto.
Lcd_Out(2,6,texto); // escreve na linha 02 coluna 06
Configuração das Portas Analógicas
Adcon1=0b00000000; // todas portas analógicas , com vdd e vss de referência
Adcon1=0b00000110; // todas portas digitais
Adcon1=0b00001001 // pinos an7 e an6 digitais, e os demais analógicos VDD e VSS como referência
Variavel=adc_read(1); // leitura do canal ADC no canal AN1.
Módulo PWM
Pwm1_Init(5000); // Inicializa módulo PWM com 5Khz
Pwm1_Start(); // Start PWM - inicia o PWM
PWM1_Set_Duty(variavel); - 8 ou 10 bits.
TIMER 0 PARA O PIC 16F877A
OPTION_REG
Nome
RBPU
INTEDG
TOCS
TOSE
PSA
PA2
PS1
PS0 bit 0
0
0
0
1
0
0
0