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

Temas similares

11/08/2013 #1


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...

---------- Actualizado después de 9 minutos ----------

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
emmm... no se habre hecho algo mal?
14/08/2013 #2

Avatar de Saint_

hola Draeikou, que tal si subes el programa + la simulación en proteus, asi se podrá "ver" específicamente que es lo que esta funcionando mal.
14/08/2013 #3

Avatar de Daniel Meza

El pic en la simulacion suele funcionar incluso sin colocare un cristal externo, lo importante es que dentro de sus opciones especifiques la frec a la cual trabajará.
El pin de CLK OUT aparece como alta impedancia pero no afecta la simulación
Saludos
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.