Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

23/08/2008 #1


Programa de rotacion de leds no funciona
hola,quisiera que me dijerais donde esta el fallo en este programa que he hecho,no me va,solo enciende el primer led pero de rotar nada.
;*********************************************
rotar equ 0x0a
PORTB equ 0x06
STATUS equ 0x03

;***********************************************
reset org 0x00;
goto Inicio;
Inicio org 0x05;
bsf STATUS,RP0;
clrf PORTB;
bcf STATUS,RP0;
;**********************************************
Principal movlw 0x01 ;
movwf rotar;

rotando movf rotar,w;
movwf PORTB;
call Retardo_1s;
rlf rotar,1;
btfss rotar,6;
goto rotando;
goto Principal;
23/08/2008 #2
Moderador

Avatar de Chico3001

El programa se ve bien... no recuerdo si en la instruccion rlf rotar,1 el "1" quiere decir f, si ese es el caso no debes tener problemas

Verifica tu rubrutina de retardo de 1S (Retardo_1s) posiblemente es demasiado lenta, demasiado rapida o esta causando que se atasque el microcontrolador
23/08/2008 #3

Avatar de Meta

Hola, es posible que te falte definir la variable
rotar, con la instruccion equ para que tenga un lugar en la memoria
ejemplo rotar equ 0x20
esto hace que el programa busque los valores de "rotar" en la posicion de memoria 0x20
Saludos
23/08/2008 #4


hola chico 3001,el 1 se refiere al registro f y la subrutina de retardo la he comprobado en otros programas y va perfecta,tambien he cambiado de valor a la variable rotar como me dijo el amigo meta pero tampoco va y el micro no es ya que le he grabado otros programas y va bueno ,no se que le pasa ...........saludos.
23/08/2008 #5
Moderador

Avatar de Chico3001

Meta tiene razon.. la variable rotar esta mal declarada.. la estas declarando en la direccion 0Ah y dependiendo del tipo de PIC la RAM de usuario va apartir de la direccion 20h...

que PIC es el que usas?
24/08/2008 #6


pic 16f84a
24/08/2008 #7


e probado algo similar simulando en proteus, aunque inicia bien al llegar al 4 bit simplemente se pierde el valor quedado el registro en ceros (utilizo un 628 es mejor qu el 84)
24/08/2008 #8

Avatar de Meta

andresd0 dijo:
e probado algo similar simulando en proteus, aunque inicia bien al llegar al 4 bit simplemente se pierde el valor quedado el registro en ceros (utilizo un 628 es mejor qu el 84)
Cuando acabe con el libro utilizaré el 16F88 que es mejor que el 16F628A que por eso lo actualizaron.
24/08/2008 #9
Moderador

Avatar de Vick

El primer error es que estas definiendo rotar en la posición 0x0a y esa dirección corrsponde al registro PCLATH, la memoria de datos de usuario comienza en la dirección 0x0c.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.