Simulação no Proteus - 16F628A

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Simulação no Proteus - 16F628A

Mensagempor hsena » 29 Mar 2009 13:13

Olá galera estou começando a aprender assembly para PIC.
Fiz um programa para piscar um led pelos pinos RA0, RA1 ou RA2, pro PIC16F628A, aparentemente a simulação efetuada no MPLAB ocorreu tudo bem, só que quando simulo no PROTEUS os pinos RA setados no programa não da sinal de vida.

Abaixo segue o programa teste, montado no MPLAB 8.20

Código: Selecionar todos

  LIST P=16F628a           
  RADIX HEX                 
  #INCLUDE <P16F628A.INC>   
  __CONFIG _BODEN_ON & _CP_OFF & _PWRTE_ON & _WDT_OFF & _LVP_OFF & _MCLRE_ON & _XT_OSC

;-----------------------------DEFINIÇÕES--------------------------------------------------


#DEFINE    BANK0  BCF STATUS,RP0
#DEFINE    BANK1  BSF STATUS,RP0
#DEFINE      LED   PORTA,0    

;--------------------------------------------------------------------


;------------------------VETOR RESET---------------------------------
   ORG 0x00
   GOTO MAIN   
;--------------------------------------------------------------------


;-------------------------INICIO-------------------------------------

INICI0:
      
      BANK1
      
      MOVLW   B'00000000'
      MOVWF   INTCON         
      
      MOVLW   B'00000000'      
      MOVWF   TRISA
      
      BANK0
      
      MOVLW   B'00000111'      
      MOVWF   CMCON

;--------------------------------------------------------------------

      CLRF   PORTA    

;-----------------------------------MAIN-----------------------------
MAIN:

      GOTO ACENDE_LED
         
         
APAGA_LED:
         
      BCF      LED
      GOTO   MAIN
         
ACENDE_LED:
   
      BSF      LED
      GOTO   APAGA_LED
         

   END


Desde de já agradeço.
hsena
Bit
 
Mensagens: 7
Registrado em: 08 Ago 2008 13:14

Mensagempor MOR_AL » 29 Mar 2009 13:35

Olá hsena.

1 - O programa tem "main" e "Início" ... E não vai passar por "Início", pois tem a instrução goto main. Retire o primeiro "goto Main"

2 - O led vai acender e apagar tão rápido que vai parecer que está "meio" aceso. Coloque um intervalo de tempo de, digamos, meio segundo após a alteração do estado do pino que contém o led.

3 - Tente usar a instrução "CALL", que fica um pouco mais fácil de acompanhar o programa, apesar deste ser elementar.

MOR_AL
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x