filtro anti-debounce na linguagem C - Página 2 - Programação de microcontroladores - Clube do Hardware
Pede para o moderador trocar o título.
Hoje em dia com a internet no mundo e Google,qualquer busca mundial pode aparecer esse título...e o seu nome
KKKKK não tem problema.... eu também já ví isso escrito assim, mas esse livro que você apontou foi escrito por um professor E engenheiro, isso me surpreendeu... mas confesso que eu também sou péssimo na escrita, devem ter muitos outros como eu kkkkkkk !
Houve uma época aqui no Brasil que qualquer um que aprendia um pouco sobre um determinado assunto achava que estava acima do restante da humanidade e resolvia escrever um livro .... existem vários livros sobre microcontroladores que deveriam ser retirados do mercado e jogado no lixo ....
Mas sabe o que valeu neste tópico ?
Acho que você enriqueceu seu repertório de técnicas a serem usadas para eliminar os ruídos de botões e teclados, e isto é o que interessa !
Em 12/04/2021 às 08:21, .if disse:
Passei aqui só pra te dizer que o teu filtro "ANTI"-debounce funcionou!
Tive que fazer pequenas alterações:
relê = 5V X 56 ohms (bobina)
resistor de base do transístor = 10k (tudo isso? foi só pra ver se saturava)
transístor = BC558
CLOCK = 4MHZ
uC = AT89S52
//P3_0 ligado na chave
//P2_6 aciona o relê no nível 0
if(!P3_0){
while(!P3_0 && (tempo<50000))
if (P3_0) tempo=0;
while (tempo<10000){ //tive que colocar isso porque também tem boucing
tempo++; } //quando desliga
Esse programa que eu fiz e marquei como solução NÃO funcionou e eu sei porque:
Eu usei a lógica do ASM na construção do programa na linguagem C.
Através dos saltos, meu programa contava as linhas de programação para fazer o delay,
mas uma linha de programa na linguagem C representa "n" linhas em ASM. Por isso não
funcionou. Misturei tudo !!!
O teu programa é a solução mas não consegui remarcar.
No esquema que eu fiz, liguei o P0_3 na chave, quando na verdade, eu usei o P3_0.
Troquei as bolas... E não deu para editar.
É a pandemia que deixa a gente assim.
Esse é o esquema correto:
Por curiosidade, você alimentou esse circuito com o relé com quantos volts ?
Esqueci de colocar a tensão...
A minha pergunta da tensão foi justamente para responder a sua dúvida do resistor de 10K ...
BC558 - Existe o A, B e o C ... ganhos máximos podem variar muito dependendo do modelo.
A corrente de base com esse resistor de 10K é de cerca de 430 uA ... 3 vezes mais do que o mínimo necessário para saturar com corrente de coletor de ceca de 30 mA ... então deve estar saturado com tensão VCE abaixo de 0.4V .
Paulão sabe o que aconteceria se o relé fosse alimentado com 12V né?? Não? Então lá vai: ele ficaria acionado o tempo todo. Não me peça pra explicar o porquê hein!..