TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: Ricardo1950 en 17 de Junio de 2011, 11:28:36
-
Hola he hecho un programita para sacar una pequeña tabla por el puerto B de un 16f84 cuando recibe un pulso sin rebotes por el pueta A,0, pero al simularlo no funciona solo saca el primer valor de la tabla. Querrìa que me ayudasen a encontrar el error desde ya muchas gracias. Aqui moando el programa. PCL EQU 02H
STATUS EQU 03H
TRISA EQU 05H
PORTA EQU 05H
TRISB EQU 06H
PORTB EQU 06H
CUENTA EQU 0CH
F EQU 1
W EQU 0
ORG 0
GOTO INICIO
TABLA MOVLW PCL
GDER RETLW 0CH
RETLW 06H
RETLW 03H
RETLW 09H
INICIO BSF STATUS,5
BSF TRISA,0
CLRF TRISB
BCF STATUS,5
CLRF CUENTA
MUESTRA MOVLW GDER
ADDLW CUENTA
CALL TABLA
CLRF PORTB
MOVWF PORTB
BTFSC PORTA,0
CALL SUMA1
GOTO MUESTRA
SUMA1 INCF CUENTA,F
MOVLW 05H
SUBWF CUENTA,W
BTFSC STATUS,2
CLRF CUENTA
RETURN
END
-
Hola ricardo1950, yo tambien estoy aprendiendo asm pero puedo ayudarte en algo.
mira este programa es el tuyo pero corregido,en tu pro. te muestra el mismo dato porque no le sumas nada al reg pcl debes utilizar addwf y bueno mira el codigo y veras que te falto poquito para que funcione correcto, hay post donde explican sobre asm, bueno si estoy equivocado que no de los maestros me corriga :lol: ssaludos.
PD disculpen mis errores ortograficos.
PCL EQU 02H
STATUS EQU 03H
TRISA EQU 85H
PORTA EQU 05H
TRISB EQU 86H
PORTB EQU 06H
CUENTA EQU 0CH
F EQU 1
W EQU 0
ORG 0
GOTO INICIO
TABLA
addwf PCL,f
RETLW 0CH
RETLW 06H
RETLW 03H
RETLW 09H
INICIO
BSF STATUS,5
BSF TRISA,0
CLRF TRISB
BCF STATUS,5
CLRF CUENTA
MUESTRA
movf CUENTA,W
CALL TABLA
CLRF PORTB
MOVWF PORTB
BTFSC PORTA,0
CALL SUMA1
GOTO MUESTRA
SUMA1
INCF CUENTA,F
MOVLW 04H
SUBWF CUENTA,W
BTFSC STATUS,2
CLRF CUENTA
RETURN
END
-
Hola, muchas gracias, ahora si funciona. un saludo Ricardo 1950,perdona la tardanza pero no tenia tiempo de probar el codigo ,gracias otra vez