Programación Específica > Microcontroladores

 Microcontrolador

(1/3) > >>

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

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa