AJUDA COM PIC 16F628A

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

AJUDA COM PIC 16F628A

Mensagempor antsergio » 14 Mar 2008 20:59

Ola pessoal do forum,boa noite.
Pela primeira vez entro,solicitando ajuda de como projetar um timer de 60 minutos com pic 16F628A que não seja multiplexados,claro;sou novato neste assunto e gostaria que alguem me ajudassem neste assunto,me dando um exemplo de como seria o comando em assembly,se for possivel.
Acho muito estranho um projeto multiplexado,o display de sete segmentos correndo do primeiro display para o terceiro (03 display 7 seg.)Gostaria de saber se existe a possibilidade de os numeros ficarem parados,mudando somente o valor do display.Tenho lido muitos livros de PICs,ou sou cego,ou sei la o que,não vejo esta possibilidades.Gostaria muito que alguem me dessem uma luz para eu treinar no meu PROTEUS 7.1 SP4.
Desde ja peço desculpa se estou fazendo um pedido absurdo.
antsergio :oops:
antsergio
Bit
 
Mensagens: 17
Registrado em: 11 Fev 2008 19:24

Mensagempor renatokodaira » 15 Mar 2008 10:15

Se voce usar somente 2 displays e nao se importar com precisao, eh possivel usar o 16F628(A) para fazer o seu timer de 60 min sem precisar multiplexar os display. Alias fica muito mais facil implementar sem multiplexaçao de displays.

O que voce precisa programar:
1) Configurar um timer interno pra te dar a base de tempo (por ex. o TMR1)
2) Ligar cada segmento dos 2 displays a uma porta de I/O. Serao precisos 14 portas (o 628A tem 15 de I/O e 1 somente de entrada).
3) Configurar o oscilador para interno (assim liberando os pinos do cristal/ressonador para I/O).
4) Monte uma tabela com os digitos relacionando segmentos e portas.
5) De acordo com a base de tempo do timer interno, ir decrementando as variaveis de decimos de minuto e unidades de minuto. A cada decremento, atualize os displays.
6) Voce pode acrescentar alguns botoes para controlar o timer (reset, stop).

Se precisar de mais displays, vai precisar de um PIC com mais portas.
Se precisão for requisito, um oscilador a cristal será necessário e voce precisa de um PIC com mais portas.
renatokodaira
Byte
 
Mensagens: 402
Registrado em: 11 Out 2006 15:15

Mensagempor jorgeluiz » 15 Mar 2008 23:32

Caro Sergio. Se for so usar o pic e os displays de leds, melhor fazer como o Renato disse acima. Mas voce tambem pode usar os integrados 4511, que sao decodificadores de display de 7 segmentos. Pode usar um pra cada display, nao precisa multiplexar as entradas. Sao quatro entradas pra cada display. O interessante de usar esse integrado e' que eles tem um pino que congela o digito, isso pode ser configurado no pic, ate que o proximo numero mude, e descongele o anteriror. Estude o datasheet do MC 4511, la tem os dados que voce precisa.
Avatar do usuário
jorgeluiz
Byte
 
Mensagens: 448
Registrado em: 26 Mar 2007 02:26

Mensagempor LeandroPIC » 17 Mar 2008 12:43

e ai antsergio, vc por aqui tambem!!!!


ja faz um ano que está nessa,não consegui resolver ainda!!!!

no forum da labtools de onde vc veio vc vai encontrar todas as repostas nessesárias, que vc já perguntou, mas o forte do projeto tem que ser vc.
Avatar do usuário
LeandroPIC
Byte
 
Mensagens: 163
Registrado em: 06 Jul 2007 12:19

pic16F628A

Mensagempor antsergio » 27 Mar 2008 11:24

renatokodaira escreveu:Se voce usar somente 2 displays e nao se importar com precisao, eh possivel usar o 16F628(A) para fazer o seu timer de 60 min sem precisar multiplexar os display. Alias fica muito mais facil implementar sem multiplexaçao de displays.

