Hola alguien me podría ayudar lo que pasa es que estoy usando un programa en mplab, el cual es un mod 10.
Lo que pasa es que no muestra el número 8
El código que use es este:
No se visualiza solo el numero ocho... si lo programe de esta manera es porque así me lo pidieron
Lo que pasa es que no muestra el número 8
El código que use es este:
Código:
; **** Encabezado ****
list p=16F877A
#include P16F877A.inc
__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
;**** Definición de variables ****
Contador equ 0x0C
Contador1 equ 0x0D
Contador2 equ 0x0E
Pulsador equ 7
Reset org 0x00
goto Inicio
;**** Programa principal ****
Inicio
bsf STATUS,RP0
clrf TRISB
bcf STATUS,RP0
call Config_Tabla
movfw INDF
movwf PORTB
;**** Testeo de Pulsador ****
Bucle
call Demora_190ms
incf FSR,1
movlw 0x1A
subwf FSR,0
btfss STATUS,Z
goto Muestro_Display
movlw 0x10
movwf FSR ;
Muestro_Display
movfw INDF ; Leo Registro que apunta FSR.-
movwf PORTB ; Lo cargo en PORTB.-
goto Bucle ; Continuo conteo.-
;**** Demora ****
Demora_190ms
movlw 0xFF ;
movwf Contador1 ; Iniciamos contador1.-
Repeticion1
movlw 0xFF ;
movwf Contador2 ; Iniciamos contador2
Repeticion2
decfsz Contador2,1 ; Decrementa Contador2 y si es 0 sale.-
goto Repeticion2 ; Si no es 0 repetimos ciclo.-
decfsz Contador1,1 ; Decrementa Contador1.-
goto Repeticion1 ; Si no es cero repetimos ciclo.-
return ; Regresa de la subrutina.-
;**** Cargamos tabla en memoria ****
Config_Tabla
movlw 0x10 ;
movwf FSR ; Direccionamos el registro 0x10 de la memoria RAM (GPR).-
movlw 0x3F ; Cargamos el codigo para mostrar el CERO.-
movwf INDF ; Lo guardamos donde apunta FSR --> 0x10.-
incf FSR,1 ; Incrementamos FSR, ahora apunta a 0x11.-
movlw 0x06 ; Cargamos codigo para UNO.-
movwf INDF ; Lo guardamos donde apunta FSR.-
incf FSR,1 ; Incrementamos FSR, ahora apunta a 0x12.-
movlw 0x5B ; Cargamos codigo para DOS.-
movwf INDF ; Lo guardamos donde apunta FSR.-
incf FSR,1 ; Incrementamos FSR, ahora apunta a 0x13.-
movlw 0x4F ; Cargamos codigo para TRES.-
movwf INDF ; Lo guardamos donde apunta FSR.-
incf FSR,1 ; Incrementamos FSR, ahora apunta a 0x14.-
movlw 0x66 ; Cargamos codigo para CUATRO.-
movwf INDF ; Lo guardamos donde apunta FSR.-
incf FSR,1 ; Incrementamos FSR, ahora apunta a 0x15.-
movlw 0x6D ; Cargamos codigo para CINCO.-
movwf INDF ; Lo guardamos donde apunta FSR.-
incf FSR,1 ; Incrementamos FSR, ahora apunta a 0x16.-
movlw 0x7D ; Cargamos codigo para SEIS.-
movwf INDF ; Lo guardamos donde apunta FSR.-
incf FSR,1
movlw 0x07
movwf INDF
incf FSR,1
movlw 0xff
movwf INDF
incf FSR,1
movlw 0x6F
movwf INDF
movlw 0x10 ;
movwf FSR
return
End
Última edición por un moderador: