Programación Específica > Microcontroladores
Microcontrolador
loco1377:
HOLA A TODOS QUISIERA QUE ME AYUDARAN.
MI PROBLEMA ES QUE QUIERO SACAR POR UNA PATITA DEL PIC 16F84 UNA ONDA CUADRADA DE 100KHz PERO AL HACER LOS CALCULOS ME SALE UN VALOR PARA CARGAR EL TMR0 PERO AL SIMULARLO EN PROTEUS ESTA LA ONDA PERO NO A LA FRECUENCIA QUE QUIERO HE MOVIDO EL PREESCALER A 001 Y HE PUESTO UN OSCILADOR DE 20MHZ Y LO MINIMO QUE PUEDO LLEGAR A SACAR ES UNA ONDA CUADRADA A UNA FRECUENCIA DE 50KHZ Y YA NO TENGO IDEA DE QUE HACER ESE ES MI PROBLEMA QUISIERA QUE ME AYUDARAN EN ESTO Y CON UN EJEMPLO.PLEASE
Alternative:
SAludos
No pues esta dificil...
recuerda algo, si quieres 100kh
el TMR0=6.25 con prescaler de 8 con un XT=20Mhz
haa pero el PIC debe ser 16F84-20, si tienes el 16F84A-IP
pues ese solo soporta cristales hasta 4Mhz
ahora si consiguieras aproximadamente los 100Khz, recuerda que
cada instruccion es de 0.2useg con XT de 20Mhz
asi que cuando ocurra la interrupcion si al final decides hacerlo con
TMR0 tienes que calcular las intrucciones que calculas
por que en tu caso es significativo, ya que quieres un tiempo
corto...
ahora nose de donde lees o de donde sacastes
prescaler de 1... el TMR0 solo maneja de 2,4..256
asi que ponte a leer el Datasheet
Ahora lo que te recomiendo es que utilices el PWM
ahi sin ningun problema sacas los 100Khz solo lo habilitas
y listo, Magia Pura jijijiji, te recomiendo que uses el
PIC16F88, ahora si desides hacerlo con el 16F84 de que
se puede se puede pero debes calcular bien las intrucciones
que utilizas y modificar tus 10MicroSeg (100Khz) de acuerdo
a tus calculos...
bueno suerte
bye
Alternative:
Saludos..
o tambien puedes hacerlo con el
PIC16F873 que tambien tieno modulo pwm
PIC16F877A
Saludos pmluis
http://espanol.geocities.com/why_impossible
Huguen_aus_Tirol:
Hola!
Si el prescaler del timer0 se asigna al watchdog (bit PSA = 1), entonces el prescaler al timer0 queda en 1:1. (Data sheet)
Saludos!
Alternative:
Cierto el prescaler del TMR0 queda en 1:1, pero que buerro e ignorante soy Huguen_aus_Tirol, nose leer los datasheet, hay.... haber que dice
bit 3 PSA: Prescaler Assignment bit
1 = Prescaler is assigned to the WDT
0 = Prescaler is assigned to the Timer0 module
Bit Value------------TMR0 Rate------------WDT Rate
000-------------------1 : 2-------------------1 : 1
001-------------------1 : 4-------------------1 : 2
010-------------------1 : 8-------------------1 : 4
011-------------------1 : 16------------------1 : 8
100-------------------1 : 32------------------1 : 16
101-------------------1 : 64------------------1 : 32
110-------------------1 : 128-----------------1 : 64
111-------------------1 : 256-----------------1 : 128
Hay si es cierto Datasheet datasheet, acabo de aprender algo
WDT y TMR0 es lo mismo, si digo watchdog, es como decir
TMR0, ala otra leo y sino se mejor no digo nada porque
soy bien ignorante.
Saludos
loco1377
mira el prescarler de TMR0 lo minimo es 1:2
para que quieres hacer te recomiendo que utilices
el PWM, no vas a tener problemas y cambia de
microcontrolador, lo puedes hacer con TMRO, pero
recuerda utilizar un XT=20Mhz y checa tus instrucciones
para que te quede a los 100Mhz que deseas
Navegación
[#] Página Siguiente
Ir a la versión completa