Sari la conținut
ELFORUM - Forumul electronistilor

rlf , rrf pejumate de octet...?!se poate?!


a_sorien

Postări Recomandate

Salutare! Am nevoie de ceva ajutor : vreau sa misc in sens rrf si apoi rlf ( nu conteaza ordinea) 4 biti dintr-un port de 8 biti. Mai precis vreau sa misc un motor pas cu pas ...inainte , inapoi! Sa folosesc look up table..?!Stie altcineva o metoda mai generala..?Multam.

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

Top autori în acest subiect

  • a_sorien

    5

  • Mondan

    3

  • Mikrosha

    1

  • 10vid

    1

Top autori în acest subiect

Păi dacă am înţeles bine întrebarea... Poţi avea un registru pe 8 biţi, diferit de PORTX, de valoarea 0b00010001, pe care să-l mişti stînga-dreapta. Apoi să-l maschezi în PORTX cu biţii care-ţi trebuie. Ceva de genul:REG=REG<<1;PORTX=(PORTX&0b11110000)+REG;E ok?

Link spre comentariu

Intructiune pentru rotire pe 4 biti nu exista, ci doar pentru 8 biti. De aceea se face o rotire normala de 8 biti, iar apoi se fac corectiile necesare, daca bitul setat a trecut de bitul 3 al registrului (cand se roteste spre stanga) sau de bitul 0 (cand se roteste spre dreapta):

;************************************;    Rutina rotire spre stanga      *;************************************rot_st  bcf     STATUS,C        rlf     reg,F        btfsc   reg,4        swapf   reg,F        return;************************************;    Rutina rotire spre dreapta     *;************************************rot_dr  bcf     STATUS,C        rrf     reg,F        btfsc   STATUS,C        bsf     reg,3        return

Pentru a trimite la port, mentinand cei patru biti superiori ai portului neatinsi, se foloseste:

 

movlw   11110000b        andwf   PORTB,W        iorwf   reg,W        movwf   PORTB
Link spre comentariu

salut , io asa cred....!!E adevarat e prima data cand incerc sa misc un MPP...dar daca stii ceva...te rog nu ezita sa ma corectezi...!Si multumesc..!!

Link spre comentariu

Nu stiu ce motor ai dar in principiu - de cele mai multe ori are 2 bobine. Iar cele 4 fire sunt terminatiile acestor 2 bobine.

Poti verifica asta pe ohmetru.

 

Astea doua bobine sunt puse perpendicular una pe alata (nu atat bobinele ci campul magnetic al lor perpendicular unul pe altul. Pe ax ai un magnet cu Nord si Sud.

 

Posted Image

Pe bobina 1 din imagine o vei comanda cu (+ -) iar pe celalata "oprita". Ea iti genereaza un camp magnetic care are un Nord si un Sud. Magnetul de pe ax se orienteaza ca acul unei busole.

 

Acum se opreste boina 1, porneste 2 si ii da un N si S si el se va invarti 90 grd intr-o directie.

 

Apoi bobina se porneste bobina 1 dar polariata invers(- +). In total a facut 180 grd

 

Bobinele pot fi atacete si cu PWM, in timp ce scade campul magnetic din 1 creste in 2, ca sa aiba o miscare cat mai "naturala".

 

Daca "pornesti" si bobina 1 si bobina 2 in acelasi timp axul se va misca 45 grd fata de pozitia din imagine.

Link spre comentariu

ok, si deci ca sa misti mpp ul intr-o directie sa zicem orar , cum alimentezi cele 2 bobine ? Ma refer sa obtii o turatie ...mica..dar mpp sa se miste continuu intr-un sens !

Link spre comentariu

Cel mai simplu este asa:Cauti programe deja facute pe NET pentru asta (cu schema aferenta). Le testezi repede si vezi care merge. Nu stai dupa ele daca nu merg.Bine ar fi sa fie pentru acelasi tip de PIC si cauti direct HEX-ul.Dupa ce vezi ca merge copiezi doar partea de control. HEXul se poate deazambla cu ICprog parca (Dai View ->ASM).Sau ca sa afirm eu ceva trebuie sa pui o schema cum ai conctat firele de la motor ? Ai nevie si de delay.

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