TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: tota2000 en 16 de Junio de 2005, 21:30:00
-
Hola ya ves soy nuevo en este foro , que esta muy bueno
Bueno la pregunta es en que lugar del programa se tiene que para
Para modificar el oscilador. el programa esta para trabajar con un cristal
A 8mhz.
pero yo quiero pasarlo a 10 o a 20 mhz donde se tiene que modificar
El programa espero que me entienda y si no tratare de explicarlo de nuevo
Gracias un saludo
-
Efectivamente, t falta informacion... t falta decir q tipo de programa? en q lenguaje? q PIC? sabes lo q implica cambiar de 8 a 10 o 20, sobretodo en rutinas d tiempo??
-
Ok gracias por responder te cuento el programa esta echo
Para un pic16f84 y el programa es para ensamblarlo con el mplab
.asm , y en mas mucho en tema de pic como saben ustedes no se
solo trato de modificar un sof con uno que ya esta echo . lo que no se bien si
tengo que cambiar los bits del registro option si esta en los 3 bits
PS0 PS1 PS2 este esta definido para el factor de TMRO
Esta así ejemplo
BSF STATUS,RP0
MOVLW B"01100000"
MOVWF OPTION_REG
BCF STATUS,RP0
Bueno haber guíame un poquito gracias
-
Hola tota:
En el pic16f84 no se modifica en el programa el cambio de la frecuencia del cristal, solo se declara si el oscilador que vas a usar es cristal, rc, etc.
Solo cambia el cristal y ya, pero debes tener en cuenta el tipo y caracteristicas de tu programa, ya que si este depende de la velocidad del cristal, simplemente no te va a funcionar.
Por ejemplo: si tu programa consiste en luces secuenciales que dependen de retardos de tiempo hechos en rutinas o utilizando el TMR0 lo que veras es que tus luces encienden mas rapido o mas lento segun sea el aumento o disminucion del cristal. En este caso estas afectando el resultado del programa original.
Otro ejemplo: si tu programa esta controlando encendido o apagado de luces o motores dependiendo de señales externas (switches, sensores, etc.) lo mas probable es que no vas a notar ningun cambio.
En conclusión: cambiar deliberadamente un cristal, depende de la naturaleza de tu proyecto.
Por lo que comentas supongo que tu programa esta temporizando algo mediante el uso del timer 0, por lo tanto si cambias el cristal, estaras afectando dicha temporización, por lo que tendras que modificar la resolucion de TMR0.
Espero que mis comentarios no te hayan ampliado tu duda.
Saludos!!