Sari la conținut
ELFORUM - Forumul electronistilor

Ajutor modificare .asm


Ata

Postări Recomandate

Cine poate si vrea sa ma ajute sa modific un .asm 16F84, pentru a functiona pe 16F628.Am tot citit despre modificari -dezactivare comparatoare si altele- dar nu am reusit sa-l fac sa functioneze. As ruga daca poate cineva sa ma ajute.multumesc anticipat.

Link spre comentariu
  • Răspunsuri 9
  • Creat
  • Ultimul Răspuns

Top autori în acest subiect

  • francezu

    5

  • Ata

    5

Top autori în acest subiect

Posteaza asm-ul !

In principiu pentru a face un program de PIC16F84 sa functioneze pe PIC16F628 trebuie sa dezactivezi comparatoarele din F628 cu comanda:

movlw 0x07movwf CMCON
si sa realoci variabilele deoarece F84 are GPR-urile de la 0Ch iar F628 le are de la 20h.
Link spre comentariu

Nu te supara, dar ti-am zis si pe MP fara asm nu putem sa ghicim noi ce se afla la respectiva linie de cod si de ce da eroare. Daca este vre-un secret programul posteaza macar lista de erori si liniile de cod la care apar erorile respective. Altfel nu cred ca te poate ajuta nimeni.

Link spre comentariu

Imi cer scuze, dar probabil este o problema cu forumul; in momentul postarii mele nu era vizibil atasamentul.Eroarea apare pentru ca bit-ul respectiv este deja definit in fisierul p16F628.inc. De altfel tot blocul "Register Definitions" trebuie sa dispara , SFR-urile fiind definite in fisierul mai sus amintit. Asm-ul de mai jos nu mai da erori.

Link spre comentariu

Da si eu am sters linia si nu mai da eroare, dar marea problema este ca totusi nu functioneaza simulat in Proteus ,nu intarzie semnalul de iesire fata de cel de intrare.Acum chiar nu nai stiu unde este problema.Mentionez ca asmul nemodificat functiona cu 16F84.

Link spre comentariu

Uitandu-ma din nou peste asm-ul pt PIC16F628 am observat ca la scrierea registrului CMCON nu este selectat bank-ul corespunzator. Registrul CMCON se afla in bank 0 , dar in asm aveam:

org 0			             ; start adress 0start   bsf    STATUS,RP0  	; go to bank 1        movlw  0x07        	; Turn comparators off and        movwf  CMCON		    ; enable pins for I/O functions;--------------------------------------------
Pentru a dezactiva corect comparatoarele codul trebuie modificat astfel :

 

org 0			             ; start adress 0start   movlw  0x07       	 ; Turn comparators off and        movwf  CMCON		    ; enable pins for I/O functions        bsf    STATUS,RP0     ; go to bank 1;--------------------------------------------
Link spre comentariu

Creează un cont sau autentifică-te pentru a adăuga comentariu

Trebuie să fi un membru pentru a putea lăsa un comentariu.

Creează un cont

Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!

Înregistrează un nou cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum



×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări