Interrupção por mudança de estado pic18f452

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Interrupção por mudança de estado pic18f452

Mensagempor aos » 02 Dez 2009 16:47

Boa tarde a todos,

pergunta 1: Alguem sabe me dizer qual ou quais o pinos do PIC18F452 DIP são referentes a interrupção por mudança de estado ?

pergunta 2: é possivel fazer um frequencimetro com esta interrupção ?
não compreendi muito bem ainda a logica, se alguem puder me dar uma luz
utilizo o mikrobasic 7.0
Editado pela última vez por aos em 02 Dez 2009 19:04, em um total de 1 vez.
aos
Bit
 
Mensagens: 17
Registrado em: 02 Jun 2009 21:15
Localização: Rio de Janeiro

Mensagempor Djalma Toledo Rodrigues » 02 Dez 2009 17:17

Datasheet / Interrupts

PortB

DJ
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor aos » 02 Dez 2009 19:30

Djalma, é a mesma coisa que interrupt-on-change ???

seu se for: encontrei RB4(37) RB5(38) RB6(39) RB7(40)

e quanto ser possivel um frequencimetro ???
aos
Bit
 
Mensagens: 17
Registrado em: 02 Jun 2009 21:15
Localização: Rio de Janeiro

Re: Interrupção por mudança de estado pic18f452

Mensagempor fabim » 02 Dez 2009 20:33

aos escreveu:Boa tarde a todos,

pergunta 1: Alguem sabe me dizer qual ou quais o pinos do PIC18F452 DIP são referentes a interrupção por mudança de estado ?

pergunta 2: é possivel fazer um frequencimetro com esta interrupção ?
não compreendi muito bem ainda a logica, se alguem puder me dar uma luz
utilizo o mikrobasic 7.0

querido, para baixas frequencias tu pode usar de meio de capture por duas bordas de descida, mais isto para frequencias baixas.

Outra técnica que é a normal e utilizada a dezenas de anos.
Frequencia é a quantidade de repetição por segundo certo ?

Imagine um clock de 1mhz.
Quer dizer que existe repetição de uma forma de onda 1000 000 de vezes por segundo.
Agora como usar o pic para medir este clock ?

Vai precisar de um contador, e um preescaler + 1 tempo base.

O tempo base é aquele que vai orquestrar o tempo em que o seu contador de pulsos vai atuar em captura.
SE contar clock por 1/10 de segundo, equivale a pegar o numero de pulsos contado e multiplicar por 10 para ter o resultado real.
por exemplo o TMR1, ele trabalha com 16 bits certo ?
ou seja, de 0 a 65535.
SE o seu tempo base for de 100mS com este contador você consegue facilmente medir o clock de até 655350. SE o seu tempo for de 1/100, ou seja 10mS consegue contar clock de até 6 553 500 ..

Dei a base para entender, justifique usar o preescaler etc..

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 Djalma Toledo Rodrigues » 02 Dez 2009 20:39

A Finalidade primeira dessa Interrupt-on-change é o µC "acordar" ao ser precionada uma tecla.

Na Net você encontra diversos circuitos , até de 50 MHz
que é a Velocidade do Pré Scaller do Timer Zero.

'Googleia' Frequencímetro com PIC
em:
http://www.google.com.br

DJ
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor aos » 02 Dez 2009 23:17

Agradecido......

Djalma,
dei uma olhada rapida e encontrei um monte de frequencimetros com pic, porém a maioria dá o .hex ou .assembly e só tenho conhecimento em basic (Mikrobasic). aí vc vai me dizer pega o .hex grava e manda pro saco.....
o problema é que eu não quero mandar para um display o resultado. quero fazer +ou- assim....

"leio" a frequencia de um oscilador
comparo com outra frequencia (gravada eprom provalvelmente)
se a frequencia lida estiver "distante" da frequencia gravada + que 1KHz por exemplo
entao altero o valor de uma rede R-2R ou nR na malha RC do oscilador até trazelo para "mais próximo" ou para a frequencia ideal.

as frequancia gravadas seriam entre 2,7MHz e 3,4MHz

Fabim,
uma das minhas duvidas é mesmo este processo de como contar os
pulsos

