Beruflich Dokumente
Kultur Dokumente
COM
1- Acendendo um led: 2 - Acionando led por chave: 3 - Pisca-pisca: 4 - Corredor de leds: 5 - Boto de trava: 6 - Acionando led por boto: 7 - Vai e volta de leds: 8 - Contador de 0 9 com display: 9 - Contador de 0 9 com display ll: 10 - Pisca-pisca acionado por boto:
WWW.CLOCKSIZE.BLOGSPOT.COM
1- Acendendo um led:
Neste exemplo o objetivo acender um led sem o auxilio de chaves ou botes, para isso utiliza-se uma nica sada do pic16f628a , esta sada por sua vez esta ligada atravs de um resistor a um led que indica o funcionalidade do exemplo.
U1
16 15 4 RA7/OSC1/CLKIN RA6/OSC2/CLKOUT RA5/MCLR RA0/AN0 RA1/AN1 RA2/AN2/VREF RA3/AN3/CMP1 RA4/T0CKI/CMP2 17 18 1 2 3 6 7 8 9 10 11 12 13
R1
360R
D1
LED-BIGY
Cdigo Fonte
#include <16f628a.h> #fuses INTRC,NOWDT,NOPROTECT,NOMCLR,NOLVP #use delay (clock=4000000) void main(){ output_high(pin_b0);
R2 U1
16 15 4 RA7/OSC1/CLKIN RA6/OSC2/CLKOUT RA5/MCLR RA0/AN0 RA1/AN1 RA2/AN2/VREF RA3/AN3/CMP1 RA4/T0CKI/CMP2 17 18 1 2 3 6 7 8 9 10 11 12 13 360R
R1
360R
D1
LED-BIGY
Cdigo Fonte
#include <16f628a.h> #fuses INTRC,NOWDT,NOPROTECT,NOMCLR,NOLVP #use delay (clock=4000000) void main(){ while(1){ if((input(pin_a0))==1){ output_high(pin_b0); } else output_low(pin_b0); } }
3 - Pisca-pisca:
A seguir temos o exemplo de um pisca pisca feito com leds, como poder ser visto no cdigo fonte este ira piscar a cada 350 ms(milisegundos), e colocara a sada do pic em nvel lgico alto ou baixo.
U1
16 15 4 RA7/OSC1/CLKIN RA6/OSC2/CLKOUT RA5/MCLR RA0/AN0 RA1/AN1 RA2/AN2/VREF RA3/AN3/CMP1 RA4/T0CKI/CMP2 17 18 1 2 3 6 7 8 9 10 11 12 13
R1
100
D1
LED-BIRY
Cdigo Fonte
#include <16f628a.h> #fuses INTRC,NOWDT,NOPROTECT,NOMCLR,NOLVP #use delay (clock=4000000) void main(){ while(true){ output_b(0b00000001); delay_ms(350); output_b(0); delay_ms(350); } }
4 - Corredor de leds:
O circuito referente ao exemplo usa todas as sadas do port_b totalizando 8 pinos (sadas), o exemplo tem como finalidade reproduzir uma corrida de leds continua que sempre volta onde comeou o ciclo.
D1 U1
16 15 4 RA7/OSC1/CLKIN RA6/OSC2/CLKOUT RA5/MCLR RA0/AN0 RA1/AN1 RA2/AN2/VREF RA3/AN3/CMP1 RA4/T0CKI/CMP2 17 18 1 2 3 6 7 8 9 10 11 12 13
LED-GREEN
LED-GREEN
D4 D5 D6 D7 D8
LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN
LED-GREEN
Cdigo Fonte
#include <16f628a.h> #fuses INTRC,NOWDT,NOPROTECT,NOMCLR,NOLVP #use delay (clock=4000000) void main(){ int d=0; while(true){ output_b(d); delay_ms(100); output_b(0); d=d<<1; if (d == 256) d=0;
} }
5 - Boto de trava:
Este exemplo usa duas chaves, ligadas a duas entradas do microcontrolador e consequentemente um led ligado numa sada do port_b, sua funcionalidade a seguinte, o led s ira acender se for ligado e desligado a primeira chave, mais desde que no seja apertado o boto 2, assim exemplificando um sistema de trava, pois se o boto 2 permanecer apertado o led no acende.
R2
100R
U1
16 15 4 RA7/OSC1/CLKIN RA6/OSC2/CLKOUT RA5/MCLR RA0/AN0 RA1/AN1 RA2/AN2/VREF RA3/AN3/CMP1 RA4/T0CKI/CMP2 17 18 1 2 3 6 7 8 9 10 11 12 13
R1
100R
D1
LED-GREEN
Cdigo Fonte
#include <16f628a.h> #fuses INTRC,NOWDT,NOPROTECT,NOMCLR,NOLVP #use delay (clock=4000000) void main(){ while(true){ if((input(pin_a0)) == 1){ delay_ms(10); if(input(pin_a0) == 0){ output_high(pin_b0); } if(input(pin_a1) == 1){ output_low(pin_b0); } } } }
R1
100R
U1
16 15 4 RA7/OSC1/CLKIN RA6/OSC2/CLKOUT RA5/MCLR RA0/AN0 RA1/AN1 RA2/AN2/VREF RA3/AN3/CMP1 RA4/T0CKI/CMP2 17 18 1 2 3 6 7 8 9 10 11 12 13
R2
100R
D1
LED-GREEN
Cdigo Fonte
#include <16f628a.h> #fuses INTRC,NOWDT,NOPROTECT,NOMCLR,NOLVP #use delay (clock=4000000) void main(){ int chave=0; while(true){ if(input(pin_a0)==1 && chave ==0){ while(chave==0){ if(input(pin_a0)==0){ output_high(pin_b0); chave=1; } } } if(input(pin_a0)== 1 && chave ==1){
D2 D3 D4 D5 D6 D7 D8
LED-YELLOW
LED-YELLOW
LED-YELLOW
LED-YELLOW
LED-YELLOW
LED-YELLOW
LED-YELLOW
LED-YELLOW
Cdigo Fonte
#include <16f628a.h> #fuses INTRC,NOWDT,NOPROTECT,NOMCLR,NOLVP #use delay (clock=4000000) void main(){ int i =1; while(true){ while(i <=255){ output_b(i); i= (i<<1)+ 1; delay_ms(100); if(i == 255){ output_b(i); delay_ms(100); while(i <= 255){ i = (i>>1) ; output_b(i); delay_ms(100);
if(i == 1) break; } } } } }
U1
16 15 4 RA7/OSC1/CLKIN RA6/OSC2/CLKOUT RA5/MCLR RA0/AN0 RA1/AN1 RA2/AN2/VREF RA3/AN3/CMP1 RA4/T0CKI/CMP2 17 18 1 2 3 6 7 8 9 10 11 12 13
Cdigo Fonte
#include <16f628a.h> #fuses INTRC,NOWDT,NOPROTECT,NOMCLR,NOLVP #use delay (clock=4000000) void main(){ int tabela [ ]= {0b0111111, 0b0000110, 0b1011011, 0b1001111, 0b1100110, 0b1101101, 0b1111100, 0b0000111, 0b1111111, 0b1100111}; int i = 0; while(true){
U2
A B C D LT BI LE/STB 4511 QA QB QC QD QE QF QG 13 12 11 10 9 15 14
Cdigo fonte
#include <16f628a.h> #fuses INTRC,NOWDT,NOPROTECT,NOMCLR,NOLVP #use delay (clock=4000000) void main(){ int tabela[]= {0x0,0x1,0x2,0x3,0x4,0x5,0x6,0x7,0x8,0x9}; int i = 0; while(true){ output_b(tabela[i]); delay_ms(350); i++; if(i == 10) i = 0; } }
R1
330R
U1
16 15 4 RA7/OSC1/CLKIN RA6/OSC2/CLKOUT RA5/MCLR RA0/AN0 RA1/AN1 RA2/AN2/VREF RA3/AN3/CMP1 RA4/T0CKI/CMP2 17 18 1 2 3 6 7 8 9 10 11 12 13
R2
330R
D1
LED-GREEN
Cdigo Fonte
#include <16f628a.h> #use delay(clock=4000000) #fuses INTRC,NOWDT,NOPROTECT,NOMCLR,NOLVP void main(){ while(1){ if (input(pin_a1) == 1){ output_high(pin_b0); delay_ms(200); output_low(pin_b0); delay_ms(200); } else { output_low(pin_b0); } } }
WWW.CLOCKSIZE.BLOGSPOT.COM
1- Acendendo um led: 2 - Acionando led por chave: 3 - Pisca-pisca: 4 - Corredor de leds: 5 - Boto de trava: 6 - Acionando led por boto: 7 - Vai e volta de leds: 8 - Contador de 0 9 com display: 9 - Contador de 0 9 com display ll: 10 - Pisca-pisca acionado por boto:
WWW.CLOCKSIZE.BLOGSPOT.COM