Dúvia em um "Hello World"

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Dúvia em um "Hello World"

Mensagempor R u s H » 28 Abr 2009 02:24

Olá!

Sou iniciante em PIC, estou fazendo um daqueles hello world com led. Eu pressiono um push button e dois leds ligam em sequência. A minha dúvida é a seguinte: tem um push button ligado em RA0 e 2 leds ligados em RB0 e RB1 respectivamente. O objetivo é pressionar o botão e os 2 leds piscarem em sequência, porém se eu ligo o botão diretamente em RA0, quando eu pressiono, os LEDs piscam sem parar. Se eu ligo um resistor junto desse pino funciona normal, cada LED pisca uma vez e para.

Alguém pode me explicar por que isso acontece? Está certo ligar um resistor ali?


Imagem
R u s H
 
Mensagens: 4
Registrado em: 03 Mar 2007 19:05

Mensagempor fabim » 28 Abr 2009 08:38

Yes guy.
Regra para eletronica digital.

Quando se trabalha em uma lógica de entrada, o qual é utilizado para medir lógica 1 ou 0.
Jamais deve-se deixar a porta flutuando.
Deve-se garantir um nivel, inverso ao esperado, até que o mesmo aconteça.

Por exempriu.

FOR(;;){

IF(PORTA.F0){ // SE BOTÃO PRECIONADO FAZ
// LÓGICA DO BOTÃO É 0 NÃOPRES 1 SIMPRES
PORTB.F0 = 1;
DELAY_MS(100);
PORTB.F0 = 0;
PORTB.F1 = 1;
DELAY_MS(100);
PORTB.F1 = 0;

} }
Se você deixar a porta flutuando, sem a garantia de um nivél, que atenda sua lógica.
Spurios de fonte, ruidos, etc. Vão fazer com que sua porta fique alternando entre 0 e 1, como o uC é extremamente rápio e a impedância de entrada da porta chega a casa de MH, ele vai aparentemente ficar doidão, mais na verdade ele esta funcionando corretamente, pois esta medindo o ruido que hora 1 hora 0.

SANOU ?

fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor fabio_pic » 28 Abr 2009 08:51

Rush,

Não sei se há problema nos valores dos resistores mas sempre uso para os push button resistores de 10k e para leds 1k. A posição está correta.
Como você está setando os pinos (entradas e saídas)?
Verifique as configurações iniciais pra você não tomar "derrubada".

Abraços,
Fábio.
fabio_pic
Nibble
 
Mensagens: 81
Registrado em: 03 Set 2007 09:04
Localização: Rio de Janeiro

Re: Dúvia em um "Hello World"

Mensagempor Djalma Toledo Rodrigues » 28 Abr 2009 13:01

R u s H escreveu:....Está certo ligar um resistor ali?...

Esta certo sim . O motivo o Fabim (ou Fabim filho ? rsrs) já explicou.

Só que o convencional é ligar o resistor para + 5 Vdc e push button para o comum ou Vss. Inclusive existe a possibilidade de utilisar os resistores internos do PIC , ver Pull Up.
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Re: Dúvia em um "Hello World"

Mensagempor roquetti » 28 Abr 2009 21:55

Eu fiz um Hello World,
segue link

http://www.youtube.com/watch?v=2FyBNSfn2-g
roquetti
Byte
 
Mensagens: 183
Registrado em: 27 Dez 2008 23:07
Localização: Jaguariúna - SP

Mensagempor R u s H » 29 Abr 2009 00:50

Valeu pessoal. Vocês escreveram algumas coisas aí que eu ainda não entendo, mas com o tempo eu aprendo. Pelo menos o porque desse resistor eu entendi.

fabim
Entendi, sim.

fabio_pic
Acho que o CCS configura as portas automaticamente, ele tem um wizard para criar o project e tem como escolher quais portas serão output e quais serão input. A principio output ele deixa high.

Djalma
Tem um exemplo no MikroC sobre button e fala sobre isso, mas não explica como usar os do PIC. Vou da uma pesquisada.

roquetti
Literalmente um Hello World. :o
R u s H
 
Mensagens: 4
Registrado em: 03 Mar 2007 19:05


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

x