- 80 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn

Ch−¬ng IV

C¸c bµi tËp thùc hiÖn trªn Kit

Lª TiÕn Dòng –Bé m«Bé m«Bé m«Bé m«nnnn T§H Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng T§H Biªn so¹n : L©m t¨ng §øc T§H T§H Lª TiÕn Dòng Lª TiÕn Dòng Biªn so¹n : L©m t¨ng §øc Biªn so¹n : L©m t¨ng §øc

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 80

- 81 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn

Ch−¬ng IV

C¸c bµi tËp thùc hiÖn trªn Kit

Víi môc ®Ých lµ ®µo t¹o nªn tÊt c¶ ch−¬ng tr×nh DEMO cña KIT ®Òu ®−îc viÕt

b»ng hîp ng÷ (Assembly), ®iÒu nµy gióp ng−êi häc cã thÓ hiÓu râ vµ n¾m v÷ng vÒ cÊu

tróc phÇn cøng cña hä vi ®iÒu khiÓn 8051. Ngoµi ra cßn lµm quen ®−îc víi c¸ch lËp

tr×nh kh«ng cÊu tróc, kh¸c víi lËp tr×nh cã cÊu tróc b»ng c¸c ng«n ng÷ bËc cao nh− C

hay Basic, qua c¸c bµi thùc hµnh. Cuèi cïng ng−êi häc cã thÓ tù m×nh tèi −u ®−îc mL

lÖnh ®Ó tiÕt kiÖm bé nhí, ®iÒu nµy lµ cÇn thiÕt khi dung l−îng cña ROM vµ RAM tÝch

hîp s½n trªn chip cña c¸c vi ®iÒu khiÓn lµ kh«ng lín.

4.1 C¸c vÝ dô vÒ ®iÒu khiÓn chip më réng I/O 8255 sö dông trªn KIT

Nh− ®L t×m hiÓu ë ch−¬ng 2 vÒ cÊu tróc, c¸c chÕ ®é ho¹t ®éng cña chip 8255, trong KIT nµy ta sö dông 8255 lµm chip më réng I/O ho¹t ®éng ë chÕ ®é 0 – chÕ ®é vµo ra

c¬ b¶n. Khi 8255 lµm viÖc ë chÕ ®é nµy, c¸c cæng A, B, CL, CU cã thÓ ®−îc lËp tr×nh

lµm ®Çu vµo hoÆc ®Çu ra. Nªn nhÊn m¹nh r»ng, ë chÕ ®é 0 th× tÊt c¶ c¸c bit hoÆc lµm

®Çu vµo, hoÆc lµm ®Çu ra mµ kh«ng thÓ ®iÒu khiÓn riªng rÏ tõng bit nh− c¸c cæng P0-

P3 cña 8051.

CÊu tróc tõ ®iÒu khiÓn (CW) ë chÕ ®é nµy cã khu«n d¹ng nh− h×nh 2.15

4.1.1. VÝ dô 1: X¸c ®Þnh tõ ®iÒu khiÓn cña 8255 cho c¸c cÊu h×nh sau:

a) TÊt c¶ c¸c cæng A,B vµ C ®Òu lµ c¸c cæng ®Çu ra (ë chÕ ®é 0).

b) PA lµm ®Çu vµo, PB - ®Çu ra, PCL - ®Çu vµo vµ PCH - ®Çu ra

Gi¶i: Tõ h×nh 2.15 ta x¸c ®Þnh ®−îc

a) 10000000B = 80H

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 81

b) 10010001B = 91H

- 82 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn

Nhãm A Nhãm B

Cæng A

Chän mode 0 = Mode 0 1 = Mode 1

1= Input 0 = Output

D7 D6 D5 D4 D3 D2 D1 D0

Cæng C PC3– PC0 1= Input 0 = Output

Cæng B

Cæng C PC7 – PC4 1= Input 0 = Output

1= Input 0 = Output

Chän mode 00 = Mode 0 01 = Mode 1 1x = Mode 2

1 = I/O Mode 0 = BSR Mode

H×nh 2.15 Khu«n d¹ng tõ ®iÒu khiÓn cña 8255 (chÕ ®é vµo ra c¬ së)

4.1.2. VÝ dô 2: Gi¶ sö nh− ta cã mét chip 8051 ®−îc nèi víi chip 8255 sao cho ®Þa

chØ cña c¸c PORT vµ tõ ®iÒu khiÓn cña 8255 nh− sau:

8004H –PortA; 8005H – Port B; 8006H –PortC; 8007H –CW

a) T×m byte ®iÒu khiÓn ®Ó PA lµ cæng vµo, PB, PC lµ cæng ra

b) ViÕt mét ch−¬ng tr×nh ®Ó lÊy d÷ liÖu ë PA vµ göi ®Õn cæng B vµ C

