Autor Tema: timer 1 del 16f887  (Leído 1729 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Ionchuelo

  • PIC10
  • *
  • Mensajes: 2
timer 1 del 16f887
« en: 15 de Diciembre de 2006, 09:36:13 »
Hola amigos
Lo primero soy nuevo en este foro al igual que lo soy con los microcontrladores PIC. DUrante la carrera he usado el 8051 de intel, pero no e recibido formacion alguna de PIC´s
Tengo un problema con el timer1. Quiero que me cuente 0.5 segundos, pero parece que no funciona.
para probarlo e diseñado un programa donde se encienden dos leds y al cabo de dos segundos, se apagan. Pero nunca se me apagan porque parece que la rutina del timer 1 no me funciona. si alguien me puede echar una mano le estare muy agradecido
adjunto el programa.

   LIST   p=16f84
   RADIX   hex

W      EQU    0   
F      EQU    1
TMR_OPT   EQU      0X01
ESTADO   EQU      0X03
PA      EQU      0X05
PB      EQU      0X06
PC      EQU      0x07
INTCON   EQU      0X0B
CONTA   EQU      0X10
SEG      EQU      0x20
FLAG   EQU      0x21
CM2CON1   EQU      0x108

ANSEL   EQU      0x188

PIE1   EQU      0x8C
PIR1   EQU      0x0C
TMR1H   EQU      0x0F
TMR1L   EQU      0x0E
T1CON   EQU      0x10

      ORG      0
      GOTO   INICIO

      ORG    4
      GOTO   INTER

      ORG 0c

INICIO   bsf      ESTADO,5
      clrf   PB
      movlw   0x03
      movwf   PA
      bcf      ESTADO,5
      movlw   0x80
      movwf   INTCON
      movlw   0x70
      movwf   T1CON
   
      movlw   0x00
      movwf   ANSEL

      movlw   0x0B
      movwf   TMR1H
      movlw   0xDB
      movwf   TMR1L
      movlw   0x01
      movwf   PIE1
      movlw   0x00
      movwf   CM2CON1
      movlw   0x02
      movwf   CONTA

      movlw   0x02
      movwf   SEG
      bsf      PB,3
      bsf      PB,4
   
      Bsf      T1CON,0
SIGUE   Btfss   FLAG,0
      goto   SIGUE
      bcf      PB,3
      bcf      PB,4   
      bcf      T1CON,0
      bcf      FLAG,0
      goto   INICIO
         

INTER   decfsz   CONTA,1
      goto   SEGUIR
conta_0   movlw   0x02
      movwf   CONTA
      decfsz   SEG,1
      goto   SEGUIR
      bsf      FLAG,0
SEGUIR   movlw   0x80
      movwf   INTCON
      movlw   0xDB
      movwf   TMR1L
      movlw   0x0B
      movwf   TMR1H
      bcf      PIR1,0
      retfie

      
      END   

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re: timer 1 del 16f887
« Respuesta #1 en: 15 de Diciembre de 2006, 10:25:23 »
Hola, si eres nuevo en esto de los pics sería bueno que ademas de apreder el lenguaje de programación y las posibilidades que te ofrecen los pics... aprendieras a depurar tus programas...

Supongo que estás con MPLAB... alli puedes utilizar un sencillo simulador: el MPLAB SIM que está en debugger=>selec tool; en esta misma pestaña debugger encontrarás todo lo necesario para adaptar la simulación el micro que estas utilizando.

Luego, en la pestaña de view encontrarás las vistas necesarias para saber lo que está pasando dentro del micro: la memoria de programa, los registros de la ram,etc.

Si tienes clara la  teoría e intentas depurar tu programa... verás como en un rato consigues localizar el problema, entenderlo y así no te volverá a pasar ...

Suerte y saludos.

Se me olvidava, no se si será eso pero has definido(en el código) que estás trabajando con un  16f84 y pero en cambio dices que trabajas con un 16f877 ¿?....
« Última modificación: 15 de Diciembre de 2006, 10:28:10 por manwenwe »
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado Ionchuelo

  • PIC10
  • *
  • Mensajes: 2
Re: timer 1 del 16f887
« Respuesta #2 en: 16 de Diciembre de 2006, 14:16:54 »
gracias por responder a mi mensaje.
Lo del simulador ya lo habia utilizado, ademas me he bajado el pic simulator IDE para comprobar todo paso por paso, pero aun y eso me sigue sin funcionar.
Lo de haber definido el 16f84, ha sido un error por mi parte pero el problema no esta ahi. La verdad es que estoy bastante desesperado porque llevo dandole muchas vueltas y nada no sale.
De todos modos gracias por tus consejos
Saludos


 

anything