Ir ao conteúdo
  • Cadastre-se

Problema com programacao em Assembly


technavidad

Posts recomendados

Olá pessoal, estou fazendo um curso de programacao em assembly e estou com um problema.. tentei fazer dois displays de sete segmentos contarem até 99, mas não consigo fazer aparecer 1 na PORTA, na PORTB eu consigo mas na PORTA não.. deem uma olhada no programa que estou fazendo..

#INCLUDE <P16F628A.INC> 

__CONFIG 0X3F61

CBLOCK 0X20
TEMPO
TEMPO2
ENDC

ORG 0X00
GOTO INICIO

INICIO

BSF STATUS,RP0 ;ACESSANDO BANCO DE DADOS 2
MOVLW B'00000000'
MOVWF TRISB ;CONFIGURANDO SAÍDAS
MOVLW B'00100000'
MOVWF TRISA
BCF STATUS,RP0 ;VOLTANDO AO BANCO DE DADOS 1

;----------------------------------------------------------
;----------------ROTINA PARA OS NÚMEROS--------------------
;----------------------------------------------------------

ROTINA

MOVLW B'00111111' ;NÚMERO ZERO
MOVWF PORTB
CALL DELAY
MOVLW B'00000110' ;NÚMERO UM
MOVWF PORTB
CALL DELAY
MOVLW B'01011011' ;NÚMERO DOIS
MOVWF PORTB
CALL DELAY
MOVLW B'01001111' ;NÚMERO TRÊS
MOVWF PORTB
CALL DELAY
MOVLW B'01100110' ;NÚMERO QUATRO
MOVWF PORTB
CALL DELAY
MOVLW B'01101101' ;NÚMERO CINCO
MOVWF PORTB
CALL DELAY
MOVLW B'01111101' ;NÚMERO SEIS
MOVWF PORTB
CALL DELAY
MOVLW B'00100111' ;NÚMERO SETE
MOVWF PORTB
CALL DELAY
MOVLW B'11111111' ;NÚMERO OITO
MOVWF PORTB
CALL DELAY
MOVLW B'01101111' ;NÚMERO NOVE
MOVWF PORTB
CALL DELAY
MOVLW B'00111111' ;NÚMERO DEZ
MOVWF PORTB
[B]MOVLW B'00000110'
MOVWF PORTA[/B]
CALL DELAY
MOVLW B'00000110' ;NÚMERO ONZE
MOVWF PORTB
CALL DELAY
MOVLW B'01011011' ;NÚMERO DOZE
MOVWF PORTB
CALL DELAY
MOVLW B'01001111' ;NÚMERO TREZE
MOVWF PORTB
CALL DELAY
MOVLW B'01100110' ;NÚMERO QUATORZE
MOVWF PORTB
CALL DELAY
MOVLW B'01101101' ;NÚMERO QUINZE
MOVWF PORTB
CALL DELAY
MOVLW B'01111101' ;NÚMERO DEZESSEIS
MOVWF PORTB
CALL DELAY
MOVLW B'00100111' ;NÚMERO DEZESETE
MOVWF PORTB
CALL DELAY
MOVLW B'11111111' ;NÚMERO DEZOITO
MOVWF PORTB
CALL DELAY
MOVLW B'01101111' ;NÚMERO DEZENOVE
MOVWF PORTB
CALL DELAY

GOTO ROTINA

;----------------------------------------------------------
;--------------------ROTINA DE DELAY-----------------------
;----------------------------------------------------------

DELAY

MOVLW .1
MOVWF TEMPO

MOVLW .1
MOVWF TEMPO2

CONTAGEM

DECFSZ TEMPO,F
GOTO $-1

DECFSZ TEMPO2,F
GOTO CONTAGEM

RETURN


END

no momento onde está em negrito deveria setar a PORTA, mas isso não acontece, não entendo como eu programei as duas ports do mesmo jeito e uma funciona, a outra não..

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!