C NG GIAO T IP SONG SONG

Một phần của tài liệu Điều khiển động cơ bước giao tiếp máy tính (Trang 38)

Ngồi các c ng n i ti p và các giao đi n n i ti p đ c trình bày ph n trên, vi

đi u

ti p song song thơng qua PORTD và PORTE. Do c ng song song ch ho t đ ng ch đ Slave mode nên vi đi u khi n khi giao ti p qua giao di n này s ch u s đi u khi n c a thi t b bên ngồi thơng qua các pin c a PORTE, trong khi d li u s

đ c đ c ho c ghi theo d ng b t đ ng b thơng qua 8 pin c a PORTD.

Bit đi u khi n PSP là PSPMODE (TRISE<4>). PSPMODE đ c set s thi t l p ch c n ng các pin c a PORTE là các pin cho phép đ c d li u , cho

phép ghi d li u và pin ch n vi đi u khi n ph c v

cho vi c truy n nh n d li u song song thơng qua bus d li u 8 bit c a PORTD. PORTD lúc này đĩng vai trị là thanh ghi ch t d li u 8 bit, đ ng th i tác đ ng c a thanh ghi TRISD c ng s đ c b qua do PORTD lúc này ch u s đi u khi n c a các thi t b bên ngồi. PORTE v n ch u s tác đ ng c a thanh ghi TRISE, do đĩ c n xác l p tr ng thái các pin PORTE là input b ng các set các bit TRISE<2:0>. Ngồi ra c n đ a giá tr thích h p các bit PCFG3:PCFG0 (thanh ghi ADCON1<3:0>) đ

n đnh các pin c a PORTE là các pin I/O d ng digital (PORTE cịn là các pin ch c n ng c a kh i ADC).

CH NG 5 : T P L NH C A VI I U KHI N PIC

5.1 VÀI NÉT S L C V T P L NH C A VI I U KHI N PIC

Do PIC16F877A là vi đi u khi n cĩ t p l nh rút g n RISC (Reduced Information Set Computer), bao g m 35 l nh và cĩ th đ c phân ra thành 3 nhĩm c b n:

- Nhĩm l nh thao tác trên bit. - Nhĩm l nh thao tác trên byte. - Nhĩm l nh đi u khi n.

i v i dịng vi đi u khi n PIC16Fxxx, m i l nh đ c mã hĩa thành 14 bit, bao g m các bit opcode (xác đnh l nh mã hĩa) và các bit mơ t m t hay vài tham s c a l nh.

i v i nhĩm l nh thao tác trên byte, ta cĩ 2 tham s f (xác đ nh đ a ch byte c n thao tác) và d (xác đnh n i ch a k t qu th c thi l nh). N u d = 0, k t qu s đ c

đ a vào thanh ghi W. N u d = 1, k t qu đ c đ a vào thanh ghi đ c mơ t b i tham s f.

i v i nhĩm l nh thao tác trên bit, ta cĩ hai tham s b (xác đnh bit c n thao tác) và f (xác đnh đa ch byte d li u c n thao tác).

i v i nhĩm l nh đi u khi n ch cĩ m t tham s duy nh t là k (k cĩ th là 8 bit trong tr ng h p các l nh bình th ng hay 11 bit trong tr ng h p là l nh CALL và l nh GOTO) dùng đ mơ t đ i t ng tác đ ng c a vi đi u khi n (m t label, m t h ng s nào đĩ).

M t chu kì l nh g m 4 xung clock c a oscillator. Ví d oscillator cĩ t n s 4 MHz thì t n s th c thi l nh s là 4MHz/4 = 1MHz, nh v y m t chu kì l nh cĩ th i gian 1uS.

5.2 T P L NH C A VI I U KHI N PIC 5.2.1 L nh ADDLW 5.2.1 L nh ADDLW

Cú pháp: ADDLW k (0 ≤ k≤255).

Tác d ng: c ng giá tr k vào thanh ghi W, k t qu đ c ch a trong thanh ghi W. Bit tr ng thái: C, DC, Z

5.2.2 L nh ADDWF

Cú pháp: ADDWF f,d (0≤f≤255, d [0,1]).

Tác d ng: c ng giá tr hai thanh ghi W và thanh ghi f. K t qu đ c ch a trong thanh ghi W n u d = 0 ho c thanh ghi f n u d=1.

Bit tr ng thái: C, DC, Z

5.2.3 L nh ANDLW

Cú pháp: ANDLW k (0≤k≤255)

Tác d ng: th c hi n phép tốn AND gi a thanh ghi và giá tr k, k t qu đ c ch a trong thanh ghi W.

5.2.4 L nh ANDWF

Cú pháp: ANDWF f,d (0≤f≤127, d [0,1]).

