Últimos assuntos
Quem está conectado?
Há 541 usuários online :: 3 registrados, 0 invisíveis e 538 visitantes :: 2 motores de buscacristianoc, manotec, WALTER JANSEN
O recorde de usuários online foi de 1034 em Sex 24 Jul 2015, 10:41
Anuncios
Nenhum anúncio
programa para fazer função liga/desliga com um push
+2
Roberto4017
morais11
6 participantes
Página 1 de 1
programa para fazer função liga/desliga com um push
por favor queria saber como fasso pra fazer essa função em c pra pic 16f877a, já tentei muitas vezes e num concegui.
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
Re: programa para fazer função liga/desliga com um push
amigão se aceita uma mudança no microcontrolador sugiro o amigo usar uma plataforma de prototipagem arduino,
Roberto4017- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 16
Sexo :
Número de Mensagens : 35
Idade : 43
Cidade/Estado: : Fortaleza/ce
Data de inscrição : 18/01/2013
Re: programa para fazer função liga/desliga com um push
É a mesma logica apresantada em seu outro post!!!
display contado atraves de pulsso em unico push butom
A unica diferença e o q vai te facilitar é a leitura do estado onde se encontra o pb!!!
Antes de mudar de microcontrolador, aconselho a procurar apostilas sobre:
- logica de programação
- circuitos digitais
- c ,assembly, basic, java ou outra linguagem de programação... e praticar o que aprendeu
Flw...
display contado atraves de pulsso em unico push butom
A unica diferença e o q vai te facilitar é a leitura do estado onde se encontra o pb!!!
Antes de mudar de microcontrolador, aconselho a procurar apostilas sobre:
- logica de programação
- circuitos digitais
- c ,assembly, basic, java ou outra linguagem de programação... e praticar o que aprendeu
Flw...
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
puxa ninguem me ajudou em nada, pelo menos me digão se épossivel fazer esse tipo de função com pic.
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
Re: programa para fazer função liga/desliga com um push
Como não ajudou???
Sim é possivel usar chave sim. Você nao perguntou se era possível, vc disse que nao estava conseguindo... É diferente!!!
Você quer o projeto pronto ou quer aprender???
Poste suas tentativas, e alem disso, qual compilador esta usando???
Leia o q postei acima que vai te ajudar!!!
Procure no topico acima mencionado...
Fazer isso é muito fácil!!!
Alias, piscar led e ler botão são as primeiras coisas que se aprende.
Se quiser ajuda, pelo menos demonstre interesse em aprender, postando suas tentativas, e o que estiver errado, para que ajudemos a corrigir...
Sim é possivel usar chave sim. Você nao perguntou se era possível, vc disse que nao estava conseguindo... É diferente!!!
Você quer o projeto pronto ou quer aprender???
Poste suas tentativas, e alem disso, qual compilador esta usando???
Leia o q postei acima que vai te ajudar!!!
Procure no topico acima mencionado...
Fazer isso é muito fácil!!!
Alias, piscar led e ler botão são as primeiras coisas que se aprende.
Se quiser ajuda, pelo menos demonstre interesse em aprender, postando suas tentativas, e o que estiver errado, para que ajudemos a corrigir...
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
Poste também o circuito!!!
O mais importante.
O mais importante.
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
uso o copilador ccs,fazer um led piscar eu sei, agora fazer uma chave liga desliga com um unico push ta dificil aqui viu.
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
Re: programa para fazer função liga/desliga com um push
Cade o código e o esquema????
Para ler botão, conforme o outro tópico use a função if (input(PIN_XX)) para mudança de estado de 0 para 1 ou if (!input(PIN_XX)) para mudança de 1 para 0.
Caso use o pino RA0 seria = if (input(PIN_A0)) ou if (!input(PIN_A0))... dependendo do circuito!!!
Ou ainda em uma unica linha : output_bit( PIN_B0,input( PIN_A0 ) );
Pino B0 fica igual ao estado de Pino A0!!!
Só olhar o q postei em outro tópico!!!!
Para ler botão, conforme o outro tópico use a função if (input(PIN_XX)) para mudança de estado de 0 para 1 ou if (!input(PIN_XX)) para mudança de 1 para 0.
Caso use o pino RA0 seria = if (input(PIN_A0)) ou if (!input(PIN_A0))... dependendo do circuito!!!
Ou ainda em uma unica linha : output_bit( PIN_B0,input( PIN_A0 ) );
Pino B0 fica igual ao estado de Pino A0!!!
Só olhar o q postei em outro tópico!!!!
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
cara e o seguinte, supomos que o led comesse apagado, eu aperto o push e ele liga(saida=1) eu souto o push e ele continua em estado logico 1, então se eu precionar o push de novo, deveria apagar o led, e asim sucessivamente.
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
Re: programa para fazer função liga/desliga com um push
Só fazer um XOR ou um NOT!!! (apostila de eletrônica digital)
Ou ainda fazer uma contagem de 0-1 e modificar a saída conforme contagem...
Mas cade seu projeto???
Faça também um fluxograma, vai te ajudar na programação!!! (apostila de algoritmos)
Além de fazer as leituras mencionadas anteriormente!!!
Ou ainda fazer uma contagem de 0-1 e modificar a saída conforme contagem...
Mas cade seu projeto???
Faça também um fluxograma, vai te ajudar na programação!!! (apostila de algoritmos)
Além de fazer as leituras mencionadas anteriormente!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
mando o prjeto depois, vou tentar aki.
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
Re: programa para fazer função liga/desliga com um push
Para ler botão, chave, sensor, etc... if (input(PIN_ZX)){} ou if (!input(PIN_ZX)){}... dependendo da transição de estado!!!
Depois disso, você pode ler o estado do pino do led criando uma int, char, etc..., por exemplo chamada estado e com a função estado = input_state(pin_YX);
Depois disso, você pode fazer a verificação e inversão de estado:
if (estado == 1)
{
//muda saida
}else
{
//muda saida
}
Agora o resto é com você!!!
Flw...
Depois disso, você pode ler o estado do pino do led criando uma int, char, etc..., por exemplo chamada estado e com a função estado = input_state(pin_YX);
Depois disso, você pode fazer a verificação e inversão de estado:
if (estado == 1)
{
//muda saida
}else
{
//muda saida
}
Agora o resto é com você!!!
Flw...
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
ei daria certo se eu fisese tipo aquela variavel que vc fez pro display na quele outro programa.
assim:
declaro botao 1
inicio uma sequencia de um pino (1,0,1,0...) tipo aquela la do dysplay 1-99. é possivel?
assim:
declaro botao 1
inicio uma sequencia de um pino (1,0,1,0...) tipo aquela la do dysplay 1-99. é possivel?
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
Re: programa para fazer função liga/desliga com um push
Também é possível!!!
Mais fácil fazer do jeito q falei acima (estado = input_state(pin_YX);
).
Faça de forma que melhor entenda o funcionamento do circuito.
Mais fácil fazer do jeito q falei acima (estado = input_state(pin_YX);
).
Faça de forma que melhor entenda o funcionamento do circuito.
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
Sera que o programa multi sim não te ajudaria.
_________________
ferro velho- Técnico
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : desde 1990 - das valvulas aos smd's e agora em informatica
Sexo :
Número de Mensagens : 2174
Idade : 66
Cidade/Estado: : são caetano do sul/ sp
Humor : bom
Data de inscrição : 11/02/2010
Re: programa para fazer função liga/desliga com um push
Para simular o pic, o ideal é o Isis Proteus!!!
Tem suporte para vários modelos de pic, avr, 80XX, etc...
Entretanto se não gerar os arquivos binários (arquivo hex), não terá como simular...
Tem suporte para vários modelos de pic, avr, 80XX, etc...
Entretanto se não gerar os arquivos binários (arquivo hex), não terá como simular...
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
Código pronto:
Pino de Entrada em RA0
LED conectado em RB0
Pino de Entrada em RA0
LED conectado em RB0
- Código:
int estado;
output_low(PIN_B0);
- Código:
if (!input(PIN_A0))
{
delay_ms(100);
if (!input(PIN_A0))
{
estado = input_state(pin_B0);
if (estado == 1)
{
output_low(PIN_B0);
}else
{
output_high(PIN_B0);
}
}
}
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
este é o programa?
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
Re: programa para fazer função liga/desliga com um push
Sim!!!
Está faltando a parte de configuração do micro, a função main, etc...
Isso agora tá muito mais fácil de fazer funcionar!!!
Agora quebre a cabeça para inserir isso no seu projeto!!!
É aquele negócio: Apenas te ensino a pescar e não pescar pra você!!!
Flw...
Está faltando a parte de configuração do micro, a função main, etc...
Isso agora tá muito mais fácil de fazer funcionar!!!
Agora quebre a cabeça para inserir isso no seu projeto!!!
É aquele negócio: Apenas te ensino a pescar e não pescar pra você!!!
Flw...
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
obrigado amigo vou seguir tentando, qualquer duvido eu postoa ki blz.
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
Re: programa para fazer função liga/desliga com um push
#include "C:\Users\ciro\Documents\aprendizado c\chave lida_desl.h"
#FUSES NOWDT //No Watch Dog Timer
#FUSES xt //Resistor/Capacitor Osc with CLKOUT
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#use delay(clock=4000000)
int estado;
void main()
{
if (!input(PIN_A0))
{
delay_ms(100);
if (!input(PIN_A0))
{
estado = input_state(pin_B0);
if (estado == 1)
{
output_low(PIN_B0);
}else
{
output_high(PIN_B0);
}
}
}
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
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);
// TODO: USER CODE!!
}
não deu certo cara, testei no isis e o led fica acesodireto, e o sinal que sai no pino b0 é alto direto.
#FUSES NOWDT //No Watch Dog Timer
#FUSES xt //Resistor/Capacitor Osc with CLKOUT
#FUSES NOPUT //No Power Up Timer
#FUSES NOPROTECT //Code not protected from reading
#FUSES NODEBUG //No Debug mode for ICD
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#use delay(clock=4000000)
int estado;
void main()
{
if (!input(PIN_A0))
{
delay_ms(100);
if (!input(PIN_A0))
{
estado = input_state(pin_B0);
if (estado == 1)
{
output_low(PIN_B0);
}else
{
output_high(PIN_B0);
}
}
}
setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_OFF);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
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);
// TODO: USER CODE!!
}
não deu certo cara, testei no isis e o led fica acesodireto, e o sinal que sai no pino b0 é alto direto.
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
Re: programa para fazer função liga/desliga com um push
Está tudo errado!!!
Leia uma apostila de c primeiro!!!
A função da tecla só é executada uma vez!!!
Fora a utilização do micro correto, etc...
Codigo completo:
Leia uma apostila de c primeiro!!!
A função da tecla só é executada uma vez!!!
Fora a utilização do micro correto, etc...
Codigo completo:
- Código:
#include <16F877A.h>
#device ADC=16
#FUSES NOWDT, NOBROWNOUT, NOLVP
#use delay(crystal=20000000)
char estado;
void main()
{
while(TRUE)
{
if (!input(PIN_A0))
{
delay_ms(100);
if (!input(PIN_A0))
{
estado = input_state(pin_B0);
if (estado == 1)
{
output_low(PIN_B0);
}else
{
output_high(PIN_B0);
}
do{} while(!input(PIN_A0));
}
}
}
}
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
é cara vc que é proficinal sempre concegui pq estudou pra isso, estou comessando agora e gosto de me deparar como projetos coomo esse.
obrigado amigo.
tem algum problema se eu diminuir esse delay para 10ms? sera que dara algum problema quando eu passar pro protoboard.
obrigado amigo.
tem algum problema se eu diminuir esse delay para 10ms? sera que dara algum problema quando eu passar pro protoboard.
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
Re: programa para fazer função liga/desliga com um push
Não tem problema, pode diminuir, essa técnica de ler o pino duas vezes é chamada de debounce ou debouncing.
É feito isso por causa dos espúrios causados no momento de pressionar a chave e transição da tensão...
A funçao while(TRUE){} ou while(1) {} ou for( ;; ){} é um laço principal, onde depois de executar tudo dentro das chaves {}, retorna para a primeira linha dentro das chaves{}.
A função do{} while(!input(PIN_A0)); é somente pra ficar preso ali enquanto o botão pressionado para não haver oscilação de estado do led.
Existem outras maneiras de debouce de teclas... procure no google!!!
É feito isso por causa dos espúrios causados no momento de pressionar a chave e transição da tensão...
A funçao while(TRUE){} ou while(1) {} ou for( ;; ){} é um laço principal, onde depois de executar tudo dentro das chaves {}, retorna para a primeira linha dentro das chaves{}.
A função do{} while(!input(PIN_A0)); é somente pra ficar preso ali enquanto o botão pressionado para não haver oscilação de estado do led.
Existem outras maneiras de debouce de teclas... procure no google!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
legal cara, vc realmente é um dos melhores cara, muito obrigado por esta me ajudando e tendo paciencia comigo amigão.
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
Re: programa para fazer função liga/desliga com um push
mais com ficaria o programa se eu quisesse adicionar mais botoes na entrada?
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
Re: programa para fazer função liga/desliga com um push
Isso é simples!!!
Só mudar os nomes dos pinos e uma função para cada pino utilizado como entrada!!!
PIN_A0
PIN_A1
PIN_A2
PIN_A3
PIN_A4
PIN_A5
...
PIN_B0
PIN_B1
PIN_B2
PIN_B3
PIN_B4
PIN_B5
PIN_B6
PIN_B7
...
PIN_C0
...
PIN_D0
...
PIN_E0
...
Dependendo de quantos pinos o micro tenha!!!
Cada port, dependendo do modelo e tipo de port tem 8 Entrada/Saida (I/O).
Leia o datasheet do PIC em questão!!!
PIN_A0 = RA0
PIN_A1 = RA1
PIN_B0 = RB0
Etc...
Só mudar os nomes dos pinos e uma função para cada pino utilizado como entrada!!!
PIN_A0
PIN_A1
PIN_A2
PIN_A3
PIN_A4
PIN_A5
...
PIN_B0
PIN_B1
PIN_B2
PIN_B3
PIN_B4
PIN_B5
PIN_B6
PIN_B7
...
PIN_C0
...
PIN_D0
...
PIN_E0
...
- Código:
#include <16C76.h>
#device ADC=16
#FUSES NOWDT, NOPUT, NOBROWNOUT, NOPROTECT
#use delay(crystal=4MHz)
void main()
{
while(TRUE)
{
if(input(PIN_B0)){output_high(PIN_C0);}else{output_low(PIN_C0);}
if(input(PIN_B1)){output_high(PIN_C1);}else{output_low(PIN_C1);}
if(input(PIN_B2)){output_high(PIN_C2);}else{output_low(PIN_C2);}
if(input(PIN_B3)){output_high(PIN_C3);}else{output_low(PIN_C3);}
if(input(PIN_B4)){output_high(PIN_C4);}else{output_low(PIN_C4);}
if(input(PIN_B5)){output_high(PIN_C5);}else{output_low(PIN_C5);}
if(input(PIN_B6)){output_high(PIN_C6);}else{output_low(PIN_C6);}
if(input(PIN_B7)){output_high(PIN_C7);}else{output_low(PIN_C7);}
}
}
Dependendo de quantos pinos o micro tenha!!!
Cada port, dependendo do modelo e tipo de port tem 8 Entrada/Saida (I/O).
Leia o datasheet do PIC em questão!!!
PIN_A0 = RA0
PIN_A1 = RA1
PIN_B0 = RB0
Etc...
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
sim cara eu quero saber como fasso a função liga desliga com por exemplo 5 botões, sendo que cada um liga e desliga um diferente pino na saida.
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
Re: programa para fazer função liga/desliga com um push
A resposta acima!!!
Ainda com um exemplo!!!
Hardware: [https://imageshack.com/i/0lg5grp]
Ainda com um exemplo!!!
Hardware: [https://imageshack.com/i/0lg5grp]
- Código:
#include <16F877A.h>
#device ADC=16
#FUSES NOWDT, NOBROWNOUT, NOLVP
#use delay(crystal=20000000)
char estado;
void main()
{
while(TRUE)
{
/****************************************
BOTAO 1
*****************************************/
if (!input(PIN_A0))
{
delay_ms(100);
if (!input(PIN_A0))
{
estado = input_state(pin_B0);
if (estado == 1)
{
output_low(PIN_B0);
}else
{
output_high(PIN_B0);
}
do{} while(!input(PIN_A0));
}
}
/****************************************
BOTAO 2
*****************************************/
if (!input(PIN_A1))
{
delay_ms(100);
if (!input(PIN_A1))
{
estado = input_state(pin_B1);
if (estado == 1)
{
output_low(PIN_B1);
}else
{
output_high(PIN_B1);
}
do{} while(!input(PIN_A1));
}
}
/****************************************
BOTAO 3
*****************************************/
if (!input(PIN_A2))
{
delay_ms(100);
if (!input(PIN_A2))
{
estado = input_state(pin_B2);
if (estado == 1)
{
output_low(PIN_B2);
}else
{
output_high(PIN_B2);
}
do{} while(!input(PIN_A2));
}
}
/****************************************
BOTAO 4
*****************************************/
if (!input(PIN_A3))
{
delay_ms(100);
if (!input(PIN_A3))
{
estado = input_state(pin_B3);
if (estado == 1)
{
output_low(PIN_B3);
}else
{
output_high(PIN_B3);
}
do{} while(!input(PIN_A3));
}
}
/****************************************
BOTAO 5
*****************************************/
if (!input(PIN_A4))
{
delay_ms(100);
if (!input(PIN_A4))
{
estado = input_state(pin_B4);
if (estado == 1)
{
output_low(PIN_B4);
}else
{
output_high(PIN_B4);
}
do{} while(!input(PIN_A4));
}
}
/****************************************
BOTAO 6
*****************************************/
if (!input(PIN_A5))
{
delay_ms(100);
if (!input(PIN_A5))
{
estado = input_state(pin_B5);
if (estado == 1)
{
output_low(PIN_B5);
}else
{
output_high(PIN_B5);
}
do{} while(!input(PIN_A5));
}
}
/****************************************
ETC...
*****************************************/
}
}
Última edição por nagkiller em Seg 10 Mar 2014, 23:04, editado 4 vez(es) (Motivo da edição : Hospedar imagem e código...)
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Re: programa para fazer função liga/desliga com um push
ta vou tentar blz.
morais11- Participante
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 1 ano
Sexo :
Número de Mensagens : 56
Idade : 30
Cidade/Estado: : paracuru/ce
Data de inscrição : 26/11/2013
muda essa foto fala serio mano
#include <16F877A.h>
#fuses HS,NOLVP,NOWDT,NOPUT,PROTECT,NOBROWNOUT,NODEBUG,NOCPD
#use DELAY(CLOCK =8000000)
void main()
{
int1 flag = 0;
output_low(pin_A0);
while(TRUE)
{
//==============================================================================
if (!input(pin_b7)) //neste pino vc adciona um botão
{
flag = !flag;
output_bit(PIN_a0, flag); // neste pino um led
while(!input(pin_b7));
}
// caso esteja pensando em colocar varios botões é só cria outra variavel e assim por diante sempre
repetindo o que está ae em cima mudando só as portas... pense um pouc oe tente
}
}
flaviosel- Participante
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : 9 anos
Sexo :
Número de Mensagens : 100
Idade : 46
Cidade/Estado: : Paraíba
Data de inscrição : 02/09/2011
Re: programa para fazer função liga/desliga com um push
Ola
Sou novo no fórum, gostei muito e queria deixar minha contribuição.
Existe um maneira mais fácil de se fazer isso. Utilizando o output_toggle(PIN_xx)
esse comando altera o estado da saída, se estiver em 0 vai para 1 e se estiver em 1 vai para 0.
Para
Pino de Entrada em RA0
LED conectado em RB0
O código ficaria assim:
Sou novo no fórum, gostei muito e queria deixar minha contribuição.
Existe um maneira mais fácil de se fazer isso. Utilizando o output_toggle(PIN_xx)
esse comando altera o estado da saída, se estiver em 0 vai para 1 e se estiver em 1 vai para 0.
Para
Pino de Entrada em RA0
LED conectado em RB0
O código ficaria assim:
- Código:
while(true){
if (input(PIN_a0)) // verifica se o botão foi pressionado
{
output_toggle(PIN_b0); // altera o nível logico da saída
do {} while(input(PIN_a0)); // debounce, fica preso aqui enquanto o botão pressionado
}
}
ecastelhano- NOVATO
- DESCRIÇÃO: : Técnico em Eletrônica
TEMPO DE EXPERIÊNCIA : 2 anos
Sexo :
Número de Mensagens : 1
Idade : 47
Cidade/Estado: : São Paulo
Data de inscrição : 31/05/2014
Re: programa para fazer função liga/desliga com um push
Muito bem, conforme já disse anteriormente, existem várias maneiras, com ou sem debounce, com toggle ou pin state, lógica booleana, etc...
Parabéns!!!
Parabéns!!!
_________________
No mundo só existem 10 tipos de pessoas: as que conhecem binário e as que não conhecem!!!
nagkiller- Moderador do fórum
- DESCRIÇÃO: : Técnico em Eletrônica e informática
TEMPO DE EXPERIÊNCIA : Desde 1990
Sexo :
Número de Mensagens : 2997
Idade : 44
Cidade/Estado: : Garça - São Paulo
Humor : Depende
Data de inscrição : 23/11/2011
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Ontem à(s) 17:46 por antonio benedito de queir
» Akai AA-A35 Display apagado
Ontem à(s) 17:32 por city2010
» TV STI DL3270 A W , sem audio
Ontem à(s) 14:00 por valdircp
» Caixa de Som Amplificada CSR 4000A Som Distorcido e Pouca Potência!!!
Sáb 23 Nov 2024, 18:05 por prva
» OU O FÓRUM ACABOU OU NINGUÉM PARTICIPA DO FÓRUM MAIS.
Sáb 23 Nov 2024, 09:09 por Paranista
» Tv lcd,marca Aoc, modelo- LE 39D0330 -defeito,só liga depois de um tempo(quando aquece)
Sáb 23 Nov 2024, 08:28 por jailton da silva santos
» Notbook asus mod. X44C K43L versão 1 preciso do esquema
Sáb 23 Nov 2024, 02:30 por willian8952
» ameaçado por nao consertar aparelho por falta de peças
Sex 22 Nov 2024, 22:19 por joaquimrosadesouza
» Componentes estourados Fonte Usina Spark 120A
Sex 22 Nov 2024, 21:13 por antonio carlos bitti
» fonte usina 60 amperes cai tensao qdo conecta bateria
Sex 22 Nov 2024, 21:04 por antonio carlos bitti
» Tv Philips 50pug6654/78 sem imagem
Sex 22 Nov 2024, 16:02 por SEBCICM
» PS2 Slim 90k testar entradas do memory card
Sex 22 Nov 2024, 11:51 por gamemaniaco
» Procuro a placa lateral do sistema de som Sony MHC-GTX88 e Ci BD3451KS
Sex 22 Nov 2024, 10:16 por Silas Silva Nogueira
» fonte taramps tef 60 amperes ci estourado
Qui 21 Nov 2024, 19:27 por antonio carlos bitti
» [Resolvido] TV PLASMA SAMSUNG PL51F4900AG Não liga , led stand by piscando ( RESOLVIDO )
Qui 21 Nov 2024, 13:28 por Paranista
» TV LG MODELO 42LB5600 ACENDE O LED MAS NÃO LIGA
Qua 20 Nov 2024, 18:27 por Tales g
» Compro placa principal da LG 42lh45ed ou 42lh40ed
Seg 18 Nov 2024, 11:22 por Paulo Costa II
» Som Philips fw c 505 Ajuda entender o esquema
Sáb 16 Nov 2024, 10:03 por nagkiller
» (Resolvido) AIWA NSXF959 SEM SOM MÉDIOS AGUDOS
Sáb 16 Nov 2024, 00:31 por ZACREAL
» como descartar TRC
Sex 15 Nov 2024, 08:32 por jailton da silva santos
» cliente que não busca os aparelhos consertados, o que fazer
Sex 15 Nov 2024, 00:59 por MARIO Y. SEGAWA
» compro placa pricipal tv lg 50pb560
Qua 13 Nov 2024, 11:11 por Eletronica Manoel
» Modulo Taramps t800.1 com os resistores r32 e r5 torrados
Seg 11 Nov 2024, 10:41 por prisma eletronica
» Akai AA-A35 Seletor de Tensão
Seg 11 Nov 2024, 08:34 por city2010
» [RESOLVIDO] TV LCD UN50FH5303G Componentes danificados
Seg 11 Nov 2024, 00:54 por nagkiller
» TV PANASONIC TC- 32A400B Imagem travando
Dom 10 Nov 2024, 16:01 por ramon figueiredo
» ATENÇÃO de todos os usuários da 2002! (Nova regra).
Dom 10 Nov 2024, 12:00 por robsonseixas
» Microondas MEF-41 Eletrolux, não acende luz da porta quando abre, e quando fecha não liga
Sex 08 Nov 2024, 22:30 por joaquimrosadesouza
» Caixa som Ciclotron mult 500 Preciso do esquema
Sex 08 Nov 2024, 21:34 por prisma eletronica
» Pessoal tenho placa barato.
Sex 08 Nov 2024, 20:47 por francisco carlos de jesus