Amigos, ayer buscando en internet he podido encontrar este foro donde me han aclarado muchas dudas en este camino de aprendizaje, publique un tema donde tenia una falla que no había podido resolver en días y llegando aquí encontré la solución en minutos, es por eso que les agradezco nuevamente. Sin embargo esta vez se me ha presentado un problema en la simulación en proteus, ya que en la compilación en mplabx, no he tenido problemas.
Les cuento, yo tengo que activar la entrada RB0 para que en el display de 7 segmentos pueda arrojar el numero "0", por otra parte al activar la entrada RB1 quiero obtener el numero "1" del display, ahora les mostraré lo que llevo en mplabx.
debido a que me encuentro en una etapa inicial he declarado cada una de las entradas y salidas del pic, espero que me entiendan.
El Problema surge al pasar el archivo HEX a proteus, el que me dice "Simulation is not running in real time due to excessive CPU load."
la verdad es que he buscado alguna solución, pero sigo sin obtenerla. Si me pueden aconsejar les agradezco.
CODIGO;
INCLUDE <P16F84A.INC>
ORG 0X00
BSF STATUS,5
BSF TRISA,0 ;RAO ENTRADA
BSF TRISA,1 ;RA1 ENTRADA
BCF TRISB,1 ;RB SALIDA
BCF TRISB,2 ;RB SALIDA
BCF TRISB,3 ;RB SALIDA
BCF TRISB,4 ;RB SALIDA
BCF TRISB,5 ;RB SALIDA
BCF TRISB,6 ;RB SALIDA
BCF TRISB,7 ;RB SALIDA
BCF STATUS,5
PARTIDAI
BTFSC PORTA,0 ; PREGUNTO SI LA ENTRADA RA0 ESTA EN UNO
GOTO PRENDE ; SI ESTA EN PRESIONADO EL BOTON PRENDE EL LED
CLRF PORTB ; SI NO SE MANTIENE APAGADO
GOTO PARTIDAII
PARTIDAII
BTFSC PORTA,1 ; RA1 1?
GOTO PRENDEI ; SI ENTONCES SE PRENDE
CLRF PORTB ;NO, ENTONCES SE MANTIENE APAGADO
GOTO PARTIDAI
PRENDE;DISPLAY EN VALOR 0
BSF PORTB,1
BSF PORTB,2
BSF PORTB,3
BSF PORTB,4
BSF PORTB,5
BSF PORTB,6
BCF PORTB,7
GOTO PARTIDAI
PRENDEI; DISPLAY VALOR 1
BSF PORTB,2
BSF PORTB,3
GOTO PARTIDAII
END