Autor Tema: Ayuda para encontrar el error en primer programa en assembler..  (Leído 2398 veces)

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

Desconectado Æneas

  • PIC10
  • *
  • Mensajes: 6
Ayuda para encontrar el error en primer programa en assembler..
« en: 27 de Agosto de 2010, 15:57:50 »
Hola.. en la facultad empezamos a ver microcontroladores y estoy tratando de aprender a programar en assembler, utilizando como bibliografía la hoja de datos del pic 16F628A e intenté hacer un programa simple como para empezar a agarrarle la mano al tema..

La idea es sacar por el puerto B el número 10101010, esperar medio segundo, luego complementar el valor y nuevamente esperar un tiempo y repetir el ciclo.
Al simularlo en proteus funciona bien a excepción del bit 4 que se queda permanentemente apagado, si bien al leer el valor del registro porb sí adquiere el valor que debería pero no lo saca por el pin.

Código: [Seleccionar]
#include <p16F628A.inc>
__config (_XT_OSC & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF)

cblock 0x20
 Delay1                   
 Delay2
 Delay3                   
endc

org 0

bcf Status, Rp1
bsf Status, Rp0
clrf TrisB
bcf Status, Rp0
clrf PortB
goto main

Delay
movlw 0x4
movwf Delay3
Ini_delay
decfsz Delay1
goto Ini_delay
decfsz Delay2
goto Ini_delay
decfsz Delay3
goto Ini_delay
return

main
clrf Delay1
clrf Delay2
movlw 0xAA
movwf Portb

Ini
comf Portb, F
call Delay
goto Ini

End

Desde ya les agradezco cualquier aporte..
Saludos..

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Ayuda para encontrar el error en primer programa en assembler..
« Respuesta #1 en: 27 de Agosto de 2010, 16:18:44 »
En los fuses debes agregar _LVP_OFF  , ya que de otro modo el pin RB4 se utiliza para la programación a bajo voltaje y no como salida o entrada digital

Desconectado Æneas

  • PIC10
  • *
  • Mensajes: 6
Re: Ayuda para encontrar el error en primer programa en assembler..
« Respuesta #2 en: 27 de Agosto de 2010, 19:42:29 »
Perfecto.. ahora funciona. Estaba seguro que se trataba de alguna condición inicial que no había tenido en cuenta pero esa la desconocía completamente..
Muchas gracias, saludos..