Autor Tema: algo anda mal !  (Leído 1276 veces)

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

Desconectado neoplat

  • PIC10
  • *
  • Mensajes: 7
algo anda mal !
« en: 08 de Septiembre de 2003, 09:18:00 »
no se que es lo que esta pasando !

Estoy programando con MicroCode Studio (basic), el programa esta correctamente. pero el codigo que me compila en asembler no esta bien, No es igual a los demas archivos en asambler que tengo, por ejemplo:

MicroCodeStudio:
un pequeño y simple programa para encender y apagar un led en Porta.0
------------------------------------------------------------------------
; PicBasic Pro Compiler 2.43, (c) 1998, 2002 microEngineering Labs, Inc. All Rights Reserved.
PM_USED         EQU   1

   INCLUDE   "16F84.INC"

RAM_START             EQU   0000Ch
RAM_END               EQU   0004Fh
RAM_BANKS             EQU   00001h
BANK0_START           EQU   0000Ch
BANK0_END             EQU   0004Fh
EEPROM_START          EQU   02100h
EEPROM_END            EQU   0213Fh

R0                    EQU   RAM_START + 000h
R1                    EQU   RAM_START + 002h
R2                    EQU   RAM_START + 004h
R3                    EQU   RAM_START + 006h
R4                    EQU   RAM_START + 008h
R5                    EQU   RAM_START + 00Ah
R6                    EQU   RAM_START + 00Ch
R7                    EQU   RAM_START + 00Eh
R8                    EQU   RAM_START + 010h
FLAGS                 EQU   RAM_START + 012h
GOP                   EQU   RAM_START + 013h
RM1                   EQU   RAM_START + 014h
RM2                   EQU   RAM_START + 015h
RR1                   EQU   RAM_START + 016h
RR2                   EQU   RAM_START + 017h
_PORTL                 EQU    PORTB
_PORTH                 EQU    PORTA
_TRISL                 EQU    TRISB
_TRISH                 EQU    TRISA
#define _Led                _PORTA_0
#define _PORTA_0             PORTA, 000h
   INCLUDE   "LED.MAC"
   INCLUDE   "PBPPIC14.LIB"


   LABEL?L   _Loop   
   HIGH?T   _Led
   PAUSE?C   001F4h
   LOW?T   _Led
   PAUSE?C   001F4h
   GOTO?L   _Loop
   END?   

   END

-------------------------------------------------------------------------

** estoy usando el sim1684 http://voltio.ujaen.es/casanova/pics/sim1684.htm

este es un pequeño programa que baje de internet, hace lo mismo , pero SI FUNCIONA. Que es lo que esta mal ???


   list P=16F84 ; indicamos el modelo de PIC que tenemos

; registros

DDRB    equ 0x06 ; banco 1
PORTB   equ 0x06 ; banco 0
STATUS  equ 0x03 ; banco 0 y 1
TMR0    equ 0x01 ; banco 0
OPTIO   equ 0x01 ; banco 1
INTCON  equ 0x0b ; banco 0 y 1


; constantes del programa

TIEMPO  equ 0x30   ; posicion de memoria
TICKS   equ 20     ; Ticks entre parpadeo


   org 0


; Accedemos al segundo banco de RAM de Datos
   
   bsf   STATUS,5   

; Configuración puertos

   movlw   0
   movwf   DDRB  ; TRISB = 0  -> puerto B de salida

; configuracion del timer

   movlw   b"01010111"  ; divisor = 256, timer
   movwf   OPTIO

; Accedemos al primer banco de RAM

   bcf   STATUS,5

; Pongo a cero el puerto B
   clrf   PORTB

; empieza el programa principal
 
inicio
   bsf   PORTB,1 ; enciende led
   call    pausa
   bcf     PORTB,1 ; apaga led
   call    pausa
   goto    inicio


; RUTINA DE ESPERA
pausa
   movlw   TICKS      ; tiempo_espera = TICKs * t_tic
   movwf   TIEMPO     ; guarda valor en memoria   
otro_tic
   movlw   0xB2
   movwf   TMR0       ; t_tic = 20 mseg    
sigue   
   btfss   INTCON,2   ; ¿desbordamiento ?
   goto   sigue      ; no
        bcf   INTCON,2   ; si -> repongo flag
   decfsz   TIEMPO,1
   goto    otro_tic   
   return    

   END









PD: tal vez tengo mal configurado la parte de includes, compiladores, etc. en el microcodestudio.

alguien podra ayudarme.
thanks!
neoplat

Desconectado RGL

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 634
RE: algo anda mal !
« Respuesta #1 en: 09 de Septiembre de 2003, 06:07:00 »
Hola Neo,

El código que genera el PBP es de esa forma, y no está mal. Te aseguro que si tu programa está bien y tu hard está bien el código que genera el PBP rula bien

Las diferencia es que el PBP tiene una serie de macros que tienen esa sintaxis. Tu has compilado con la opción PM es decir con el ensamblador de Melabs. Si pruebas a ensamblar con el de microchip, el código que genera es normal y lo podrás depurar mejor. Pero para encender un led no deberías tener problemas.

Saludos
Ricky


 

anything