Tác d ng: th c hi n phép tốn AND gi a các giá tr ch a trong hai thanh ghi W và f. K t qu đ c đ a vào thanh ghi W n u d=0 ho c thanh ghi f n u d = 1.

Bit tr ng thái: Z

5.2.5 L nh BCF

Cú pháp: BCF f,b (0≤f≤127, 0≤b≤7). Tác d ng: xĩa bit b trong thanh ghi f v giá tr 0. Bit tr ng thái: khơng cĩ.

5.2.6 L nh BSF

Cú pháp: BSF f,b (0≤f≤127, 0≤b≤7). Tác d ng: set bit b trong trnh ghi f. Bit tr ng thái: khơng cĩ

5.2.7 L nh BTFSS

Cú pháp: BTFSS f,b (0≤f≤127, 0≤b≤7).

Tác d ng: ki m tra bit b trong thanh ghi f. N u bit b b ng 0, l nh ti p theo đ c th c thi. N u bit b b ng 1, l nh ti p theo đ c b qua và thay vào đĩ là l nh NOP.

Bit tr ng thái: khơng cĩ

5.2.8 L nh BTFSC

Cú pháp: BTFSC f,b(0≤f≤127, 0≤b≤7).

Tác d ng: ki m tra bit b trong thanh ghi f. N u bit b b ng 1, l nh ti p theo

đ c th c thi. N u bit b b ng 0, l nh ti p theo đ c b qua và thay vào đĩ là l nh NOP.

Bit tr ng thái: khơng cĩ.

5.2.9 L nh CALL

Cú pháp: CALL k (0≤k≤2047).

Tác d ng: g i m t ch ng trình con. Tr c h t đa ch quay tr v t ch ng trình con (PC+1) đ c c t vào trong Stack, giá tr đ a ch m i đ c đ a vào b đ m g m 11 bit c a bi n k và 2 bit PCLATH<4:3>.

Bit tr ng thái: khơng cĩ

Cú pháp CLRF f (0≤f≤127).

Tác d ng: xĩa thanh ghi f và bit Z đ c set. Bit tr ng thái: Z

5.2.11 L nh CLRW

Cú pháp CLRW.

Tác d ng: xĩa thanh ghi W và bit Z đ c set. Bit tr ng thái: Z

5.2.12 L nh CLRWDT

Cú pháp: CLRWDT.

Tác d ng: reset Watchdog Timer, đ ng th i prescaler c ng đ c reset, các bit và đ c set lên 1.

Bit tr ng thái:

5.2.13 L nh COMF

Cú pháp: COMF f,d (0≤f≤127, d [0,1]).

Tác d ng: đ o các bit trong thanh ghi f. K t qu đ c đ a vào thanh ghi W n u d=0 ho c thanh ghi f n u d=1.

Bit tr ng thái: Z

5.2.14 L nh DECF

Cú pháp: DECF f,d (0≤f≤127, d [0,1]).

Tác d ng: giá tr thanh ghi f đ c gi m đi 1 đ n v . K t qu đ c đ a vào thanh ghi W n u d = 0 ho c thanh ghi f n u d = 1.

Bit tr ng thái: Z

5.2.15 L nh DECFSZ

Cú pháp: DECFSZ f,d(0≤f≤127, d [0,1]). Tác d ng: gía tr thanh ghi f đ c gi m 1

đ n v . N u k t qu sau khi gi m khác 0, l nh ti p theo đ c th c thi, n u k t qu b ng 0, l nh ti p theo khơng đ c th c thi và thay vào đĩ là l nh NOP. K t qu

đ c đ a vào thanh ghi W n u d = 0 ho c thanh ghi f n u d = 1. Bit tr ng thái: khơng cĩ

5.2.16 L nh GOTO

Tác d ng: nh y t i m t label đ c đnh ngh a b i tham s k và 2 bit PCLATH<4:3>.

Bit tr ng thái: khơng cĩ.

5.2.17 L nh INCF

Cú pháp: INCF f,d (0≤f≤127, d [0,1]).

Tác d ng: t ng giá tr thanh ghi f lên 1 đ n v . K t qu đ c đ a vào thanh ghi W n u d = 0 ho c thanh ghi f n u d = 1.

Bit tr ng thái: Z

5.2.18 L nh INCFSZ

Cú pháp: INCFSZ f,d (0≤f≤127, d [0,1]).

Tác d ng: t ng giá tr thanh ghi f lên 1 đ n v . N u k t qu khác 0, l nh ti p theo

đ c th c thi, n u k t qu b ng 0, l nh ti p theo đ c thay b ng l nh NOP. K t qu s đ c đ a vào thanh ghi f n u d=1 ho c thanh ghi W n u d = 0.

Bit tr ng thái: khơng cĩ.

5.2.19 L nh IORLW

Cú pháp: IORLW k (0≤k≤255).