O que voce precisa programar:
1) Configurar um timer interno pra te dar a base de tempo (por ex. o TMR1)
2) Ligar cada segmento dos 2 displays a uma porta de I/O. Serao precisos 14 portas (o 628A tem 15 de I/O e 1 somente de entrada).
3) Configurar o oscilador para interno (assim liberando os pinos do cristal/ressonador para I/O).
4) Monte uma tabela com os digitos relacionando segmentos e portas.
5) De acordo com a base de tempo do timer interno, ir decrementando as variaveis de decimos de minuto e unidades de minuto. A cada decremento, atualize os displays.
6) Voce pode acrescentar alguns botoes para controlar o timer (reset, stop).

Se precisar de mais displays, vai precisar de um PIC com mais portas.
Se precisão for requisito, um oscilador a cristal será necessário e voce precisa de um PIC com mais portas.

Ola como vai,bom dia.
Primeiramente obrigado pelos dados acima.
Só tnho duas duvidas;: 01 como posso determinar o prescaler para que eu consiga mudança no display 7 seg. em minutos,não quero os segundos, 02 a outra duvidas é que vou colocar 02 cd 4511 para decodificar os tempos,pelo o que eu entendi;tenho que montar uma tabela tipo BCD.Espero um retorno,tipo se estou no caminho certo,e tambem uma ajuda se for possivel.
Um abraço.
antsergio
Bit
 
Mensagens: 17
Registrado em: 11 Fev 2008 19:24

Mensagempor LeandroPIC » 27 Mar 2008 12:50

não sei exatamente em que nivel está seu progeto mas valos lá.

1 - vc configura o timer1 para ser usado com um cristal de 32768K, ative a int do timer1 e carregue ele com 32768, ai a cada segundo vai gerar uma int CERTO,quando gerar a int vc carrega o timer novamente com 32768 e assim vai...., para testar cada vez que gerar uma int vc muda o estado de um LED.

2 - declare 3 variaveis "segundo", "minuto", "hora", inicie elas com 0, ai a cada vez que gerar uma int vc incrementa a variavel "Segundo", quando ela chegar a 60, vc zera ela e incremente a variavel minuto, quando ela chegar a 60, vc zera ela e incremente a variavel hora,quando ela chegar a 12 ou 24, vc zera todas as variaveis.

3 - Agora vamos mostrar a Hora, para isso vc vai ter que fazer uma conversão das variaveis "Segundo", "minuto", "hora" para BCD EX:

segundo: igual a 54

Segundo_umidade: igual a 4

Segundo_Dezena: igual a 5

Segundo_umidade e Segundo_Dezena, são variavel tipo byte que vai guardar o valor em BCD do "segundo", fassa isso tambem para minutos, e horas.

4 - Agora vc vai usar o 4511, no seu caso vc quer só os segundo então vc envia para o primeiro 4511, a variavel "Segundo_umidade", que já está em BCD, depois envie a variavel "Segundo_Dezena", para o segundo 4511, para definir o tempo para atualizar os displays, vc pode atualiza-los a cada int do timer1, que acontecem a cada um segundo.

Qualquer duvida e só POSTAR.....
Avatar do usuário
LeandroPIC
Byte
 
Mensagens: 163
Registrado em: 06 Jul 2007 12:19

Mensagempor LeandroPIC » 27 Mar 2008 13:02

Mas eu te falo, Multiplexar os display é mais facil e economico do que usar 4511, 2 display até vai, mas já pensou vc fazer um relogio que mostra hora, minuto, e segundo, TUDO com 4511,vc vai usar 6 x 4511 vai ter que ser um PICÂO para ter todos esses pinos,e vai usar 48 resistores para os displays, sem contar na placa que vai ser GIGANTE no minimo 20x20.
Avatar do usuário
LeandroPIC
Byte
 
Mensagens: 163
Registrado em: 06 Jul 2007 12:19

Mensagempor ze » 27 Mar 2008 15:09

