Vai al contenuto
PLC Forum


Parte Di .asm Che Non Riesco A Far Funzion. - Per favore, qualcuno può aiutarmi?


tatonilo

Messaggi consigliati

Salve a tutti !

Chiedo scusa a tutti per questo post, ma purtroppo "nuncieafaccieqqiù" . Non me ne vogliano i "forumisti" partenopei, ma purtroppo mi trovo in questa situazione ed è l'unica cosa che mi viene da dire.

Vi posto alcune parti di .ASM che solo a dirlo ci sarebbe da vergognarsi, ma purtroppo non capisco come mai durante la simulazione (animata) sftw su MPLAB tutto funziona a meraviglia mentre quando lo scarico sul simulatore hrdw l'uscita in questione (port_B,0) non si accende minimamente.

definizione di alcune variabili:

PORT_A...EQU 05H

PORT_B...EQU 06H

TRIS_A...EQU 85H

TRIS_B...EQU 86H

PIF84...EQU 03FFh

STATUS...EQU 03H

RP0... EQU 05H

RP1... EQU 06H

-

-

inizializazione

init CLRF PORT_A

CLRF PORT_B

MOVLW b'00001111'

BSF STATUS,RP0 ;Switch to register bank 1

BCF STATUS,RP1 ;Switch to register bank 1

MOVWF TRIS_A

TRIS PORT_A

MOVLW b'00000000'

MOVWF TRIS_B

TRIS PORT_B

BCF STATUS,RP0 ;Switch to register bank 0

BCF STATUS,RP0 ;Switch to register bank 1

BSF PORT_B,1

-

codice incriminato

-

-

-

MAIN bsf PORT_B,2

BTFSC PORT_A,0

GOTO ACCENDI

NOP

NOP

NOP

BSF PORT_B,3

BCF PORT_B,0

GOTO MAIN

-

-

-

-

ACCENDI BSF PORT_B,0

BCF PORT_B,3

GOTO MAIN

-

-

-

-

(attenzione, ho notato che inviando nel post, le tabulazioni si perdono. non so come fare a "formattare" correttamente il testo.) se non lo capite, ditemelo che riprovo a postarlo come file grafico..... :unsure: )

Ho anche provato ad estrapolare, compilare e caricare solo quella parte, per escludere altri elementi del codice che magari potevano disturbare l'accensione di PORT_B,0 ma nulla è servito. I vari port_B, 1/2/3 li ho inseriti dopo per vedere dove arriva il prg e dove invece non ci passa nemmeno

Come detto nel simulatore (animato) di MPLAB il tutto funziona perfettamente, ma quando lo carico sul PIC 16F627 le varie uscite 1,2,3 si accendono regolarmente, ma non c'è verso di entrare nella routine ACCENDI e di fare quello per cui è stato realizzato il prg.

Ho copiato (da un file di esempio di Microchip) delle parti di codice per l'accesso alla configurazione (vedi STATUS) ma anche quello a nulla è servito.

La config word è 3F61h (ho provato anche con 3F29h ma nulla è servito)

Ho finito le risorse, ammetto la mia incapacità di risalire al problema....

Dove sto sbagliando ? Cosa mi sfugge ?

qualcuno mi può cortesemente dare un suggerimento ?

Grazie a tutti, comunque!

Modificato: da tatonilo
Link al commento
Condividi su altri siti


Intanto togli le 2 istruzioni TRIS che non servono, poi disabilita i comparatori collegati alla porta A caricando il valore 7 nel registro CMCON(01FH) e vedi se così funziona.

Ciao.

Link al commento
Condividi su altri siti

Ma Sei Una BEEEEEEEESSSSSCCCTIIIIIIAAAAA !!!!!!

(per i Moderatori: so che non si dovrebbe scrivere in maiuscolo poichè potrebbe essere inteso come urlare ...... ma il fatto è che io in questo momento voglio proprio urlare perciò spero mi perdonerete questa licenza acustica) :rolleyes:

Funzionaaaaaa !!!

E funzionano anche altre parti di listato che prima non provavo nemmeno. Mi ero fissato su questa e ...... valli a capire questi micro !!! :P

Grazie infinite. Mi hai tolto dalle panne più nere. Grazie ancora.

Ciao!

PS. Delle due istruzioni TRIS ne ho potuta togliere una sola (la TRIS_A) poichè senza la TRIS_B le uscite non vanno. ;)

Modificato: da tatonilo
Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...