ex.:
se eu tiver usando um cristal de 4MHz
seu estiver usando o TMR1 sem preescaler quanto tempo vai levar para ele contar os 65535 ???

desculpe a burrice mas
ainda continuo meio perdido

acho então que ficaria mais facil para mim neste momento de aprendizagem usar 1 segundo como tempo base, então só precisaria contar o numero de pulsos em 1 segundo que teria a frequencia. é mais ou menos isto ??? se sim: então como conto 1 segundo com o TMR1 ?? se não for pedir muito


estou usando Mikrobasic 7.2
aos
Bit
 
Mensagens: 17
Registrado em: 02 Jun 2009 21:15
Localização: Rio de Janeiro

Mensagempor ze » 03 Dez 2009 09:12

mikrobasic num dá. mas vamos pelo datasheet que temos em comum...o quê?? nunca ouviu falar?? sim ele existe! Caso tenha curiosidade veja a pag. referente ao timer1. No timer poderá entrar um sinal vindo de um pino externo (TMR1CS=1...isso poderia lhe ser útil no caso de seu frequencímetro!) e interno FOSC/4 (TMR1CS=0). Se prescaler =1 (T1CKPS1=T1CKPS0=0) neste caso irá entrar 1000000Hz no clock do timer que é de 16 bits (65535). Agora me diga: de quanto em quanto tempo ele vai passar pelo zero e de quebra acionar o flag TMR1IF (que você deve desacionar manualmente depois)? em outras palavras a freq de passagem pelo 0 seria 1000000/65535 ou 1000000/65536? tô perguntando por que num sei, carái...
Isso é um resumo meio doido. Fazendo uma microforcinha pode até entender.
Pra dar exato 1s não vai poder contar apenas com o hardware. Vai ter que lançar mão de algum software. Mas como o proprio nome diz, é moleza.

E não se preocupe em fazer perguntas bobas. Se fizer vais ser bobo por alguns momentos. Se não fizer vai ser bobo pra sempre.
Deduz-se que nunca perguntei nada pra ninguém.

abç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor Djalma Toledo Rodrigues » 03 Dez 2009 15:22

aos escreveu: .... leio" a frequencia de um oscilador
comparo com outra frequencia ....
se a frequencia lida estiver "distante" da frequencia gravada + que 1KHz por exemplo
entao altero o valor de uma rede R-2R ou nR na malha RC do oscilador até trazelo
para "mais próximo" ou para a frequencia ideal.

PLL, Circuito Phase-Locked Loop + µC faz isso

Ver Datasheet do CD4046

http://www.datasheetcatalog.com/datashe ... 4046.shtml


DJ
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor aos » 03 Dez 2009 16:34

Djalma Toledo Rodrigues escreveu: PLL, Circuito Phase-Locked Loop + µC faz isso

Ver Datasheet do CD4046

http://www.datasheetcatalog.com/datashe ... 4046.shtml


DJ


Djalma,
e por aí mesmo que eu estava pensando.... seria um "pll via software" ou algo assim, se é que existe.
a idea inicial seria um oscilador com CD4093
vou dar uma olhada neste datasheet

ainda estou as voltas com o frequencimetro...
pelo que entendi vou ter utilizar uma interrupcçao de timer pro contador e uma interrupção externa pro input

obrigado a todos até agora...
mandem + ideas por favor.........
aos
Bit
 
Mensagens: 17
Registrado em: 02 Jun 2009 21:15
Localização: Rio de Janeiro

Mensagempor Djalma Toledo Rodrigues » 03 Dez 2009 17:02

Certo talvez de para Implementar o PLL por Soft - afinal existe a Instrução XOR

XOR para Bit não tem mas, é simples implementar:
Se Bit_A = 1 inverte Bit_B (bit b saida)
apenas isso

Mas, o µC pode ao menos Gerar a frequência de referência, pela Divisão de seu própio Clock, e fazer o Divide por N da Freq. do VFO , para o CD4046

E estas propostas excluem gerar 1 segundo com precisão, que é o mais crítico para
qualquer µC.

DJ
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22


Voltar para PIC

Quem está online

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

x