MICROCONTROLADORES
Relatório de utilização
Londrina
2009
JEAN FERNANDO DOS SANTOS VIEIRA
MICROCONTROLADORES
Relatório de utilização
Londrina
2009
SUMÁRIO
1 INTRODUÇÃO...........................................................................................................3
2 Básico.........................................................................................................................4
3 Intermediário...............................................................................................................9
4 Avançado..................................................................................................................13
5 CONCLUSÃO...........................................................................................................19
6 REFERÊNCIAS BIBLIOGRÁFICAS.........................................................................20
3
1 INTRODUÇÃO
2 BÁSICO
INÍCIO
CONFIGURAR
BOTÃO
APERTAD
O? NÃO DESLIGA
LED
S
I
M
LIGA LED
PIC 16F628A
Resistor 1k Ohm
Botão Normalmente Aberto (NA)
LED
Resistor 330 Ohm
Cristal 4Mhz
5
Compilador C CCS
Simulador Proteus
#include <16F628A.h>
#use delay(clock=10000000)
Arquivo modulobasico.c
#include "C:\TEMP\modulobasico.h"
void main()
{
6
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
setup_oscillator(False);
SET_TRIS_A(0xF1);
while(true)
{
if(bit_test(input_a(),0))
{
output_high(PIN_A1);
while(input_a(),0);
}
else
{
output_low(PIN_A1);
while(!input_a(),0);
}
}
}
INÍCIO
CONFIGURAR
BOTÃO BOTÃO
APERTAD NÃO APERTAD SIM LIGA LED
O2? O1?
N
Ã
O
O
N
Ã
DESLIGA
LED
3 INTERMEDIÁRIO
INÍCIO
CONFIGURAR
BOTÃO
APERTADO
? NÃO MENSAGEM:
SAÍDA DESATIVADA
Desliga Led
S
I
M
MENSAGEM:
SAÍDA ATIVADA
Liga Led
3.1 MATERIAIS
PIC 16F877A
LCD 16X2 (Display de Cristal Líquido)
Resistor 1k Ohm
10
#include <16F877A.h>
#device adc=8
#use delay(clock=10000000)
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8)
Arquivo modulointermediario.c
11
#include "C:\TEMP\modulointermediario.h"
#include <LCD.C>
void main()
{
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(FALSE);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
SET_TRIS_B(0x02);
lcd_init();
while(true)
{
if(bit_test(input_b(),0))
{
lcd_gotoxy(1,1);
printf(lcd_putc,"Saida Ativada ");
output_high(PIN_B1);
}
else
{
lcd_gotoxy(1,1);
printf(lcd_putc,"Saida Desativada");
output_low(PIN_B1);
}
}
}
12
4 AVANÇADO
INÍCIO
CONFIGURAR
Leitura
Analógico/Digital
4.1 MATERIAIS
PIC 16F877A
LCD 16X2 (Display de Cristal Líquido)
Potenciômetro
Resistor 1k Ohm
Cristal 4Mhz
Compilador C CCS
Simulador Proteus
Arquivo moduloavancado.h
#include <16F877A.h>
#device adc=8
#use delay(clock=4000000)
#use rs232(baud=9600,parity=N,xmit=PIN_B0,rcv=PIN_B0,bits=8)
#include "C:\TEMP\moduloavancado.h"
15
#include <LCD.C>
Arquivo moduloavancado.c
void main()
{int analo, refmin, refmax;
refmin=0;
refmax=255;
setup_adc_ports(AN0);
setup_adc(ADC_CLOCK_INTERNAL);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
lcd_init();
while(true)
{
set_adc_channel(0);
analo=read_adc();
lcd_gotoxy(1,2);
if(analo<refmin)
{
analo=refmin;
printf(lcd_putc,"Valor= %u",analo);
}
else
if(analo>refmax)
{
analo=refmax;
printf(lcd_putc,"Valor= %u", analo);
16
}
else
printf(lcd_putc,"Valor= %u",analo);
}
}
5 CONCLUSÃO
6 REFERÊNCIAS BIBLIOGRÁFICAS
SOUZA, David José de. Desbravando o PIC. São Paulo: Érica, 2000.