Tác d ng: th c hi n phép tốn OR gi a thanh ghi W và giá tr k. K t qu đ c ch a trong thanh ghi W.

Bit tr ng thái: Z

5.2.20 L nh IORWF

Cú pháp: IORWF f,d (0≤f≤127, d [0,1]).

Tác d ng: th c hi n phép tốn OR gi a hai thanh ghi W và f. K t qu đ c đ a vào thanh ghi W n u d=0 ho c thanh ghi f n u d=1.

Bit tr ng thái: Z

5.2.21 L nh RLF

Cú pháp: RLF f,d (0≤f≤127, d [0,1]).

Tác d ng: d ch trái các bit trong thanh ghi f qua c carry. K t qu đ c l u trong thanh ghi W n u d=0 ho c thanh ghi f n u d=1.

Bit tr ng thái: C

Cú pháp: RETURN.

Tác d ng: quay tr v ch ng trình chính t m t ch ng trình con. Bit tr ng thái:khơng cĩ

5.2.23 L nh RRF

Cú pháp: RRF f,d (0≤f≤127, d [0,1]).

Tác d ng: d ch ph i các bit trong thanh ghi f qua c carry. K t qu đ c l u trong thanh ghi W n u d=0 ho c thanh ghi f n u d=1.

Bit tr ng thái: C

5.2.24 L nh SLEEP

Cú pháp: SLEEP

Tác d ng: đ a vi đi u khi n v ch đ sleep. Khi đĩ WDT b xĩa v 0, bit

đ c xĩa v 0, bit đ c set lên 1 và oscillator khơng đ c cho phép ho t

đ ng.

Bit tr ng thái:

5.2.25 L nh SUBLW

Cú pháp: SUBLW k

Tác d ng: l y giá tr k tr giá tr trong thanh ghi W. K t qu đ c ch a trong thanh ghi W.

Bit tr ng thái: C, DC, Z

5.2.26 L nh SUBWF

Cú pháp: SUBWF f,d (0≤f≤127, d [0,1])

Tác d ng: l y giá tr trong thanh ghi f đem tr cho thanh ghi W. K t qu đ c l u trong thanh ghiaW n u d=0 ho c thanh ghi f n u d=1.

Bit tr ng thái: C, DC, Z

5.2.27 L nh SWAP

Cú pháp: SWAP f,d (0≤f≤127, d [0,1])

Tác d ng: đ o 4 bit th p v i 4 bit cao trong thanh ghi f. K t qu đ c ch a trong thanh ghi W n u d=0 ho c thanh ghi f n u d=1.

5.2.28 L nh XORLW

Cú pháp: XORLW k (0≤k≤255)

Tác d ng: th c hi n phép tốn XOR gi a giá tr k và giá tr trong thanh ghi W. K t qu đ c l u trong thanh ghi W.

Bit tr ng thái: Z

5.2.29 L nh XORWF

Cú pháp: XORWF f,d

Tác d ng: th c hi n phép tốn XOR gi a hai giá tr ch a trong thanh ghi W và thanh

ghi f. K t qu đ c l u vào trong thanh ghi W n u d=0 ho c thanh ghi f n u d=1. Bit tr ng thái: Z

5.2.30 L nh #DIFINE

Cú pháp: #DEFINE <text1> <text2>

Tác d ng: thay th m t chu i kí t ny b ng m t chu i kí t khc, cĩ ngh a là m i khi chu i kí t text1 xu t hi n trong ch ng trình, trình biên d ch s t đ ng thay th chu i kí t đ b ng chu i kí t <text2>.

5.2.31 L nh INCLUDE

Cú pháp: #INCLUDE <filename> ho c #INCLUDE “filename”

Tác d ng: đính km m t file khc vo ch ng trình, t ng t nh vi c ta copy file

đĩ vào v trí xu t hi n l nh INCLUDE. N u dùng cú pháp <filename> thì file đình km l file h th ng (system file), n u dùng cú pháp “filename” thì file đính kèm là file c a ng i s d ng.

Thơng th ng ch ng trình đ c đính kèm theo m t “header file” ch a cc thơng tin đnh ngh a cc bi n (thanh ghi W, thanh ghi F,..) và các đ a ch các thanh ghi ch c n ng đ c bi t trong b nh d li u. N u khơng cĩ header file, ch ng trình s khs đ c và khĩ hi u h n.

5.2.32 L nh CONSTANT

Cú pháp: CONSTANT <name>=<value>

Tác d ng: khai bo m t h ng s , cĩ ngh a là khi phát hi n chu i kí t “name” trong ch ng trình, trình biên d ch s t đ ng thay b ng chu i kí t b ng gi tr “value” đã đ c đnh ngh a tr c đĩ.

Cú pháp: VARIABLE <name>=<value>

