Saludos!, tengo un problema que me tiene medio desesperado en proteus, el clock out de mi simulación aparece en alta impedancia y no me permite realizar el cambio de mi pic, no se si es el programa o si proteus no simula cristal... pero quisiera su opinión, ya he intentado ver si era con otra versión de proteus (actualmente tengo la 7 instalada) y nada...
amm, este, lo otro es que es un especie de contador programado para mostrar un tiempo desde 0:00 hasta 9:59 minutos, el ingreso de tiempo es desde el puerto A en binario desde RA0 hasta RA3 el numero entre 0 y 9 y después salta al siguiente numero y así hasta llegar al ultimo dato y oprimir RA5 para comenzar el decremento, en todo momento tiene que ser visible el tiempo en el puerto B y C
el programa que use es mas o menos este...
emmm... no se habre hecho algo mal?
amm, este, lo otro es que es un especie de contador programado para mostrar un tiempo desde 0:00 hasta 9:59 minutos, el ingreso de tiempo es desde el puerto A en binario desde RA0 hasta RA3 el numero entre 0 y 9 y después salta al siguiente numero y así hasta llegar al ultimo dato y oprimir RA5 para comenzar el decremento, en todo momento tiene que ser visible el tiempo en el puerto B y C
el programa que use es mas o menos este...
Código:
#include <P16F877A.inc>
CONFIG1 EQU _XT_OSC & _WDT_OFF & _PWRTE_OFF & _BODEN_ON & _LVP_OFF
CONFIG2 EQU _WRT_OFF & _DEBUG_OFF & _CP_OFF & _CPD_OFF
__CONFIG CONFIG1 & CONFIG2
SEGUNDO1 EQU 0X21
SEGUNDO2 EQU 0X22
MINUTOS EQU 0X23
COMPARO EQU 0X24
CONTA EQU 0X25
DECA1 EQU 0X26
DECA2 EQU 0X27
ORG 0X00
GOTO INICIO
ORG 0X04
INICIO CLRF PORTA
CLRF PORTB
CLRF PORTC
CLRF PORTD
BSF STATUS,RP0
BCF STATUS,RP1
CLRF TRISB
CLRF TRISC
CLRF TRISD
MOVLW B'00111111'
MOVWF TRISA
BCF STATUS,RP0
EVA NOP
BTFSS PORTA,4
GOTO EVA
GOTO NUM1
NUM1 CLRF PORTB
CLRF PORTC
MOVF PORTA,W
ANDLW 0X0F
MOVWF SEGUNDO1
MOVF SEGUNDO1,W
MOVWF PORTB
CALL RETA
BTFSS PORTA,4
GOTO NUM1
GOTO NUM2
NUM2 MOVF PORTA,W
ANDLW 0X0F
MOVWF SEGUNDO2
MOVWF COMPARO
MOVLW 0X06
SUBWF SEGUNDO2,W
BTFSS STATUS,C
GOTO NUM2
GOTO SIE
SIE SWAPF SEGUNDO2,1
MOVF SEGUNDO1,W
ADDWF SEGUNDO2,1
MOVF SEGUNDO2,W
MOVWF PORTB
CALL RETA
BTFSS PORTA,4
GOTO NUM2
GOTO MINU
MINU MOVF PORTA,W
MOVWF MINUTOS
MOVF MINUTOS,W
ANDLW 0X0F
MOVWF PORTC
CALL RETA
BTFSC PORTA,4
GOTO NUM1
BTFSS PORTA,5
GOTO MINU
GOTO PROYEC
PROYEC MOVLW 0XC2
MOVWF PORTD
DECRE MOVF PORTB,W
ANDLW 0X0F
MOVWF DECA1
MOVF PORTB,W
ANDLW 0XF0
MOVWF DECA2
SWAPF DECA2,0
DECRE1 CALL RETA
DECFSZ DECA1,1
GOTO DECRE1
CALL VISUA
DECFSZ DECA2,1
GOTO DECRE1
GOTO MINDEC
VISUA MOVF DECA2,W
SWAPF DECA2,0
MOVWF PORTB
MOVF DECA1,W
ADDWF PORTB,1
RETURN
MINDEC MOVLW 0X59
MOVWF PORTB
DECFSZ PORTC,1
GOTO DECRE
GOTO ULTIM
ULTIM MOVF PORTB,W
ANDLW 0X0F
MOVWF DECA1
MOVF PORTB,0
ANDLW 0XF0
MOVWF DECA2
SWAPF DECA2,0
DECRE2 CALL RETA
DECFSZ DECA1,1
GOTO ULTIM
CALL VISUA
DECFSZ DECA2,1
GOTO DECRE2
GOTO FIN
FIN CLRF PORTB
CLRF PORTC
CLRF PORTD
MOVLW 0X01
MOVWF PORTD
BTFSS PORTA,5
GOTO FIN
GOTO NUM1
RETA MOVLW d'200'
MOVWF CONTA
DECFSZ CONTA,F
GOTO $-.1
RETURN
NOP
NOP
End
Última edición por un moderador: