TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Enigma en 25 de Enero de 2008, 00:09:56
-
Hola muchachos.... Espero que se encuentren muy bien... He venido aquí en busca de una luz... Estoy trabajando con los modulos de comparación y captura del 18F4550 y bueno, he estado leyendo el datasheet y material que he encontrado pòr internet y proporcionado por unos compañeros, pero no logro entender como funcionan estos señores, lo que se es que los puedo activar con el Timer 1 y 3 y con el CCP2, pero de allí no se como funcionan... Me dijeron que hasta generadores de onda cuadrada puedo sacar con ellos pero no se como... no entiendo su funcionamiento... Si alguien me puede explicar se lo agradeceria mucho de verdad que si... Un beso a todos, gracias!!! :-)
Atte: Enigma... La llanerita de Guayana :-)
-
Mira por aqui:
http://picmania.garcia-cuervo.com/Tecnicas_en_C_2.php (http://picmania.garcia-cuervo.com/Tecnicas_en_C_2.php)
http://picmania.garcia-cuervo.com/Tecnicas_en_C_6.php (http://picmania.garcia-cuervo.com/Tecnicas_en_C_6.php)
http://www.micropic.es/index.php?option=com_mambowiki&Itemid=75 (http://www.micropic.es/index.php?option=com_mambowiki&Itemid=75)
Suerte.
salu2 8)
-
esos link, son informacion invaluable, quien mejor que el maestro redPic para enseñarnos paso a paso las funciones de los modulos del PIC. :mrgreen:
-
Hay que ver lo poco que usáis el buscador del Foro. Todo está aquí y no hay que salir fuera a buscarlo. :mrgreen:
Serie Técnicas en C : Presentación e Indice de Contenidos. (http://www.todopic.com.ar/foros/index.php?topic=14427.msg87502#msg87502)
-
Hola muchachos.... gracias por sus respuestas... Hay algo que no he entendido... Esto:
Con un Cristal de 20 Mhz los cálculos me indican que el número de Ticks de TMR1 necesarios para realizar una conmutación cada 0.25 ms es de 1250 (0.00025 / (1/ FOSC)*4)
La formula para calcular el periodo del TMR1, es la misma del TMR0??? es que he metido los valores para sacar las cuentas y no me dan....
FOSC= 20Mhz, cuando meto eso en esta formulita (1/ FOSC), me da 0.05 uS ahora multiplicado por 4 me da 0.2... pero eso de 0.00025 Segundos imagino que es T/2... que es medio ciclo no??? pero no me da.... que aplicaron allí??? que preescalador??
Atte: Enigma... La llanerita de Guayana :-)
-
Hay que ver lo poco que usáis el buscador del Foro. Todo está aquí y no hay que salir fuera a buscarlo. :mrgreen:
Timer PIC Calculator (http://www.todopic.com.ar/foros/index.php?topic=19454.msg140548#msg140548)
-
Si lo uso.... y vi ese programita que ytienes. ta muy fino... pero es que quiero aprenbder a sacarlo a manito, para que cuando no tenga una pc a la mano pues tambien pueda hacer los calculos.... No se si me entiendes!!!! pero es que no tengo la formula... y Bueno sin ella no puedo entender esto...
Con un Cristal de 20 Mhz los cálculos me indican que el número de Ticks de TMR1 necesarios para realizar una conmutación cada 0.25 ms es de 1250 (0.00025 / (1/ FOSC)*4)
O.k la saque y me da... pero en 0.00025 creo entender que es medio ciclo llevado a segundos... aja fino pero la formula general como dice????? :?
Atte: Enigma... La llanerita de Guayana :-)
-
http://www.todopic.com.ar/foros/index.php?topic=17304.msg116401#msg116401
-
Redpic, una preguntica y disculpa la molestia!!! sabes que el CCP2 está multiplexado con RB3 y RC1, aja yo escogi para trabajar el RC1 puesto que el puerto B tengo un teclado conectado.... Ahora, eso quiere decir que la onda cuadrada saldra por ese pin? por el RC1 en mi caso??...
Es que tengo una confusión porque veo en tu programa que tienes el RB3 conectado, aja todo lindo, pero dices que visualizarás la salida de la onda a través del pin E0... Me enrede aquí! :?
Y otra más, y disculpa :oops: pero no veo donde vuelves a 1 la variable flagconmuta? porque al inicio del programa la variable se pone en cero, o.k, entonces cuando entra a la interrupción como es cero pasa al else y no al If.... y como todavia sigue siendo cero, siemprte se quedará en el else... es decir, donde la colocas en 1 para que en vez del else se vaya al if...??? :o
Y disculpa de verdad!!! eso es lo malo de ser nuevo en un lenguaje y leer codigos de personas avanzadas me siento como muchachita de 6to grado leyendo un libro de matemáticas de ingenieria!!!! :(
Atte: Enigma... La llanerita de Guayana :-)
-
Necesito una ayuda!!!!!!!!!!!!!!!!!!!!1 :(
Chamos, chamos, chamos!!! no se configuarar el timer 1 o no se, si se y creo que no se!!!! Ayuda... Ayuda!!! por favor... piedad de mi!!!!!!
Atte: Enigma... La llanerita de Guayana :(
-
o más bien no se, si es el CCP2 el que no se usar!!!!! :( :( :( La cuestión es la siguiente:
Quiero que el CCP2 se me cargue en un valor para que cuando coincida con el timer 1 me mande un pulso al pin CCP2 (RC1), pero no se como cargar el timer 1 ni tampoco se como cargar el CCP2, intente cargar dicho CCp2 por sus registros CCPR2L y CCPR2H y pues me dan error!!!! y cuando calculo un tiempo para el TIMer1 a través de su formula dicho valor me da enorme y negativo!!!! estoy en la ruina!!! no se que hacer, llevo dias tratando de hacer una simple onda cuadrada con el modulo comparación y hasta ahora no lo he conseguido!!!! :( :( :( :(
Alguien que me explique el TImer1 y el CCP2, ya lei todos los linbks relacionados y nada de nada :( :( :(
Atte: Enigma... La llanerita de Guayana :(
-
Porque nadie me quiere ayudar???... Ni en la universidad, ni aquí ni en ningún lado!!! :cry: :cry:
Que suerte tan triste la mia!!! :8} :8} :8}
Atte: Enigma... La llanerita de Guayana :-)
-
Llanerita, mi amor!!
Deja de patear en el suelo cual niña caprichosa y emprendela contra el PIC y la lectura de sus modulos!!
Estas perdiendo el tiempo tuyo y el de quienes leemos tus POST, mientras berreas no haces nada!!
Disculpa el zamarreo, pero nadie contestara una pregunta cuando haces tres mas antes que siquiera podamos leer la anterior...
Luego de las malas, las buenas, fiel a mi estilo... :mrgreen:
Observe que le comentas a Diego sobre un calculo del modulo CCP en base a un cristal de 20 Mhz, la pregunta es: Ese es el cristal que estas utilizando en tu placa??
Porque vi en tu codigo que declaras 40Mhz, y si es asi todos los timings internos se van al diablo!!
-
Chamo no es que berre como niña chiquita., es que contrale, hago miles de calculos para los timer y pues no me dan, consulto con los profesores y estos no me dicen nada.... Voy a los libros, manuales y todos me dicen lo mismo... Y hasta algunos me dan formulas distintas... Le pregunto a la gente y pues ellos me dicen que a ellos nunca les importo saberse la formula, ques solo cargaron el timer o el CCP con un número arbitrario y ya... Que fueron probando con números hasta que les dio lo que querian y así lo dejaron sin preocuparse el porque de ese número... Entonces que puedo hacer?=? Hacer uso de mi ignorancia y hacer como mis compañeros, colocar un número allí hasta que me de la cuestión....??? No puede ser, no puedo tomar ese tipo de Actitud! :x
Atte: Enigma... La llanerita de Guayana :x
-
Chamo no es que berre como niña chiquita., es que contrale, hago miles de calculos para los timer y pues no me dan, consulto con los profesores y estos no me dicen nada.... Voy a los libros, manuales y todos me dicen lo mismo... Y hasta algunos me dan formulas distintas... Le pregunto a la gente y pues ellos me dicen que a ellos nunca les importo saberse la formula, ques solo cargaron el timer o el CCP con un número arbitrario y ya... Que fueron probando con números hasta que les dio lo que querian y así lo dejaron sin preocuparse el porque de ese número... Entonces que puedo hacer?=? Hacer uso de mi ignorancia y hacer como mis compañeros, colocar un número allí hasta que me de la cuestión....??? No puede ser, no puedo tomar ese tipo de Actitud! :x
Atte: Enigma... La llanerita de Guayana :x
Y cuales son los numeros a los que quieres llegar? , como hiciste los calculos? , mira que lo que comentas es muy general y por lo menos yo no se como ayudarte, porque no nos explicas que fue lo que hiciste y talvez podamos encontrar lo que esta mal.
Saludos
-
Estoy usando está formula:
PR1= (periodo/4*Tosc*preecaler) - 1
Y siempre que saco una cuenta me da un número allí más grande que los mismos registros del Timer!!! o si no me dan negativos!!
Atte: Enigma... La llanerita de Guayana :-)
-
Disculpa mi ignorancia pero que es lo que quieres calcular con esa formula?, porque obviamente esta mal
saludos
-
A según un material del pic 18F4550 que encontre por ahi en internet, pues con eso supuestamente calculo el numero que debo cargar al Timer1 para poder temporizarlo a tiempo que yo quiera!!! Ovbiamente está mala, no me lo tienes que decir, he ratificado eso tanto teorica como experimentalmente!!! y al parecer los más expertos (profesores) no se la saben porque no me dan razón de ella!!!! y así como esa he encontrado muuuuuchas formulas!!!!
Pretendo calcular el valor que tengo que cargar en los registros del Timer1 para ponerlo a temporizar determinado periodo!
Atte: Enigma... La llanerita de Guayana :-)
-
El TMR1 tiene varios modos de funcionamiento, en el modo en el que se incrementa con cada ciclo del PIC (Tocs), donde Tosc = 4/fcristal, y t es el tiempo que quieres temporizar tenemos que :
TMR1 = 65536 - (t*fcristal)/(4*prescaler )
ahora de donde sale esta ecuacion es otra cosa, ademas que una vez que cargues el valor a TMR1L y TMR1H y encender TMR1 debes esperar que TMR1IF vaya a 1 para que el tiempo haya transcurrido, no se si esto es exactamente lo que quieres pero bueno es lo que te entendi :)
Saludos
-
Ahhh o.k... Dos preguntas:
1.) Cuando yo cargo el TMR1, es como si estuviera cargando el TMR1L y el TMR1H los dos a la vez??
2.) Imagina que quiero temporizar 0.5ms con un cristal de 4 Mhz, con preescaler en 1....
Seria esto:
TMr1= 65536 - (0.5^-3*4^-6)/(4*1)
TMR1= 65536 - 0.002
TMR1= 65535.998??? es así???
Atte: Enigma... La llanerita de Guayana :-)
-
No, la frecuencia del cristal es 4 MHz osea 4^6
Entonces seria
TMR1 = 65536 - (0,5^-3*4^6)/(4*1)
TMR1 = 65536 - 500
TMR1 = 65036
Esto en hexadecimal seria: 0xFE0C
Entonces tienes que TMR1H = 0xFE y TMR1L = 0x0C
Saludos
-
Miercole verdad!!! oppss!!! se me fue un menos por allí!!!! :oops:
Ahhh o.k.... Cooooo!!! arrrrrrrrrrrr!!!! finnnnnnn pude comprender esta formula, gracias a ti chamo de pana!!!!
Ahhh o.k... Dos preguntas:
1.) Cuando yo cargo el TMR1, es como si estuviera cargando el TMR1L y el TMR1H los dos a la vez??
Atte: Enigma... La llanerita de Guayana :-)
-
Veo que al final recibiste tu ayuda!!
Me alegro mucho!! :mrgreen: :mrgreen:
-
:-/ i'm happy too