Gi¶i:

a) Dùa vµo h×nh 2.15 ta cã ®−îc tõ ®iÒu khiÓn CW = 10010000B = 90H

; ################################################

mov A, #90H

; PA lµ cæng vµo, PB, PC lµ cæng ra

mov DPTR, #8007H

; CW

movx @DPTR, A

; XuÊt tõ ®iÒu khiÓn

Again:

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 82

b) Ch−¬ng tr×nh:

- 83 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn

mov DPTR, #8004H

; §Þa chØ PA

movx A, @DPTR

; NhËn d÷ liÖu tõ PA

inc DPTR

; §Þa chØ cña cæng PB

movx @DPTR, A

; §−a d÷ liÖu ra cæng PB

inc DPTR

; §Þa chØ cña cæng PC

movx @DPTR, A

; §−a d÷ liÖu ra PC

; #################################################

Sau khi ®L hiÓu râ c¸c thao t¸c lµm viÖc víi 8255 ®Ó giao tiÕp víi c¸c thiÕt bÞ ngo¹i

vi cña KIT ta cã tiÕn hµnh c¸c bµi thÝ nghiÖm sau.

4.2 Bµi to¸n 1 : §iÒu khiÓn 8 bit ®Çu ra sè

§iÒu khiÓn 8 bit ®Çu ra sè lµ mét bµi to¸n ®¬n gi¶n nh»m gióp ng−êi häc lµm quen

víi viÖc ®iÒu khiÓn vi m¹ch 8255 ®Ó göi ra cæng mét tÝn hiÖu sè.

Bµi to¸n thùc hiÖn viÖc xuÊt ra mét tÝn hiÖu sè 8 bit (1 byte) vµ kÕt qu¶ nµy ®−îc

hiÓn thÞ trªn 8 ®Ìn LED nhá t−¬ng øng víi 8 bit ®L ®−îc bè trÝ trªn bé KIT, nÕu 1 bit

b»ng 1 (High) th× ®Ìn t−¬ng øng sÏ t¾t vµ ng−îc l¹i.

4.3 Bµi to¸n 2 : §iÒu khiÓn nhËn ®Çu vµo 8 bit sè vµ göi ®Õn 8 bit ®Çu ra

Bµi to¸n thùc hiÖn viÖc ®iÒu khiÓn vi m¹ch 8255 qui ®Þnh mét cæng cña nã lµm

®Çu vµo nhËn tÝn hiÖu sè vµ göi tÝn hiÖu ®ã ®Õn mét cæng ra kh¸c.

4.4 Bµi to¸n 3 : §iÒu khiÓn hiÓn thÞ tÜnh ma trËn LED 8x8

§iÒu khiÓn hiÓn thi tÜnh ma trËn LED lµ mét bµi to¸n ®iÒu khiÓn ®¬n gi¶n ma

trËn LED hiÓn thÞ c¸c ®iÓm LED cã mµu s¾c kh¸c nhau theo tõng cét xen kÎ nhau, bµi

to¸n nµy gióp ng−êi häc hiÓu râ h¬n cÊu t¹o cña ma trËn LED vµ lµm quen víi viÖc

®iÒu khiÓn nã.

4.5 Bµi to¸n 4 : §iÒu khiÓn hiÓn thÞ ®éng ma trËn LED 8x8

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 83

- 84 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn

§iÒu khiÓn hiÓn thÞ ®éng ma trËn LED lµ mét bµi to¸n phøc t¹p h¬n bµi to¸n hiÓn

thÞ tÜnh ë trªn. Néi dung cña bµi to¸n lµ thùc hiÖn viÖc quÐt liªn lôc theo tõng dßng cña

ma trËn LED ®Ó hiÓn thÞ c¸c ch÷ sè trong hÖ Hexa tõ 0-9.. ®Õn A-F lªn trªn b¶ng LED.

4.6 Bµi to¸n 5 : §iÒu khiÓn ADC0809 vµ DAC0808

Víi ADC0809: bµi to¸n thùc hiÖn viÖc chuyÓn ®æi tÝn hiÖu Analog ë mét trong 8

kªnh ®Çu vµo thµnh tÝn hiÖu sè 8 bit ë ®Çu ra cña ADC0809. Sau ®ã ®äc tÝn hiÖu sè ®L

chuyÓn ®æi nµy hiÓn thÞ lªn LCD. ë phÇn nµy trªn KIT cßn trang bÞ s½n mét c¶m biÕn

nhiÖt ®é, bµi to¸n thÝ nghiÖm ®Ó ®o nhiÖt ®é ®−îc thùc hiÖn khi ta bËt nót thø 4 cña DIP

SWITCH ®Ó nèi tÝn hiÖu ®Çu ra cña LM35 ®Õn kªnh ®Çu vµo 4 cña ADC0809, nhiÖt ®é