http://rapidshare.com/files/102823217/rel_ogio.zip.html

fiinho, pega aqui um ex. que fiz ESPECIALMENTE PRA VOCÊ. Me identifiquei contigo, pois me lembra meus primórdios do multiplex. Tinha as mesmas inquietações. Não jogue fora pois levei um tempão pra montar! Foi meio Frankstein.

pra efeito didático, ele está contando mm:ss. O desafio pra você é mudar pra hh:mm. Lembre-se é apenas didático, Não vá ligar direto como está! Voce pode evitar os resistores se colocar um bc da vida configurado como coletor comum. Fiquei com pregui de desenhar.
Sortesuaquetotenotempoeiminhabarradeespaçoestácomdefeitodápranotar?abrçebonsestudos!
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

AJUDA COM PIC 16F628A

Mensagempor antsergio » 27 Mar 2008 18:09

lellis escreveu:http://rapidshare.com/files/102823217/rel_ogio.zip.html

fiinho, pega aqui um ex. que fiz ESPECIALMENTE PRA VOCÊ. Me identifiquei contigo, pois me lembra meus primórdios do multiplex. Tinha as mesmas inquietações. Não jogue fora pois levei um tempão pra montar! Foi meio Frankstein.

pra efeito didático, ele está contando mm:ss. O desafio pra você é mudar pra hh:mm. Lembre-se é apenas didático, Não vá ligar direto como está! Voce pode evitar os resistores se colocar um bc da vida configurado como coletor comum. Fiquei com pregui de desenhar.
Sortesuaquetotenotempoeiminhabarradeespaçoestácomdefeitodápranotar?abrçebonsestudos!

Ola bonitinho,boa noite.
Agradeço-lhe muito pela ajuda que me fez,mas continuo com duvidas na montagens em assembly,como disse sou novato ao estremos,mas deixa para la.Estou confirmando um curso completo sob PICs que estarei começando na semana que vem. ASSEMBLY esta á arrncar os pelos do!!!!!!!!!!!!
Meu caro amigo LELLIS maiiiiis uma vez um grande abraço
antsergio
Bit
 
Mensagens: 17
Registrado em: 11 Fev 2008 19:24

Mensagempor turuna » 28 Mar 2008 13:07

Eu montei um display multiplexado de 4 dígitos(da até para nove 9) utilizando um pic 16F628A e um contador 4017 utilizando 8 pinos do pic, 7 para os segmentos dos displays,sendo todos em paralelo e com um pino gero um clock no 4017 que seleciona o display acionando um transistor que aterra o katodo de cada individualmente.


Turuna :wink:
turuna
Nibble
 
Mensagens: 97
Registrado em: 10 Mar 2008 12:50

AJUDA COM PIC 16F628A

Mensagempor antsergio » 28 Mar 2008 14:12

turuna escreveu:Eu montei um display multiplexado de 4 dígitos(da até para nove 9) utilizando um pic 16F628A e um contador 4017 utilizando 8 pinos do pic, 7 para os segmentos dos displays,sendo todos em paralelo e com um pino gero um clock no 4017 que seleciona o display acionando um transistor que aterra o katodo de cada individualmente.


Turuna :wink:

Ola meu caro amigo Turuna,voce esta tambem em toda parte.Ou estou enganado.
Agradeço-lhe muito pela resposta,gostaria que me ajudassem com este exemplo com 4017,para que eu possa entender melhor o mundo maravilhoso que é o PIC.Agradeceria muito se me passar o assembly,pois é nesta area que estou encontrando muitas dificuldades,principalmente ao configurar o TIMER0,pois eu quero o estouro de um minuto.Isto é somente dois display e max. de 60 minutos.
Caso não puder me ajudar não tem probrema,neste momento acabei de me inscrever num curso de PICs.
Desde ja um forte abraço,e que DEUS te ilumine. :oops:
antsergio
Bit
 
Mensagens: 17
Registrado em: 11 Fev 2008 19:24


Voltar para PIC

Quem está online

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

x