• Lunes 23 de Diciembre de 2024, 07:55

Autor Tema:  Tmr0  (Leído 2364 veces)

Alcon_99

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Tmr0
« en: Miércoles 27 de Septiembre de 2006, 18:40 »
0
hola que tal gracias por ayudarme, estoy treatando de utilizar el tmro para hacer un retardo y resulta que en la simulacion anda bien pero cuando lo pruebo fisicamente no anda.
Es decir lo que hace el programa hacre que prenda un led por 50 mseg y apagarlo por 50mseg pero ni prende ni apaga, no se donde puede estar el problema.

Gracias por todo.

Este es el codigo

   list    P=16F877
      #include P16F877.INC

   __CONFIG _HS_OSC & _PWRTE_ON & _BODEN_OFF & _CP_OFF & _WDT_OFF

;*******************************************************************
;      Declaración de variables que voy a utilizar en el programa
;*******************************************************************

Flag      EQU H'22'
RB1        EQU   D'01'



      org 00h
      goto configurar
      
                                org 04h
      movlw B'00000001'
      movwf TMR0                  incf Flag,1
      bcf INTCON,2
      retfie
   
      org 012h
configurar      movlw B'00000000'
      movwf Flag
      movlw B'10100000'
      movwf INTCON      ; habilitamos GIE y T0IE
      clrf STATUS
      bsf STATUS,RP0    
                                movlw B'00000111'    
      movwf OPTION_REG    
      movlw B'00000000'    
      movwf TRISB
      bcf STATUS,RP0    
      clrf PORTB                                  goto main

retardo    btfss Flag,1
   goto retardo
   return


main   bsf PORTB,RB1      ;prende un led
   movlw B'00000001'   ; cargo w con 1
   movwf TMR0         ; lo paso a TMR0
   call retardo

   bcf PORTB,RB1      ;Apaga el led
   movlw B'00000000'
   movwf Flag            
   call retardo
   
   goto main
   end

Alternative

  • Miembro MUY activo
  • ***
  • Mensajes: 176
    • Ver Perfil
Re: Tmr0
« Respuesta #1 en: Jueves 28 de Septiembre de 2006, 13:28 »
0
Saludos.
Mira miro que tu declaracion del Oscilador es HS, y si utulusas un crystal o resistencia no te va a funcionar, y si en el simulador le colocas un XT por eso te funciona. Le hice unas modificaciones y con eso te puede funcionar. La declaracion de RB1 no hace falta que lo declares ya que como utilizas la libreria lo carga por de Fault todos los nombres de cada bit de cada registro.

No saque los calculos para saber si el tiempo es correcto ya que no especificas de cuanto es el oscilador ni que tipo de oscilador utilisas.

Bye.  :hola:

P.D. Te dejo tu archivo adjunto comprimido en en .RAR, si tienes dudas solo escribe
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

Alcon_99

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Re: Tmr0
« Respuesta #2 en: Jueves 28 de Septiembre de 2006, 14:23 »
0
Gracias, pero estuve biendo el .rar que me mandaste y resulta que uso un cristal de 10 mega (por lo que he leido ya que soy muy nuevito) necesito poner la sigla HS sino el pic no anda, por lo menos eso es lo que me paso el otro dia antes de fijarme en la hoja de datos del fabricante.
Despue te digo si anduvo (espremo que si!!!! :hola: )

lalo_soft

  • Miembro MUY activo
  • ***
  • Mensajes: 469
    • Ver Perfil
Re: Tmr0
« Respuesta #3 en: Sábado 30 de Septiembre de 2006, 18:32 »
0
Cita de: "Alcon_99"
Gracias, pero estuve biendo el .rar que me mandaste y resulta que uso un cristal de 10 mega (por lo que he leido ya que soy muy nuevito) necesito poner la sigla HS sino el pic no anda, por lo menos eso es lo que me paso el otro dia antes de fijarme en la hoja de datos del fabricante.
Despue te digo si anduvo (espremo que si!!!! :hola: )
El modo HS solo es valido para osciladores externos (tipo chip) para cuando se utilisa un
cristal (no importa la frecuencia de este) se debe seleccionar el modo XT.


nota: para cristales de frecuencias >= 10MHZ los condensadores no deben ser mayor de 18pf

Alcon_99

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Re: Tmr0
« Respuesta #4 en: Viernes 20 de Octubre de 2006, 15:31 »
0
Hola nuevamente, resulta que recien hoy pude probar el tmr0 y no me anda el oscilador, lo medi con el osciloscopio y no hay nada les mando el codigo para que lo miren y me digan porque no me anda esto ya que tendria que andar (por lo menos por simulacion anda)

Alcon_99

  • Nuevo Miembro
  • *
  • Mensajes: 22
    • Ver Perfil
Re: Tmr0
« Respuesta #5 en: Viernes 20 de Octubre de 2006, 17:50 »
0
Logre hacerlo andar aca les dejo el codigo fuente para que lo chusmeen, el capacitor que se pone en el ccristal es de 18pf y hay que ponerlo en modo HS porque es de 10 MHZ sino no anda (estube probando varias veces eso y salio andando como quedo el codigo fuente)
Gracias a todos los que me ayudaron!!! :hola:
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.