phßng còng ®−îc hiÓn thÞ trªn LCD.

Víi DAC0808: bµi to¸n thùc hiÖn chuyÓn ®æi tÝn hiÖu sè 8 bit thµnh tÝn hiÖu

t−¬ng tù cã d¶i 0 -10V ë ®Çu ra cña DAC0808, tÝn hiÖu nµy cã thÓ ®−a vµo m¸y hiÖn

sãng (Oscilloscope) ®Ó xem kÕt qu¶ ®èi víi ch−¬ng tr×nh t¹o sãng (sin) hoÆc cã thÓ ®o

b»ng ®ång hå b×nh th−êng nÕu chØ t¹o ra ë ®Çu ra 1 gi¸ trÞ ®iÖn ¸p kh«ng ®æi.

4.7 Bµi to¸n 6 : §iÒu khiÓn ®éng c¬ b−íc vµ ®éng c¬ 1 chiÒu

Bµi to¸n thùc hiÖn viÖc ®iÒu khiÓn ®éng c¬ b−íc quay, thay ®æi tèc ®é, ®¶o chiÒu,

dõng ®éng c¬. Ch−¬ng tr×nh sö dông 4 ®Çu vµo xung ®Ó lµm c¸c phÝm lµm thay ®æi c¸c

tr¹ng th¸i trªn cña ®éng c¬ b−íc.

* Th−êng c¸c cuén d©y cña ®éngc¬ b−íc ®−îc x¸c ®Þnh theo mµu cña c¸c d©y,

tuy nhiªn ®èi víi mét ®éng c¬ b−íc bÊt kú ta cã thÓ dïng ®ång hå ®Ó x¸c ®Þnh c¸c cuén

d©y nh− h×nh vÏ, ë ®©y tr×nh bµy c¸ch x¸c ®Þnh cho c¸c ®éng c¬ cã 5, 6 d©y

1. Dïng ®ång hå ®Ó x¸c ®Þnh ®Çu Common: dïng ®ång hå ®Ó ë thang ®o trë, ®o

trë gi÷a c¸c cÆp d©y, ®Çu Common lµ ®Çu cã trë gi÷a nã c¸c ®Çu kh¸c b»ng 1/2

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 84

®iÖn trë cña c¸c ®Çu kh¸c víi nhau.

- 85 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn

2. X¸c ®Þnh thø tù c¸c cuén d©y b»ng c¸ch cÊp nguån vµo ®Çu Common vµ nèi

®Êt 1 trong 4 d©y cßn l¹i, ®ång thêi nèi ®Êt 1 trong 3 d©y cßn l¹i xem ph¶n øng

Nèi mass mét ®Çu, ®¸nh dÊu nã lµ ®Çu 4

Gi÷ nguyªn nã, nèi mass tiÕp lÇn l−ît mét trong 3 d©y cßn l¹i

NÕu ®éng c¬ quay theo chiÒu kim ®ång hå, ®ã lµ cuén 3

NÕu ®éng c¬ quay ng−îc chiÒu kim ®ång hå, ®ã lµ cuén 1

D©y kh«ng cã ph¶n øng g× c¶ lµ cuén 2

(chiÒu quay) cña ®éng c¬ vµ ®¸nh dÊu thø tù cho nã nh− trong b¶ng sau:

Khi biÕt ®−îc thø tù c¸c cuén d©y, ta kÝch xung theo thø tù ®ã ®éng c¬ sÏ ch¹y VÝ dô mét ®o¹n ch−¬ng tr×nh nh− sau, gi¶ sö 4 ®Çu cña ®éng c¬ ®−îc 4 bit P1.0 –

; ################################

ORG 0000H

MOV R3,#00000011B

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 85

P1.3 cña 8051 ®iÒu khiÓn:

- 86 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn

MOV A, R3

BACK: MOV P1,A

RL A

; Quay thanh ghi A

ACALL DELAY

SJMP BACK

; Tèc ®é quay cã thÓ thay dæi b»ng thay ®æi thêi gian Delay

DELAY:

MOV R1,#50

H1: MOV R2 ,#255

H2: DJNZ R2,H2

DJNZ R1,H1

RET

END

;###########################

4.8 Bµi to¸n 7 : Giao tiÕp víi m¸y tÝnh b»ng giao thøc RS232 sö dông cæng nèi

tiÕp. Ch−¬ng tr×nh DEMO ch¹y trªn PC ®−îc viÕt b»ng Delphi 7, cã sö dông th− viÖn

CPort 3.0 hç trî giao tiÕp.

Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H Trang 86

C¸c h−íng dÉn sö dông cã thÓ xem trùc tiÕp phÇn trî gióp cña ch−¬ng tr×nh.