TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: Ionchuelo 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
-
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 ¿?....
-
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