Tác d ng: t ng t nh l nh CONSTANT, ch cĩ đi m khác bi t duy nh t là giá tr

“value” khi dùng l nh VARIABLE cĩ th thay đ i đ c trong quá trình th c thi ch ng trình cịn l nh CONSTANT thì khơng.

5.2.34 L nh SET

Cú pháp: <name variable> SET <value>

Tác d ng: gán giá tr cho m t tên bi n. Tên c a bi n cĩ th thay đ i đ c trong quá

trình th c thi ch ng trình.

5.2.35 L nh EQU

Cú pháp: <name constant> EQU <value>

Tác d ng: gán giá tr cho tên c a tên c a h ng s . Tên c a h ng s khơng thay

đ i trong quá trình th c thi ch ng trình.

5.2.36 L nh ORG Cú pháp: ORG <value> Tác d ng: đnh ngh a m t đ a ch ch a ch ng trình trong b nh ch ng trình c a vi đi u khi n. 5.2.37 L nh END Cú pháp: END Tác d ng: đánh d u k t thúc ch ng trình. 5.2.38 L nh __CONFIG Cú pháp: __CONFIG(Configuration bit)

Tác d ng: thi t l p các bit đi u khi n các kh i ch c n ng c a vi đi u khi n đ c ch a trong b nh ch ng trình (Configuration bit)

5.2.39 L nh PROCESSOR

Cú pháp: PROCESSOR <processor type>

CH NG 6 : CÁC THI T B - LINH KI N LIÊN QUAN KHÁC

6.1 NG C B C

6.1.1 GI I THI U V NG C B C

a) ng c b c l ng c c (bipolar step motor)

- Tr c đây, lo i đ ng c b c đ n c c đ c s d ng r ng rãi h n do tính đ n gi n trong c u trúc đi u khi n c a chúng. Tuy nhiên, v i s phát tri n c a các m ch s cĩ đ tích h p cao, đ ng c b c ngu n l ng c c ngày càng đ c s d ng r ng rãi h n. M t khác, trong cùng m t đi u ki n ho t đ ng, các đ ng c b c ngu n l ng c c luơn cho m t mơmen l n h n các đ ng c b c ngu n đ n c c.

- M t đ ng c b c l ng c c g m cĩ m t rotor là m t nam châm v nh c u và stator mang cu n dây. ng c cĩ th đ c đi u khi n đ quay thu n và quay ngh ch b ng cách đi u khi n th t dịng cung c p cho các cu n dây c a stator.

Hình 6.1 C u t o c a đ ng c b c l ng c c - Cách c p dịng:

C p dịng theo trình t AB/CD/BA/DC (BA ngh a là cu n dây AB cĩ đi n nh ng áp d ng đ t B). Cách c p dịng này g i là ch đ ch y 1 b c 1 pha (one phase on full step ho c wave drive). M i th i đi m ch cĩ 1 pha cĩ đi n.

Hình 6.2 Ch đ ch y 1 b c 1 pha.

Cách th 2 là c p dịng cho c 2 pha, làm cho rotor luơn n m v trí gi a 2 c c (AC ch ng h n). Ch đ này g i là ch đ ch y 1 b c 2 pha (2 phase on full

step), đ c s d ng ph bi n cho đ ng c b c l ng c c vì nĩ cho mơmen xo n l n nh t.

Hình 6.3 Ch đ ch y 1 b c 2 pha.

Cách th 3 là c p đi n cho 1 pha, 2 pha, 1 pha… đ đ ng c di chuy n n a b c (one step increment), đ c g i là ch đ ch y n a b c (haft step mode). Cách này cĩ th gi m gĩc quay đi m t n a.

Hình 6.4 Ch đ ch y n a b c. - quay ng c l i ch vi c thay đ i th t c p dịng ng c l i.

- Nh ng hình nh minh h a trên cho th y m t b c c a đ ng c là 90o. Trên th c t ng i ta t o thêm nhi u c c h n v i s cu n dây và th t c p dịng khơng thay đ i đ cho ra b c đ ng c nh h n. Ph bi n hi n nay là đ ng c cĩ b c 1.8o.

b) ng c b c đ n c c (unipolar step motor)

- ng c b c đ n c c cĩ c u t o gi ng nh đ ng c l ng c c trên, ngo i tr m i cu n dây cĩ thêm đ u ra gi a n i mass ho c ngu n đ đ o dịng c a stator.

Hình 6.6 C u t o c a đ ng c b c đ n c c.

c) ng c t tr

- ng c t tr cĩ rotor là lõi s t m m khơng t hĩa và cĩ c c ít h n stator. - ng c t tr cĩ v n t c quay l n h n so v i đ ng c b c cĩ rotor là nam

Một phần của tài liệu Điều khiển động cơ bước giao tiếp máy tính (Trang 38)