Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
Ch−¬ng I Tæng quan vÒ Vi ®iÒu khiÓn
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H
Trang 1
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
Ch−¬ng I Tæng quan vÒ Vi ®iÒu khiÓn 1.1 Giíi thiÖu vÒ c¸c hä vi xö lÝ vµ c¸c hä vi ®iÒu khiÓn th«ng dông 1.1.1 LÞch sö ph¸t triÓn cña bé vi xö lÝ vµ bé vi ®iÒu khiÓn Sù ra ®êi vµ ph¸t triÓn nhanh chãng cña kü thuËt vi ®iÖn tö mµ ®Æc tr−ng lµ kü thuËt vi xö lÝ ®! t¹o ra mét b−íc ngoÆt quan träng trong sù ph¸t triÓn cña khoa häc tÝnh to¸n, ®iÒu khiÓn vµ xö lÝ th«ng tin. Kü thuËt vi xö lÝ ®ãng mét vai trß rÊt quan träng trong tÊt c¶ c¸c lÜnh vùc cña cuéc sèng vµ khoa häc kü thuËt, ®Æc biÖt lµ lÜnh vùc Tin häc vµ Tù ®éng hãa. N¨m 1971, h!ng Intel ®! cho ra ®êi bé vi xö lÝ (microprocessor) ®Çu tiªn trªn thÕ giíi tªn gäi lµ Intel-4004/4bit , nh»m ®¸p øng nhu cÇu cÊp thiÕt cña mét c«ng ty kinh doanh lµ h!ng truyÒn th«ng BUSICOM. Intel-4004 lµ kÕt qu¶ cña mét ý t−ëng quan träng trong kü thuËt vi xö lÝ sè. §ã lµ mét kÕt cÊu logic mµ cã thÓ thay ®æi ®−îc chøc n¨ng cña nã b»ng ch−¬ng tr×nh ngoµi chø kh«ng ph¸t triÓn theo h−íng t¹o ra mét cÊu tróc cøng chØ thùc hiÖn mét sè chøc n¨ng nhÊt ®Þnh nh− tr−íc ®©y. Sau ®ã, c¸c bé vi xö lÝ míi liªn tôc ®−îc ®−a ra thÞ tr−êng vµ ngµy cµng ®−îc ph¸t triÓn, hoµn thiÖn h¬n trong c¸c thÕ hÖ sau : Vµo n¨m 1972, h!ng Intel ®−a ra bé vi xö lÝ 8-bit ®Çu tiªn víi tªn Intel8008/8bit. Tõ 1974 ®Õn 1975 , Intel chÕ t¹o c¸c bé vi xö lÝ 8-bit 8080 vµ 8085A. Còng vµo kho¶ng thêi gian nµy, mét lo¹t c¸c h!ng kh¸c trªn thÕ giíi còng ®! cho ra ®êi c¸c bé vi xö lÝ t−¬ng tù nh− : 6800 cña Motorola víi 5000 tranzitor, Signetics 6520, 1801 cña RCA, kÕ ®Õn lµ 6502 cña h!ng MOS Technology vµ Z80 cña h!ng Zilog.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 2
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
Vµo n¨m 1976 Intel giíi thiÖu bé vi ®iÒu khiÓn (microcontroller) 8748, mét chip t−¬ng tù nh− c¸c bé vi xö lÝ vµ lµ chip ®Çu tiªn trong hä vi ®iÒu khiÓn MCS-48. 8748 lµ mét vi m¹ch chøa trªn 17000 transistor, bao gåm mét CPU, 1K byte EPROM, 64 byte RAM, 27 ch©n xuÊt nhËp vµ mét bé ®Þnh thêi 8-bit. IC nµy vµ c¸c IC kh¸c tiÕp theo cña hä MCS-48 ®! nhanh chãng trë thµnh chuÈn c«ng nghiÖp trong c¸c øng dông h−íng ®iÒu khiÓn (control-oriented application). N¨m 1978 xu©t hiÖn Intel 8086 lµ lo¹i bé xi xö lý 16 bit víi 29.000 tranzitor, Motorola 68000 tÝch hîp 70.000 tranzitor, APX 432 chøa 120.000 tranzitor. Bé vi xö lý cña Hewlet Pakard cã kho¶ng 450.000 tranzitor. Tõ n¨m 1974 ®Õn 1984 sè tranzitor tÝch hîp trong mét chip t¨ng kho¶ng 100 lÇn. N¨m 1983, Intel ®−a ra bé vi xö lý 80286 dung trong c¸c m¸y vi tinh hä AT (Advanced Technology). 80286 sö dông I/O 16 bit, 24 ®−êng ®Þa chØ vµ kh«ng gian nhí ®Þa chØ thùc 16MB. N¨m 1987, Intel ®−a ra bé vi xö lý 80386 32-bit. N¨m 1989 xuÊt hiÖn xuÊt hiÖn bé vi xö lý Intel 80486 lµ c¶I tiÕn cña Intel 80386 víi bé nhí Èn vµ m¹ch tÝnh phÐp to¸n ®¹i sè dÊu phÈy ®éng. N¨m 1992, xuÊt hiÖn Intel 80586 cßn gäi lµ Pentium 64 bit chøa 4 triÖu tranzitor. So át r a n z i t o r t íc h h ô ïp
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 3
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
H×nh 1.1 Sè tranzitor tÝch hîp trong mét chip cña bé vi xö lý Intel 8086 §é phøc t¹p, sù gän nhÑ vÒ kÝch th−íc vµ kh¶ n¨ng cña c¸c bé vi ®iÒu khiÓn ®−îc t¨ng thªm mét bËc quan träng vµo n¨m 1980 khi Intel c«ng bè chip 8051, bé vi ®iÒu khiÓn ®Çu tiªn cña hä vi ®iÒu khiÓn MCS-51. So víi 8048, chip 8051 chøa trªn 60.000 transistor bao gåm 4K byte ROM, 128 byte RAM, 32 ®−êng xuÊt nhËp, 1 port nèi tiÕp vµ 2 bé ®Þnh thêi 16-bit – mét sè l−îng m¹ch ®¸ng chó ý trong mét IC ®¬n.
Tõ c¸c bé vi xö lý ban ®Çu chØ lµ c¸c bé xö lý trung t©m trong mét hÖ thèng, kh«ng thÓ ho¹t ®éng nÕu thiÕu c¸c bé phËn nh− RAM, ROM, bo m¹ch chñ... c¸c h!ng ®! ph¸t triÓn c¸c bé vi xö lý nµy lªn thµnh c¸c bé vi ®iÒu khiÓn ®Ó phôc vô c¸c môc ®Ých riªng biÖt, kh¸c nhau trong c«ng nghiÖp. Mét bé vi ®iÒu khiÓn lµ mét hÖ vi xö lÝ thËt sù ®−îc tæ chøc trong mét chip (trong mét vá IC) bao gåm mét bé vi xö lÝ (microprocessor), bé nhí ch−¬ng tr×nh (ROM), bé nhí d÷ liÖu (RAM), tuy kh«ng b»ng dung l−îng RAM ë c¸c m¸y vi tÝnh nh−ng ®©y kh«ng ph¶i lµ mét h¹n chÕ v× c¸c bé vi ®iÒu khiÓn ®−îc thiÕt kÕ cho mét môc ®Ých hoµn toµn kh¸c, ngoµi ra trªn chip cßn cã bé xö lý sè häc-logic (ALU) cïng víi c¸c thanh ghi chøc n¨ng, c¸c cæng vµo/ra, c¬ chÕ ®iÒu khiÓn ng¾t, truyÒn tin nèi tiÕp, c¸c bé ®Þnh thêi... HiÖn nay, c¸c bé vi ®iÒu khiÓn ®−îc sö dông rÊt réng r!i vµ ngµy cµng ®−îc chuÈn hãa ®Ó cã thÓ sö dông réng r!i trong c¸c ngµnh c«ng nghiÖp, cã mÆt trong nhiÒu m¸y mãc, trong c¸c hµng tiªu dïng. 1.1.2 ¦u vµ khuyÕt ®iÓm cña c¸c bé vi ®iÒu khiÓn
C¸c c«ng viÖc ®−îc thùc hiÖn bëi c¸c bé vi ®iÒu khiÓn th× kh«ng míi. §iÒu míi lµ c¸c thiÕt kÕ hiÖn thùc víi Ýt thµnh phÇn h¬n so víi c¸c thiÕt kÕ tr−íc ®ã. C¸c thiÕt kÕ tr−íc ®ã ®ßi hái ph¶i vµi chôc hoÆc vµi tr¨m IC ®Ó hiÖn thùc nay chØ cÇn mét Ýt thµnh phÇn trong ®ã bao gåm bé vi ®iÒu khiÓn. Sè thµnh phÇn ®−îc gi¶m bít, hiÖu qu¶ trùc tiÕp cña tÝnh kh¶ lËp tr×nh cña c¸c bé vi ®iÒu khiÓn vµ ®é
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 4
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
tÝch hîp cao trong c«ng nghÖ chÕ t¹o vi m¹ch, th−êng chuyÓn thµnh thêi gian ph¸t triÓn ng¾n h¬n, gi¸ thµnh khi s¶n xuÊt thÊp h¬n, c«ng suÊt tiªu thô thÊp h¬n vµ ®é tin cËy cao h¬n. VÊn ®Ò ë ®©y lµ tèc ®é. C¸c gi¶i ph¸p dùa trªn bé vi ®iÒu khiÓn kh«ng bao giê nhanh b»ng gi¶i ph¸p dùa trªn c¸c thµnh phÇn rêi r¹c. Nh÷ng t×nh huèng ®ßi hái ph¶i ®¸p øng thËt nhanh (cì nsec) ®èi víi c¸c sù kiÖn (th−êng chiÕm thiÓu sè trong c¸c øng dông) sÏ ®−îc qu¶n lý tåi khi dùa vµo c¸c bé vi ®iÒu khiÓn. Tuy nhiªn trong vµi øng dông, ®Æc biÖt lµ c¸c øng dông liªn quan ®Õn con ng−êi, c¸c kho¶ng thêi gian trÔ tÝnh b»ng nsec, usec hoÆc thËm chÝ msec lµ kh«ng quan träng. ViÖc gi¶m bít c¸c thµnh phÇn lµ mét ®iÒu lîi nh− ®! ®Ò cËp, c¸c thao t¸c trong ch−¬ng tr×nh ®iÒu khiÓn lµm cho thiÕt kÕ cã thÓ thay ®æi b»ng c¸ch thay ®æi phÇn mÒm. §iÒu nµy cã ¶nh h−ëng tèi thiÓu ®Õn chu kú s¶n xuÊt. Do ®ã c¸c bé vi ®iÒu khiÓn cã thÓ ®−îc øng dông réng r!i trong c¸c øng dông phôc vô con ng−êi.
§Ó cã thÓ hiÓu râ h¬n vÒ c¸c bé vi ®iÒu khiÓn, chóng ta sÏ t×m hiÓu vÒ mét sè c¸c hä vi ®iÒu khiÓn cña mét sè h!ng ®iÖn tö ®iÓn h×nh ®ang ®−îc sö dông réng r!i trong khoa häc kü thuËt vµ ®êi sèng.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 5
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
1.1.3 Giíi thiÖu vÒ hä vi ®iÒu khiÓn MCS-51 1.1.3.1 Tãm t¾t phÇn cøng Hä vi ®iÒu khiÓn MCS-51 ®−îc h!ng Intel cho ra ®êi vµo n¨m 1980 víi bé vi ®iÒu khiÓn ®Çu tiªn cña nã lµ chip 8051. CÊu tróc c¬ b¶n cña chip vi ®iÒu khiÓn 8051 ®−îc biÓu diÔn nh− h×nh 1.2.
H×nh 1.2- S¬ ®å khèi cña chip 8051 31
H×nh 1.3 cho ta s¬ ®å ch©n cña chip 8051. Nh− ta thÊy, 32 trong sè 40 ch©n cña 8051 cã t¸c dông xuÊt/nhËp, h×nh thµnh 4 port 8-bit. Víi c¸c thiÕt kÕ yªu cÇu mét møc tèi thiÓu bé nhí ngoµi hoÆc c¸c thµnh phÇn bªn ngoµi kh¸c, ta cã thÓ sö dông c¸c port nµy lµm nhiÖm vô xuÊt/nhËp, 8 ®−êng cho mçi port cã thÓ ®−îc xö lÝ nh− lµ mét ®¬n vÞ giao tiÕp víi c¸c thiÕt bÞ song song nh− m¸y in, bé biÕn ®æi
19 18 9 12 13 14 15 1 2 3 4 5 6 7 8
X1 X2
P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7
RESET INT0 INT1 T0 T1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 RD WR PSEN ALE/P TXD RXD
39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 17 16 29 30 11 10
8051 H×nh 1.3 - S¬ ®å ch©n cña 8051
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
EA/VP
Trang 6
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
D/A,.v.v..hoÆc mçi ®−êng cã thÓ ho¹t ®éng ®éc lËp giao tiÕp víi mét thiÕt bÞ ®¬n bit nh− chuyÓn m¹ch, LED, tranzistor, cuén d©y, ®éng c¬... 1. Port 0 Port 0 cã 2 t¸c dông. Trong c¸c thiÕt kÕ øng dông tèi thiÓu, kh«ng cã giao tiÕp víi c¸c thµnh phÇn bªn ngoµi nh− RAM ngoµi, ROM ngoµi..., port 0 ®−îc sö dông nh− mét cæng xuÊt/nhËp th«ng th−êng. Khi thiÕt kÕ hÖ thèng mµ cÇn sö dông bé nhí ngoµi, port 0 ®−îc sö dông lµ cæng ®Þa chØ vµ d÷ liÖu ®a hîp. Port 0 nÕu lµ cæng ®Þa chØ th× nã sÏ lµ phÇn byte thÊp cña bus ®Þa chØ. 2. Port 1 Port 1 chØ cã mét t¸c dông lµ cæng xuÊt nhËp. Nã chØ dïng ®Ó giao tiÕp víi thiÕt bÞ ngo¹i vi khi cã yªu cÇu. Kh«ng cã chøc n¨ng nµo ®Æc biÖt cho c¸c ch©n cña port 1. Tuy nhiªn víi c¸c bé vi ®iÒu khiÓn kh¸c nh− 8052 th× c¸c ch©n P1.0 vµ P1.1 cßn ®−îc sö dông lµm c¸c ®−êng ngâ vµo cho m¹ch ®Þnh thêi thø ba. 3. Port 2 Port 2 cã hai t¸c dông, hoÆc lµm nhiÖm vô lµ cæng xuÊt nhËp, hoÆc lµ phÇn byte cao cña bus ®Þa chØ 16-bit cho c¸c thiÕt kÕ hÖ thèng cÇn nhiÒu h¬n 256 byte bé nhí ngoµi. 4. Port 3 Port 3 cã hai t¸c dông. Nã lµm nhiÖm vô nh− mét cæng xuÊt nhËp th«ng th−êng. Khi kh«ng ho¹t ®éng xuÊt nhËp, mçi ch©n cña port 3 ®Òu cã mét chøc n¨ng riªng. 5. Ch©n cho phÐp bé nhí ngoµi /PSEN - Program Store ENable Ch©n nµy th−êng ®−îc nèi víi ch©n cho phÐp xuÊt /OE (Output Entable) cña EPRROM (hoÆc cña ROM) ®Ó cho phÐp ®äc c¸c byte lÖnh. TÝn hiÖu /PSEN ë l«gic ‘0‘ trong suèt thêi gian t×m n¹p lÖnh. C¸c m! nhÞ ph©n cña ch−¬ng tr×nh (opcode) ®−îc ®äc tõ EPROM, qua bus d÷ liÖu vµ ®−îc chèt vµo thanh ghi lÖnh IR cña 8051 ®Ó ®−îc gi¶i m!. Khi thùc thi mét ch−¬ng tr×nh trong ROM néi, /PSEN ®−îc duy tr× ë l«gic kh«ng tÝch cùc (logic 1). Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 7
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
6. Ch©n cho phÐp chèt ®Þa chØ ALE - Address Latch Enable Lµ tÝn hiÖu xuÊt ra ®Ó gi¶i ®a hîp bus ®Þa chØ vµ bus d÷ liÖu. Trong 1/2 chu kú ®Çu bé nhí, ch©n ALE xuÊt tÝn hiÖu ®Ó chèt ®Þa chØ (byte thÊp cña bus ®Þa chØ 16 bit) vµo thanh ghi ngoµi khi ta sö dông port 0 lµm byte thÊp ®Þa chØ. Trong 1/2 chu kú bé nhí cßn l¹i port 0 sÏ xuÊt/nhËp d÷ liÖu. TÝn hiÖu ALE cã tÇn sè b»ng 1/6 tÇn sè cña m¹ch dao ®éng bªn trong chip vi ®iÒu khiÓn vµ cã thÓ lµm xung clock cho c¸c phÇn cßn l¹i cña hÖ thèng (tr−êng hîp ngo¹i lÖ khi thùc hiÖn lÖnh MOVX, mét xung ALE (vµ c¶ /PSEN) sÏ bÞ bá qua). Ch©n ALE cßn ®−îc dïng ®Ó nhËp xung ngâ vµo lËp tr×nh cho EPROM hoÆc Flash ROM trªn chip ®èi víi chip cã lo¹i ROM nµy. 7. Ch©n truy xuÊt ngoµi /EA - External Address Ch©n nµy ®−îc nèi lªn 5V khi thùc thi ch−¬ng tr×nh trong ROM néi vµ ®−îc nèi ®Êt khi thùc thi ch−¬ng tr×nh bé nhí ngoµi. Chó ý ®èi víi c¸c chip kh«ng cã ROM néi /EA ph¶i ®−îc nèi ®Êt. C¸c chip hä 8051 cã EPROM cßn nhËn ch©n /ALE lµm ch©n nhËn ®iÖn ¸p cÊp ®iÖn 12V cho viÖc lËp tr×nh (n¹p) cho EPROM néi.
8. Ch©n RESET (RST) Dïng ®Ó thiÕt lËp l¹i tr¹ng th¸i ban ®Çu cña hÖ thèng hay gäi t¾t lµ reset hÖ thèng khi ®−îc treo ë møc logic 1 Ýt nhÊt 2 chu kú m¸y. C¸c thanh ghi bªn trong cña 8051 ®−îc n¹p c¸c gi¸ trÞ thÝch hîp cho viÖc khëi ®éng l¹i hÖ thèng. 9. C¸c ch©n XTAL1 vµ XTAL2 M¹ch dao ®éng bªn trong chip 8051 ®−îc ghÐp víi th¹ch anh bªn ngoµi ë 2 ch©n XTAL1 vµ XTAL2. Th−êng tÇn sè lµ 12MHz vµ c¸c tô æn ®Þnh cã gi¸ trÞ trong kho¶ng 30pF
33 pF.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 8
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
1.1.3.2 Tæ chøc bé nhí cña 8051 C¸c chip vi ®iÒu khiÓn dïng lµm thµnh phÇn trung t©m trong c¸c thiÕt kÕ h−íng ®iÒu khiÓn. Bé nhí th−êng cã dung l−îng bÐ h¬n nhiÒu so víi mét hÖ vi xö lý. Nã cßn kh«ng cã æ ®Üa vµ hÖ ®iÒu hµnh. Ch−¬ng tr×nh ®iÒu khiÓn ph¶i th−êng tró trong ROM. Do vËy, ch−¬ng tr×nh vÉn ®−îc l−u gi÷ ngay c¶ khi mÊt ®iÖn. Do lý do trªn, chip 8051 cã kh«ng gian bé nhí riªng cho ch−¬ng tr×nh vµ d÷ liÖu. C¶ bé nhí ch−¬ng tr×nh vµ bé nhí d÷ liÖu ®Òu n»m trong chip. Tuy nhiªn ta cã thÓ më réng bé nhí ch−¬ng tr×nh vµ bé nhí d÷ liÖu b»ng c¸ch sö dông c¸c chip nhí bªn ngoµi víi dung l−îng tèi ®a lµ 64K cho bé nhí ch−¬ng tr×nh vµ 64K cho bé nhí d÷ liÖu.
Bé nhí ch−¬ng tr×nh (ROM) Bé nhí ch−¬ng tr×nh l−u gi÷ ch−¬ng tr×nh ®iÒu khiÓn chip 8051. Sau khi RESET, CPU b¾t ®Çu thùc hiÖn ch−¬ng tr×nh tõ ®Þa chØ 0000H. Khi ch−¬ng tr×nh lín qu¸ kÝch th−íc bé nhí ch−¬ng tr×nh bªn trong chip, ch−¬ng tr×nh nµy ph¶i ®−îc n¹p vµo bé nhí ch−¬ng tr×nh ngoµi. NÕu ch−¬ng tr×nh n»m trong ROM néi, ch©n /EA cña 8051 ph¶i ®−îc treo lªn 5V. NÕu ch−¬ng tr×nh ë ROM ngoµi, ch©n /EA ph¶i nèi ®Êt. ViÖc truy xuÊt ch−¬ng tr×nh ë bé nhí ngoµi ph¶i kÕt hîp víi ch©n tÝn hiÖu truy xuÊt bé nhí ngoµi /PSEN.
Bé nhí d÷ liÖu (RAM) 8051 cã 128 byte RAM ë bªn trong chip. Chóng ®−îc chia lµm nhiÒu vïng kh¸c nhau : vïng RAM ®a môc ®Ých, vïng RAM ®Þnh ®Þa chØ bit, c¸c d!y thanh ghi, vµ c¸c thanh ghi chøc n¨ng ®Æc biÖt. Ta h!y xem xÐt tõng vïng RAM cô thÓ.
- Vïng RAM ®a môc ®Ých : Cã ®Þa chØ tõ 30H ®Õn 7FH (80 byte). Vïng RAM nµy cã thÓ truy xuÊt b»ng c¸ch ®Þnh ®Þa chØ trùc tiÕp hoÆc ®Þnh ®Þa chØ gi¸n tiÕp. Nã cã thÓ dïng ®Ó chøa c¸c biÕn trong ch−¬ng tr×nh hay dïng ®Ó ®Þnh ®Þa chØ cho c¸c cæng ngo¹i vi tuú theo môc ®Ých cña ng−êi sö dông. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 9
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
- Vïng RAM ®Þnh ®Þa chØ tõng bit : Cã 128 bit chøa trong c¸c byte ë ®Þa chØ tõ 20H ®Õn 2FH vµ 32 byte chøa c¸c thanh ghi (00H ®Õn 1FH). - C¸c dNy thanh ghi tõ Bank 0 tíi Bank 3 : N»m ë 32 byte thÊp nhÊt cña vïng nhí d÷ liÖu. Khi RESET hÖ thèng d!y thanh ghi mÆc ®Þnh lµ Bank 0. Cã thÓ chän Bank bëi thanh ghi tõ tr¹ng th¸i ch−¬ng tr×nh (PSW- Program Status Word) . C¸c lÖnh sö dông c¸c thanh ghi tõ R0 ®Õn R7 lµ c¸c lÖnh ng¾n vµ thùc hiÖn nhanh h¬n so víi c¸c lÖnh t−¬ng ®−¬ng sö dông kiÓu ®Þnh ®Þa chØ trùc tiÕp. C¸c gi¸ trÞ d÷ liÖu th−êng ®−îc sö dông nªn chøa ë mét trong c¸c thanh ghi nµy.
C¸c thanh ghi chøc n¨ng ®Æc biÖt (SFR- Special Function Register) Cã 21 thanh ghi chøc n¨ng ®Æc biÖt chiÕm phÇn trªn cña RAM néi cã ®Þa chØ tõ 80H ®Õn FFH. C¸c ®Þa chØ ®−îc ®Þnh nghÜa trong vïng RAM nµy gåm c¸c thanh ghi ®iÒu khiÓn cña 8051, c¸c thanh ghi ®Öm, vµ c¸c cæng vµo ra. - Thanh ghi tõ tr¹ng th¸i PSW - Program Status Word : Cã ®Þa chØ lµ D0H. Chøa c¸c bit tr¹ng th¸i cã chøc n¨ng kh¸c nhau. - Thanh ghi chøa ACC: Cã ®Þa chØ lµ A0H. Th−êng ®−îc dïng lµm biÕn nhí trung gian trong c¸c phÐp tÝnh to¸n sè häc. - Thanh ghi B: Cã ®Þa chØ lµ F0H. Th−êng ®−îc dïng chung víi thanh ghi ACC trong c¸c phÐp to¸n nh©n chia. - C¸c cæng giao tiÕp song song : §ã lµ c¸c cæng P0, P1, P2, P3. §−îc ®Þnh ®Þa chØ t−¬ng øng lµ 80H, 90H, A0H, B0H. - C¸c thanh ghi phôc vô cho truyÒn th«ng nèi tiÕp SCON (Serial port CONtrol) vµ SBUF (Serial data BUFfer): Thanh ghi SCON dïng ®Ó thiÕt lËp c¸c th«ng sè cho viÖc truyÒn th«ng nèi tiÕp. Cßn thanh ghi SBUF dïng lµm vïng nhí ®Öm buffer cho viÖc truyÒn th«ng. - Thanh ghi PCON - Power CONtrol: §©y lµ thanh ghi ®iÒu khiÓn nguån cÊp cho 8051. Cã thÓ dïng thanh ghi nµy ®Ó ®Æt bé vi ®iÒu khiÓn vµo chÕ ®é Power Down hoÆc IDE. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 10
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
- C¸c thanh ghi ®iÒu khiÓn ng¾t IP (Interrupt Priority) vµ IE (Interrupt Enable) : Thanh ghi IE dïng ®Ó cho phÐp c¸c ng¾t ho¹t ®éng/kh«ng ho¹t ®éng. Cßn thanh ghi IP dïng ®Ó x¸c ®Þnh møc −u tiªn cho c¸c ng¾t cña 8051. - C¸c thanh ghi ®iÒu khiÓn bé ®Þnh thêi : §ã lµ c¸c thanh ghi TMOD, TCON, TH0, TL0, TH1, TL1. C¸c thanh ghi nµy ®−îc sö dông ®Ó ®iÒu khiÓn bé ®Þnh thêi 0 vµ 1. - Thanh ghi SP - Stack Pointer : Thanh ghi con tror ng¨n xÕp (stack), SP chøa ®Þa chØ cña d÷ liÖu hiÖn ®ang ë ®Ønh stack. Néi dung mÆc ®Þnh cña SP khi khëi ®éng lµ 07H. Thao t¸c cÊt vµo stack ®Çu tiªn sÏ l−u d÷ liÖu vµo vÞ trÝ nhí cã ®Þa chØ 08H v× c¬ chÕ lµm viÖc cña chip 8051 lµ t¨ng néi dung SP lªn 1 tr−íc khi thùc hiÖn l−u d÷ liÖu vµo ng¨n xÕp. - Con trá d÷ liÖu DPTR - Data PoinTeR : §−îc dïng ®Ó truy xuÊt bé nhí ch−¬ng tr×nh ngoµi hoÆc bé nhí d÷ liÖu ngoµi. DPTR lµ thanh ghi 16 bit gåm 2 phÇn lµ DPH vµ DPL. 1.1.3.3 C¸c ho¹t ®éng chøc n¨ng chÝnh cña 8051
Ho¹t ®éng ®Þnh thêi C¸c bé ®Þnh thêi dïng ®Ó t¹o ra c¸c kho¶ng thêi gian kh¸c nhau, dïng ®Ó ®Õm sù kiÖn hoÆc dïng ®Ó t¹o tèc ®é baud cho viÖc truyÒn th«ng nèi tiÕp. Trong 8051 cã hai bé ®Þnh thêi lµ T0 vµ T1. ViÖc lùa chän chÕ ®é ho¹t ®éng cho c¸c Timer nµy nhê vµo thanh ghi TMOD. Cßn viÖc ®iÒu khiÓn c¸c Timer ho¹t ®éng nhê vµo thanh ghi TCON. Cã 4 mode ho¹t ®éng cho c¸c Timer. Mode 0 lµ chÕ ®é ®Þnh thêi 13-bit, Mode 1 lµ chÕ ®é ®Þnh thêi 16-bit, Mode 2 lµ chÕ ®é ®Þnh thêi tù n¹p l¹i 8-bit, Mode 3 lµ chÕ ®é ®Þnh thêi chia xÎ vµ cã ho¹t ®éng kh¸c nhau cho tõng bé ®Þnh thêi.
Ho¹t ®éng cña port nèi tiÕp Chøc n¨ng c¬ b¶n cña port nèi tiÕp lµ chuyÓn ®æi d÷ liÖu tõ song song thµnh nèi tiÕp khi ph¸t vµ tõ nèi tiÕp thµnh song song khi thu. D÷ liÖu ®−îc truyÒn ®i hoÆc nhËn Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 11
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
vÒ th«ng qua bé ®Öm d÷ liÖu nèi tiÕp SBUF (Serial data BUFfer). Khi truyÒn ®i, d÷ liÖu ®−îc chuyÓn tõ song song sang nèi tiÕp th«ng qua ch©n TxD. Khi thu, d÷ liÖu ®−îc chuyÓn tõ nèi tiÕp sang song song th«ng qua ch©n RxD. Thanh ghi SBUF cã ®Þa chØ 99H. ViÖc ghi d÷ liÖu cho SBUF tøc lµ ph¸t d÷ liÖu, viÖc ®äc SBUF tøc truy xuÊt d÷ liÖu nhËn ®−îc (thu d÷ liÖu). §iÒu khiÓn port nèi tiÕp th«ng qua thanh ghi SCON cã ®Þa chØ lµ 98H, thanh ghi nµy lµ thanh ghi ®Þnh ®Þa chØ tõng bit cho ta x¸c ®Þnh ®−îc c¸c chÕ ®é lµm viÖc cña port nèi tiÕp (th«ng qua hai bit MS0 & MS1).
Ho¹t ®éng cña ng¾t trong 8051 Cã 5 nguyªn nh©n ®Ó t¹o ra ng¾t trong 8051. §ã lµ 2 ng¾t ngoµi, hai ng¾t do bé ®Þnh thêi vµ mét ng¾t do port nèi tiÕp. Khi ta thiÕt lËp tr¹ng th¸i ban ®Çu (sau khi RESET), tÊt c¶ c¸c ng¾t ®Òu bÞ v« hiÖu ho¸ vµ sau ®ã chóng ®−îc cho phÐp riªng rÏ b»ng phÇn mÒm. Khi ch−¬ng tr×nh ®ang thùc hiÖn, nÕu cã ng¾t víi −u tiªn cao xuÊt hiÖn, tr×nh phôc vô ng¾t cho ng¾t cã møc −u tiªn thÊp t¹m dõng. Ta kh«ng thÓ t¹m dõng mét ch−¬ng tr×nh ng¾t cã møc −u tiªn cao h¬n. Khi cã 2 ng¾t kh¸c nhau xuÊt hiÖn ®ång thêi, ng¾t cã mùc −u tiªn cao sÏ ®−îc phôc vô tr−íc. Khi 2 ng¾t cã cïng møc −u tiªn xuÊt hiÖn ®ång thêi, chuçi vßng cè ®Þnh sÏ x¸c ®Þnh ng¾t bµo ®−îc phôc vô tr−íc. Chuçi vßng nµy sÏ lµ ng¾t ngoµi 0, ng¾t ngoµi 1, ng¾t do bé ®Þnh thêi 0, ng¾t do bé ®Þnh thêi 1, ng¾t do port nèi tiÕp, ng¾t do bé ®Þnh thêi 2 (®èi víi 8052). Khi mét ng¾t ®−îc chÊp nhËn, gi¸ trÞ ®−îc n¹p cho bé ®Õm ch−¬ng tr×nh ®−îc gäi lµ vÐc t¬ ng¾t. VÐc t¬ ng¾t lµ ®Þa chØ b¾t ®Çu cña tr×nh phôc vô ng¾t cña c¸c ng¾t t−¬ng øng. C¸c vÐc t¬ ng¾t ®−îc cho ë b¶ng sau :
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 12
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
Nguån ng¾t
Cê
§Þa chØ vector ng¾t
Reset hÖ thèng
RST
0000H
Ng¾t ngoµi 0
IE0
0003H
Bé ®Þnh thêi 0
TF0
000BH
Ng¾t ngoµi 1
IE1
0013H
Bé ®Þnh thêi 1
TF1
001BH
Port nèi tiÕp
RI or TI
0023H
Bé ®Þnh thêi 2
TF2 or EXF2
002BH
Ho¹t ®éng RESET cña 8051 8051 ®−îc reset b»ng c¸ch gi÷ ch©n RST ë møc cao tèi thiÓu hai chu kú m¸y vµ sau ®ã chuyÓn vÒ møc thÊp. Tr¹ng th¸i cña tÊt c¶ c¸c thanh ghi sau khi reset hÖ thèng nh− sau : Thanh ghi Bé ®Õm ch−¬ng tr×nh PC
Néi dung 0000H
Thanh chøa A
00H
Thanh ghi B
00H
PSW
00H
SP
07H
DPTR Port 0 ®Õn port 3
0000H FFH
IP
xxx00000B
IE
0xx00000B
C¸c thanh ghi ®Þnh thêi
00H
SCON
00H
SBUF
00H
PCON ( HMOS)
0xxxxxxxB
PCON ( CMOS)
0xxx0000B
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 13
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
Khi reset hÖ thèng thanh ghi PC ®−îc n¹p ®Þa chØ 0000H, khi ®ã ch−¬ng tr×nh sÏ b¾t ®Çu tõ ®Þa chØ ®Çu tiªn trong bé nhí ch−¬ng tr×nh. Néi dung cña RAM trªn chip kh«ng bÞ ¶nh h−ëng khi ta reset hÖ thèng. 1.1.4 Giíi thiÖu hä vi ®iÒu khiÓn 8 bit cña Motorola C¸c hä vi ®iÒu khiÓn cña Motorola ®−îc kÝ hiÖu b¾t ®Çu bëi ch÷ c¸i MC. V× cè g¾ng gi÷ l¹i phÇn mÒm c¸c nhµ chÕ t¹o linh kiÖn b¸n dÉn th−êng duy tr× sù t−¬ng thÝch víi c¸c bé vi xö lÝ ®Çu ®êi. H!ng Motorola ®−a ra bé vi ®iÒu khiÓn M6801 ®Çu tiªn cña h!ng trªn thÞ tr−êng thÕ giíi vµo n¨m 1978 vµ bé vi ®iÒu khiÓn nµy ®−îc chÕ t¹o trªn c¬ së sö dông bé vi xö lÝ M6800. Bé vi ®iÒu khiÓn M6801 cã bé nhí ROM vµ RAM ngoµi lín nhÊt lªn ®Õn 64KB víi m¹ch giao diÖn vµo/ra, truyÒn th«ng nèi tiÕp kh«ng ®ång bé ®! b¾t ®Çu phæ biÕn trong hÖ thèng ®iÒu khiÓn «t«. Sau ®ã vµo n¨m 1985 Motorola ®! ph¸t triÓn bé vi ®iÒu khiÓn 68HC11 t−¬ng thÝch víi bé vi xö lÝ M6800. Bé vi ®iÒu khiÓn MC68HC11 tiªu thô Ýt c«ng suÊt h¬n vµ cho phÐp tÝn hiÖu nhiÔu cao h¬n so víi c¸c bé vi xö lÝ ®Çu ®êi. MC68HC11 cã nhiÒu phiªn b¶n, vÝ dô MC68HC11A8 vµ MC68HC11E9. Mét sè h!ng nh− Mitsubishi, Toshiba còng s¶n xuÊt c¸c bé vi ®iÒu khiÓn nµy theo c«ng nghÖ cña Motorola. B¶ng d−íi ®©y liÖt kª c¸c ®Æc ®iÓm c¬ b¶n cña mét sè chip vi ®iÒu khiÓn trong hä 68HC11: MC
ROM
RAM
EEPROM
ADC
I/O
68HC11A8
8KB
256 bytes
512 bytes
8 channels
38 pins
68HC811E2
0
256 bytes
2 KB
-
-
68HC11F1
0
1 KB
-
-
-
68HC11E9
12 KB
512 bytes
512 bytes
-
-
68HC11B8
8 KB
256 bytes
512 bytes
-
-
68HC11B0
0
256 bytes
0
-
-
68HC11B1
0
256 bytes
512bytes
-
-
68HC11D3
4 KB
192 bytes
-
-
40 pins
68HC11A0
0
256 bytes
0
-
22 pins
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 14
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
1.1.5 Giíi thiÖu c¸c hä vi ®iÒu khiÓn 8 bit cña h·ng Microchip Technology H!ng Microchip Technology lµ mét trong nh÷ng nhµ cung cÊp hµng ®Çu vÒ c¸c gi¶i ph¸p ®iÒu khiÓn cho c¸c hÖ thèng nhóng (Embedded control system). Hai dßng s¶n phÈm chÝnh cña h!ng lµ c¸c hä vi ®iÒu khiÓn 8-bit PIC16/17 vµ c¸c chip nhí kh«ng bay h¬i EEPROM nèi tiÕp, nh÷ng s¶n phÈm nµy ®−îc ®−a vµo øng dông cho viÖc ®−a ra c¸c gi¶i ph¸p thiÕt kÕ c¸c hÖ thèng ®iÒu khiÓn nhóng cña h!ng cung cÊp cho kh¸ch hµng. C¸c hä vi ®iÒu khiÓn PIC16Cxx vµ PIC17Cxx cña h!ng Microchip Technology ®−îc sö dông kh¸ th«ng dông vµ réng r!i cho c¸c øng dông ®iÒu khiÓn trong viÖc chÕ t¹o c¸c s¶n phÈm tiªu dïng, trong tù ®éng hãa v¨n phßng, thiÕt bÞ ngo¹i vi cña m¸y tÝnh, c¸c hÖ thèng tù ®éng ®iÒu khiÓn ... D−íi ®©y liÖt kª c¸c ®Æc ®iÓm chÝnh, c¸c thµnh phÇn c¬ b¶n cña mét sè chip vi ®iÒu khiÓn trong c¸c hä vi ®iÒu khiÓn 8- bit PIC16Cxx vµ PIC17Cxx.
Hä PIC16Cxx Memory PIC
(0)
16C61
Peripheral
Features
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(12)
(13)
20
1K
_
36
_
1
_
_
_
_
_
3
13
16C62
20
2K
_
128
_
3
2
Yes
_
_
_
10
22
16C63
20
4K
_
192
_
3
2
Yes
_
_
_
10
22
16C64
20
2K
_
128
_
3
1
Yes
Yes
_
_
8
33
16C65
20
4K
_
192
_
3
2
Yes
Yes
_
_
11
33
16C620
20
512
_
80
_
1
_
_
_
_
2
4
13
16C621
20
1K
_
80
_
1
_
_
_
_
2
4
13
16C622
20
2K
_
128
_
1
_
_
_
_
2
4
13
16C71
20
1K
_
36
_
1
_
_
_
4
_
4
13
16C73
20
4K
_
192
_
3
2
Yes
_
5
_
11
22
16C74
20
4K
_
192
_
3
2
Yes
Yes
8
_
12
33
16C84
10
_
1K
36
64
1
_
_
_
_
_
4
13
Chó thÝch : Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 15
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
(0)
: TÇn sè cÊp t¹o xung Clock (MHz).
(1)
: Dung l−îng bé nhí ch−¬ng tr×nh EPROM trong.
(2)
: Dung l−îng bé nhí ch−¬ng tr×nh EEPROM trong.
(3)
: Dung l−îng bé nhí d÷ liÖu RAM trong (bytes).
(4)
: Dung l−îng bé nhí d÷ liÖu EEPROM trong (bytes).
(5)
: Sè Module Timer.
(6)
: Sè Capture, Module PWM.
(7)
: Cæng nèi tiÕp.
(8)
: Cæng song song.
(9)
: Sè kªnh chuyÓn ®æi Analog – Digital (ADC).
(10) : Sè bé so s¸nh (Comparator). (11) : Sè nguån ng¾t (Interrup source). (12) : Sè ®−êng vµo/ra (I/O pins).
Hä PIC17Cxx
Memory
Peripherals
Features
PIC (0)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
17C42
25
2K
232
4
2
Yes
Yes
11
33
55
17C43
25
4K
454
4
2
Yes
Yes
11
33
58
17C44
25
8K
454
4
2
Yes
Yes
11
33
58
Chó thÝch : (0) : TÇn sè cÊp t¹o xung Clock (MHz). (1) : Dung l−îng bé nhí ch−¬ng tr×nh EPROM bªn trong. (2) : Dung l−îng bé nhí d÷ liÖu RAM bªn trong. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 16
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
(3) : Sè Module Timer. (4) : Sè Module PWM. (5) : Cæng nèi tiÕp. (6) : Ng¾t ngoµi (External interrupts). (7) : Sè nguån ng¾t (Interrupt sources). (8) : Sè ®−êng vµo/ra (I/O pins). (9) : Sè lÖnh ®iÒu khiÓn (Instructions). §¸nh gi¸ c¸c dßng PIC - Dßng PIC nhiÒu ch©n nhÊt lµ dßng dsPIC30Fxxxx vµ PIC18Fxxxx, cã nh÷ng con sè ch©n lªn ®Õn 80 ch©n. - Dßng PIC Ýt ch©n nhÊt lµ dßng PIC10Fxxx, chØ cã 6 ch©n - Dßng PIC phæ biÕn nhÊt lµ dßng PIC16F877A (®ñ m¹nh vÒ tÝnh n¨ng, 40 ch©n, bé nhí ®ñ cho hÇu hÕt c¸c øng dông th«ng th−êng) - Dßng PIC mµ ®−îc c¸c chuyªn gia ®¸nh gi¸ cao nhÊt lµ dßng PIC16F876A (28 ch©n, chøc n¨ng kh«ng kh¸c g× so víi PIC16F877A, nh−ng nhá gän h¬n nhiÒu, vµ sè ch©n còng kh«ng qu¸ Ýt nh− PIC16F88). - Dßng PIC hç trî giao tiÕp USB lµ dßng PIC18F2550 vµ PIC18F4550 - Dßng PIC ®iÒu khiÓn ®éng c¬ m¹nh nhÊt lµ dßng PIC18F4x31 vµ dßng dsPIC30F dïng ®iÒu khiÓn ®éng c¬ - Dßng PIC hiÖn nay ®! kh«ng cßn ®−îc s¶n xuÊt n÷a lµ dßng PIC17xxxxx. *(C¸c ®¸nh gi¸ vÒ PIC ®−îc trÝch ë website www.picvietnam.com)
1.1.6 Giíi thiÖu chip vi ®iÒu khiÓn th«ng minh PSoC PSoC lµ ch÷ viÕt t¾t cña Programmable System on Chip. §ã lµ mét c«ng nghÖ chÕ t¹o chip hiÖn ®¹i nhÊt cho ®Õn nay, cho phÐp t¹o ra c¸c chip hÖ thèng xö lÝ hçn hîp (Mixed signal) víi kh¶ n¨ng xö lÝ thuËt to¸n m¹nh. §Æc ®iÓm cña c¸c thÕ hÖ vi ®iÒu khiÓn chÕ t¹o theo c«ng nghÖ tr−íc ®©y lµ trªn mét chip vi ®iÒu khiÓn chØ cã thÓ thay ®æi ®−îc ch−¬ng tr×nh phÇn mÒm chø kh«ng thÓ lËp tr×nh thay ®æi ®−îc cÊu tróc phÇn cøng. Gi¸ thµnh cho viÖc sö dông c¸c chip vi ®iÒu
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 17
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
khiÓn vµ mua c¸c phÇn mÒm hç trî ®Ó ph¸t triÓn c¸c øng dông lµ rÊt ®¾t vµ mang l¹i hiÖu qu¶ kh«ng cao, khã cã thÓ th«ng minh hãa viÖc ®iÒu khiÓn hÖ thèng. Víi chip vi ®iÒu khiÓn th«ng minh chÕ t¹o theo c«ng nghÖ PSoC, chóng ta cã thÓ lËp tr×nh trªn chip ®Ó thay ®æi kh«ng nh÷ng c¶ phÇn mÒm ®iÒu khiÓn mµ c¶ cÊu tróc phÇn cøng ngay khi hÖ thèng ®ang ho¹t ®éng. ViÖc øng dông chip vi ®iÒu khiÓn th«ng minh theo c«ng nghÖ PSoC mang l¹i hiÖu qu¶ cao vÒ kü thuËt vµ gi¸ thµnh gi¶m ®i nhiÒu lÇn so víi viÖc sö dông c¸c chip vi ®iÒu khiÓn tr−íc ®©y. §èi víi c¸c chip vi ®iÒu khiÓn th«ng minh, bªn trong nã ®! tÝch hîp ®Çy ®ñ c¸c thµnh phÇn CPU, c¸c bé nhí, c¸c khèi (block) t−¬ng tù vµ sè nªn mét sè thµnh phÇn ngo¹i vi bªn ngoµi chip trong hÖ thèng cã thÓ gi¶m ®i. V× thÕ, gi¸ thµnh vµ kÝch th−íc cña hÖ thèng gi¶m ®i nhiÒu so víi hÖ thèng sö dông c¸c chip vi ®iÒu khiÓn thÕ hÖ tr−íc ®©y. HiÖn nay, cã nhiÒu h!ng ®iÖn tö trªn thÕ giíi quan t©m ®Çu t− cho viÖc nghiªn cøu vµ ¸p dông c«ng nghÖ chÕ t¹o chip míi nµy. Trong ®ã cã thÓ kÓ ®Õn h!ng Cypress Microchip ®! ¸p dông thµnh c«ng c«ng nghÖ PSoC ®Ó cho ra ®êi c¸c hä vi ®iÒu khiÓn th«ng minh CY8C24xxx, CY8C25xxx, CY8C26xxx vµ CY8C27xxx. Mét vÝ dô cô thÓ vÒ kh¶ n¨ng lËp tr×nh thay ®æi c¶ cÊu h×nh phÇn cøng vµ ch−¬ng tr×nh phÇn mÒm ®iÒu khiÓn lµ ®Ò tµi øng dông chip vi ®iÒu khiÓn th«ng minh c«ng nghÖ PSoC ®Ó chÕ t¹o m¸y b¸n hµng th«ng minh tù ®éng. M¸y cã chøc n¨ng b¸n hµng tù ®éng vµo ban ngµy vµ ban ®ªm th× nã thay ®æi c¶ cÊu h×nh phÇn cøng vµ ch−¬ng tr×nh phÇn mÒm ®Ó lµm chøc n¨ng truyÒn th«ng.
H×nh 1.3 - CÊu h×nh cña mét chip PSoC Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 18
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
1.2 Giíi thiÖu c¸c c«ng cô ph¸t triÓn hÖ vi xö lÝ vµ vi ®iÒu khiÓn 1.2.1 C«ng cô ph¸t triÓn cho hä MCS-51 1.2.1.1 PhÇn mÒm Keil cña h·ng Keil Software PhÇn mÒm Keil Vision2 lµ mét ch−¬ng tr×nh biªn dÞch cho phÐp ng−êi sö dông cã thÓ viÕt ®−îc c¸c ch−¬ng tr×nh ®iÒu khiÓn cho hä vi ®iÒu khiÓn MSC-51 b»ng ng«n ng÷ C vµ c¶ ASM. Nã cã chøa hÇu hÕt c¸c hµm chuÈn cña ANSI-C. §iÒu nµy gióp cho ng−êi sö dông cã thÓ tËn dông ®−îc nh÷ng hµm chuÈn cña C ®Ó viÕt ch−¬ng tr×nh cho vi ®iÒu khiÓn. ViÖc tæ chøc ch−¬ng tr×nh thµnh c¸c m«dun nhá còng rÊt dÔ thùc hiÖn. Ch−¬ng tr×nh biªn dÞch cho ng«n ng÷ C cña nã chÝnh lµ Cx51 Compiler. Cx51 Compiler hç trî tÊt c¶ c¸c kiÓu d÷ liÖu chuÈn cña C nh− : char, short, int, long, float. Ngoµi ra nã cßn cã mét vµi kiÓu d÷ liÖu ®Æc biÖt t−¬ng thÝch víi hä vi ®iÒu khiÓn MSC-51. - KiÓu bit : ®©y lµ kiÓu d÷ liÖu chØ gåm 2 gi¸ trÞ 0 vµ 1. Nã ®−îc sö dông ®Ó g¸n gi¸ trÞ cho c¸c thanh ghi hay c¸c ®Þa chØ cã thÓ truy nhËp ®−îc ®Õn tõng bit. - KiÓu sbit, sfr, sfr16 : ®©y lµ c¸c kiÓu d÷ liÖu dïng ®Ó ®Þnh nghÜa cho c¸c thanh ghi chøc n¨ng ®Æc biÖt. KiÓu sfr dïng ®Ó ®Þnh nghÜa cho c¸c thanh ghi SFR 8-bit. Cßn kiÓu sfr16 dïng ®Ó ®Þnh nghÜa cho c¸c thanh ghi SFR 16-bit nh− thanh ghi RCAP2 dïng ®Ó l−u gi÷ gi¸ trÞ n¹p l¹i cho Timer 2. KiÓu sbit dïng ®Ó ®Þnh nghÜa tõng bit cho c¸c bit trong c¸c thanh ghi ®Æc biÖt mµ cã thÓ ®Þnh ®Þa chØ bit. VÝ dô khai b¸o : sfr P0
= 0x80;
/* Port 0 */
sfr SP
= 0x81;
/* Stack Pointer */
sbit P0_0 = 0x80; sbit P0_1 = 0x81;
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 19
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
VÒ c¸ch tæ chøc bé nhí cña vi ®iÒu khiÓn trong phÇn mÒm Keil C51 : - Bé nhí ch−¬ng tr×nh : §©y lµ vïng nhí chØ ®äc trong vi ®iÒu khiÓn. Nã cã thÓ cã dung l−îng tíi 64KB. Trong phÇn mÒm Keil C51 th× vïng nhí nµy ®−îc ®Þnh d¹ng b»ng tõ kho¸ code. VÝ dô khai b¸o biÕn thuéc vïng code : char code str[]={“DHBKDN”}; //Khai b¸o mét m¶ng ký tù chøa trong vïng nhí code - Bé nhí d÷ liÖu trong : §©y lµ vïng nhí cã thÓ võa ghi vµ ®äc. Cã 3 kiÓu vïng nhí d÷ liÖu ë bªn trong vi ®iÒu khiÓn. §ã lµ c¸c kiÓu : data, idata, bdata. Vïng nhí d÷ liÖu kiÓu data lµ vïng nhí chøa 128 byte d÷ liÖu ®Çu tiªn cña vi ®iÒu khiÓn. Vïng nhí nµy cã thÓ truy cËp th«ng qua ®Þa chØ trùc tiÕp ®−îc. Vïng nhí d÷ liÖu kiÓu idata lµ vïng nhí 256 byte d÷ liÖu truy nhËp th«ng qua ®Þa chØ gi¸n tiÕp. Vïng nhí d÷ liÖu kiÓu bdata lµ vïng nhí chøa 16 byte ®Þnh ®Þa chØ bit tõ ®Þa chØ 20H ®Õn 2FH. VÝ dô khai b¸o biÕn trong vïng nhí d÷ liÖu trong : unsigned char data v1; //Khai b¸o biÕn v1 unsigned int idata v2; //Khai b¸o biÕn v2 - Bé nhí d÷ liÖu ngoµi : Cã 2 kiÓu d÷ liÖu ngoµi ë trong Keil C51 lµ XDATA vµ PDATA. XDATA lµ vïng nhí d÷ liÖu ngoµi cã thÓ ®Þnh ®Þa chØ ®−îc ®Õn 64 KB d÷ liÖu. PDATA lµ vïng nhí chøa tõng trang d÷ liÖu. Mçi trang d÷ liÖu ngoµi chøa ®−îc 256 byte. §Ó cã thÓ truy cËp ®−îc bé nhí d÷ liÖu ngoµi, ta ph¶i dïng tõ kho¸ _at_ ®Ó ®Þnh ®Þa chØ cho c¸c biÕn. VÝ dô khai b¸o biÕn trong vïng nhí d÷ liÖu ngoµi : float xdata a1 _at_ 0x2000; //Khai b¸o biÕn a1 cã ®Þa chØ 2000H unsigned long pdata a2 _at_ 0x2004; // BiÕn a2 cã ®Þa chØ 2004 Con trá trong Keil C51 ®−îc khai b¸o gièng nh− khai b¸o con trá trong ng«n ng÷ C. VÝ dô vÒ khai b¸o con trá : char *s; //Con trá cña mét string int *p; //Con trá kiÓu int
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 20
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
Con trá ®−îc sö dông ®Ó truy cËp tíi bÊt cø phÇn bé nhí nµo cña vi ®iÒu khiÓn. Cã hai c¸ch khai b¸o sö dông con trá. Generic Pointers lµ kiÓu con trá dïng chung. Khai b¸o con trá sÏ chiÕm 3 byte cña vïng nhí d÷ liÖu mµ nã trá ®Õn. Con trá cßn cã thÓ khai b¸o vïng nhí d÷ liÖu cho con trá. VÝ dô : char data *str; /* ptr to string in data */ int xdata *numtab; /* ptr to int(s) in xdata */ long
code *powtab; /* ptr to long(s) in code */
Ngoµi ra, Keil C51 cßn lµ ch−¬ng tr×nh m« pháng chip rÊt tèt b»ng ch−¬ng tr×nh tÝch hîp dScope. Nã cho phÐp ng−êi sö dông m« pháng ch−¬ng tr×nh viÕt trong C ch¹y trªn nÒn chip gièng nh− thËt. Ng−êi sö dông cã thÓ dÔ dµng theo dâi gi¸ trÞ cña Timer, tr¹ng th¸i c¸c ng¾t, ®Çu ra cæng nèi tiÕp, ®Çu ra c¸c port P0...P3. 1.2.1.2 PhÇn mÒm Borland Delphi 7.0 cña h·ng Borland
Borland Delphi 7.0 lµ mét c«ng cô m¹nh dïng ®Ó x©y dùng c¸c øng dông 32 bit ch¹y trªn nÒn Windows bao gåm c¶ Windows 9x vµ NT. 1.2.3 C«ng cô ph¸t triÓn cho hä vi ®iÒu khiÓn MC68HC11 C¸c chip vi ®iÒu khiÓn hä Motorola 68HC11 cã thÓ ®−îc lËp tr×nh b»ng ng«n ng÷ Assembly hoÆc C nh− c¸c hä vi ®iÒu khiÓn kh¸c. Chóng ta cã thÓ tham kh¶o c«ng cô ph¸t triÓn hç trî cho viÖc lËp tr×nh, m« pháng vµ ph¸t triÓn c¸c øng dông víi chip vi ®iÒu khiÓn MC68HC11 sau ®©y.
PhÇn mÒm Micro-IDE PhÇn mÒm Micro-IDE lµ mét c«ng cô ph¸t triÓn m¹nh hç trî cho viÖc lËp tr×nh, m« pháng cho nhiÒu lo¹i chip vi ®iÒu khiÓn kh¸c nhau, ch¹y trªn m«i tr−êng Windows. Giao diÖn ng−êi dïng cña nã nh− h×nh vÏ, víi phÇn mÒm nµy ta cã thÓ lùa chän ®Ó lµm viÖc víi c¸c chip trong hä 8051, M68HC11, M68HC12, M68HC16, 8085, 8086,... vµ c¸c chip hä AVR. C¸c tÝnh n¨ng, ®Æc ®iÓm cña phÇn
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 21
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
mÒm nµy t−¬ng tù nh− phÇn mÒm Keil C51 nh−ng øng dông cña nã th× réng h¬n cho nhiÒu lo¹i chip kÓ trªn. Ng«n ng÷ lËp tr×nh cã thÓ so¹n th¶o vµ biªn dÞch trªn m«i tr−êng cña Micro-IDE cã thÓ b»ng C hoÆc Assembly.
H×nh 1.4 - Giao diÖn cña phÇn mÒm Micro-IDE 1.2.4 C«ng cô ph¸t triÓn cho hä vi ®iÒu khiÓn PIC16/17 Hä vi ®iÒu khiÓn PIC16/17 ®−îc hç trî bëi ®Çy ®ñ c¸c c«ng cô ph¸t triÓn c¶ vÒ phÇn cøng vµ phÇn mÒm sau ®©y : PICMASTER® Real-Time In-Curcirt Emulator. PROMATETM Universal Programmer. PICSTART® Low-Cost Prototype Programmer. PICDEM-1 Low-Cost Demonstration Board. PICDEM-2 Low-Cost Demonstration Board. MPASM Assembler. MPSIM Softwave Simulator. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 22
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
C Compiler (MP-C). Fuzzy logic development system (fuzzy TECH®-MP). D−íi ®©y ta sÏ ®i vµo giíi thiÖu hai c«ng cô ph¸t triÓn phÇn mÒm th−êng ®−îc sö dông lµ MPASM Assembler vµ C Compiler (MP-C).
MPASM Assembler MPASM cã hç trî ®Çy ®ñ cho viÖc viÕt t¹o ra c¸c Macro trong ch−¬ng tr×nh m! ng÷, viÕt ch−¬ng tr×nh b»ng ng«n ng÷ Assembly, cung cÊp c¸c m! nguån cã s½n vµ c¸c ®Þnh d¹ng file kh¸c nhau. Nã t¹o ra mét m«i tr−êng cho phÐp so¹n th¶o m! nguån, biªn dÞch còng nh− gì rèi c¸c ch−¬ng tr×nh cña ng−êi sö dông lËp tr×nh cho c¸c chip vi ®iÒu khiÓn kh¸c nhau bao gåm c¶ hä PIC16Cxx, PIC 16Cxx vµ PIC16C5x. MPASM cã c¸c ®Æc ®iÓm chÝnh sau ®©y trong viÖc hç trî ph¸t triÓn c¸c øng dông cña ng−êi dïng: + Cho phÐp biªn dÞch ch−¬ng tr×nh tõ m! Assembly sang m! ®èi t−îng cho tÊt c¶ c¸c vi ®iÒu khiÓn cña h!ng Microchip. + Cho phÐp t¹o ra c¸c ch−¬ng tr×nh Macro. + T¹o ra tÊt c¶ c¸c file cÇn thiÕt (Object, Listing, Symbol, vµ c¸c d¹ng ®Æc biÖt kh¸c) khi biªn dÞch vµ gì rèi cho c¸c hÖ vi ®iÒu khiÓn cña Microchip. + Hç trî viÖc sö dông vµ t¹o ra c¸c file ®Þnh d¹ng Hex, Decimal vµ Octal.
C Compiler (MP-C) C«ng cô ph¸t triÓn phÇn mÒm MP-C lµ mét tr×nh biªn dÞch hoµn chØnh vµ ®−îc tÝch hîp vµo trong m«i tr−êng ph¸t triÓn cho c¸c chip vi ®iÒu khiÓn hä PIC16/17 cña Microchip. Tr×nh biªn dÞch nµy cã nhiÒu kh¶ n¨ng m¹nh mÏ vµ rÊt dÔ sö dông, ®iÒu nµy khã cã thÓ t×m thÊy ë mét c«ng cô ph¸t triÓn nµo kh¸c. §Ó dÔ dµng cho viÖc sö dông vµ gì rèi, tr×nh biªn dÞch MP-C sö dông c¸c ký hiÖu th«ng tin thÝch hîp víi c¸c kÝ hiÖu cña c«ng cô ph¸t triÓn kh¸c lµ PICMASTER® Universal Emulator.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 23
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
Ngoµi ra hiÖn nay cßn cã mét sè phÇn mÒm kh¸c rÊt linh ho¹t, hç trî viÕt cho nhiÒu dßng PIC, tõ 16/17/18 ®Õn dsPIC b»ng C nh− CCS C, HT PIC, HT PIC 18 hay b»ng Pascal nh− MikroPascal ... 1.2.5 C«ng cô ph¸t triÓn cho hä vi ®iÒu khiÓn th«ng minh PSoC PhÇn mÒm PSoC Designer lµ mét c«ng cô hoµn chØnh ®−îc tÝch hîp vµo hÖ thèng hç trî cho viÖc ph¸t triÓn c¶ vÒ mÆt lËp tr×nh cÊu h×nh phÇn cøng vµ ch−¬ng tr×nh phÇn mÒm cho c¸c chip vi ®iÒu khiÓn th«ng minh chÕ t¹o theo c«ng nghÖ PSoC cña h!ng Cypress Microchip, vÝ dô nh− hä CY8C25-26xxx. PhÇn mÒm PSoC Designer ®−îc x©y dùng trªn nÒn hÖ ®iÒu hµnh Windows vµ nã cã thÓ ch¹y ®−îc trªn Windows98, Windows NT 4.0, Windows 2000, Windows Millennium (Me), or Windows XP. PSoC Designer gióp ng−êi sö dông lùa chän mét thuËt to¸n cÊu h×nh phÇn cøng cho vi ®iÒu khiÓn, lËp tr×nh phÇn mÒm cho vi ®iÒu khiÓn, vµ gì rèi. HÖ thèng nµy cho phÐp qu¶n lÝ c¬ së d÷ liÖu b»ng c¸c project, tÝch hîp phÇn gì rèi víi In-Circuit Emulator, cho phÐp lËp tr×nh ngay trªn hÖ thèng (In-system programming), vµ hç trî viÖc t¹o ra c¸c Macro CYASM cho ch−¬ng tr×nh b»ng hîp ng÷. PSoC Designer còng hç trî viÖc lËp tr×nh b»ng ng«n ng÷ bËc cao C vµ biªn dÞch, gì rèi c¸c ch−¬ng tr×nh ®ã cho c¸c thiÕt bÞ cña h!ng Cypress Microchip. 1.3 KIT vi ®iÒu khiÓn 1.3.1 Môc ®Ých Kü thuËt vi ®iÒu khiÓn lµ m«n häc c¬ b¶n quan träng ®èi víi sinh viªn c¸c ngµnh §iÒu khiÓn, Tù ®éng hãa , §iÖn tö, Tin häcv..v…. nh»m trang bÞ cho sinh viªn nh÷ng kiÕn thøc cÇn thiÕt vÒ mét hä vi ®iÒu khiÓn, ë ®©y lµ hä 8051, nh− cÊu tróc, nguyªn t¾c ho¹t ®éng cïng c¸c m¹ch phô trî, tËp lÖnh, c¸ch lËp tr×nh b»ng hîp ng÷, c¸c ph−¬ng thøc ®iÒu khiÓn vµo ra vµ c¸c ph−¬ng ph¸p kÕt nèi thiÕt bÞ ngo¹i vi. Dùa trªn nÒn t¶ng kiÕn thøc cña m«n häc kü thuËt vi ®iÒu khiÓn, sinh viªn tiÕp thu nh÷ng m«n häc kü thuËt chuyªn ngµnh vµ tiÕp cËn dÔ dµng h¬n víi nh÷ng kü thuËt, trang thiÕt bÞ hiÖn Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 24
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
®¹i.§ång thêi cho phÐp sinh viªn cã c¸i nh×n trùc quan vµ kiÓm chøng, kh¼ng ®Þnh sù ®óng ®¾n c¸c kiÕn thøc ®! häc. Do vËy viÖc ®−a vµo gi¸o tr×nh phÇn x©y dùng thiÕt kÕ Kit vi ®iÒu khiÓn lµ hÕt søc quan träng vµ rÊt thiÕt thùc ®èi sinh viªn chuyªn ngµnh tù ®éng hãa, ®iÖn tö viÔn th«ng, ®o l−êng ….. C¸c Kit vi ®iÒu khiÓn ®Òu ®−îc thiÕt kÕ dù trªn c¸c hä vi ®iÒu khiÓn mµ sinh viªn ®ang häc trong gi¸o tr×nh nµy. Sinh viªn cã thÓ dïng c¸c Kit vi ®iÒu khiÓn nµy ®Ó ®iÒu khiÓn c¸c qu¸ tr×nh nhiÖt ®é, ®iÒu khiÓn ®éng c¬,®iÒu khiÓn c¸c ®èi t−îng giao th«ng, ®iÒu khiÓn c¸c qu¸ tr×nh s¶n xuÊt …….. Trªn thÕ giíi cã rÊt nhiÒu nguån cung cÊp c¸c m¹ch Kit nãi trªn nh− : + Tõ c¸c h!ng cña n−íc ngoµi, vÝ dô nh− bé KIT MDA-EMS51 cña h!ng Midas cña Hµn Quèc, KIT vµ phÇn mÒm ph¸t triÓn cho hä vi ®iÒu khiÓn PIC cña MikroElektronika (Website http://www.mikroelektronika.co.yu/), hay mét h!ng næi tiÕng kh¸c lµ OLIMEX (Website http://www.olimex.com) víi c¸c s¶n phÈm KIT ph¸t triÓn cho c¸c dßng AVR, PIC, MAXQ, MSP430, ARM... §Æc ®iÓm cña c¸c s¶n phÈm nµy lµ cã c¸c tÝnh n¨ng m¹nh, mÉu m! ®Ñp, phôc vô tèt nhu cÇu thùc hµnh cña m«n häc. Tuy nhiªn gi¸ thµnh cña thiÕt bÞ lµ rÊt ®¾t (gi¸ kho¶ng 700$ ®èi víi KIT MDAEMS51, vµ viÖc ®Æt mua kh«ng ®−îc thuËn tiÖn. + Do c¸c trung t©m nghiªn cøu vµ c¸c tr−êng ®¹i häc trong n−íc tù chÕ t¹o. Trong c¸c tr−êng ®¹i häc ( §¹i häc BK§N – bé m«n tù ®éng hãa ®! chÕ t¹o vµ s¶n xuÊt hoµn chØnh KIT vi ®iÒu khiÓn phôc vô ®µo t¹o vµ s¶n xuÊt), c¸c thiÕt bÞ thùc hµnh m«n häc vi ®iÒu khiÓn cã thÓ do c¸c c¸n bé gi¶ng d¹y m«n häc chÕ t¹o hoÆc do c¸c sinh viªn tù chÕ t¹o d−íi sù h−íng dÉn cña gi¸o viªn. −u ®iÓm cña c¸c s¶n phÈm chÕ t¹o trong n−íc lµ gi¸ thµnh rÎ mµ chÊt l−îng, mÉu m! kh«ng thua kÐm n−íc ngoµi. CÊu h×nh cña s¶n phÈm vµ néi dung thùc hµnh phï hîp víi môc ®Ých, ch−¬ng tr×nh ®µo t¹o, víi ®iÒu kiÖn häc tËp cña sinh viªn c¶ n−íc nãi chung vµ sinh viªn §HBK §µ N½ng nãi riªng. XuÊt ph¸t tõ t×nh h×nh thùc tÕ vµ sù cÇn thiÕt ®¸p øng nhu cÇu thùc hµnh trong qu¸ tr×nh häc tËp m«n häc vi ®iÒu khiÓn nãi trªn, viÖc thiÕt kÕ, x©y dùngmét bé KIT vi Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 25
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
®iÒu khiÓn víi ®Çy ®ñ c¸c thµnh phÇn c¬ b¶n (nªu ë phÇn yªu cÇu), lµ vÊn ®Ò hÕt søc cÇn thiÕt ®èi víi c¸ sinh viªn ngµnh tù ®éng hãa trong tr−êng ®¹i häc BK§N. §©y lµ vÊn ®Ò träng t©m trong gi¸o tr×nh nµy. 1.3.2 Yªu cÇu thiÕt kÕ KIT vi ®iÒu khiÓn phôc vô thÝ nghiÖm : + PhÇn cøng : Bëi v× môc ®Ých cña s¶n phÈm lµ phôc vô cho viÖc ®µo t¹o nªn cÊu h×nh phÇn cøng ph¶i râ rµng, dµn tr¶i. KÝch th−íc cña bé KIT gän nhÑ, dÔ dµng di chuyÓn vµ b¶o qu¶n. C¸c thµnh phÇn cña bé KIT ®−îc thÓ hiÖn râ rµng, dÔ nhËn biÕt, mét ®Æc ®iÓm n÷a lµ nã ®−îc ph©n thµnh c¸c module nhá vµ liªn kÕt víi module trung t©m b»ng BUS, ®iÒu nµy còng gióp ng−êi häc cã thÓ nh×n thÊy mét c¸ch trùc quan c¸c thµnh phÇn cña bµi thÝ nghiÖm sÏ tiÕn hµnh. §ång thêi viÖc tæ chøc thµnh c¸c module nhá còng tiÖn cho viÖc söa chöa, thiÕt kÕ më réng, vµ cã thÓ dÔ dµng trong viÖc th−¬ng m¹i hãa s¶n phÈm sau nµy. + C¸c thµnh phÇn cña bé KIT : Bé KIT cã ®Çy ®ñ c¸c thµnh phÇn c¬ b¶n cña mét hÖ vi ®iÒu khiÓn vµ c¸c nguån tµi nguyªn ngo¹i vi phong phó, cho phÐp ng−êi sö dông cã thÓ tù do ph¸t triÓn c¸c øng dông cña m×nh : Bé vi ®iÒu khiÓn trung t©m. C¸c bé nhí ROM (néi), RAM (néi/ngo¹i), EEPROM(néi/ngo¹i). C¸c cæng vµo/ra t−¬ng tù, vµo/ra sè, c¸c cæng ghÐp nèi ngo¹i vi më réng lËp tr×nh ®−îc. Giao tiÕp bµn phÝm. HiÓn thÞ LCD. HiÓn thÞ tr¹ng th¸i b»ng ®Ìn LED . HiÓn thÞ LED 7 thanh. HiÓn thÞ ma trËn LED (8x8). C¸c ®Çu vµo xung. M¹ch ®iÒu khiÓn ®éng c¬ mét chiÒu, ®éng c¬ b−íc.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 26
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
Giao tiÕp víi m¸y tÝnh PC qua cæng truyÒn th«ng nèi tiÕp (COM) vµ song song (LPT). + C¸c bµi thÝ nghiÖm thùc hiÖn trªn bé KIT : C¸c bµi c¬ b¶n : Gióp sinh viªn lµm quen víi hÖ lÖnh cña chip vi ®iÒu khiÓn, nhËp c¸c lÖnh vµ ch¹y ch−¬ng tr×nh ®Ó xem kÕt qu¶ thùc hiÖn cña c¸c lÖnh ®ã. C¸c bµi n©ng cao : Gåm c¸c bµi thÝ nghiÖm phøc t¹p h¬n thùc hiÖn sö dông c¸c thµnh phÇn ngo¹i vi trªn bé KIT. C¸c bµi thÝ nghiÖm thùc hiÖn viÖc ®iÒu khiÓn mét qu¸ tr×nh t−¬ng tù hoÆc sè, vÝ dô : ®iÒu khiÓn hiÓn thÞ ®Ìn LED, LED 7 thanh, ma trËn LED, ®iÒu khiÓn vµo/ra sè - t−¬ng tù, ®iÒu khiÓn ®éng c¬ b−íc... + Thùc hiÖn c¸c bµi thÝ nghiÖm : C¸c bµi tËp mÉu x©y dùng tr−íc : §i kÌm víi s¶n phÈm bé KIT lµ mét hÖ thèng c¸c bµi tËp mÉu ®−îc x©y dùng cho c¸c øng dông trªn bé KIT nh− ®iÒu khiÓn c¸c thµnh phÇn ngo¹i vi cña KIT, ®iÒu khiÓn vµo/ra t−¬ng tù - sè... Sinh viªn cã thÓ ®äc h−íng dÉn sö dông vµ thùc hiÖn c¸c bµi tËp mÉu nµy trªn bé KIT. C¸c bµi tËp do sinh viªn tù lËp tr×nh : Sau khi ®! n¾m râ cÊu h×nh cña bé KIT vµ s¬ ®å bé nhí cña c¸c thµnh phÇn trªn bé KIT, sinh viªn cã thÓ tù lËp tr×nh c¸c bµi thÝ nghiÖm trªn bé KIT theo ý ®Þnh riªng cña m×nh. + C«ng cô lËp tr×nh : B»ng m¸y tÝnh PC : Cã thÓ sö dông ng«n ng÷ ASSEMBLY víi tr×nh biªn dÞch hîp ng÷ s½n cã cña nhµ s¶n xuÊt (ASM51.exe) hoÆc c¸c c«ng cô ph¸t triÓn vÝ dô nh− phÇn mÒm Keil, ProView32, 8051IDE hay 8051 Bascom… ®Ó lËp c¸c ch−¬ng tr×nh cho bé KIT tõ m¸y tÝnh b»ng ng«n ng÷ C, Assembly hay BASIC, sau ®ã biªn dÞch thµnh file d¹ng Hexa hoÆc Binary råi n¹p xuèng cho bé KIT thùc hiÖn c¸c ch−¬ng tr×nh ®ã.
+ C«ng cô ph¸t triÓn cho bé KIT : Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 27
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 1 : Tæng quan vÒ vi ®iÒu khiÓn
Ch−¬ng tr×nh MONITOR : Ch−¬ng tr×nh Monitor ®iÒu hµnh ho¹t ®éng cña c¶ bé KIT vµ cho phÐp lËp tr×nh tõ m¸y tÝnh. Ch−¬ng tr×nh hç trî chÕ ®é gì rèi b»ng c¸ch ch¹y tõng dßng lÖnh (STEP BY STEP) vµ quan s¸t c©u lÖnh võa ch¹y (vd MOV A, #1) ®ång thêi còng quan s¸t ®−îc gi¸ trÞ cña c¸c thanh ghi ®Æc biÖt SFR, c¸c PORT, c¸c « nhí RAM. Ngoµi ra ch−¬ng tr×nh Monitor cña bé KIT cßn cho phÐp söa ®æi néi dung cña c¸c thanh ghi ®Æc biÖt hoÆc néi dung c¸c « nhí trong cña chip vi ®iÒu khiÓn chÝnh. C«ng cô gì rèi : Trªn giao diÖn m¸y tÝnh cã thÓ sö dông c¸c phÇn mÒm ph¸t triÓn vÝ dô phÇn mÒm Keil, ASM51, Proview32 ®Ó gì rèi cho viÖc lËp tr×nh. (C¸c phÇn mÒm cã thÓ t×m thÊy ë th− môc Programming tools trªn CD ®i kÌm KIT)
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 28
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
Ch−¬ng II ThiÕt kÕ KIT vi ®iÒu khiÓn
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 29
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
Ch−¬ng II ThiÕt kÕ KIT vi ®iÒu khiÓn 2.1 Chän ph−¬ng ¸n thiÕt kÕ Hä vi ®iÒu khiÓn mµ bé KIT chän lµm thµnh phÇn trung t©m lµ hä 8051, v× nh÷ng lÝ do sau ®©y: + Hä 8051 lµ hä vi ®iÒu khiÓn phæ biÕn nhÊt hiÖn nay, ®−îc sö dông rÊt réng r3i trong c¸c øng dông c«ng nghiÖp còng nh− trong viÖc chÕ t¹o c¸c s¶n phÈm d©n dông. + Hä 8051 ®3 vµ ®ang lµ m«n häc ®−îc n»m trong ch−¬ng tr×nh ®µo t¹o cña c¸c tr−êng trung häc, cao ®¼ng vµ ®¹i häc trong c¶ n−íc, ®©y cßn lµ mét ®èi t−îng cô thÓ cho sinh viªn khi b¾t ®Çu nhËp m«n vi ®iÒu khiÓn. V× vËy, viÖc chän hä 8051 lµm thµnh phÇn trung t©m cña bé KIT lµ phï hîp víi ch−¬ng tr×nh ®µo t¹o vµ ®iÒu kiÖn häc tËp cña sinh viªn. V× nh÷ng lÝ do trªn, vµ xuÊt ph¸t tõ môc ®Ých, yªu cÇu cña ®å ¸n lµ thiÕt kÕ mét bé KIT vi ®iÒu khiÓn phôc vô môc ®Ých ®µo t¹o m«n häc nµy, ta quyÕt ®Þnh chän ph−¬ng ¸n sö dông chip vi ®iÒu khiÓn 89C52 cña h3ng ATMEL ®Ó lµm thµnh phÇn trung t©m cña KIT, cïng víi c¸c thµnh phÇn bé nhí ROM, RAM bªn ngoµi vµ c¸c thiÕt bÞ ngo¹i vi phong phó. Chip vi ®iÒu khiÓn AT89C52 lµ mét bé vi ®iÒu khiÓn còng thuéc hä 8051, do ®ã nã cã tÊt c¶ nh÷ng ®Æc tr−ng c¬ b¶n cña hä nµy. Ngoµi ra nã cßn cã thªm 1 bé ®Þnh thêi Timer 2 vµ 3 nguån ng¾t so víi 8051.
72.2 X©y dùng s¬ ®å khèi cña KIT Sau ®©y ta sÏ x©y dùng s¬ ®å khèi cña bé KIT vi ®iÒu khiÓn nh− sau:
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 30
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
PC
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
LCD
CPU
bµN PHÝM
A/D
D/A
LED 7 THANH
VµO/RA DIGITAL
§ÇU VµO XUNG
LED MATRIX 8x8
stepper motor
H×nh 2.1 - S¬ ®å khèi cña KIT
Trong s¬ ®å khèi cña bé KIT nh− trªn, chøc n¨ng cña c¸c khèi nh− sau - Khèi CPU : §©y lµ khèi trung t©m cña hÖ thèng. Nã bao gåm chip vi ®iÒu khiÓn AT89C52, EEPROM, RAM, c¸c cæng giao tiÕp më réng, m¹ch chèt, gi¶i m3 ®Þa chØ... Khèi nµy lµm nhiÖm vô trung t©m ®iÒu hµnh ho¹t ®éng cña c¶ bé KIT. - Khèi PC : §©y lµ khèi giao tiÕp gi÷a hÖ vi ®iÒu khiÓn cña bé KIT vµ m¸y tÝnh. PC gióp cho ng−êi sö dông cã thÓ ph¸t triÓn c¸c øng dông trªn bé KIT tõ m¸y tÝnh. Ng−êi sö dông dïng PC ®Ó n¹p c¸c ch−¬ng tr×nh øng dông cho bé KIT. Ngoµi ra PC cßn cho phÐp ng−êi sö dông n¹p c¸c ch−¬ng tr×nh ®iÒu hµnh cña ng−êi sö dông viÕt cho bé KIT hoÆc thay ®æi ch−¬ng tr×nh ®iÒu hµnh hiÖn ®ang cã trong bé KIT. Ch−¬ng tr×nh ®iÒu hµnh ph¶i ®−îc n¹p tõ c¸c m¹ch n¹p ngoµi vµ cè ®Þnh trªn KIT. Ch−¬ng tr×nh øng dông cña ng−êi sö dông ®−îc n¹p cho bé KIT tõ m¸y tÝnh th«ng qua phÇn mÒm n¹p ®i kÌm theo KIT. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 31
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
- Bµn phÝm: §©y lµ khèi thiÕt bÞ ®Çu vµo giao tiÕp gi÷a vi ®iÒu khiÓn vµ ng−êi sö dông. Bµn phÝm cho phÐp ng−êi sö dông sö dông nã ®Ó ®iÒu khiÓn ho¹t ®éng cña KIT theo h−íng dÉn trªn mµn h×nh LCD nh−: Ch¹y ch−¬ng tr×nh tõng b−íc (nót STEP) Xem, söa ®æi c¸c thanh ghi (R0-R7), c¸c thanh ghi ®Æc biÖt (SFR), c¸c PORT (P0,P1,P2, P3), c¸c « nhí RAM ... ChuyÓn ®æi qua l¹i gi÷a c¸c kiÓu hiÓn thÞ d÷ liÖu nh− nhÞ ph©n, hexa hay thËp ph©n. - Khèi LCD: mµn h×nh tinh thÓ láng víi kÝch th−íc lín 24x8 kÝ tù gióp ta cã thÓ quan s¸t dÔ dµng gi¸ trÞ cña c¸c thanh ghi (R0-R7), c¸c thanh ghi ®Æc biÖt (SFR) c¸c PORT (P0,P1,P2, P3), c¸c « nhí trong RAM ... Ngoµi ra trªn mµn h×nh cßn cã c¸c h−íng dÉn ng−êi sö dông, chøc n¨ng cña c¸c phÝm tïy theo ng÷ c¶nh. LCD t¹o ra sù tiÖn lîi, th©n thiÖn cho ng−êi sö dông trong lµm quen còng nh− thÝ nghiÖm trªn KIT. - Khèi A/D : Cã chøc n¨ng chuyÓn ®æi tÝn hiÖu ®iÖn ¸p t−¬ng tù 0 – 5V thµnh tÝn hiÖu sè 8 bit ®Ó ®−a vµo vi ®iÒu khiÓn xö lÝ. TÝn hiÖu vµo 0-5V cã thÓ ®−îc ®−a tõ bªn ngoµi hoÆc th«ng qua DIP-SWITCH (Dual Inline Pakage - SWITCH) ®Ó nèi c¸c tÝn hiÖu t−¬ng tù cã s½n trªn kit nhê bé chia ¸p lµ 3 biÕn trë vi chØnh vµ ®Æc biÖt lµ ®Çu ra cña 1 bé c¶m biÕn nhiÖt ®é LM35, cã thÓ tiÕn hµnh ë ®©y mét bµi thÝ nghiÖm vÒ ®o nhiÖt ®é phßng. - Khèi D/A : Lµ khèi cho phÐp chuyÓn ®æi tÝn hiÖu sè 8 bit thµnh tÝn hiÖu t−¬ng tù 0 – 10V ®−a ra ngoµi, cã thÓ hiÓn thÞ ®−îc trªn m¸y hiÖn sãng. - Khèi vµo/ra xung sè - ®iÒu khiÓn ®éng c¬ b−íc vµ ®éng c¬ 1 chiÒu: Lµ khèi vµo/ra tÝn hiÖu sè, cho phÐp bé KIT nhËn vµo mét tÝn hiÖu sè 8 bit, 4 tÝn hiÖu vµo d¹ng xung b»ng c¸c nót Ên, 4 tÝn hiÖu vµo d¹ng xung tõ bªn ngoµi nh− c¸c bé encoder, ngoµi ra cßn cã 6 ®Çu ra xung, cã ®Öm tÇng khuyÕch ®¹i ®Ó ®iÒu khiÓn ®éng c¬ b−íc vµ ®éng c¬ 1 chiÒu. Ngoµi ra ng−êi sö dông cã thÓ sö lùa chän lo¹i ®iÖn 5V Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 32
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
hoÆc 12V tïy theo lo¹i ®éng c¬ b»ng c«ng t¾c thay ®æi nguån cÊp cho ®éng c¬ trªn m¹ch. - LED 7 thanh : Lµ khèi hiÓn thÞ LED 7 thanh, cã thÓ dïng ®Ó hiÓn thÞ c¸c gi¸ trÞ theo ch−¬ng tr×nh cña ng−êi sö dông. - Khèi LED Matrix (8x8) : Lµ mét ma trËn ®Ìn LED gåm 8 hµng x 8 cét, t¹i mçi ®iÓm cña ma trËn LED cã 2 ®Ìn víi 2 mµu xanh vµ ®á, nÕu ®iÒu khiÓn cho s¸ng cïng lóc c¶ 2 ®Ìn th× ta sÏ ®−îc mµu cam.
2.3 Chän thiÕt bÞ, gi¶i m· vµ thiÕt kÕ m¹ch nguyªn lý cña hÖ thèng: 2.3.1. Chän dung l−îng bé nhí vµ thiÕt bÞ ngo¹i vi: Ta chän c¸c thµnh phÇn cña bé nhí trªn KIT bao gåm: - 8K-byte parallel (song song) EEPROM – chip sö dông AT28C64. - 32K-byte RAM ngoµi – chip sö dông HM62256. - 5 chip 8255 më réng I/O ®Ó giao tiÕp víi c¸c thiÕt bÞ sau: LCD – 24x8 ký tù Bµn phÝm 5x4 8 LED ®¬n 4 LED 7 ®o¹n LED ma trËn 2 mµu 8x8 C¸c bé chuyÓn ®æi ADC, DAC Vµo ra xung sè, c¸c tÇng khuyÕch ®¹i ®Öm ®Ó ®iÒu khiÓn ®éng c¬ b−íc, ®éng c¬ 1 chiÒu.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 33
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
2.3.2. Gi¶i m· ®Þa chØ: Ta s¾p xÕp bé nhí vµ ®Þa chØ cña c¸c thiÕt bÞ ngo¹i vi giao tiÕp víi KIT trong b¶ng 2.1 nh− sau §Þa chØ ThiÕt bÞ 0000h - 1FFFh EEPROM RAM 4000h - 7FFFh 8000h - 8003h
8004h - 8007h
8008h - 800Bh
8255 (1)
Ghi chó Chøa ch−¬ng tr×nh Monitor Chøa ch−¬ng tr×nh øng dông 8000h - PortA : §iÒu khiÓn LCD. 8001h - PortB : Data bus cña LCD. 8002h - PortC : NhËn m3 cña bµn phÝm. 8003h - CW : Thanh ghi ®iÒu khiÓn.
8255 (5)
8004h - PortA: §iÒu khiÓn cÊp nguån cho c¸c Anot chung cña LED matrix (c¸c hµng). 8005h - PortB: §iÒu khiÓn ®Ìn mµu xanh cña LED matrix (c¸c cét xanh). 8006h - PortC: §iÒu khiÓn ®Ìn mµu ®á cña LED matrix (c¸c cét ®á). 8007h - CW: Thanh ghi ®iÒu khiÓn.
8255 (2)
8008h - PortA : §−êng Data cña ADC0809. 8009h - PortB : §−êng Data cña DAC0808. 800Ah - PortC : §iÒu khiÓn ADC0809. 800Bh - CW : Thanh ghi ®iÒu khiÓn.
800Ch - 800Fh
8255 (3)
C000h - C003h
8255 (4)
C004h – C007h
8255-EX
800Ch - PortA : §Çu vµo Digital. 800Dh - PortB : §iÒu khiÓn ®éng c¬ b−íc(PB0-PB3) vµ ®éng c¬ mét chiÒu (PB4 - PB5). 800Eh - PortC : 4 ®Çu vµo xung d¹ng nót Ên (PC4-PC7), 4 ®Çu vµo cho c¸c thiÕt bÞ ngoµi nh− encoder (PC0 - PC3). 800Fh - CW : Thanh ghi ®iÒu khiÓn. C000h - PortA : HiÓn thÞ 8 LED ®¬n. C001h - PortB : HiÓn thÞ 2 LED 7 thanh (tr¸i). C002h - PortC : HiÓn thÞ 2 LED 7 thanh (ph¶i). C003h - CW : Thanh ghi ®iÒu khiÓn. BUS më réng dù tr÷, cã thÓ g¾n thªm 1 module kh¸c
B¶ng 2.1 S¾p xÕp bé nhí vµ c¸ch ph©n ®Þa chØ cho c¸c thiÕt bÞ ngo¹i vi cña KIT Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 34
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
Dùa vµo b¶ng 2.1 trªn ta cã s¬ ®å bé nhí cô thÓ nh− b¶ng 2.2 sau:
EEPROM AT28C64 8Kbyte
Address 0000h
15 14 13 12 11 10 0 0 0 0 0 0
9 8 0 0
7 0
6 0
5 0
4 0
3 0
2 0
1 0
0 0
1FFFh
0
0
0
1
1
1
1 1
1
1
1
1
1
1
1
1
4000h
0
1
0
0
0
0
0 0
0
0
0
0
0
0
0
0
7FFFh
0
1
1
1
1
1
1 1
1
1
1
1
1
1
1
1
8255-1 KEYPAD LCD
8000h 8001h 8002h 8003h
1 1 1 1
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 1 1
0 1 0 1
8255-5 MATRIX LED
8004h 8005h 8006h 8007h
1 1 1 1
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
1 1 1 1
0 0 1 1
0 1 0 1
8255-2 ADC DAC
8008h 8009h 800Ah 800Bh
1 1 1 1
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
1 1 1 1
0 0 0 0
0 0 1 1
0 1 0 1
8255-3 XUNG Sè STEPPER DC MOTOR
800Ch 800Dh 800Eh 800Fh
1 1 1 1
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
1 1 1 1
1 1 1 1
0 0 1 1
0 1 0 1
8255-4 LED 7 ®o¹n LED ®¬N
C000h C001h C002h C003h
1 1 1 1
1 1 1 1
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 1 1
0 1 0 1
C004h C005h C006h C007h
1 1 1 1
1 1 1 1
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
1 1 1 1
0 0 1 1
0 1 0 1
RAM HM62256 32Kbyte
8255-EX
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 35
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
Nh×n vµo c¸c cét cã mµu x¸m trong b¶ng 2.2 trªn ta cã ®−îc c¸ch ph©n c«ng gi¶i m3 nh− sau: Ta sö dông 3 chip gi¶i m3 chuyªn dông lµ vi m¹ch 74HC138 ®Ó phôc vô viÖc gi¶i m3 ®Þa chØ cho c¸c chip nhí còng nh− c¸c chip më réng I/O lµ 8255, ®Çu vµo vµ ra cña c¸c chip gi¶i m3 ®−îc tr×nh bµy trong b¶ng sau: Chip gi¶i m·
A
B
A14
A15
0
0
74HC138 - 2 (U10) A2
A3
A4
Y2(U9) Y2(U9)
74HC138 - 3 (U11) A2
0
0
Y3(U9) Y3(U9)
74HC138 - 1 (U9)
C
G2A
G2B 0
§Çu vµo chän chip CS (Chip Select) cña c¸c chip EEPROM, RAM, vµ 8255 nh− b¶ng sau: Chip
CS (Chip Select)
EEPROM - 28C64
A13 + Y0(U9) (*)
RAM - 62256
Y1(U9)
8255(1) - Keypad, LCD
Y0(U10)
8255(5) - LED ma trËn
Y2(U10)
8255(2) - ADC, DAC
Y3(U10)
8255(3) - Xung sè, stepper, DC motor
Y1(U10)
8255(4) - LED 7 ®o¹n, LED ®¬n
Y0(U11)
8255(EX)
Y1(U11)
Ghi chó
U9,U10,U11 xem s¬ ®å nguyªn lý.
(*) Do yªu cÇu thiÕt kÕ cña bé KIT, c¸c chip nhí RAM vµ EEPROM võa ph¶i cã kh¶ n¨ng lµm bé nhí d÷ liÖu vµ bé nhí ch−¬ng tr×nh nªn c¸c ch©n OE (Output Enable) cña c¸c chip nhí nµyB¶ng cã logic = /PSEN /RD. 2.2.nh− B¶nsau ®å/OE bé nhí vµ gi¶i* m3 ®Þa chØ cña KIT §Ó râ h¬n ta t×m hiÓu kü vÒ chøc n¨ng cña ch©n /PSEN vµ EA trong øng dông më réng bé nhí ngoµi cña hä 8051. PSEN (Program Store Enable) cã nghÜa lµ cho Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 36
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
phÐp cÊt ch−¬ng tr×nh. §©y lµ tÝn hiÖu ra vµ ®−îc nèi víi ch©n OE cña bé nhí ch−¬ng tr×nh ngoµi. Khi ch©n EA ®−îc nèi ®Êt th× 8031/51 n¹p mM lÖnh tõ bé nhí ngoµi th«ng qua ch©n PSEN, ë ®©y bé nhí ngoµi ®ãng vai trß lµ bé nhí ch−¬ng tr×nh. Ngoµi ra khi bé nhí ngoµi lµm chøc n¨ng lµ bé nhí d÷ liÖu th× tÝn hiÖu RD ®−îc sö dông ®Ó truy cËp kh«ng gian d÷ liÖu ngoµi (dïng lÖnh MOVX), nªn RD ®−îc nèi ®Õn OE cña chip nhí. Trong thiÕt kÕ phÇn mÒm cña KIT ®ßi hái c¶ 2 chøc n¨ng nµy cña bé nhí, võa lµ bé nhí ch−¬ng tr×nh, võa lµ bé nhí d÷ liÖu do ®ã c¸c ch©n OE cña c¸c chip nhí ph¶i cã møc logic nh− trªn /OE = /PSEN * /RD. 2.3.3 Giíi thiÖu vÒ chøc n¨ng cña c¸c thiÕt bÞ ®−îc sö dông trªn KIT: 2.3.3.1 CPU
C PU
R10 VCC
VCC
1
D0 D1 D2 D3 D4 D5 D6 D7
2 3 4 5 6 7 8 9 10k VCC
ADRRESS: 0000H-1FFFH
VCC
CR4 104
CR3 104
VCC
GND
ADRRESS: 4000H-7FFFH
GND U3 62256 U13
T2 T2-EX STEP
1 2 3 4 5 6 7 8
GND
/EA RST 1 2 3 4
P1.0/T2 P3.0/RXD P1.1/T2-EX P3.1/TXD P1.2 P3.2/INT0 P1.3 P3.3/INT1 P1.4 P3.4/T0 P1.5 P3.5/T1 P1.6 P3.6/WR P1.7 P3.7/RD
19 18
J10 T0 T1 T2 T2-EX
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
31 9
XTAL1 XTAL2
ALE/PROG PSEN
EA/VPP RST AT89C52
VCC
21 22 23 24 25 26 27 28
A8 A9 A10 A11 A12 A13 A14 A15
CR5 104
10 11 12 13 14 15 16 17
RXD TXD /INT0 /INT1 T0 T1 /WR /RD
30 29
ALE /PSEN
VCC
U5A /PSEN
CR1 104
7404 U6A /EA
33pF
GND
7
2
CR6 104
1
P_COM GND
VCC
14
GND
VCC
RXD OUT TXD IN
28
VCC
VCC
C1.2
22 27 20
7
12 MHz
33pF
1 2
Y 1.1
C1.1
7408
10 9 8 7 6 5 4 3 25 24 21 23 2
3
40
GND
1 6 2 7 3 8 4 9 5
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12
GND
VCC CR8 104 GND
Cheá ñoä monitor thì INT1 ñöôïc noái GND
Ñaàu vaøo cho T0, T1, T2, T2-EX ôû cheá ñoä CAPTURE
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
AT28C64
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12
D0 D1 D2 D3 D4 D5 D6 D7
D0 D1 D2 D3 D4 D5 D6 D7
11 12 13 15 16 17 18 19
A14
1
A13
26
D0 D1 D2 D3 D4 D5 D6 D7
11 12 13 15 16 17 18 19
/CS_62256 /WR GND
OE WE CE
20 27 22
VCC D0 D1 D2 D3 D4 D5 D6 D7
CS WR OE
10 9 8 7 6 5 4 3 25 24 21 23 2 26 1
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13
14
VSS
GND
14
ALE
11 1
39 38 37 36 35 34 33 32
VCC
GND
D0 D1 D2 D3 D4 D5 D6 D7
GND
CR2 104 U11A
GND
CHÖÔNG TRÌNH NGÖÔØ I SÖÛ DUÏNG
1 3 A13
2 7432
VCC
U7B
2
/WR
3
SWITCH
6
GND
5 7432
VCC
1
1 2 3
4
VCC
SW7.1
CR7 104
14
LE OE GND
10
28 U2
D0 D1 D2 D3 D4 D5 D6 D7
14
74HC573 VCC 2 D0 3 D1 4 D2 5 D3 6 D4 7 D5 8 D6 9 D7
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
GND
19 18 17 16 15 14 13 12
20
U4 20 A0 A1 A2 A3 A4 A5 A6 A7
7
MONITOR
GND U8 16
C8.4 10uF
TXD IN
13 8
TXD
11 10 1 3 4 5 2 6
C8.1 10uF C8.2 10uF
C8.3 10uF VCC
MAX232/SO VCC 12 R1IN R1OUT 9 R2IN R2OUT T1IN T2IN C1+ C1C2+ C2V+ V-15
T1OUT T2OUT
14 7
RXD
VCC
VCC CR9 104
A14 A15
VCC VCC
U9 16 1 2 3 6 4 5
A B C G1 G2A G2B 8
VCC Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 GND
15 14 13 12 11 10 9 7
A2 /CS_62256
U12 16 1 2 3
/CS_8255_7SEG_LED_EX12 VCC
CR10 104
CR12 104
74HC138
GND
GND
VCC
RXD OUT
6 4 5
A B C G1 G2A G2B 8
74HC138 VCC Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 GND
15 14 13 12 11 10 9 7
74HC138 /CS_8255_7SEG_LED /CS_8255_7SEG_EX
A2 A3 A4
VCC
U10 16 1 2 3 6 4 5
A B C G1 G2A G2B 8
VCC Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 GND
15 14 13 12 11 10 9 7
/CS_8255_LCD_KEY PAD /CS_8255_MATRIX_LED /CS_8255_ADC_DAC /CS_8255_PULSE_STEPPER
GND
GND
VCC
H×nh 2.3 – S¬ ®å nguyªn lý khèi CPU
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 37
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
§©y lµ phÇn ®iÒu khiÓn trung t©m cña bé KIT, lµ bé phËn quan träng nhÊt. Khèi CPU gåm cã chip vi ®iÒu khiÓn chÝnh AT89C52, EEPROM, RAM, m¹ch chèt, gi¶i m3 ®Þa chØ... S¬ ®å nguyªn lý cña khèi CPU nh− h×nh 2.3. C¸c linh kiÖn chÝnh cã trong khèi : Vi ®iÒu khiÓn AT89C52 Víi thùc tÕ thÞ tr−êng cña §µ N½ng, vµ c¶ khu vùc MiÒn Trung - T©y Nguyªn nãi chung ta chän AT89C52 lµ chip dÔ dµng mua ®−îc, bé nhí 8Kbyte võa ®ñ cho ch−¬ng tr×nh MONITOR ®iÒu hµnh KIT. - AT89C52 cã 8K Flash ROM lµm bé nhí ch−¬ng tr×nh, 256 byte RAM, 32 ®−êng xuÊt nhËp, 3 bé ®Þnh thêi, mét cÊu tróc ng¾t 2 møc −u tiªn vµ 8 nguån ng¾t, mét port nèi tiÕp song c«ng (full duplex). Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 38
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
- Timer T2 cña 89C52 cã thÓ lµm viÖc nh− Timer T0, T1 trong chÕ ®é Reload ngay c¶ ë lóc lµm Timer 16 bit.
- Vïng nhí Flash ROM cã thÓ n¹p vµ xãa kho¶ng 1000 lÇn. - Vi ®iÒu khiÓn AT89C52 hç trî tÇn sè lµm viÖc ®Õn 24 MHz.
- Cã chÕ ®é Power Down ®Ó tiÕt kiÖm ®iÖn n¨ng cña hÖ thèng tuy nhiªn vÉn duy tr× néi dung RAM nh−ng kh«ng cho m¹ch dao ®éng cÊp xung clock nh»m v« hiÖu hãa c¸c ho¹t ®éng kh¸c cho chip cho ®Õn khi cã
H×nh 2.4 - S¬ ®å ch©n cña AT89C52
reset cøng tiÕp theo. ChÕ ®é Idle hay cßn gäi lµ chÕ ®é nghØ dõng CPU trong khi vÉn cho phÐp RAM, c¸c bé ®Þnh thêi/ ®Õm, port nèi tiÕp vµ hÖ thèng ng¾t tiÕp tôc ho¹t ®éng.
M¹ch chèt tÝn hiÖu 74HC573
U1 19 18 17 16 15 14 13 12
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
D0 D1 D2 D3 D4 D5 D6 D7 LE OE
2 3 4 5 6 7 8 9 11 1
74HC573
H×nh 2.5 - S¬ ®å ch©n cña 74HC573 74HC573 lµ m¹ch chèt tÝn hiÖu tèc ®é cao ®−îc chÕ t¹o theo c«ng nghÖ CMOS. C¸c ®Æc ®iÓm cña vi m¹ch : - Tèc ®é truyÒn tÝn hiÖu tõ ®Çu vµo sang ®Çu ra chØ cã 18 ns. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 39
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
- Ph¹m vi ®iÖn ¸p ho¹t ®éng : 2 – 6 V - Dßng ®iÖn ®Çu vµo : lín nhÊt 1 A. Ho¹t ®éng : Khi ch©n /LE ë møc cao, ®Çu ra Q phô thuéc vµo ®Çu vµo D. Khi ch©n /LE ë møc thÊp, tÝn hiÖu ®Çu vµo D ®−îc gi÷ l¹i ë ®Çu ra cho ®Õn khi nµo ch©n /LE trë l¹i møc cao. Khi ch©n /OE ë møc cao, tÊt c¶ c¸c ®Çu ra Q ®Òu ë møc cao. M¹ch gi¶i mM ®Þa chØ 74HC138 U6 1 2 3 6 4 5
A B C G1 G2A G2B
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
15 14 13 12 11 10 9 7
74HC138
H×nh 2.6 - S¬ ®å ch©n cña 74HC138 §©y lµ vi m¹ch ®−îc chÕ t¹o theo c«ng nghÖ CMOS. Vi m¹ch nµy ®−îc dïng ®Ó gi¶i m3 ®Þa chØ khi hÖ thèng cã nhiÒu linh kiÖn cÇn ®Þnh ®Þa chØ ghÐp nèi. Nã lµ mét trong nh÷ng vi m¹ch phæ biÕn nhÊt trong c¸c m¹ch vi ®iÒu khiÓn. C¸c ch©n ®Çu ra ®¶o Yk phô thuéc vµo c¸c ch©n tÝn hiÖu ®Çu vµo A, B, C. Tuy nhiªn c¸c tÝn hiÖu ®Þa chØ chØ ®−îc gi¶i m3 khi ch©n G1(E3) ë møc High, cßn c¸c ch©n /G2A(/E1), /G2B(/E2) ë møc Low.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 40
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
B¶ng chøc n¨ng cña vi m¹ch nh− sau:
Chó ý: L: Low -Møc thÊp; H: High - Møc cao; X: kh«ng quan t©m U4 13 8 11 10 1 3 4 5 2 6
R1IN R2IN
R1OUT R2OUT
T1IN T2IN
T1OUT T2OUT
12 9 14 7
C1+ C1C2+ C2V+ VMAX232
H×nh 2.7 – S¬ ®å ch©n cña MAX232 Vi m¹ch MAX232
Vi m¹ch MAX232 cã nhiÖm vô chuyÓn møc ®iÖn ¸p tõ 0 12V
5 V thµnh ®iÖn ¸p –
+12 V theo tiªu chuÈn RS-232 ®Ó phôc vô cho viÖc truyÒn th«ng nèi tiÕp.
Trªn vi m¹ch cã 2 ngâ vµo cña ch©n RxD, 2 ngâ ra cña ch©n RxD, 2 ngâ vµo cña ch©n TxD, 2 ngâ ra cña ch©n TxD. TÝn hiÖu tõ ch©n RxD cña cæng nèi tiÕp trong m¸y tÝnh ®−îc nèi vµo ch©n /R1OUT, tÝn hiÖu tõ ch©n TxD cña cæng nèi tiÕp trong m¸y tÝnh ®−îc nèi T1IN cña MAX232. T−¬ng tù, ch©n RxD cña vi ®iÒu khiÓn ®−îc nèi víi ch©n /T1OUT, cßn ch©n TxD cña vi ®iÒu khiÓn ®−îc nèi víi ch©n R1IN cña MAX232. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 41
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
Bé nhí RAM 32K 62256 Vi m¹ch 62256 ®−îc dïng lµm bé nhí d÷ liÖu ngoµi cho c¸c vi ®iÒu khiÓn. - A0
A14 : lµ 15 bit dïng ®Ó x¸c ®Þnh ®Þa chØ cña c¸c vïng nhí trong RAM.
- /OE : Output Enable, cho phÐp ®äc d÷ liÖu tõ RAM ra Data Bus. -
/WE : Write Enable, cho phÐp ghi d÷ liÖu vµo RAM.
-
CS1, CS2 : Dïng ®Ó chän chip.
-
D0
D7 : lµ c¸c ch©n nèi vµo Data Bus cña hÖ thèng. U3 62256 28 11 12 13 15 16 17 18 19
20 27 22
VCC D0 D1 D2 D3 D4 D5 D6 D7
CS WR OE
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 VSS
10 9 8 7 6 5 4 3 25 24 21 23 2 26 1 14
H×nh 2.8 – S¬ ®å ch©n cña 62256
Bé nhí EEPROM 8K 28C64 §©y lµ bé nhí kh«ng bay h¬i cã thÓ ®äc vµ ghi ®−îc b»ng ch−¬ng tr×nh nh− bé RAM mµ kh«ng cÇn sö dông nh÷ng m¹ch n¹p chuyªn dông, nh−ng cã kh¶ n¨ng b¶o vÖ d÷ liÖu khi mÊt nguån. - A0
A12 : lµ 12 bit dïng ®Ó x¸c ®Þnh ®Þa chØ cña c¸c vïng nhí trong
EEPROM.
- /OE : Output Enable, cho phÐp ®äc d÷ liÖu tõ EEPROM ra Data Bus. - /WR : Write Enable, cho phÐp ghi d÷ liÖu vµo EEPROM. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 42
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
- /CE : Dïng ®Ó chän chip. -
D0
D7 : lµ c¸c ch©n nèi vµo Data Bus cña hÖ thèng. U2
22 27 20
A0 D0 A1 D1 A2 D2 A3 D3 A4 D4 A5 D5 A6 D6 A7 D7 A8 A9 RDY/BUSY A10 A11 A12 OE WE CE VCC
11 12 13 15 16 17 18 19 1
14
28
AT28C64
GND
10 9 8 7 6 5 4 3 25 24 21 23 2
H×nh 2.9 – S¬ ®å ch©n cña 28C64 Ngoµi c¸c linh kiÖn chÝnh ®3 kÓ ra ë trªn, khèi CPU cßn cã rÊt nhiÒu thµnh phÇn kh¸c nh− m¹ch Reset cña CPU, th¹ch anh 11.0592 MHz ®Ó t¹o dao ®éng cho vi ®iÒu khiÓn 89C52... Trong khèi CPU cã c«ng t¾c 3 tr¹ng th¸i SW2 - Select cho phÐp ng−êi sö dông thay ®æi møc ®iÖn ¸p ®Æt lªn ch©n EA cña vi ®iÒu khiÓn chÝnh ®Ó chän thùc hiÖn ch−¬ng tr×nh l−u ë bé nhí trong hay bé nhí ngoµi. Mét ®iÒu cÇn l−u ý trªn m¹ch CPU lµ ®Çu ra P0 cña vi ®iÒu khiÓn cÇn treo trë v× cæng P0 cña vi ®iÒu khiÓn kh«ng ®−îc thiÕt kÕ cã trë kh¸ng trong. NÕu kh«ng treo trë th× khi nu«i t¶i lín sÏ lµm sôt ¸p trªn c¸c ch©n tÝn hiÖu dÉn ®Õn sù sai lÖch tÝn hiÖu, lµm hÖ thèng mÊt chÝnh x¸c.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 43
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
2.3.3.2 Giao tiÕp xuÊt/nhËp PhÇn giao tiÕp xuÊt nhËp gåm 2 khèi : khèi hiÓn thÞ LCD vµ khèi bµn phÝm. S¬ ®å nguyªn lý cña phÇn nµy nh− h×nh 2.10 :
VCC VCC
VCC CR11
R9
VCC GND GND
104
DATA BUS U1526 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 GND /RD /WR /CS_8255_LCD_KEYPAD
34 33 32 31 30 29 28 27 9 8 35 5 36 6
D0 D1 D2 D3 D4 D5 D6 D7
8255 VCC PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7
A0 A1 RESET RD WR CS
7
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
GND GND
5K LCD1
18 19 20 21 22 23 24 25
LCD BACK LIGHT POWER
GND VCC
4 3 2 1 40 39 38 37 LCD_D0 LCD_D1 LCD_D2 LCD_D3 LCD_D4 LCD_D5 LCD_D6 LCD_D7
LCD_D0 LCD_D1 LCD_D2 LCD_D3 LCD_D4 LCD_D5 LCD_D6 LCD_D7
1 2 3 LCD_RS 4 LCD_R/W 5 LCD_E1 6 LCD_E2 7 8 9 10 11 12 13 14 15 16
SW7.8 VCC
2
J13 1
2 3
1
2 1
GND 3
HEADER 2
SWITCH
VCC VCC
14 15 16 17 13 12 11 10
R12.1 10K U14
GND /INT0
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.7
P1.0/AIN0 P1.1/AIN1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 XTAL1 XTAL2
10
RST/VPP VCC
5 4
8 7 6 5 4 3 2 1 KEYPAD
1 Y12.1
20
GND
VCC
J14 ROW1 ROW2 ROW3 ROW4 COL1 COL2 COL3 COL4
12 13 14 15 16 17 18 19
GND
8255_1 KEYPAD, LCD ADRRESS: PA_1:8000H PB_1:8001H PC_1:8002H CW_1:8003H
2 3 6 7 8 9 11
R12.2 10K
AT89C2051
VCC
C12.2
C12.3 12 MHz
33p
33p
GND
GND VCC VCC C12.1
CR13 104 GND
BT22
10uF RST R12.3 10k GND
H×nh 2.10 – S¬ ®å nguyªn lý phÇn xuÊt/nhËp Bµn phÝm Giao tiÕp bµn phÝm cho phÐp ng−êi sö dông cã thÓ nhËp d÷ liÖu vµ th«ng qua c¸c phÝm chøc n¨ng ®iÒu khiÓn ho¹t ®éng cña bé KIT. Víi yªu cÇu cña KIT, ta sö dông bµn phÝm d¹ng ma trËn ®Ó nhËp d÷ liÖu. §Ó qu¶n lý ®−îc c¸c phÝm cña bµn phÝm mµ kh«ng lµm ¶nh h−ëng nhiÒu tíi qu¸ tr×nh thùc hiÖn tÝnh to¸n cña vi ®iÒu khiÓn chÝnh, ta sö dông riªng mét vi ®iÒu khiÓn lo¹i nhá ®Ó qu¶n lý bµn phÝm. Bµn phÝm ®−îc x©y dùng theo kiÓu ma trËn, gåm 4 hµng x 5 cét. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 44
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
+ 4 hµng ®−îc lÊy tõ c¸c ch©n P1.0
P1.3 cña vi ®iÒu khiÓn
+ 5 cét ®−îc lÊy tõ c¸c ch©n P1.4
P1.7 cña vi ®iÒu khiÓn vµ cét cuèi cïng nèi
®Êt. Tæ chøc c¸c phÝm gåm c¸c phÝm tõ 0 -9 tõ A- F lµm thµnh phÇn nhËp d÷ liÖu. C¸c phÝm chøc n¨ng F1, F2 lµ phÝm lùa chän c¸c lÖnh trªn menu, phÝm BACK SPACE lµ phÝm xãa, gióp chØnh söa khi nhËp liÖu nhÇm. PhÝm ENTER ®Ó kÝch ho¹t lÖnh hiÖn hµnh, tïy theo ng÷ c¶nh, ®−îc hiÓn thÞ trªn LCD. Trªn bé KIT, bµn phÝm ®−îc dÆt t¸ch rêi so víi c¸c phÇn kh¸c ë gãc ®Ó thuËn tiÖn cho viÖc thao t¸o vãi bµn phÝm. S¬ ®å nguyªn lý cña bµn phÝm nh− h×nh 2.11:
BT1
BT2
0
1 5
4 BT6
BT7
BT3
2 6 BT8
BT4
3
BT5
F1
7 BT9
BT10
F2 8
9
A
BT11
BT12
BT13
C
D
E
BT16
BT17
BT18
B
BT14
BT15
J11
BACK SPACE
ROW1 ROW2 ROW3 ROW4 COL1 COL2 COL3 COL4
1 2 3 4 5 6 7 8
F BT19
BT20
ENTER
HEADER 8
5X4 KEYPAD
H×nh 2.11 – S¬ ®å bµn phÝm Do chØ lµm nhiÖm vô qu¶n lý c¸c phÝm ®−îc bÊm mµ kh«ng cÇn xö lý phøc t¹p nªn ta dïng vi ®iÒu khiÓn lo¹i nhá 20 ch©n rÊt th«ng dông trªn thÞ tr−êng hiÖn nay lµ 89C2051 cña h3ng ATMEL. Vi ®iÒu khiÓn nµy chØ cã hai cæng giao tiÕp lµ P1 vµ P3. Riªng cæng giao tiÕp P3 th× thiÕu mÊt bit P3.6, chØ cã c¸c bit P3.0
P3.5 vµ P3.7. §©y lµ vi ®iÒu khiÓn thuéc hä
8xC51 nªn nã cã tÊt c¶ nh÷ng ®Æc ®iÓm chung cña hä nµy.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 45
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
Khi cã mét phÝm ®−îc Ên, 89C2051 sÏ gi¶i m3 vµ göi d÷ liÖu m3 phÝm ®−îc Ên lªn cho vi ®iÒu khiÓn chÝnh th«ng qua c¸c ch©n P3.0
P3.3. ViÖc th«ng b¸o cho vi
®iÒu khiÓn chÝnh biÕt cã phÝm ®−îc Ên thùc hiÖn qua ng¾t ngoµi 1 cña vi ®iÒu khiÓn chÝnh. Ch©n P3.7 sÏ ®−îc nèi víi ch©n ng¾t EX1 cña 89C52. U1 2 3 6 7 8 9 11
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.7
P1.0/AIN0 P1.1/AIN1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 XTAL1 XTAL2 RST/VPP VCC
12 13 14 15 16 17 18 19 5 4 1 20
H×nh 2.12 - S¬ ®å ch©n cña 89C2051
AT89C2051
Mµn tinh thÓ láng LCD 2408 §Ó cã thÓ hiÓn thÞ mét c¸ch thuËn tiÖn, linh ho¹t c¸c th«ng sè cña hÖ thèng ®ång thêi ®¶m b¶o ®−îc tÝnh mü thuËt, ta chän mµn h×nh tinh thÓ láng LCD 2408. §©y lµ lo¹i mµn tinh thÓ láng gåm cã 8 dßng, mçi dßng cã thÓ hiÓn thÞ 24 ký tù, rÊt tiÖn cho ng−êi sö dông trong khi lµm viÖc víi KIT ë chÕ ®é monitor. B¶ng chøc n¨ng cña c¸c ch©n :
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 46
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
VCC
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
R8
VCC GND 5K LCD
TÝn hiÖu ®iÒu khiÓn
LCD_D0 LCD_D1 LCD_D2 LCD_D3 LCD_D4 LCD_D5 LCD_D6 LCD_D7
DATA BUS
LCD BACK LIGHT POWER
GND VCC
1 2 3 LCD_RS 4 LCD_R/W 5 LCD_E1 6 LCD_E2 7 8 9 10 11 12 13 14 15 16
SW7.2 VCC
2
J12 1
2 3
1 GND
2 1
3 HEADER 2
SWITCH
LCD 24x8
H×nh 2.13 – S¬ ®å ch©n vµs¬ ®å cÊp nguån cña LCD 2408
LCD 2408 cã 4 ch©n ®iÒu khiÓn vµ 8 ch©n d÷ liÖu, 4 ch©n ®iÒu khiÓn lµ RS, R/W, E1, E2. Ch©n E1, E2: ®−îc gäi lµ ch©n “Enable”. Ch©n nµy cho phÐp göi d÷ liÖu vµo LCD hay kh«ng. E1 dïng chän lµm viÖc víi 4 dßng trªn cña mµn h×nh. E2 lµm viÖc víi 4 dßng d−íi. §Ó cã thÓ göi d÷ liÖu vµo LCD, ®Çu tiªn ch©n nµy ph¶i ®−îc set lªn “1”. Sau khi thùc hiÖn xong c¸c lÖnh, ch©n nµy ph¶i set xuèng “0” ®Ó b¸o cho biÕt r»ng LCD ®3 thùc hiÖn lÖnh vµ ®ang chê lÖnh tiÕp theo. Ch©n RS: “Register Select”. Khi ch©n nµy ë møc “0”, LCD sÏ biÕt r»ng c¸c d÷ liÖu truyÒn ®Õn nã dïng ®Ó ®iÒu khiÓn nh− c¸c lÖnh xãa mµn h×nh, ®Æt vÞ trÝ con trá, .... NÕu RS ë møc “1” c¸c d÷ liÖu truyÒn ®Õn LCD ®−îc nã hiÓu lµ c¸c d÷ liÖu d¹ng ký tù cÇn hiÓn thÞ Ch©n R/W: lµ ch©n “Read/Write”. §Ó cã thÓ ghi d÷ liÖu lªn LCD, ch©n nµy ph¶i ë møc “0”. Cßn ®Ó ®äc d÷ liÖu tõ LCD th× ch©n nµy ph¶i ë møc “1”. Tuy nhiªn trong LCD chØ cã mét lÖnh ®äc d÷ liÖu tõ LCD, ®ã chÝnh lµ lÖnh lÊy tr¹ng th¸i cña LCD ®Ó b¸o cho biÕt nã ®ang bËn hay kh«ng. ChÝnh v× vËy ch©n nµy hÇu nh− chØ ë møc tÝn hiÖu “0”. DB0 - DB7: 8 ch©n d÷ liÖu cña LCD. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 47
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
Mçi lÇn thùc hiÖn mét lÖnh, LCD ph¶i mÊt mét kho¶ng thêi gian ®Ó hoµn tÊt viÖc nµy. ChÝnh v× vËy khi ra lÖnh thùc hiÖn cho LCD, ta ph¶i trÔ mét kho¶ng thêi gian. Sau ®ã míi ®−îc thùc hiÖn lÖnh tiÕp theo. Tuy nhiªn ph−¬ng ph¸p trÔ kh«ng ®−îc æn dÞnh vµ chÝnh x¸c khi tÇn sè th¹ch anh thay ®æi, cßn mét ph−¬ng ph¸p n÷a lµ ph−¬ng ph¸p kiÓm tra LCD ®3 s½n sµng nhËn d÷ liÖu hay ch−a b»ng c¸ch kiÓm tra bit cã träng sè cao nhÊt - D7 - cña thanh ghi lÖnh (l−u ý lµ thanh ghi lÖnh, tøc khi RS = 0), khi bit nµy xuèng 0 b¸o hiÖu LCD ®3 s½n sµng nhËn lÖnh tiÕp theo. Ph−¬ng ph¸p nµy cã −u ®iÓm lµ lµm viÖc æn ®Þnh, ®ång bé vµ kh«ng ph¶i mÊt thêi gian trÔ d− ra kh«ng cÇn thiÕt. §Ó cho LCD cã thÓ ho¹t ®éng, ®Çu tiªn ta ph¶i khëi t¹o LCD, b¸o cho nã biÕt sè hµng, sè ký tù hiÓn thÞ trªn mét hµng. C¸c d÷ liÖu ®iÒu khiÓn lÇn l−ît ®−îc chuyÓn vµo Data Bus cña LCD lµ 38H, 0EH, vµ 06H. Sau c¸c lÖnh khëi t¹o LCD nµy ta míi cã thÓ hiÓn thÞ ký tù lªn trªn mµn h×nh LCD. ViÖc xãa mµn h×nh, ®−a con trá vÒ gãc trªn bªn tr¸i cã thÓ thùc hiÖn ®−îc b»ng c¸c chuyÓn d÷ liÖu ®iÒu khiÓn 01H vµo Data Bus cña LCD. C¸c thao t¸c lËp tr×nh víi LCD sÏ ®−îc bµn kü trong phÇn x©y dùng c¸c bµi thÝ nghiÖm cho KIT.
S¬ ®å khèi cña LCD 2408
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 48
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
Sau ®©y lµ b¶ng m3 lÖnh cña LCD:
M· (Hexa) 1 2 4 5 6 7 8 A C E F 10 14 18 1C 80 C0 38
LÖnh ®Õn thanh ghi cña LCD Xãa mµn h×nh hiÓn thÞ Trë vÒ ®Çu dßng DÞch con trá sang tr¸i DÞch con trá sang ph¶i DÞch hiÓn thÞ sang ph¶i DÞch hiÓn thÞ sang tr¸i T¾t con trá, t¾t hiÓn thÞ T¾t hiÓn thÞ, bËt con trá BËt hiÓn thÞ, t¾t con trá BËt hiÓn thÞ, nhÊp nh¸y con trá T¾t con trá, nhÊp nh¸y con trá DÞch vÞ trÝ con trá sang tr¸i DÞch vÞ trÝ con trá sang ph¶i DÞch toµn bé hiÓn thÞ sang tr¸i DÞch toµn bé hiÓn thÞ sang ph¶i §−a con trá vÒ ®Çu dßng thø nhÊt (*) §−a con trá vÒ ®Çu dßng thø hai (*) Hai dßng vµ ma trËn 5x7
(*) §Þa chØ cña c¸c dßng cô thÓ cña LCD 2408 nh− sau Dßng 1
0080H
Dßng 2
0098H
Dßng 3
00B8H
Dßng 4
00D8H
LCD 2408 ®−îc ph©n lµm 2 nöa mµn h×nh vµ ch©n E1, E2 ®−îc dïng ®Ó chän lµm viÖc víi c¸c mµn h×nh theo thø tù 1, 2, møc tÝch cùc cña c¸c ch©n nµy lµ møc "1". Cô thÓ, vÝ dô ta muèn in kÝ tù 'A' lªn dßng 2 cña nöa mµn h×nh 2 (d−íi) cña LCD, ta thùc hiÖn: - §Æt E1 =0, E2 = 1 - ChuyÓn sang thanh ghi lÖnh: ®Æt RS=0 - Göi m3 lÖnh ra LCD:
mov LCD_DATA_PORT, #DONG2
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 49
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
- ChuyÓn sang thanh ghi d÷ liÖu: ®Æt RS =1 - In kÝ tù 'A': mov LCD_DATA_PORT , #'A' 2.3.3.3 Vi m¹ch më réng cæng giao tiÕp cã thÓ lËp tr×nh 8255 Do 89C52 chØ cã 32 ®−êng xuÊt nhËp nªn ta sö dông 8255 - mét vi m¹ch chuyªn dông cña h3ng Intel ®Ó më réng I/O cña 89C52. Sau ®©y
U19 34 33 32 31 30 29 28 27 9 8 35 5 36 6
D0 D1 D2 D3 D4 D5 D6 D7
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7
A0 A1
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
RESET RD WR CS
8255
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
4 3 2 1 40 39 38 37
ta t×m hiÓu kü vÒ vi m¹ch nµy.
18 19 20 21 22 23 24 25
c¸c vi ®iÒu khiÓn. Nã ®−îc sö dông rÊt réng r3i trong
14 15 16 17 13 12 11 10
riªng biÖt. C¸c cæng nµy ®Òu cã kh¶ n¨ng lËp tr×nh lµm
H×nh 2.14 S¬ ®å ch©n cña 8255
§©y lµ vi m¹ch cña h3ng Intel dïng ®Ó më réng thªm c¸c cæng giao tiÕp cho c¸c vi ®iÒu khiÓn còng nh− c¸c øng dông ®iÒu khiÓn bëi tÝnh linh ho¹t vµ ®é æn ®Þnh ho¹t ®éng. Chip cã 3 cæng A, B, C ®−îc truy cËp cæng vµo hoÆc ra ®éc lËp. Ngoµi ra c¸c cæng cña 8255 cßn cã kh¶ n¨ng b¾t tay, do vËy, cho phÐp giao diÖn víi c¸c thiÕt bÞ kh¸c còng cã tÝn hiÖu b¾t tay, vÝ dô nh− m¸y in.
- PA0 - PA7, PB0-PB7: C¶ 8 bit cña cæng A, B cã thÓ ®−îc lËp tr×nh thµnh 8 bit vµo, 8 bit ra, hoÆc c¶ 8 bit 2 chiÒu vµo/ra. - PC0 - PC7: TÊt c¶ c¸c bit cña cæng C ®Òu cã thÓ ®−îc lËp tr×nh thµnh c¸c bit vµo hoÆc c¸c bit ra. 8 bit nµy còng cã thÓ ®−îc chia lµm 2 phÇn: PhÇn cao (PC4PC7) lµ CU (Uppers bits) vµ phÇn thÊp (PC0 - PC3) lµ CL (Lower Bits). Mçi phÇn cã thÓ ®−îc sö dông ®éc lËp lµm ®Çu vµo hoÆc ra. Ngoµi ra, tõng bit cña cæng C tõ PC0 - PC7 còng cã thÓ ®−îc lËp tr×nh riªng rÏ. - D0 D7: c¸c ch©n d÷ liÖu D0-D7 cña 8255 ®−îc nèi tíi c¸c ch©n d÷ liÖu cña bé vi ®iÒu khiÓn ®Ó cho phÐp trao ®æi d÷ liÖu gi÷a chóng. - RD, WR: Lµ hai tÝn hiÖu ®iÒu khiÓn tÝch cùc møc thÊp vµ lµ c¸c ch©n vµo cña 8255. C¸c ch©n tÝn hiÖu cña /RD /WR cña 8031/51 ®−îc nèi ®Õn c¸c ch©n nµy. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 50
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
- RESET: Lµ tÝn hiÖu vµo tÝch cùc møc cao ®−îc dïng ®Ó xãa thanh ghi ®iÒu khiÓn. Khi ch©n RESET ®−îc kÝch ho¹t th× tÊt c¶ c¸c cæng ®−îc khëi ®éng l¹i lµm c¸c cæng vµo. Trong nhiÒu thiÕt kÕ th× ch©n nµy ®−îc nèi tíi ®Çu ra RESET cña bus hÖ thèng hoÆc ®−îc nèi ®Êt ®Ó kh«ng bÞ kÝch ho¹t. Còng nh− tÊt c¶ c¸c ch©n vµo
cña
IC,
ch©n
nµy
còng
cã
thÓ
®Ó
hë.
- A0, A1, /CS: /CS lµ ch©n chän chip, cßn A0, A1 cho phÐp chän cæng. C¸c ch©n nµy ®−îc dïng ®Ó truy cËp c¸c cæng A, B, C hoÆc thanh ghi ®iÒu khiÓn nh− tr×nh bµy ë b¶ng sau: /CS
A1
A0
Chän cæng
0
0
0
Cæng A
0
0
1
Cæng B
0
1
0
Cæng C
0
1
1
Thanh ghi ®iÒu khiÓn
1
x
x
8255 Kh«ng ®−îc chän
B¶ng chän cæng cña 8255
C¸c chÕ ®é lµm viÖc cña 8255 C¸c cæng A, B, C cña 8255 ®−îc dïng ®Ó nhËp xuÊt d÷ liÖu, cßn thanh ghi ®iÒu khiÓn th× ®−îc lËp tr×nh ®Ó chän chÕ ®é lµm viÖc cho c¸c cæng nµy. C¸c cæng cña 8255 ®−îc lËp tr×nh theo c¸c chÕ ®é sau: 1.
ChÕ ®é 0 (Mode 0): §©y lµ chÕ ®é vµo/ra ®¬n gi¶n. ë 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. V× c¸c øng dông liªn quan ®Õn 8255 chñ yÕu sö dông chÕ ®é nµy vµ KIT còng chØ sö dông chÕ ®é nµy nªn chóng ta sÏ t×m hiÓu kü h¬n.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 51
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
ChÕ ®é 1 (Mode 1): ë chÕ ®é nµy, cæng A ,B cã thÓ dïng lµm cæng vµo/ ra
2.
hai chiÒu víi kh¶ n¨ng b¾t tay. TÝn hiÖu b¾t tay ®−îc cÊp bëi c¸c bit cña cæng C. ChÕ ®é 2 (Mode 2): ë chÕ ®é nµy, cæng A cã thÓ ®−îc dïng lµm cæng vµo/ra
3.
hai chiÒu víi kh¶ n¨ng b¾t tay, tÝn hiÖu b¾t tay ®−îc cÊp bëi c¸c bit cæng C. Cæng B cã thÓ ®−îc dïng nh− ë chÕ ®é vµo/ ra ®¬n gi¶n hoÆc ë chÕ ®é b¾t tay Mode 1. ChÕ ®é BSR: §©y lµ chÕ ®é thiÕt lËp / xãa bit (Bit Set/Reset). ë chÕ ®é nµy
4.
chØ cã nh÷ng bit riªng rÏ cña cæng C cã thÓ lËp tr×nh ®−îc.
LËp tr×nh chÕ ®é vµo ra ®¬n gi¶n H3ng Intel gäi chÕ ®é 0 lµ chÕ ®é vµo / ra c¬ së. Mét thuËt ng÷ kh¸c ®−îc sö dông phæ biÕn ®ã lµ vµo ra ®¬n gi¶n. ë chÕ ®é nµy th× bÊt k× c«ng A, B, hay C ®Ó thÓ ®−îc lËp tr×nh lµm cæng vµo hoÆc ra riªng rÏ. Tuy nhiªn mét cæng kh«ng thÓ ®ång thêi võa lµ ®Çu vµo l¹i võa lµ ®Çu ra.
Nhãm A D7
D6
D5
1 = I/O Mode 0 = BSR Mode
Chän mode 00 = Mode 0 01 = Mode 1 1x = Mode 2
Nhãm B D4
D3
Cæng A 1= Input 0 = Output
D2 Chän mode 0 = Mode 0 1 = Mode 1
Cæng C PC7 – PC4 1= Input 0 = Output
D1
D0
Cæng C PC3– PC0 1= Input 0 = Output
Cæng B 1= Input 0 = Output
H×nh 2.15 Khu«n d¹ng tõ ®iÒu khiÓn cña 8255 (chÕ ®é vµo ra c¬ së)
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 52
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
2.3.4 Khèi vµo/ra ADC, DAC
A D C, D A C CAÙC BOÄ BIEÁN ÑOÅI TÖÔNG TÖÏ SOÁ, SOÁ TÖÔNG TÖÏ
ÑAÀU VAØ O TÖÔNG TÖÏ
VCC VCC CR1 104
J6
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
/RD /WR A0 A1 /CS 6_8255
5 36 9 8 35 6
26
J7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7
RD WR A0 A1 RESET CS
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
GND
-12V 12V GND -5V VCC
7 8255_4_5
4 3 2 1 40 39 38 37
4PA0 4PA1 4PA2 4PA3 4PA4 4PA5 4PA6 4PA7
U14 ADC0809/LCC
18 19 20 21 22 23 24 25
4PB0 4PB1 4PB2 4PB3 4PB4 4PB5 4PB6 4PB7
14 15 16 17 13 12 11 10
4PC0 4PC1 4PC2 4PC3 4PC4 4PC5
4PA0 4PA1 4PA2 4PA3
8 7 6 5 4 3 2 1
VCC
C14.1
10uF
4PC0 4PC1 4PC2
HEADER 8
25 24 23
GND
VCC
GND
12 16
CLK ADC
10
4PC3 4PC4
22 9 6
VCC
11
IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
ADDA ADDB ADDC
EOC
7
4PB7 4PB6 4PB5 4PB4 4PB3 4PB2 4PB1 4PB0
CR16.1 R2 2.7K
CV RST THR TRG 1
330pF CR16.2
R15.1
R15.3
1.5K
1K
VCC
U15 12 11 10 9 8 7 6 5 14
GND
DSCHG
VCC GND
7
15
10nF 5 4 6 2
1
LM35/TO
R3
+VREF -VREF
10K R5
CLK 10K
ALE OE START
GND
VCC
VCC
CLOCK for ADC
OUT
VS+
10K R4
12V
GND
U16 LM555
VOUT
4PC5
CR15.1 C GND
3
2
SW DIP-4
VCC
CLK ADC
VCC
U18
SW1 4PA0 4PA1 4PA2 4PA3
17 14 15 8 18 19 20 21
CR14 104 GND
GND
GND
8255_2 ADC, DAC ADRRESS: PA_2:8004H PB_2:8005H PC_2:8006H CW_2:8007H
26 27 28 1 2 3 4 5
R1 VCC
13
A8 A7 A6 A5 A4 A3 A2 A1
DAC0808 V+ 4 IOUT IOUT
ÑAÀU RA TÖÔNG TÖÏ
7
-12V 12V GND -5V VCC
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39
D0 D1 D2 D3 D4 D5 D6 D7
3
+
2
-
J_OUT ANALOG
U17A HA17741 6
1 2
4
D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 /RD /WR /CS_8255_7SEG_LED /CS_8255_MATRIX_LED
34 33 32 31 30 29 28 27
8255
VCC
D0 D1 D2 D3 D4 D5 D6 D7
TO BOARD NGOAI VI 3 LED 7 DOAN, LED MATRIX 8X8
U1
2
GND
HEADER 2
-12V GND COMP
16 R17.1
VR+ VR-
3
V-
C15.1 0.1uF
4K7
R15.2 1.5K
6.9K -5V
8 R15.4 1K
GND
H×nh 2.16 – S¬ ®å nguyªn lý khèi vµo/ra ADC, DAC
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 53
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
C¸c linh kiÖn chÝnh cã trong m¹ch: ADC0809 26 27 28 1 2 3 4 5 25 24 23 12 16 10 22 9 6 11
IN0 IN1 IN2 IN3 IN4 IN5 IN6 IN7
DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7
ADDA ADDB ADDC
EOC
17 14 15 8 18 19 20 21 7
+VREF -VREF CLK ALE OE START VCC
H×nh 2.17 - S¬ ®å ch©n cña ADC 0809 ADC0809 lµ vi m¹ch chuyÓn ®æi tÝn hiÖu tõ t−¬ng tù sang sè 8 bit. Vi m¹ch nµy ®−îc chÕ t¹o theo c«ng nghÖ CMOS. Bé chuyÓn ®æi t−¬ng tù sè nµy sö dông ph−¬ng ph¸p chuyÓn ®æi xÊp xØ. Sai sè cña phÐp chuyÓn ®æi lµ 1 bit. Tuy nhiªn do yªu cÇu vÒ ®é chÝnh x¸c cña tÝn hiÖu trong bé KIT kh«ng qu¸ cao nªn sai sè nh− trªn lµ chÊp nhËn ®−îc. Sau ®©y lµ mét vµi ®Æc ®iÓm cña vi m¹ch ADC0809 : - Nguån nu«i 5 V. D¶i tÝn hiÖu lèi vµo t−¬ng tù 5V khi nguån nu«i lµ +5V. Cã thÓ më réng thang ®o b»ng c¸c gi¶i ph¸p kü thuËt cho tõng m¹ch cô thÓ. - DÔ dµng giao tiÕp víi vi ®iÒu khiÓn v× ®Çu ra cã bé ®Öm 3 tr¹ng th¸i nªn cã thÓ ghÐp trùc tiÕp vµo kªnh d÷ liÖu cña hÖ vi ®iÒu khiÓn. - Tæng sai sè ch−a chØnh 1/2 LSB. - Thêi gian chuyÓn ®æi 100 s . - TÇn sè xung clock 10kHz – 1028 kHz. - §¶m b¶o sai sè tuyÕn tÝnh trong d¶i nhiÖt ®é tõ –400C Chøc n¨ng cña c¸c ch©n cña ADC0809 : Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
85OC.
Trang 54
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
- IN0 – IN7 : 8 ch©n ®Çu vµo t−¬ng tù. - A, B, C : c¸c ch©n tÝn hiÖu chän kªnh. - C¸c ch©n D0
D7 : lµ c¸c ®Çu ra sè.
- ALE : ch©n tÝn hiÖu cho phÐp chèt sè liÖu ®Çu vµo. - Start : xung cho phÐp b¾t ®Çu chuyÓn ®æi. - Clk : ®Çu vµo cung cÊp xung clock cho ADC - Ref(+) : ®iÖn ¸p vµo chuÈn +5v - Ref(-) : ®iÖn ¸p vµo chuÈn 0 - OE : Ch©n cho phÐp xuÊt d÷ liÖu ®3 chuyÓn ®æi ra DataBus. - EOC : Cho biÕt qu¸ tr×nh chuyÓn ®æi ®3 kÕt thóc.
- Vcc: nguån cung cÊp Ho¹t ®éng cña ADC0809 : §Çu tiªn ta ph¸t tÝn hiÖu vµo 3 ch©n A, B, C ®Ó chän cæng vµo t−¬ng tù. §Ó b¾t ®Çu cho ADC0809 ho¹t ®éng, ta ph¸t xung vµo ch©n Start. TiÕp tôc ph¸t xung ALE ®Ó chèt d÷ liÖu t−¬ng tù ®Çu vµo. Sau khi qu¸ tr×nh chuyÓn ®æi t−¬ng tù – sè ®3 diÔn ra xong. ADC0809 sÏ tù ph¸t ra mét xung trªn ch©n EOC ®Ó b¸o cho biÕt ®3 kÕt thóc qu¸ tr×nh chuyÓn ®æi. §Ó d÷ liÖu ®−îc ®−a ra c¸c ch©n D0
D7, ta
ph¸t mét xung vµo ch©n OE cña ADC0809. B©y giê cã thÓ ®äc d÷ liÖu ®−îc. Trong m¹ch nguyªn lý cña khèi vµo/ra ADC-DAC, ADC0809 ®−îc ®iÒu khiÓn bëi 2 cæng cña 8255. Cæng PA cña 8255 ®−îc nèi víi c¸c ch©n ra sè cña ADC, cßn viÖc ph¸t xung ®iÒu khiÓn ADC ®−îc thùc hiÖn bëi 4 bit thÊp cña cæng PC. LM555 §©y lµ vi m¹ch dïng ®Ó t¹o xung clock cho ADC0809. Vi m¹ch nµy ®−îc sö dông réng r3i trong c¸c øng dông cÇn t¹o ra xung vu«ng cã tÇn sè thay ®æi. D−íi ®©y lµ s¬ ®å khèi vµ c¸ch lµm viÖc cña IC nµy. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 55
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
U1 3
OUT
DSCHG
7
5 CV 4 RST 6 THR 2 TRG VCC
8
LM555
H×nh 2.18 - S¬ ®å ch©n LM555
LM35 Trong phÇn chuyÓn ®æi ADC, DAC ngoµi ®Çu vµo tÝn hiÖu t−¬ng tù b»ng c¸c biÕn trë vi chØnh, trªn KIT cßn trang bÞ mét c¶m biÕn nhiÖt ®é, hä LM35. §©y lµ hä c¶m biÕn nhiÖt, m¹ch tÝch hîp, chÝnh x¸c cao, cã ®iÖn ¸p ®Çu ra tû lÖ tuyÕn tÝnh víi nhiÖt ®é theo thang ®é C. Hä c¶m biÕn nµy kh«ng yªu cÇu c¨n chØnh ngoµi v× vèn nã
15
A8 A7 A6 A5 A4 A3 A2 A1
IOUT IOUT
COMP
4 2
16
VR+ V-
14
V+
U6 12 11 10 9 8 7 6 5
13
®3 ®−îc c¨n chØnh. Hä nµy cho ®iÖn ¸p ra 10mV øng víi thay ®æi nhiÖt ®é lµ 10C.
VR-
3
DAC0808
H×nh 2.20 - S¬ ®å ch©n cña DAC0808
H×nh 2.19 S¬ ®å ch©n cña LM35
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 56
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
DAC0808 DAC0808 lµ vi m¹ch chuyÓn ®æi tÝn hiÖu tõ sè sang t−¬ng tù cã ®é chÝnh x¸c 8 bit. TÝn hiÖu t−¬ng tù lµ dßng (Iout) vµ nÕu nèi ®iÖn trë tíi ch©n Iout th× kÕt qu¶ sÏ ®−îc chuyÓn thµnh ®iÖn ¸p. Dßng tæng ®−îc cÊp bëi ch©n Iout lµ mét hµm sè nhÞ ph©n cña c¸c ®Çu vµo D0 – D7 cña DAC0808 vµ ®−îc tÝnh theo Iref nh− sau: I OUT
I REF
D7 2
D6 4
D5 8
D4 16
D3 32
D 2 D1 64 128
D0 256
Dßng ®Çu vµo IREF ph¶i ®−îc ¸p vµo ch©n 14. Dßng IREF th−êng ®¹t gi¸ trÞ 2mA. NÕu IREF = 2mA, cßn tÊt c¶ ®Çu vµo nèi víi møc cao th× dßng ®iÖn cùc ®¹i ë ®Çu ra lµ 1.99mA. ChuyÓn IOUT sang ®iÖn ¸p ë DAC0808 NÕu nèi ®iÖn trë tíi ch©n IOUT th× dßng ®−îc chuyÓn thµnh ®iÖn ¸p vµ cã thÓ kiÓm tra ®Çu ra b»ng m¸y hiÖn sãng. Tuy nhiªn, nh− vËy sÏ lµm gi¶m ®é chÝnh x¸c do bÞ thay ®æi trë kh¸ng vµo cña t¶i. V× vËy dßng IREF cÇn ®−îc c¸ch ly b»ng c¸ch dïng khuyÕch ®¹i thuËt to¸n, vÝ dô nh− HA17741 víi ®iÖn trë håi tiÕp Rf = 5 K. Chøc n¨ng c¸c ch©n : - A1
A8 : C¸c ®Çu vµo sè
- VR+ : §iÖn ¸p chuÈn d−¬ng - VR- : §iÖn ¸p chuÈn ©m - V- (VEE) : §iÖn ¸p so s¸nh hiÖu chØnh - V+ : §iÖn ¸p nguån cung cÊp - COMP : Ch©n tÝn hiÖu so s¸nh - IOUT : Dßng ra d−¬ng - /IOUT : Dßng ra ©m Sau ®©y lµ m¹ch øng dông phæ biÕn nhÊt cña ADC0808 :
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 57
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 58
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
2.3.5 Khèi vµo/ra xung sè, ®iÒu khiÓn ®éng c¬ b−íc
VAØ O R A X U N G SOÁ ÑIEÀ U KH IEÅ N Ñ OÄ N G C Ô B ÖÔ C Ù Ñ OÄ NG CÔ 1 CH I E À U VCC
CR3 104
ÑAÀU VAØO SOÁ
GND
VAØO RA XUNG SOÁ ÑOÄNG CÔ BÖÔÙC D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 /RD /WR /CS_8255_PULSE_STEPPER -12V 12V GND -5V VCC
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39
J5
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
U3
D0 D1 D2 D3 D4 D5 D6 D7
34 33 32 31 30 29 28 27
/RD /WR A0 A1 /CS_8255_PULSE_STEPPER
5 36 9 8 35 6
26
VCC
D0 D1 D2 D3 D4 D5 D6 D7
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7
RD WR A0 A1 RESET CS
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
GND
-12V 12V GND -5V VCC
8255
7
VCC RN2
SW1 4 3 2 1 40 39 38 37
3PA0 3PA1 3PA2 3PA3 3PA4 3PA5 3PA6 3PA7
18 19 20 21 22 23 24 25
3PB0 3PB1 3PB2 3PB3 3PB4 3PB5
3PA0 3PA1 3PA2 3PA3 3PA4 3PA5 3PA6 3PA7
3PA0 3PA1 3PA2 3PA3 3PA4 3PA5 3PA6 3PA7
1 2 3 4 5 6 7 8 9 10k
SW DIP-10 D22.13 3PA0
14 15 16 17 13 12 11 10
3PC0 3PC1 3PC2 3PC3 3PC4 3PC5 3PC6 3PC7
LED D22.14 3PA1 LED D22.15
GND
1 2 3 4 5 6 7 8 9
LED D22.16 3PA3
8255_3
8255_3 XUNG SOÁ, ÑOÄNG CÔ BÖÔÙC ADRRESS: PA_3:8008H PB_3:8009H PC_3:800AH CW_3:800BH
RN1
VCC
3PA2
GND
LED D22.17 3PA4
1k LED D22.18
J10 3PA5 1 2
VCC SW22.9
LED D22.19
R22.9 3PC4
3PA6
3PC4 1K
SW22.10
HEADER 2 J11
R22.10 3PC5
3PC0 3PC1 3PC2 3PC3
LED D22.20 3PA7
3PC5
1 2
LED
1K SW22.11
R22.11 3PC6
J9 HEADER 2
3PC6 VCC 1K
SW22.12
1 2
SW2
R22.12 3PC7
12V
VCC GND
3PC7 HEADER 2 1K R22.21
D22.9
1K R22.22
D22.10
3PC4
ÑAÀU VAØO XUNG DAÏNG NUÙT AÁN
3PC5 1K R22.23
ÑAÀU VAØO XUNG TÖØ CAÙC THIEÁT BÒ NGOAØI NHÖ ENCODER
D22.11
3PC6 1K R22.24
D22.12
3PC7
SW KEY -SPDT
J_STEPMOTOR U4 3PB0 3PB1 3PB2 3PB3 3PB4 3PB5
1 2 3 4 5 6 7 8 10
1K
IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8
OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8
18 17 16 15 14 13 12 11
1 2 3 4 5 6 OUT5 OUT6
J6
OUT5
2 1
J7
OUT6
HEADER 2
2 1
HEADER 2
HEADER 6
ÑOÄNG CÔ BÖÔÙC
ÑOÄNG CÔ 1 CHIEÀU
COM ULN2803
H×nh 2.21 - Khèi vµo/ra xung sè vµ ®iÒu khiÓn ®éng c¬ b−íc, ®éng c¬ 1 chiÒu Linh kiÖn chÝnh cã trong m¹ch : §éng c¬ b−íc §éng c¬ b−íc thùc hiÖn viÖc chuyÓn c¸c xung ®iÖn thµnh c¸c b−íc quay mÞn cña motor. Do cã sù t−¬ng øng 1-1 gi÷a xung ®iÖn ®iÒu khiÓn vµ b−íc quay cña motor nªn ®éng c¬ b−íc cã ®é chÝnh x¸c dÞch chuyÓn cao. V× vËy ®éng c¬ b−íc th−êng ®−îc sö dông trong c¸c thiÕt bÞ to¹ ®é chÝnh x¸c nh− c¸nh tay robot, m¸y in, m¸y vÏ, thiÕt bÞ khoa häc...
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 59
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
Nguyªn lý ho¹t ®éng vµ cÊu t¹o cña ®éng c¬ b−íc ®−îc tr×nh bµy nh− sau :
H×nh 2.22 - Nguyªn lý cÊu t¹o cña ®éng c¬ b−íc. Nh− h×nh vÏ trªn lµ lo¹i ®éng c¬ b−íc lo¹i nam ch©m vÜnh cöu. Roto lµm b»ng nam ch©m vÜnh cöu cßn c¸c cuén d©y ®−îc quÊn trªn stato. B−íc gãc cña r«to lµ 900 . §éng c¬ cã 4 cùc ®−îc ®Æt ë vÞ trÝ ®èi diÖn nhau tõng cÆp mét, gåm X , X vµ Y , Y . Tuú thuéc vµo chiÒu dßng ®iÖn ch¹y qua c¸c cuén d©y mµ tõ tr−êng cña stato sÏ cã mét h−íng nhÊt ®Þnh. Do ®ã roto sÏ ®−îc ®Þnh vÞ chÝnh x¸c. ViÖc thay ®æi thø tù chiÒu dßng ®iÖn ch¹y qua c¸c cuén d©y theo mét tr×nh tù nhÊt ®Þnh sÏ ®iÒu khiÓn ®−îc ®éng c¬ ch¹y thuËn hay ch¹y ng−îc nh− mong muèn. Vµ tèc ®é cña ®éng c¬ cã thÓ ®−îc ®iÒu chØnh b»ng kho¶ng thêi gian trÔ gi÷a hai lÇn thay ®æi thø tù chiÒu dßng ®iÖn.
Theo chiÒu kim ®ång hå
Ng−îc chiÒu kim ®ång hå
H×nh 2.23 - Nguyªn lý cÊp xung cho ®éng c¬ b−íc. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 60
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
Trong m¹ch nguyªn lý ë h×nh 2.20 cã mét header 6 ®Çu ra ®Ó ®iÒu khiÓn ®éng c¬ b−íc (Stepper motor). Lo¹i ®éng c¬ b−íc ®−îc l¾p ®Æt trªn bé KIT lµ ®éng c¬ b−íc cã ®iÖn ¸p nguån cÊp lµ 5V vµ ®é ph©n gi¶i lµ 200, tøc lµ víi mçi nhÞp ®iÒu khiÓn, motor b−íc sÏ quay mét gãc = 3600/200 = 1,80.
H×nh cña khèi xung sè, ®éng c¬ b−íc, ®éng c¬ 1 chiÒu
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 61
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
2.3.6 Khèi hiÓn thÞ LED matrix
LED M A TR AÄ N U41 5PB0 5PB1 5PB2 5PB3 5PB4 5PB5 5PB6 5PB7
1 2 3 4 5 6 7 8
IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8
10
OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8
18 17 16 15 14 13 12 11
COM
RG1 VCC
2
2
2
1 RG6
D8
1
2 1
D7
1
2
2
RG5
RG7
RG8
26
7
C2383
TL5
C2383 6 9 C2383
12
5PA5 TL7
10
7
4
1
A4
8x8 Bi-Color Led Matrix
A5 A6 A7 A8 R2 R1
R3 R4 R5 R6 R7 R8 11
3
5PA4
G5 G6 G7 G8
A3
8
16 13
GND
GND
CLM1 22 G1 G3 G4 A1 G2 19 A2
5PA3
TL6
15
5PC0 5PC1 5PC2 5PC3 5PC4 5PC5 5PC6 5PC7
TL4
18
14 15 16 17 13 12 11 10
C2383
5PA2
5
PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
5PB0 5PB1 5PB2 5PB3 5PB4 5PB5 5PB6 5PB7
C2383
TL3
5PA1
2
RESET RD WR CS
18 19 20 21 22 23 24 25
TL2
5PA0
14
35 5 36 6
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7
5PA0 5PA1 5PA2 5PA3 5PA4 5PA5 5PA6 5PA7
C2383
5PA6
8255
TL8
C2383
5PA7
1
RR8
D15
D16
2
D14
2
D13
RR7
1
1
RR6
2
D12
2
D11
RR5
1
1
RR4
2
D10
2
D9
RR3
1
RR2
1
RR1
2
8255_4_5
-12V 12V GND -5V VCC
8255_5 LED MA TRAÄN ADRRESS: PA_5:800CH PB_5:800DH PC_5:800EH CW_5:800FH
RG4
17
/RD /WR /CS_8255_MATRIX_LED
A0 A1
4 3 2 1 40 39 38 37
2
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
RG3
21
9 8
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7
C2383
24
A0 A1
D0 D1 D2 D3 D4 D5 D6 D7
TL1
1
-12V 12V GND -5V VCC
J6
D6
VCC
20
34 33 32 31 30 29 28 27
TO BOARD NGOAI VI 3 LED 7 DOAN, LED MATRIX 8X8 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39
RG2
D5
23
D0 D1 D2 D3 D4 D5 D6 D7
VCC
U18
D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 /RD /WR /CS_8255_7SEG_LED /CS_8255_MATRIX_LED
D4
VCC
DATA (D0-D7)
GND
D3
1
D2
1
1
D1
1
2
2
ULN2803
U42 5PC0 5PC1 5PC2 5PC3 5PC4 5PC5 5PC6 5PC7
1 2 3 4 5 6 7 8 10
IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8
OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8
18 17 16 15 14 13 12 11
COM ULN2803
H×nh 2.24 - S¬ ®å nguyªn lý m¹ch hiÓn thÞ LED matrix LED matrix 8x8 lµ mét b¶ng 64 ®iÓm LED bè trÝ theo kiÓu ma trËn 8 hµng x 8 cét, t¹i mçi ®iÓm 2 LED xanh vµ ®á ®Êu chung An«t, mçi hµng gåm 8 ®iÓm còng ®Êu chung An«t víi nhau. Nh− vËy ma trËn LED cã 24 ch©n : 8 ch©n An«t chung, 8 ch©n ®iÒu khiÓn ®Ìn xanh vµ 8 ch©n ®iÒu khiÓn ®Ìn ®á. §Þa chØ c¸c cæng vµ thanh ghi ®iÒu khiÓn cña 8255 ®iÒu khiÓn LED matrix nh− sau :
PA5 : 800Ch
PB5 : 800Dh
PC5 : 800Eh
CW5 : 800Fh
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 62
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
H×nh cña khèi LED ®¬n, LED 7 ®o¹n, LED ma trËn Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 63
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
ULN2803: IC lµm nhiÖm vô ®Öm dßng cho LED ma trËn vµ ®éng c¬ b−íc còng nh− ®éng c¬ 1 chiÒu. IC nµy gåm 8 bé tranzitor NPN m¾c Darlington, chÞu ®−îc ®iÖn ¸p ®Çu vµo ®Õn 30V, ®Çu ra ®Õn 50V, dßng IC cùc ®¹i cã thÓ chÞu ®−îc lµ 500mA, ®ñ ®Ó ®Öm dßng cho ma trËn LED. Ngoµi ra nã cßn tÝch hîp c¸c transistor ®Ó chèng qu¸ ¸p khi ®ãng ng¾t c¸c t¶i c¶m (c¸c cuén d©y cña ®éng c¬). Nguyªn lý ho¹t ®éng: Khi ®Çu vµo t−¬ng øng ë møc cao th× ®Çu ra t−¬ng øng ë møc thÊp.
H×nh 2.25 S¬ ®å ch©n cña UNL2803
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 64
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
2.3.7 Khèi hiÓn thÞ LED 7 ®o¹n vµ LED ®¬n
L E D 7 Ñ OA ÏN , L E D Ñ ÔN VCC VCC U30
CR40 GND104
DATA (D0-D7)
8255_4 LED 7 ÑOAÏN LED ÑÔN ADRRESS: PA_4:C000H PB_4:C001H PC_4:C002H CW_4:C003H
16 7 1 2 6
U40 26 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1
34 33 32 31 30 29 28 27 9 8
GND 35 /RD 5 /WR 36 /CS_8255_7SEG_LED 6
VCC PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7
D0 D1 D2 D3 D4 D5 D6 D7 A0 A1
RESET RD WR CS
7
PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7
4 3 2 1 40 39 38 37
3 5
4PA0 4PA1 4PA2 4PA3 4PA4 4PA5 4PA6 4PA7
D0 D1 D2 D3
A B C D E F G
LT RBI 8
VCC
7447
VCC
BI/RBO GND GND
13 12 11 10 9 15 14 4
R26.1 R26.2 R26.3 R26.4 R26.5 R26.6 R26.7
U26
560
7 6 4 2 1 9 10 5
VCC 7 Segs LED
U31
18 19 20 21 22 23 24 25
7 1 2 6 3 5
D0 D1 D2 D3 LT RBI
A B C D E F G BI/RBO
14 15 16 17 13 12 11 10
a b c d e f g pt
13 12 11 10 9 15 14 4
R27.1 R27.2 R27.3 R27.4 R27.5 R27.6 R27.7
U27
560
7 6 4 2 1 9 10 5
a b c d e f g pt
VCC 7 Segs LED
7447 VCC U32 7 1 2 6
GND
8255_0 3 5
GND
D0 D1 D2 D3 LT RBI
A B C D E F G BI/RBO
13 12 11 10 9 15 14
R28.1 R28.2 R28.3 R28.4 R28.5 R28.6 R28.7
U28
560
7 6 4 2 1 9 10 5
4
a b c d e f g pt
VCC 7 Segs LED
7447 VCC U33 7 1 2 6 3 5
D0 D1 D2 D3 LT RBI
A B C D E F G BI/RBO
13 12 11 10 9 15 14 4
R29.1 R29.2 R29.3 R29.4 R29.5 R29.6 R29.7
U29
560
7 6 4 2 1 9 10 5
a b c d e f g pt
VCC 7 Segs LED
7447 VCC
D17
LED D18
LED D19 U43 4PA0 4PA1 4PA2 4PA3 4PA4 4PA5 4PA6 4PA7
1 2 3 4 5 6 7 8
IN1 IN2 IN3 IN4 IN5 IN6 IN7 IN8
10
OUT1 OUT2 OUT3 OUT4 OUT5 OUT6 OUT7 OUT8
18 17 16 15 14 13 12 11
LED R49 D20
LED D21
COM ULN2803
LED
9 8 7 6 5 4 3 2
1
VCC
RESISTOR SIP 9
D22
LED
H×nh 2.25 - S¬ ®å nguyªn lý m¹ch hiÓn thÞ LED 7 thanh
D23
LED D24
LED
M¹ch gi¶i mM cho ®Ìn LED 7 thanh DM7447A §Ó cã thÓ hiÓn thÞ ®−îc c¸c sè liÖu lªn LED 7 thanh, ta cÇn vi m¹ch gi¶i m3 7447. Vi m¹ch nµy cã nhiÖm vô chuyÓn ®æi d÷ liÖu ®Çu vµo tõ c¸c ch©n D0
D3 thµnh
c¸c tÝn hiÖu ®−a ®Õn c¸c thanh cña LED. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 65
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
U3 7 1 2 6 3 5
D0 D1 D2 D3 LT RBI
A B C D E F G BI/RBO
13 12 11 10 9 15 14 4
7447
H×nh 2.26 - S¬ ®å ch©n cña 7447 Sau ®©y lµ b¶ng gi¶i m3 tÝn hiÖu cña vi m¹ch 7447 :
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 66
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng21 : thiÕt kÕ Kit vi ®iÒu khiÓn
§Ìn LED 7 thanh U5 7 6 4 2 1 9 10 5
a b c d e f g pt 7 Segs LED
H×nh 2.27 - S¬ ®å ch©n cña LED 7 thanh Dßng tiªu thô cña ®Ìn kh¸ lín, mçi ®Ìn cã dßng kho¶ng 100mA. ChÝnh v× vËy ta cÇn cã ®iÖn trë giíi h¹n dßng gi÷a vi m¹ch gi¶i m3 7447 vµ LED. Trong ®å ¸n nµy, ta sö dông lo¹i ®Ìn cã Anèt chung, mµu hiÓn thÞ lµ mµu ®á.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 67
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 3 : X©y dùng phÇn mÒm
Ch−¬ng III x©y dùng phÇn mÒm Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n m«n T§H
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 68
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 3 : X©y dùng phÇn mÒm
Ch−¬ng III x©y dùng phÇn mÒm 3.1 Ch−¬ng tr×nh MONITOR cho KIT Do ch−¬ng tr×nh MONITOR cña hÖ thèng phøc t¹p vµ kh¸ lín nªn ta sÏ tæ chøc thµnh nhiÒu module nhá ghÐp l¹i víi nhau. Mçi module thùc hiÖn mçi chøc n¨ng riªng, c¸c module trong ch−¬ng tr×nh: + Module thùc hiÖn viÖc hiÓn thÞ LCD. + Module qu¶n lý bµn phÝm. + Module qu¶n lý viÖc ®äc/ghi d÷ liÖu trong EEPROM vµ RAM. + Module t¹o thêi gian trÔ. + Ch−¬ng tr×nh chÝnh (Main). + Module ®iÒu khiÓn truy cËp c¸c thanh ghi ®Æc biÖt vµ c¸c « nhí bªn trong chip vi ®iÒu khiÓn chÝnh. + Module truyÒn th«ng giao tiÕp víi m¸y tÝnh PC. MO nguån cña ch−¬ng tr×nh hÖ ®iÒu hµnh ®−îc giíi thiÖu ë phÇn phô lôc cña ®å ¸n. Sau ®©y lµ l−u ®å thuËt to¸n cña ch−¬ng tr×nh MONITOR :
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 69
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 3 : X©y dùng phÇn mÒm
L−u ®å thuËt to¸n cña module Main: khëi t¹o c¸c thiÕt ®Æt ban ®Çu cho KIT vµ c¸c thiÕt bÞ ngo¹i vi, hiÓn thÞ mµn h×nh 1.
B¾t ®Çu
Khëi t¹o c¸c biÕn, c¸c thiÕt lËp ban ®Çu cho 8255 Khëi ®éng LCD
HiÓn thÞ MAIN MENU
Cµi ®Æt c¸c ng¾t Cho phÐp ng¾t ngoµi 0 Cho phÐp ng¾t nèi tiÕp
HiÓn thÞ Mµn h×nh 1
N
Y EEPROM trèng?
Key=F1?
Call Step Mode
Key=F2?
HiÓn thÞ mµn h×nh 4 Call DEMO Prog.
HiÓn thÞ Mµn h×nh 2
Key=F2?
HiÓn thÞ mµn h×nh 4 Call DEMO Prog.
KÕt thóc
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 70
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 3 : X©y dùng phÇn mÒm
L−u ®å c¸c ch−¬ng tr×nh DEMO (Mµn h×nh 4) B¾t ®Çu
HiÓn thÞ mµn h×nh 1 Xãa byte ®Öm bµn phÝm
Byte ®Öm BUF = 1
Ch¹y Led ®¬n DEMO
Byte ®Öm BUF = 18
Byte ®Öm BUF = 2
Ch¹y Led 7 ®o¹n DEMO
Byte ®Öm BUF = 18
Byte ®Öm BUF = 3
Ch¹y Led ma trËn DEMO
Byte ®Öm BUF = 18
Byte ®Öm BUF = 4
Ch¹y Bµn phÝm, LCD DEMO
Byte ®Öm BUF = 18
Byte ®Öm BUF = 5
Ch¹y ADC, DAC DEMO
Byte ®Öm BUF = 18
Byte ®Öm BUF = 6
Ch¹y STEPPER DEMO
Byte ®Öm BUF = 18
Byte ®Öm BUF = 7
Ch¹y RS232 DEMO
Byte ®Öm BUF = 18
Byte ®Öm BUF = 18 (BSP)
HiÓn thÞ mµn h×nh 1
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
KÕt thóc
Trang 71
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 3 : X©y dùng phÇn mÒm
L−u ®å ch−¬ng tr×nh MONITOR ch¹y ë chÕ ®é gì rèi STEP MODE (Mµn h×nh 3) B¾t ®Çu
Khëi t¹o c¸c biÕn L−u c¸c thanh ghi cÇn thiÕt Gi¶ lËp CPU nh− ë tr¹ng th¸i RESET
HiÓn thÞ Mµn h×nh 3 (C¸c thanh ghi ®Æc biÖt SFR, R0 -R7 ... )
HiÓn thÞ gîi ý cho c¸c lÖnh F1, F2, BSP
Xãa byte ®Öm bµn phÝm BUF
BUF = 16 (F1)
Y
Chê vµ xö lý nhËp 1 byte vµo bé ®Öm BYTE1
BUF = 19 (ENTER)
N
In ra gi¸ trÞ BIT cÇn xem
YES (F1) Hái cã söa kh«ng? ENTER = kh«ng söa
NO (ENTER)
Chê vµ xö lý nhËp 1 BIT
BUF =19 (ENTER)
N
Y CËp nhËt vïng nhí
1 Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
2 Trang 72
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 3 : X©y dùng phÇn mÒm
1
2
Y
BUF = 17 (F2)
Chê vµ xö lý nhËp 2 byte vµo bé ®Öm BYTE1, 2
BUF = 19 (ENTER)
N
N In ra gi¸ trÞ BYTE cÇn xem
YES (F1) Hái cã söa kh«ng? - ENTER = kh«ng söa
Chê vµ xö lý nhËp 1 BYTE
NO (ENTER) BUF =19 (ENTER) Y P1.2 = 0 (STEP)
N
P1.2 =1 (STEP)
N
N CËp nhËt vïng nhí
Y Delay chèng rung
RETI
KÕt thóc
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 73
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 3 : X©y dùng phÇn mÒm
L−u ®å ch−¬ng tr×nh ng¾t ngoµi 0 (INT0) cña bµn phÝm
B¾t ®Çu
NhËn m· phÝm L−u vµo byte ®Öm bµn phÝm
Ch©n ng¾t ngoµi 1 = 1?
N
Y KÕt thóc
3.2 Ch−¬ng tr×nh qu¶n lÝ thiÕt bÞ 3.2.1 Ch−¬ng tr×nh quÐt bµn phÝm Nh− ®O tr×nh bµy ë ch−¬ng 2, bµn phÝm sö dông trong bé KIT nµy gåm cã 20 phÝm, 16 phÝm ®Çu tiªn ®−îc s¾p xÕp theo kiÓu ma trËn vµ 4 phÝm cuèi cïng ®−îc xÕp theo mét cét nèi ®Êt chung. Trªn bµn phÝm cña bé KIT, 4 phÝm trªn mét cét nèi ®Êt chung lµ c¸c phÝm chøc n¨ng : F1, F2, BACK SPACE vµ ENTER. C¸c phÝm tõ 0-9 vµ A-F dïng ®Ó nhËp liÖu, c¸c phÝm chøc n¨ng cã t¸c dông kh¸c nhau tïy theo ng÷ c¶nh cña mµn h×nh, gîi ý t¸c dông cña c¸c phÝm bÊm hiÓn thÞ trªn mµn h×nh, ®iÒu nµy gióp viÖc lµm quen vµ thÝ nghiÖm trªn KIT rÊt thuËn tiÖn vµ dÔ dµng cho ng−êi häc, nhÊt lµ khi thÝ nghiÖm ë chÕ ®é debug. L−u ®å thuËt to¸n cña ch−¬ng tr×nh quÐt bµn phÝm nh− sau: Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 74
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 3 : X©y dùng phÇn mÒm
L−u ®å thuËt to¸n cña ch−¬ng tr×nh quÐt bµn phÝm: B¾t ®Çu
XuÊt 1 ra tÊt c¶ hµng vµ cét
Hµng 1=1?
XuÊt phÝm 16 (F1)
Y
TÊt c¶ hµng = 1? Y
N
Hµng 2=1?
XuÊt phÝm 17 (F2)
Y Hµng 3=1?
XuÊt phÝm 18 (BSP)
Y Hµng 4=1? Nèi ®Êt hµng 1
TÊt c¶ cét = 1?
Y Quay tõng bit cña byte chøa c¸c cét lªn cê C G¸n DPTR cho ®Þa chØ hµng 1
Y
Quay tõng bit cña byte chøa c¸c cét lªn cê C G¸n DPTR cho ®Þa chØ hµng 2
Y
Quay tõng bit cña byte chøa c¸c cét lªn cê C G¸n DPTR cho ®Þa chØ hµng 3
Y
T¨ng DPTR
Y
N C=0?
T¨ng DPTR
Y
C=0?
N
T¨ng DPTR
Y Tra b¶ng XuÊt m· phÝm
Nèi ®Êt hµng 4
TÊt c¶ cét = 1?
N
Tra b¶ng XuÊt m· phÝm
Nèi ®Êt hµng 3
TÊt c¶ cét = 1?
C=0?
Tra b¶ng XuÊt m· phÝm
Nèi ®Êt hµng 2
TÊt c¶ cét = 1?
XuÊt phÝm 19 (ENTER)
Quay tõng bit cña byte chøa c¸c cét lªn cê C G¸n DPTR cho ®Þa chØ hµng 4
Y
C=0?
N
T¨ng DPTR
Y Tra b¶ng XuÊt m· phÝm
KÕt thóc
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 75
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 3 : X©y dùng phÇn mÒm
3.2.2 Ch−¬ng tr×nh ®iÒu khiÓn hiÓn thÞ LCD §Ó cho LCD cã thÓ ho¹t ®éng, ®Çu tiªn ta ph¶i khëi t¹o LCD, b¸o cho nã biÕt sè hµng, sè ký tù hiÓn thÞ trªn mét hµng. C¸c d÷ liÖu ®iÒu khiÓn lÇn l−ît ®−îc chuyÓn vµo Data Bus cña LCD lµ 38H, 0EH, vµ 06H. Sau c¸c lÖnh khëi t¹o LCD nµy ta míi cã thÓ hiÓn thÞ ký tù lªn trªn mµn h×nh LCD. C¸c l−u ®å lµm viÖc víi LCD nh− sau:
Khëi t¹o LCD B¾t ®Çu
Göi lÖnh ®iÒu khiÓn 38H Göi lÖnh ®iÒu khiÓn 08H Göi lÖnh ®iÒu khiÓn 01H Göi lÖnh ®iÒu khiÓn 06H Göi lÖnh ®iÒu khiÓn 0EH
KÕt thóc
Chê LCD s½n sµng lµm viÖc B¾t ®Çu
Truy cËp thanh ghi lÖnh RS =0
ChuyÓn sang chÕ ®é ®äc d÷ liÖu R/W =1
§−a 1 xung tõ thÊp lªn cao ë ch©n E cña LCD ®Ó ®äc d÷ liÖu
Bit D7 = 1?
KÕt thóc
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 76
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 3 : X©y dùng phÇn mÒm
Göi lÖnh ®iÒu khiÓn ra LCD
In mét kÝ tù ra LCD
B¾t ®Çu
B¾t ®Çu
§îi LCD s½n sµng nhËn lÖnh
§îi LCD s½n sµng lµm viÖc
XuÊt m· lÖnh
Truy cËp thanh ghi lÖnh - RS = 0
Cho phÐp ghi ra LCD - R/W =0
§−a 1 xung tõ cao xuèng thÊp ë ch©n E ®Ó chèt d÷ liÖu
KÕt thóc
§−a d÷ liÖu ra c¸c ch©n d÷ liÖu cña LCD
Chän thanh ghi d÷ liÖu - RS = 1
ChuyÓn sang chÕ ®é ghi - R/W = 0
Göi 1 xung tõ cao xuèng thÊp ®Õn ch©n E cña LCD ®Ó ghi d÷ liÖu
KÕt thóc
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 77
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 3 : X©y dùng phÇn mÒm
3.3 Ch−¬ng tr×nh giao tiÕp m¸y tÝnh
Ch−¬ng tr×nh giao tiÕp gi÷a bé KIT víi m¸y tÝnh ®−îc viÕt b»ng ng«n ng÷ Delphi Giao diÖn cña ch−¬ng tr×nh trªn m¸y tÝnh PC nh− h×nh vÏ - Ch−¬ng tr×nh cho phÐp n¹p ch−¬ng tr×nh cña ng−êi sö dông vµo EEPROM, sau ®ã sÏ ch¹y trªn KIT, cã thÓ ch¹y ®éc lËp, tøc kh«ng cã sù ®iÒu khiÓn cña MONITOR - chÕ ®é STEP hoÆc ch¹y tõng lÖnh ®Ó debug vµ theo dâi gi¸ trÞ bé nhí, c¸c thanh ghi ®Æc biÖt SFR, R0-R7 trªn mµn h×nh LCD cña KIT. - Trªn giao diÖn cña ch−¬ng tr×nh cã thÓ download file d¹ng Hexa cña ch−¬ng tr×nh xuèng bé KIT vµ cã thÓ upload néi dung bé nhí EEPROM cña KIT. - C¸c nót chøc n¨ng trªn giao diÖn :
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 78
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 3 : X©y dùng phÇn mÒm
+ OPEN and COMPILE: Më mét file mO lÖnh d¹ng hîp ng÷ (*.asm) vµ biªn dÞch (Compile) thµnh file HEX hoÆc file ®O compile d−íi d¹ng HEXA (*.hex) ®Ó n¹p trùc tiÕp xuèng KIT. KÕt qu¶ compile ®−îc hiÓn thÞ trong cöa sæ Compile Log. + OPEN Hex file: Më mét file mO lÖnh ®O ®−îc biªn dÞch d¹ng hexa (*.hex) vµ dÞch ng−îc (Disasemble) thµnh file mO lÖnh ASM (*.d51). KÕt qu¶ dÞch ng−îc hiÓn thÞ trong cöa sæ ASM code, mO m¸y cña bé nhí hiÓn thÞ trong cöa sæ Opcode. KÕt qu¶ compile ®−îc hiÓn thÞ trong cöa sæ Compile Log. + DOWNLOAD : Cho phÐp download file Hex ®−îc më hoÆc Compile tõ file mO lÖnh ASM xuèng bé nhí cña KIT. + UPLOAD : Cho phÐp ®äc néi dung ch−¬ng tr×nh cña ng−êi sö dông ®O ®−îc n¹p vµo bé nhí cña KIT tõ lÇn n¹p tr−íc. + Erase EEPROM: Cho phÐp xãa EEPROM. Ch−¬ng tr×nh MONITOR ®−îc viÕt d−íi d¹ng hîp ng÷ (Assembly), ban ®Çu khi tham kh¶o cã thÓ g©y khã kh¨n cho ng−êi ®äc tuy nhiªn hîp ng÷ lµm cho 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 h¬n nh− c¸ch tæ chøc bé nhí, c¸ch thùc hiÖn mét ng¾t, vÞ trÝ cña c¸c vector ng¾t, c¸c ho¹t ®éng ®Þnh thêi, hiÓu râ vÞ trÝ b¶n ®å bé nhí, c¸c thanh ghi ®Æc biÖt SFR ... Ngoµi ra khi sö dông hîp ng÷ ta kh«ng ph¶i phô thuéc vµo c¸c tr×nh biªn dÞch hç trî b»ng ng«n ng÷ bËc cao nh− C, Basic ... Sau ®©y ta ®i x©y dùng c¸c néi dung thÝ nghiÖm cÇn thiÕt cho ng−êi häc ®Ó qua ®ã ng−êi häc tõng b−íc n¾m râ cÊu tróc vµ c¸ch lËp tr×nh cho hä vi ®iÒu khiÓn 8051.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 79
suu tam:
[email protected]
- 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
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n m«n T§H
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 80
suu tam:
[email protected]
- 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 P0P3 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 b) 10010001B = 91H
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 81
suu tam:
[email protected]
- 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 D7
D6
D5
Nhãm B D4
D3
Cæng C PC7 – PC4 1= Input 0 = Output
Chän mode 00 = Mode 0 01 = Mode 1 1x = Mode 2
D1
Chän mode 0 = Mode 0 1 = Mode 1
Cæng A 1= Input 0 = Output
1 = I/O Mode 0 = BSR Mode
D2
D0
Cæng C PC3– PC0 1= Input 0 = Output
Cæng B 1= Input 0 = Output
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 b) Ch−¬ng tr×nh: ; ################################################ 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 www.pdfcoke.com/bao_trinh
Trang 82
suu tam:
[email protected]
- 83 -Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn mov
DPTR, #8004H
Ch−¬ng 3 : C¸c bµi tËp thùc hiÖn
; §Þa chØ PA
movx A, @DPTR
; NhËn d÷ liÖu tõ PA
inc
; §Þa chØ cña cæng PB
DPTR
movx @DPTR, A
; §−a d÷ liÖu ra cæng PB
inc
; §Þa chØ cña cæng PC
DPTR
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 www.pdfcoke.com/bao_trinh
Trang 83
suu tam:
[email protected]
- 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 ®iÖn trë cña c¸c ®Çu kh¸c víi nhau.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 84
suu tam:
[email protected]
- 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 (chiÒu quay) cña ®éng c¬ vµ ®¸nh dÊu thø tù cho nã nh− trong b¶ng sau:
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
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 – P1.3 cña 8051 ®iÒu khiÓn: ; ################################ ORG 0000H MOV R3,#00000011B
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 85
suu tam:
[email protected]
- 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. 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.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 86
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 5 : L¾p r¸p, thö nghiÖm Kit
Ch−¬ng V L¾P R¸P & THö NGHIÖM KIT
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n m«n T§H
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 87
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 5 : L¾p r¸p, thö nghiÖm Kit
Ch−¬ng V L¾P R¸P & THö NGHIÖM KIT 5.1 S¬ ®å bè trÝ thiÕt bÞ C¸c thiÕt bÞ bè trÝ trªn m¹ch in theo tõng khèi râ rµng vµ hîp lÝ, khèi CPU n»m ë vÞ trÝ trung t©m cña bé KIT, khèi hiÓn thÞ LCD n»m ë gãc tr¸i, ngay bªn c¹nh bµn phÝm ®Ó dÔ quan s¸t. C¸c ®Çu vµo/ra sè, t−¬ng tù ®−îc bè trÝ ë phÝa trªn cña m¹ch in ®Ó dÔ ghÐp nèi víi c¸c thiÕt bÞ ngo¹i vi bªn ngoµi. C¸c c«ng t¾c, nót nhÊn ®iÒu khiÓn, m« pháng ®Çu vµo ®−îc bè trÝ ë phÝa d−íi gÇn víi ng−êi sö dông ®Ó dÔ dµng thao t¸c. PhÝa bªn tr¸i cña m¹ch in lµ c¸c ®Çu c¾m nguån vµ c¸c cæng ghÐp nèi víi m¸y tÝnh. Víi môc ®Ých lµ ®µo t¹o nªn c¸c khèi ®−îc t¸ch ra thµnh c¸c BOARD nhá ®−îc bè trÝ xung quanh KIT gåm c¸c khèi nh−: . Khèi lµm viÖc víi LED ®¬n, LED 7 ®o¹n, LED ma trËn . Khèi lµm viÖc víi ®éng c¬ b−íc, ®éng c¬ 1 chiÒu, c¸c ®Çu vµo ra xung, sè . Khèi lµm viÖc víi c¸c bé chuyÓn ®æi ADC, DAC, ®o nhiÖt ®é m«i tr−êng b»ng LM35. C¸c khèi nµy giao tiÕp víi KIT qua 1 c¸p d÷ liÖu dïng cho m¸y tÝnh (lo¹i DIP 40 ch©n) cã chuÈn c¸c ®−êng d÷ liÖu, c¸c ®−êng ®iÒu khiÓn vµ nguån trªn SOCKET nµy cã d¹ng nh− h×nh 5.1 . 8 ch©n (1, 3, 5, 7 9, 11, 13, 15) lµm c¸c ch©n d÷ liÖu, ®−îc nèi dÕn c¸c ch©n d÷ liÖu cña 8255 . 2 ch©n tiÕp theo A0, A1 lµ ch©n chän cæng cña 8255 . C¸c ch©n tõ 31 – 40 c¸c c¸c ch©n nguån +/-5V, +/-12V . Ch©n 25 ®−îc dµnh cho c¸c ch©n chän chip Nhê tæ chøc BUS nµy nªn ng−êi sö dông cã thÓ tù thiÕt kÕ c¸c BOARD më réng cho c¸c thiÕt bÞ ngo¹i vi kh¸c víi môc ®Ých riªng cña m×nh. Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 88
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 5 : L¾p r¸p, thö nghiÖm Kit
Còng víi môc ®Ých t¹o tÝnh linh ho¹t vµ tÝnh cã kh¶ n¨ng më réng cña KIT, trªn KIT cßn chõa ra mét SOCKET trèng ®Ó cã thÓ c¾m thªm 1 module ngo¹i vi kh¸c.
TO BOARD NGOAI VI 3 LED 7 DOAN, LED MATRIX 8X8 D0 D1 D2 D3 D4 D5 D6 D7 A0 A1 /RD /WR /CS_8255_7SEG_LED /CS_8255_MATRIX_LED
BUS
C¸c ®−êng chän chip
-12V 12V GND -5V VCC
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39
2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40
-12V 12V GND -5V VCC
BUS SOCKET- 8255
H×nh 5.1. S¬ ®å c¸c ch©n cña BUS chung
Giíi thiÖu c¸c nót Ên vµ c«ng t¾c: C«ng t¾c SELECT ë ngay bªn trªn cña bµn phÝm cã chøc n¨ng cho phÐp ng−êi sö dông lùa chän thùc thi ch−¬ng tr×nh ë bé nhí trong hoÆc bé nhí ngoµi cña chip vi ®iÒu khiÓn. C«ng t¾c nµy bè trÝ ë vÞ trÝ mµ c¸c ®éng t¸c v« t×nh cña ng−êi häc Ýt ch¹m ph¶i, kh«ng g©y gi¸n ®o¹n ch−¬ng tr×nh khi ch¹y ë chÕ ®é debug , nã chØ ®−îc thiÕt ®Æt ë ®Çu c¸c lÇn thÝ nghiÖm. C«ng t¾c ë khèi m¹ch ®iÒu khiÓn ®éng c¬ b−íc vµ déng c¬ 1 chiÒu cña bé KIT cho phÐp ng−êi sö dông lùa chän lo¹i ®éng c¬ b−íc ®Ó ®iÒu khiÓn lµ lo¹i cã ®iÖn ¸p nguån cÊp 12V hoÆc lo¹i cã ®iÖn ¸p nguån cÊp 5V. §©y lµ c«ng t¾c tù duy tr×, Ên xuèng th× nguån lµ 12V, nh¶ ra th× nguån cÊp lµ 5V.
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 89
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 5 : L¾p r¸p, thö nghiÖm Kit
Nót RESET cho phÐp ta RESET l¹i bé kit ë tr¹ng th¸i nh− khi míi bËt nguån, còng ®−îc bè trÝ ë nh÷ng n¬i Ýt khi bÞ v« t×nh ch¹m ph¶i. S¬ ®å bè trÝ c¸c khèi trªn m¹ch in nh− h×nh 4.1 vµ s¬ ®å bè trÝ linh kiÖn cô thÓ ®−îc thÓ hiÖn ë h×nh 4.2.
5.2 L¾p r¸p, thö nghiÖm Sau khi lËp s¬ ®å bè trÝ c¸c khèi, c¸c linh kiÖn cô thÓ trªn m¹ch in, ta tiÕn hµnh ®i d©y, chÕ t¹o m¹ch in vµ tiÕn hµnh l¾p ®Æt c¸c linh kiÖn lªn m¹ch in. Toµn thÓ m¹ch in sau khi ®o l¾p ®Æt linh kiÖn ®−îc thÓ hiÖn nh− ë h×nh 4.3 (¶nh cña bé KIT). S¶n phÈm sau khi ®o thiÕt kÕ vµ l¾p r¸p thµnh c«ng, ta tiÕn hµnh n¹p ch−¬ng tr×nh Monitor ®Ó ®iÒu hµnh toµn bé c¸c ho¹t ®éng cña bé KIT. Sau ®ã ch¹y thö nghiÖm c¸c ch−¬ng tr×nh trªn bé KIT ®Ó kiÓm tra ho¹t ®éng cña bé KIT. C¸c ch−¬ng tr×nh ch¹y thö nghiÖm trªn bé KIT nh− sau: + LËp tr×nh tõ bµn phÝm b»ng mo m¸y ®Ó hiÓn thÞ tr¹ng th¸i b»ng c¸c ®Ìn LED, ®iÒu khiÓn vµo/ra sè - t−¬ng tù, hiÓn thÞ ma trËn LED. + LËp ch−¬ng tr×nh tõ m¸y tÝnh, biªn dÞch thµnh file Hexa vµ n¹p xuèng bé KIT ®Ó cho hiÓn thÞ trªn ma trËn LED c¸c sè ch¹y tõ 0,1,2,... ®Õn ..,E,F víi c¸c mµu kh¸c nhau. + LËp tr×nh ®iÒu khiÓn ®éng c¬ b−íc sö dông c¸c ®Çu vµo xung nh− c¸c phÝm nhÊn ®Ó thay ®æi tr¹ng th¸i ho¹t ®éng cña ®éng c¬ b−íc. Qua kÕt qu¶ ch¹y thö c¸c ch−¬ng tr×nh thö nghiÖm trªn cho thÊy bé KIT ho¹t ®éng chÝnh x¸c ®óng theo ch−¬ng tr×nh ®iÒu khiÓn vµ cã tÝnh æn ®Þnh, linh ho¹t cao.
5.3 ¶nh bé KIT ¶nh bé KIT sau khi ®o l¾p r¸p nh− h×nh 4.3
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 90
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 5 : L¾p r¸p, thö nghiÖm Kit
H×nh 5.3a ¶nh bé KIT
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 91
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 5 : L¾p r¸p, thö nghiÖm Kit
H×nh 5.3b ¶nh bé KIT
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng – Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 92
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
Ch−¬ng VI
phô lôc 6.1 H−íng dÉn sö dông KIT Ng−êi häc ph¶i n¾m v÷ng b¶n ®å bé nhí cña KIT sau: §Þa chØ
ThiÕt bÞ
0000h - 1FFFh 4000h - 7FFFh
EEPROM RAM
8000h - 8003h
8004h - 8007h
8008h - 800Bh
Ghi chó Chøa ch−¬ng tr×nh Monitor Chøa ch−¬ng tr×nh øng dông
8255 (1)
8000h - PortA : §iÒu khiÓn LCD. 8001h - PortB : Data bus cña LCD. 8002h - PortC : NhËn m/ cña bµn phÝm. 8003h - CW : Thanh ghi ®iÒu khiÓn.
8255 (5)
8004h - PortA: §iÒu khiÓn cÊp nguån cho c¸c Anot chung cña LED matrix (c¸c hµng). 8005h - PortB: §iÒu khiÓn ®Ìn mµu xanh cña LED matrix (c¸c cét xanh). 8006h - PortC: §iÒu khiÓn ®Ìn mµu ®á cña LED matrix (c¸c cét ®á). 8007h - CW: Thanh ghi ®iÒu khiÓn.
8255 (2)
8008h - PortA : §−êng Data cña ADC0809. 8009h - PortB : §−êng Data cña DAC0808. 800Ah - PortC : §iÒu khiÓn ADC0809. 800Bh - CW : Thanh ghi ®iÒu khiÓn.
800Ch - 800Fh
8255 (3)
C000h - C003h
8255 (4)
C004h – C007h
8255-EX
800Ch - PortA : §Çu vµo Digital. 800Dh - PortB : §iÒu khiÓn ®éng c¬ b−íc(PB0-PB3) vµ ®éng c¬ mét chiÒu (PB4 - PB5). 800Eh - PortC : 4 ®Çu vµo xung d¹ng nót Ên (PC4PC7), 4 ®Çu vµo cho c¸c thiÕt bÞ ngoµi nh− encoder (PC0 PC3). 800Fh - CW : Thanh ghi ®iÒu khiÓn. C000h - PortA : HiÓn thÞ 8 LED ®¬n. C001h - PortB : HiÓn thÞ 2 LED 7 thanh (tr¸i). C002h - PortC : HiÓn thÞ 2 LED 7 thanh (ph¶i). C003h - CW : Thanh ghi ®iÒu khiÓn. BUS më réng dù tr÷, cã thÓ g¾n thªm 1 module kh¸c
B¶ng 2.1 S¾p xÕp bé nhí vµ c¸ch ph©n ®Þa chØ cho c¸c thiÕt bÞ ngo¹i vi cña KIT
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 93
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
Sau khi ®/ n¾m v÷ng b¶n ®å bé nhí, mét sè l−u ý cÇn ph¶i nhí khi thÝ nghiÖm víi KIT nh− sau: -
NÕu n¹p ch−¬ng tr×nh vµo KIT ®Ó ch¹y ë chÕ ®é "Ch−¬ng tr×nh ng−êi sö dông", tøc ch¹y ®éc lËp víi ch−¬ng tr×nh MONITOR qu¶n lý KIT th× ch−¬ng tr×nh cña ng−êi häc ph¶i b¾t ®Çu ë ®Þa chØ 00H, tøc b¾t ®Çu ch−¬ng tr×nh b»ng lÖnh ORG 0. Sau khi KIT b¸o n¹p hoµn tÊt th× Ên c«ng t¾c MODE SELECT ®Ó ë tr¹ng th¸i hë (nh« lªn), tiÕp ®ã bÊm nót reset ®Ó b¾t ®Çu ch¹y ch−¬ng tr×nh cña m×nh. ë tr¹ng th¸i nµy th× tÊt c¶ c¸c tµi nguyªn phÇn cøng vµ c¸c thiÕt bÞ ngo¹i vi cña KIT ®Òu ®−îc phÐp sö dông mµ kh«ng cã mét giíi h¹n nµo.
-
NÕu n¹p vµo ®Ó ch¹y ë chÕ ®é DEBUG - gì rèi, ch¹y vµ xem kÕt qu¶ c¸c vïng nhí sau mçi lÖnh th×: o Ch−¬ng tr×nh ph¶i b¾t ®Çu ë vÞ trÝ 4000H (vÞ trÝ khëi ®Çu cña bé nhí RAM). Thùc hiÖn b»ng lÖnh ORG 4000H. o C¸c vector ng¾t ph¶i ®−îc céng thªm 4000H. Cô thÓ nh− sau:
§Þa chØ vector ng¾t ë
§Þa chØ vector ng¾t ë
chÕ ®é b×nh th−êng
chÕ ®é DEBUG
RST
0000H
4000H
Ng¾t ngoµi 0
IE0
0003H
4003H
Bé ®Þnh thêi 0
TF0
000BH
400BH
Ng¾t ngoµi 1
IE1
0013H
4013H
Bé ®Þnh thêi 1
TF1
001BH
401BH
Port nèi tiÕp
RI or TI
0023H
4023H
Bé ®Þnh thêi 2
TF2 or EXF2
002BH
402BH
Nguån ng¾t
Cê
Reset hÖ thèng
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 94
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
o Ngoµi ra ng−êi häc cßn kh«ng ®−îc sö dông ng¾t ngoµi 1 ®/ ®−îc thiÕt kÕ ®Ó phôc vô chÕ ®é DEBUG. Cßn ®èi víi ng¾t ngoµi 0 nh− ë ch−¬ng 2 ®/ giíi thiÖu, phôc vô giao tiÕp víi bµn phÝm cña KIT. o Vïng nhí RAM néi 32 byte tõ 7FH-5FH kh«ng sö dông, tuy nhiªn 128 byte RAM néi ®−îc ®Þnh ®Þa chØ gi¸n tiÕp cßn l¹i vµ 32 K-Byte RAM ngoµi ®−îc sö dông tho¶i m¸i. C¸c h−íng dÉn cô thÓ b»ng h×nh ¶nh cña KIT sÏ ®−îc tr×nh bµy ë phÇn trî gióp cña ch−¬ng tr×nh ch¹y trªn m«i tr−êng Windows ®i kÌm theo KIT, ch−¬ng tr×nh hç trî biªn dÞch vµ dÞch ng−îc c¸c file ch−¬ng tr×nh d¹ng hîp ng÷, n¹p vµ xãa bé nhí EEPROM cña KIT vµ mét sè bµi vÝ dô cña ch−¬ng tr×nh nh− bµi 7, thÝ nghiÖm vÒ "TruyÒn th«ng nèi tiÕp"... Sau ®©y sÏ lµ c¸c khai b¸o mÉu cña c¸c ch−¬ng tr×nh ch¹y ®−îc trªn KIT còng nh− ch−¬ng tr×nh MONITOR vµ c¸c vÝ dô.
6.2 C¸c khai b¸o vÒ ®Þa chØ c¸c h»ng vµ biÕn sè sö dông trong ch−¬ng tr×nh MONITOR vµ trong c¸c vÝ dô DEMO cña KIT ; ################################################################## ;
CAC KHAI BAO
; ##################################################################
; Khai bao dia chi cua cac 8255 ; 8255-1 LCD_CONTROL
EQU
8000H
; PA: Cac tin hieu dieu khien cua LCD 2408
LCD_DATA
EQU
8001H
; PB: BUS data cua LCD 2408
KEYPAD
EQU
8002H
; D0-D6 lam bus nhan ma phim
CW1
EQU
8003H
; Tu dieu khien CW cua 8255-1
MATRIX_LED_ANOD
EQU
8004H
; Cac hang`, tuc cac anod chung cua led ma tran
MATRIX_LED_G
EQU
8005H
; Cac cot xanh cua LED ma tran
MATRIX_LED_R
EQU
8006H
; Cac cot do cua LED ma tran
CW5
EQU
8007H
; Tu dieu khien CW cua 8255-5
EQU
8008H
; Bus du lieu cua ADC0809
; PA0 = LCD_RS; PA1 = RW; PA2=E1; PA3 = E2
; 8255-5
; 8255-2 ADC_DB
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 95
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
DAC_DB
EQU
8009H
; Bus du lieu cua DAC0808
ADC_CONTROL
EQU
800AH
; Cac tin hieu dieu khien ADC0809
CW2
EQU
800BH
; Tu dieu khien CW cua 8255-2
DIGITAL_INPUT
EQU
800CH
; Dau vao so
DC_STEPPER
EQU
800DH
; Dieu khien dong co buoc (PB0-PB3),
; 8255-3
; dong co 1 chieu (PB4-PB7) PULSE_INPUT
EQU
800EH
; 4 dau vao xung = nut(PC4-PC7), ; 4 tu cac nguon phat xung(PC0-PC3)
CW3
EQU
800FH
; Tu dieu khien CW cua 8255-3
LED_DON
EQU
0C000H ; Dieu khien hien thi 8 LED don
LED_7_DOAN_12
EQU
0C001H ; Dieu khien hien thi 2 LED 7 doan 1, 2 (ben trai')
LED_7_DOAN_34
EQU
0C002H ; Dieu khien hien thi 2 LED 7 doan 3, 4 (ben phai')
CW4
EQU
0C003H ; Tu dieu khien CW cua 8255-4
;8255-4
; Quy uoc cach dat ten hang` cua tu dieu khien nhu sau: CWx voi x la STT cua 8255 ; 011
thu tu cac so la: PA, PB, PC;
0: dau ra,
1: dau vao
CW_011
EQU
10001011B
CW_000
EQU
10000000B
CW_100
EQU
10010000B
CW_101
EQU
10011001B
EEPROM_ADDR
EQU
0000H
; Dia chi bat dau cua EEPROM - 8K - ket thuc o 1FFFH
RAM_ADDR
EQU
4000H
; Dia chi bat dau cua RAM - 32K - ket thuc o 7FFFH
; ROM - RAM
; Dia chi cac dong` cua LCD 2408 DONG1
EQU
0080H
DONG2
EQU
0098H
DONG3
EQU
00B8H
DONG4
EQU
00D8H
; Chan ngat ngoai o che do debug CHAN_NGAT_INT0 EQU
P3.2
; Ma cac phim chuc nang KEY_F1
EQU
16
KEY_F2
EQU
17
KEY_BS
EQU
18
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 96
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
KEY_ENTER
EQU
Ch−¬ng 61 :PhÇn phô lôc
19
; RAM danh cho xy ly cua chuong trinh MONITOR ProgRamAddr
EQU
7FH
E
EQU
ProgRamAddr
; De chon lam viec voi nua man hinh 1 hay 2, tuong ung E =1, 2
KEY
EQU
ProgRamAddr - 1
; Byte dem. cua ban phim, luu gia tri phim nhan ve, cap nhat bang ngat
So_Man_Hinh
EQU
ProgRamAddr - 2
LED7Doan1
EQU
ProgRamAddr - 3
LED7Doan2
EQU
ProgRamAddr - 4
LED7Doan3
EQU
ProgRamAddr - 5
LED7Doan4
EQU
ProgRamAddr - 6
; RAM lam vung dem cho qua trinh nap EEPROM tu PC StartAddrH
EQU
ProgRamAddr - 8; Byte cao cua dia chi can ghi den' cua goi du lieu
StartAddrL
EQU
ProgRamAddr - 9; Byte thap cua dia chi can ghi den' cua goi du lieu
; ################################################################## ;
KET THUC CAC KHAI BAO
; ##################################################################
6.3 Ch−¬ng tr×nh quÐt bµn phÝm Ch−¬ng tr×nh nµy ®−îc n¹p cho 1 chip vi ®iÒu khiÓn lo¹i 20 ch©n cña ATMEL lµ AT89C2051 ; ########################################################## ; Chuong trinh quet ban phim 4x4 ; Su dung P1 de giao tiep voi ban phim ; P1.0 - P1.3 noi voi cac hang lan luot 1 2 3 4 ; P1.4 - P1.7 noi voi cac cot lan luot
1 2 3 4
; ##########################################################
ORG 0000H ; Truoc het ta doc cac hang 1-4, cac phim chuc nang, da duoc noi dat san mov P3, #0FFH call
Delay
mov P3, #00H call
Delay
mov P3, #0FFH
Start:
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 97
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
mov P1, #11111111B
Ch−¬ng 61 :PhÇn phô lôc
; Dat tat ca len 1
mov A, P1 anl A, #00001111B cjne
; Lay 4 bit thap cua P1, noi voi hang
A, #00001111B, Doc_Cot_Chuc_Nang
; Kiem tra de chac rang tat ca cac phim chuc nang duoc tha
sjmp
Doc_Ban_Phim
Doc_Cot_Chuc_Nang: mov
P1, #11111111B
mov
A, P1
anl
A, #00001111B
cjne
A, #00001110B, F2
; Dat tat ca len 1
; Che cac bit cot di
F1:
Wait: mov
A, P1
anl
A, #00001111B
cjne
A, #00001111B, Wait
clr
P3.7
; Doi tha nut
nop nop nop mov
P3,#16
call
Delay
ljmp
Tiep_tuc_quet
cjne
A, #00001101B, BACK_SPACE
; Chong rung ; Tiep tuc quet phim
F2:
Wait1: mov
P1, #11111111B
mov
A, P1
; Dat tat ca len 1
anl
A, #00001111B
cjne
A, #00001111B, Wait1
mov
P3,#17
call
Delay
ljmp
Tiep_tuc_quet
; Doi tha nut
; Chong rung
BACK_SPACE: cjne
A, #00001011B, ENTER
Wait2: mov
P1, #11111111B
mov
A, P1
anl
A, #00000100B
; Dat tat ca len 1
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 98
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
cjne
A, #00000100B, Wait2
mov
P3,#18
call
Delay
ljmp
Tiep_tuc_quet
cjne
A, #00000111B, Start
Ch−¬ng 61 :PhÇn phô lôc
; Doi tha nut
; Chong rung
ENTER:
Wait3: mov
P1, #11111111B
mov
A, P1
anl
A, #00001000B
; Dat tat ca len 1
cjne
A, #00001000B, Wait3 ; Doi tha nut
clr
P3.7
mov
P3,#19
call
Delay
; Chong rung
Tiep_Tuc_Quet: WAIT4: ; Doi phim duoc tha het mov
P1, #11111111B
; Dat tat ca len 1
mov
A, P1
anl
A, #00001111B
cjne
A, #00001111B, Wait4
call
Delay
mov
P3, #0FFH; Tat ngat, khoa tin hieu o ngo ra tin hieu o ngo ra
ljmp
Start
; Tiep tuc quet phim
;;;;;;;;;;;;;;;;;;;;;;;; ;Khong co phim chuc nang nao duoc an, tim phim thuong` Doc_Ban_Phim: mov
P1,#11110000B
mov
A, P1
; Noi dat tat ca cac hang
anl
A, #11110000B
cjne
A, #11110000B, Co_Phim_Duoc_An
; Neu co phim duoc an
jmp
Start
; Neu khong, tiep tuc giam sat
Co_Phim_Duoc_An: MOV
P1,#11111110B
MOV
A, P1
anl
A, #11110000B
cjne
A, #11110000B, ROW1
MOV
P1,#11111101B
MOV
A,P1
; Noi dat hang 1
; Noi dat hang 2
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 99
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
ROW1:
ROW2:
ROW3:
ROW4:
ANL
A,#11110000B
cjne
A,#11110000B, ROW2
MOV
P1,#11111011B
MOV
A,P1
ANL
A,#11110000B
cjne
A,#11110000B, ROW3
MOV
P1,#11110111B
MOV
A,P1
ANL
A,#11110000B
cjne
A,#11110000B, ROW4
MOV
DPTR,#KCODE1
call
FIND
ljmp
Start
MOV
DPTR,#KCODE2
call
FIND
ljmp
Start
MOV
DPTR,#KCODE3
call
FIND
ljmp
Start
MOV
DPTR,#KCODE4
call
FIND
ljmp
Start
Ch−¬ng 61 :PhÇn phô lôc
; Noi dat hang 3
; Noi dat hang 4
; ############################################## ;
THU TUC TIM KIEM TRONG BANG
; ############################################## FIND: rlc
A
; Quay lan luot cac cot len co nho' de ktra
jnc
MATCH
; Neu = 0, dung la cot dang co phim duoc an
inc
DPTR
; Neu = 1, tiep tuc tang con tro DL va quay de tim ra cot chua phim dc an
sjmp
FIND
CLR
A
MOVC
A,@A+DPTR ; Luc nay A se chua cac gia tri tu 0-15
MATCH:
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 100
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
MOV
P3,A
Ch−¬ng 61 :PhÇn phô lôc
; xuat ra ngoai, do A < 16 nen bit D7 bao gio cung = 0,
; ta tan dung de tao ra ngat ngoai cho CPU WAIT5: ; Doi phim duoc tha het mov
P1, #11110000B ; Noi dat tat ca cac hang
mov
A, P1
anl
A, #11110000B
cjne
A, #11110000B, WAIT5
mov
P3, #0FFH
call
Delay
; Tat ngat, khoa tin hieu o ngo ra
ret ; ############################################## ;
KET THUC THU TUC TIM KIEM
; ##############################################
DELAY: TT0:
TT1:
MOV
R2,#180
MOV
R1,#72
DJNZ
R1,TT1
DJNZ
R2,TT1
RET ;Giai ma KCODE1: DB 3, 2, 1, 0 KCODE2: DB 7, 6, 5, 4 KCODE3: DB 11, 10, 9, 8 KCODE4: DB 15, 14, 13, 12
END
6.4 Ch−¬ng tr×nh ®iÒu khiÓn hiÓn thÞ LCD ; ###################################################### ;
THU TUC XUAT LENH RA LCD
; ###################################################### Command_To_LCD: push
DPH
push
DPL
push
02H
mov
R2, A
; Luu A
mov
A,#CW_011
; Dat A ra, B,C dau vao
mov
DPTR, #CW1
movx
@DPTR, A
; Xuat tu dieu khien
; Doc thanh ghi lenh
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 101
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
; PA3 PA2 PA1 PA0 ; E2
E1
RW
RS
mov
A, E
cjne
A, #2, Nua_MH1
mov
A, #00001010B
jmp
Xuat_Ra
Nua_MH1: mov
A, #00000110B
Xuat_Ra: mov
DPTR, #LCD_CONTROL
movx
@DPTR, A
mov
DPTR, #LCD_DATA
; Xuat th dk ra LCD
Ready_CMD: movx
A, @DPTR
; Doc DB vao
jb
ACC.7, Ready_CMD
; Dat lai PA, PB lam cong ra mov
A,#CW_000
; Dat A,B,C dau RA
mov
PTR, #CW1
movx
@DPTR, A
mov
A, R2
mov
DPTR, #LCD_DATA
movx
@DPTR, A
; Xuat ra
; Chot du lieu bang cach dua xung tu H to L o chan E1 mov
DPTR, #LCD_CONTROL
mov
A, E
cjne
A, #2, Nua_MH1_C
mov
A, #00001000B
jmp
Chot
; E2 = 1; E1 = 1, RW = 0; RS = 0
Nua_MH1_C: mov
A, #00000100B
; E2 = 0; E1 = 1, RW = 0; RS = 0
@DPTR, A
; E2 =1; E1 = 0, RW = 0; RS = 0
Chot: movx nop nop
mov
A, #00000000B
movx
@DPTR, A
pop
02H
pop
DPL
; Chot du lieu
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 102
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
pop
Ch−¬ng 61 :PhÇn phô lôc
DPH
ret ; ###################################################### ;
KET THUC THU TUC XUAT LENH RA LCD
; ######################################################
; ###################################################### ;
THU TUC IN KI TU RA LCD
;
INPUT = A (ASCII)
; ###################################################### In_Ki_Tu: push
DPH
push
DPL
push
02H
mov
R2, A
; Luu A
mov
A,#CW_011
; Dat A ra, B,C dau vao
mov
DPTR, #CW1
movx
@DPTR, A
; Xuat tu dieu khien
; Doc thanh ghi lenh ; PA3 PA2 PA1 PA0 ; E2
E1
RW
RS
mov
A, E
cjne
A, #2, Nua_MH1_InKT
mov
A, #00001010B
jmp
Xuat_Ra_InKT
Nua_MH1_InKT: mov
A, #00000110B
Xuat_Ra_InKT: mov
DPTR, #LCD_CONTROL
movx
@DPTR, A
mov
DPTR, #LCD_DATA
; Xuat ra LCD
Ready_Chr: movx
A, @DPTR
jb
ACC.7, Ready_Chr
; Doc DB vao
; Dat lai PA, PB lam cong ra mov
A,#CW_000
; Dat A,B,C dau RA
mov
DPTR, #CW1
movx
@DPTR, A
mov
A, R2 ; Lay lai gia tri luu ban dau, lenh
mov
DPTR, #LCD_DATA
movx
@DPTR, A
; Xuat tu dieu khien
; Xuat ra
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 103
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
; Chot du lieu bang cach dua xung tu H to L o chan E1 mov
DPTR, #LCD_CONTROL
mov
A, E
cjne
A, #2, Nua_MH1_Chot
mov
A, #00001001B
jmp
Chot_InKT
Nua_MH1_Chot: mov
A, #00000101B
Chot_InKT: movx
@DPTR, A ; E2 =0; E1 = 1, RW = 0; RS = 1
nop nop mov
A, #00000001B
movx
@DPTR, A
pop
02H
pop
DPL
pop
DPH
; Chot du lieu
ret ; ###################################################### ;
KET THUC CHUONG TRINH IN KI TU RA LCD
; ###################################################### ; ###################################################### ; ;
THU TUC IN CHUOI RA LCD INPUT = DIA CHI CUA CON TRO DU LIEU DPTR
; ######################################################
Str_To_LCD: push
ACC
Continue_To_Print: clr
A
movc
A,@A+DPTR
jz
Done
call
In_Ki_Tu
inc
DPTR
mov
A, #06h
call
Command_To_LCD
sjmp
Continue_To_Print
;
Dich con tro sang phai
Done: pop
ACC
ret ; ###################################################### ;
KET THUC THU TUC IN CHUOI RA LCD
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 104
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
; ###################################################### ; ###################################################### ;
THU TUC XOA LCD
; ###################################################### CLS: mov
E, #1
mov
A, #01H
call
Command_To_LCD
mov
E, #2
mov
A, #01H
call
Command_To_LCD
mov
E, #1
mov
A, #0EH
call
Command_To_LCD
mov
A, #0CH ; Bat hien thi, tat con tro
call
Command_To_LCD
ret
; ###################################################### ;
KET THUC THU TUC XOA LCD
; ######################################################
; ###################################################### ;
THU TUC IN SO HEXA
; ###################################################### phex: phex8:
; In so hexa 8 bit, input = ACC
push
02
push
acc
swap
a
anl
a, #0FH
add
a, #246
jnc
phex_b
add
a, #7
phex_b: add
a, #58
mov
R2, A
mov
A, #0EH
call
Command_To_LCD
;Luu
mov
A, R2
call
In_Ki_Tu
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 105
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
pop
Ch−¬ng 61 :PhÇn phô lôc
acc
phex1: push
acc
anl
a, #0FH
add
a, #246
jnc
phex_c
add
a, #7
phex_c: add
a, #58
mov
R2, A
mov
A, #0EH
call
Command_To_LCD
mov
A, R2
call
In_Ki_Tu
pop
acc
pop
02
;Luu
ret phex16:
; In so hexa 16 bit, input = DPTR
push
acc
mov
a, dph
acall
phex
mov
a, dpl
acall
phex
pop
acc
ret
; ###################################################### ;
KET THUC THU TUC IN SO HEXA
; ######################################################
6.5 C¸c vÝ dô DEMO ; ###########################################
movx
@DPTR, A
;
cpl
A
; ###########################################
call
Delay_100ms
DEMO1:
; LED DON - 8255-4
mov
R6, A
DPTR, #LED_DON
mov
A, KEY
; Nhap nhay cac LED xen ke
cjne A, #KEY_BSP, TiepDemo1_1 ; Tiep tuc chay cho het vong lap
CAC VI DU DEMO
mov DEMO1_1: mov
R5, #48
mov
R6, #10101010B
jmp thi
Exit_DEMO1 ; Neu co lenh thoat tro ve luon
Again_DM11:
TiepDemo1_1:
mov
djnz
A, R6
R5, Again_DM11
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
; Neu co nut an tro ve
Trang 106
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
; Neu co lenh thoat thi tro ve luon DEMO1_2:
; Chay LED tu trai sang phai
TiepDemo1_3:
; Nghi mot chut
djnz
R5, Again_DM13
mov
A, #00H
Exit_DEMO1:
movx
@DPTR, A
mov
KEY, #0FFH
call
Delay_500ms
call
Restore_SCR
mov
R5, #48
mov
R6, #10000000B
; Tra lai man hinh truoc'
ret ; Tro ve man hinh 4, chon vd DEMO
Again_DM12: mov
A, R6
movx
@DPTR, A
call
Delay_100ms
rr
A
mov
R6, A
mov
A, KEY ; Neu co nut an tro ve
cjne
A, #KEY_BSP, TiepDemo1_2
;
------------------------------------------
DEMO2:
; LED 7 DOAN
mov
Led7Doan1, #0
mov
Led7Doan2, #0
mov
Led7Doan3, #0
mov
Led7Doan4, #0
; Tiep tuc chay cho het vong lap jmp
Exit_DEMO1
; Neu co lenh thoat thi tro ve luon TiepDemo1_2: djnz
DEMO1_3:
R5, Again_DM12
; Chay LED tu phai sang trai ; Nghi mot chut
mov
A, #00H
movx
@DPTR, A
call
Delay_500ms
mov
R5, #48
mov
R6, #10000000B
DEMO2_1: ; Dem len mov
A, #DONG2
call
Command_To_LCD
mov
DPTR, #MSG11
call
Str_To_LCD
mov
A, #DONG3
call
Command_To_LCD
mov
DPTR, #MSG12
call
Str_To_LCD
Again_DM13: mov
A, R6
movx
@DPTR, A
call
Delay_100ms
rl
A
mov
R6, A
mov
A, KEY
; Neu co nut an tro ve cjne
call
Display_Four_7Seg_Led
call
Delay_100ms
mov
A, KEY
cjne
A, #KEY_BSP, Sang_Dem_Xuong
mov
KEY, #0FFH
jmp
Exit_DEMO2
A, #KEY_BSP, TiepDemo1_3
; Tiep tuc chay cho het vong lap mp
Dem_Len:
Exit_DEMO1
Sang_Dem_Xuong: cjne
A, #1, TiepTucDemLen
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 107
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
mov
KEY, #0FFH
jmp
Exit_DEMO2_1
Ch−¬ng 61 :PhÇn phô lôc
mov
DPTR, #MSG13
call
Str_To_LCD
TiepTucDemLen: mov
A, Led7Doan4
mov
A, #DONG3
inc
A
call
Command_To_LCD
mov
Led7Doan4, A
cjne
A, #0AH, Dem_Len
mov
DPTR, #MSG14
add
A, #6
call
Str_To_LCD
anl
A, #00001111B
mov
Led7Doan4, A
mov
A, Led7Doan3
inc
DEMO2_2:
; ---- Dem xuong'
call
Display_Four_7Seg_Led
call
Delay_100ms
A
mov
A, KEY
mov
Led7Doan3, A
cjne
A, #KEY_BSP, Sang_Dem_Len
cjne
A, #0AH, Dem_Len
mov
KEY, #0FFH
add
A, #6
jmp
Exit_DEMO2
anl
A, #00001111B
mov
Led7Doan3, A
cjne
A, #0, TiepTucDemXuong
mov
A, Led7Doan2
mov
KEY, #0FFH
inc
A
jmp
DEMO2_1
mov
Led7Doan2, A
cjne
A, #0AH, Dem_Len
add
A, #6
mov
A, Led7Doan4
anl
A, #00001111B
dec
A
mov
Led7Doan2, A
mov
Led7Doan4, A
cjne
A, #0FFH, DEMO2_2
mov
Led7Doan4, #9
Sang_Dem_Len:
TiepTucDemXuong:
mov
A, Led7Doan1
inc
A
mov
Led7Doan1, A
mov
A, Led7Doan3
cjne
A, #0AH, Dem_Len
dec
A
add
A, #6
mov
Led7Doan3, A
anl
A, #00001111B
cjne
A, #0FFH, DEMO2_2
mov
Led7Doan1, A
mov
Led7Doan3, #9
jmp
Dem_Len mov
A, Led7Doan2
dec
A
; Thoat dem len, chuyen sang dem xuong
mov
Led7Doan2, A
mov
KEY, #0FFH
cjne
A, #0FFH, DEMO2_2
mov
A, #DONG2
mov
Led7Doan2, #9
call
Command_To_LCD
Exit_DEMO2_1:
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 108
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
mov
A, Led7Doan1
dec
A
mov
mov
Led7Doan1, A
mov
A, #0FFH
cjne
A, #0FFH, DEMO2_2
movx
@DPTR, A
mov
Led7Doan1, #9 mov
A, #11001100B
mov
DPTR, #MATRIX_LED_R
mov
R7, #32
jmp
DEMO2_2
Exit_DEMO2:
DEMO3_3: DPTR, #MATRIX_LED_ANOD
Again_DM3_3:
; Chay LED
movx
@DPTR, A
rl
A
; -------------------------------------------
call
Delay_100ms
DEMO3:
djnz
R7, Again_DM3_3
ret
; LED MA TRAN
DEMO3_1: mov
DPTR, #MATRIX_LED_ANOD
DEMO3_4:
; Thi nghiem voi cac cot
mov
A, #0FFH
mov
A, #0FFH
movx
@DPTR, A
mov
DPTR, #MATRIX_LED_R
movx
@DPTR, A
mov
A, #11001100B
mov
DPTR, #MATRIX_LED_R
mov
A, #0FFH
mov
R7, #32
mov
DPTR, #MATRIX_LED_G
movx
@DPTR, A
Again_DM3_1: movx
; Nhay LED cua cac cot, xen ke
@DPTR, A
cpl
A
mov
DPTR, #MATRIX_LED_ANOD
call
Delay_100ms
mov
A, #01H
djnz
R7, Again_DM3_1
movx
@DPTR, A
mov
R7, #64
DEMO3_2: mov
DPTR, #MATRIX_LED_ANOD
mov
A, #0FFH
movx
@DPTR, A
movx
@DPTR, A
rl
A
call
Delay_100ms R7, Again_DM3_4
Again_DM3_4:
mov
A, #11001100B
djnz
mov
DPTR, #MATRIX_LED_R
ret
mov
R7, #32
Again_DM3_2:
; Chay LED
movx
@DPTR, A
rr
A
call
Delay_100ms
djnz
R7, Again_DM3_2
DEMO4:
; BAN PHIM, LCD
ret
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
; Chay LED
Trang 109
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
DEMO5:
Ch−¬ng 61 :PhÇn phô lôc
;ADC, DAC
; 8255-2 ; ADC_DB
EQU
8008H
; Bus du lieu cua ADC0809
; DAC_DB
EQU
8009H
; Bus du lieu cua DAC0808
; ADC_CONTROL
EQU
800AH
; CW2
; Cac tin hieu dieu khien ADC0809
EQU
800BH
; Tu dieu khien CW cua 8255-2
; Cac bit cua ADC_CONTROL nhu sau ;
7 6 |
5
| 4
|
3
|
2
|
1
|
0
|
; ----|-----|----|--------|------|------|------| ; X X | EOC | OE | ALE+SC | ADDC | ADDB | ADDA | ADC: mov
DPTR, #ADC_CONTROL
mov
A, #00110000B ; Cho phep dau ra OE
movx
@DPTR, A
mov
DPTR, #ADC_DB ; Doc du lieu tra ve
movx
A, @DPTR
mov
Nhiet_Do, A
nop
mov
E, #2
nop
mov
A, #DONG1
nop
call
Command_To_LCD
mov
DPTR, #MSG34
call
Str_To_LCD
mov
A, #DONG2
call
Command_To_LCD
mov
DPTR, #MSG35
call
Str_To_LCD
mov
DPTR, #CW2
mov
A, #CW_100
movx
@DPTR, A
; A vao, B, C ra
mov DPTR, #ADC_CONTROL kenh analog 0 mov
A, #00001000B
movx
@DPTR, A
; Chon
mov A, #00100000B dia chi va bat dau chuyen doi movx
; Chot
@DPTR, A
mov DPTR, #CW2 ADC_CONTROL lam dau vao mov
A, #CW_101
movx
@DPTR, A
= 1
; Chuyen PC ; A, C vao, B ra
Wait_EOC: qua trinh convert ket thuc
; Cho` cho
mov
DPTR, #ADC_CONTROL
movx
A, @DPTR
mov
A, #DONG3
anl
A, #00100000B
call
Command_To_LCD
cjne
A, #00100000B, Wait_EOC mov
DPTR, #MSG33
call
Str_To_LCD
mov
A, Nhiet_Do
clr
CY
; Ket thuc qua trinh chuyen doi
mov
DPTR, #CW2
; Dat lai PC lam dau
mov
A, #CW_100
; A vao, B, C ra
movx
@DPTR, A
ra
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 110
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
subb
A, #100
mov
A, #'C'
jc
Nhiet_Do_Nho_Hon_100
call
In_Ki_Tu
Nhiet_Do_Lon_Hon_100:
mov
A, #' '
mov
A, Nhiet_Do
call
In_Ki_Tu
dec
A
call
Delay_500ms
rl
A
call
Delay_500ms
; Tru 1
rl A ; Nhan 4 de nhay cho dung vi tri chuoi can tra trong bang mov
R6, #4
mov
R0, A
mov
DPTR, #LON_HON_100_DO
In_Nhiet_Do_1:
mov
A, KEY
cjne
A, #KEY_ENTER, KT_Thoat_ADC
mov
KEY, #0FFH
jmp
DAC
KT_Thoat_ADC:
movc
A, @A + DPTR
call
In_Ki_Tu
inc
R0
mov
A, R0
djnz
R6, In_Nhiet_Do_1
jmp
In_Do_C
cjne
A, #KEY_BSP, Tiep_Tuc_ADC
mov
KEY, #0FFH
call
Restore_SCR
ret
Tiep_Tuc_ADC: jmp
ADC
Nhiet_Do_Nho_Hon_100: mov
A, Nhiet_Do
dec
A
; Tru 1
rl A ; Nhan 2 de nhay cho dung vi tri chuoi can tra trong bang mov
R6, #2
mov
R0, A
mov
DPTR, #NHO_HON_100_DO
; ---------------------------------------------DAC: mov
E, #2
mov
A, #01
call
Command_To_LCD
mov
A, #DONG2
call
Command_To_LCD
In_Nhiet_Do_2: movc
A, @A + DPTR
call
In_Ki_Tu
inc
R0
mov
A, R0
djnz
R6, In_Nhiet_Do_2
mov DAC' call
DPTR, #MSG38
; 'Thi nghiem voi
Str_To_LCD
In_Do_C: mov
A, #' '
call
In_Ki_Tu
mov
A, #'d'
call
In_Ki_Tu
mov
A, #'o'
call
In_Ki_Tu
mov
A, #' '
call
In_Ki_Tu
; DAC_DB EQU ; Bus du lieu cua DAC0808 mov
A, #DONG3
call
Command_To_LCD
mov
DPTR, #MSG36
call
Str_To_LCD
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
8009H
Trang 111
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
mov
Ap_Ra, #10
Ch−¬ng 61 :PhÇn phô lôc
mov
KEY, #0FFH
Tang_Ap_DAC: mov
A, Ap_Ra
Dao_Gia_Tri:
Exit_DEMO5: call
Restore_SCR
rrc
A
mov
07H, C
DEMO6:
rrc
A
;DIGITAL_INPUT EQU 800CH ; Dau vao so
mov
06H, C
;DC_STEPPER
rrc
A
mov
05H, C
rrc
A
mov
04H, C
rrc
A
mov
03H, C
rrc
A
mov
02H, C
mov
DPTR, #DC_STEPPER
rrc
A
mov
R4, #00110011B
mov
01H, C
mov
R7, #255
rrc
A
mov
R6, #5
mov
00H, C
mov
Nut1, #0
mov
Nut2, #0
mov
A, 20H
mov
Nut3, #0
mov
Nut4, #0
mov
DPTR, #DAC_DB
movx
@DPTR, A
Quay_Thuan:
mov
A, Ap_Ra
mov
A, R4
add
A, #2
movx
@DPTR, A
mov
Ap_Ra, A
rl
A
call
Delay_500ms
mov
R4, A
call
Delay_500ms
call
Delay_7ms
call
Delay_500ms
call
Delay_7ms
call
Delay_500ms
call
Delay_7ms
call
Delay_500ms
mov
A, KEY
call
Delay_500ms
cjne
A, #KEY_BSP, Case_Enter_QT
mov
KEY, #0FFH
mov
A, Ap_Ra
call
Restore_SCR
cjne
A, #254, KT_Thoat_Tang_Ap_DAC
ret
jmp
Exit_DEMO5
; MSG29:
KT_Thoat_Tang_Ap_DAC:
; MSG30: input',0
mov
A, KEY
cjne
A, #KEY_BSP, Tang_Ap_DAC
ret ; STEPPER, DC MOTOR
EQU 800DH ; Dieu khien dong co
buoc (PB0-PB3), dong co 1 chieu(PB4-PB7 ; PULSE_INPUT EQU 800EH ; 4 dau vao xung = nut(PC4-PC7), 4 tu cac nguon phat xung(PC0-PC3) ; CW3 EQU 8255-3
800FH ; Tu dieu khien CW cua
db 'ENTER=Test digital
Case_Enter_QT: mov
A, KEY
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
db 'ENTER=Test pulse input', 0
Trang 112
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
cjne
A, #KEY_ENTER, Du_So_Buoc1
mov
A, #DONG1
mov
KEY, #0FFH
call
Command_To_LCD
mov
DPTR, #MSG30
call
Str_To_LCD
mov
DPTR, #DC_STEPPER
;Hien thi thong bao bam enter de quay nguoc mov
E, #2
mov
A, #DONG1
call
Command_To_LCD
mov
DPTR, #MSG29
call
Str_To_LCD
mov
R7, #255
mov
R6, #5
mov
R4, #00110011B
mov
DPTR, #DC_STEPPER
jmp
Quay_Nguoc
mov
A, #0
movx
@DPTR, A
jmp
Pulse_Digital_Input_Test
Du_So_Buoc2: djnz
R7, Quay_Nguoc
mov
R7, #255
djnz
R6, Quay_Nguoc
Pulse_Digital_Input_Test: Du_So_Buoc1: djnz
R7, Quay_Thuan
mov
R7, #255
djnz
R6, Quay_Thuan
Quay_Nguoc: mov
A, R4
movx
@DPTR, A
rr
A
mov
R4, A
call
Delay_7ms
call
Delay_7ms
call
Delay_7ms
mov
A, KEY
cjne
A, #KEY_BSP, Case_Enter_QN
mov
KEY, #0FFH
call
Restore_SCR
ret
db 'Digital input value:
mov
E, #2
mov
A, #DONG2
call
Command_To_LCD
mov
DPTR, #MSG31
call
Str_To_LCD
mov
A, #DONG3
call
Command_To_LCD
mov
DPTR, #MSG32
call
Str_To_LCD
; DIGITAL_INPUT Dau vao so
EQU
800CH
',0
;
; DC_STEPPER EQU 800DH ; Dieu khien dong co buoc (PB0-PB3), dong co 1 chieu(PB4-PB7) ; PULSE_INPUT EQU 800EH ; 4 dau vao xung = nut(PC4-PC7), 4 tu cac nguon phat xung(PC0-PC3)
Case_Enter_QN: mov
A, KEY
cjne
A, #KEY_ENTER, Du_So_Buoc2
mov
KEY, #0FFH
;Hien thi thong bao bam enter de quay TEST pulse input mov
; MSG32:
; CW3 EQU ; Tu dieu khien CW cua 8255-3
800FH
Quet_phim: mov
DPTR, #PULSE_INPUT
movx
A, @DPTR
E, #2
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 113
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
cjne
jmp
Ch−¬ng 61 :PhÇn phô lôc
A, #0FFH, Phim1
Cap_nhat_gia_tri
Phim1: movx
A, @DPTR
anl A, #11110000B thu 1 dc an cjne
; Neu phim
mov
DPTR, #PULSE_INPUT
movx
A, @DPTR
A, #11110000B
cjne
A, #11110000B, Cho_Phim3_tha
call
Delay_7ms
call
Delay_7ms
call
Delay_7ms
inc Nut3 ; Duoc tha roi thi tang Nut1 - chua tong so lan bam len Cap_nhat_gia_tri
Phim4: movx
A, #11110000B A, #11110000B, Cho_Phim1_tha
call
Delay_7ms
call
Delay_7ms
call
Delay_7ms
cjne
; Neu phim
A, #11100000B, Cap_nhat_gia_tri
Cho_Phim4_tha:
inc Nut1 ; Duoc tha roi thi tang Nut1 - chua tong so lan bam len Cap_nhat_gia_tri
Phim2:
movx
A, @DPTR
anl
A, #11110000B
cjne
A, #11110000B, Cho_Phim4_tha
call
Delay_7ms
call
Delay_7ms
call
Delay_7ms
inc Nut4 ; Duoc tha roi thi tang Nut1 - chua tong so lan bam len
A, @DPTR
anl A, #11110000B thu 2 duoc an
A, @DPTR
anl A, #11110000B thu 4 duoc an
cjne
cjne
anl
jmp
anl
movx
A, @DPTR
A, #01110000B, Phim2
Cho_Phim1_tha:
jmp
movx
; Neu phim Cap_nhat_gia_tri:
A, #10110000B, Phim3
Cap_nhat_gia_tri_digital_input:
Cho_Phim2_tha:
mov
A, #DONG3 + 28
call
Command_To_LCD
movx
A, @DPTR
anl
A, #11110000B
cjne
A, #11110000B, Cho_Phim2_tha
mov
DPTR, #DIGITAL_INPUT
call
Delay_7ms
movx
A, @DPTR
call
Delay_7ms
call
Delay_7ms
call phex8 digital input
; in ra gia tri cua
inc Nut2 ; Duoc tha roi thi tang Nut1 - chua tong so lan bam len jmp
Cap_nhat_gia_tri
;
MSG31: db 'B1:
|B2:
|B3:
|B4:
',0
Cap_nhat_so_lan_bam_cac_nut: Phim3: movx
A, @DPTR
anl A, #11110000B thu 3 duoc an cjne
A, #11010000B, Phim4
mov
A, #DONG2 + 3
call
Command_To_LCD
mov
A, Nut1
call
phex8
; Neu phim
Cho_Phim3_tha:
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 114
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
mov
A, #DONG2 + 9
; Select receive mode, bam nut 1
call
Command_To_LCD
mov
DPTR, #MSG25
mov
A, Nut2
call
Str_TO_LCD
call
phex8
mov
A, #0CH
call
Command_To_LCD
; Giau con tro
mov
A, #DONG2 + 15
call
Command_To_LCD
mov
A, KEY
mov
A, Nut3
cjne
A, #0, Cho_Phim_1_DM7
call
phex8
mov
KEY, #0FFH
jmp
Receive_Mode
Cho_Phim_0_DM7:
mov
A, #DONG2 + 21
call
Command_To_LCD
mov
A, Nut4
mov
A, KEY
call
phex8
cjne
A, #1, Cho_Phim_BSP_DM7
mov
KEY, #0FFH
mov
A, KEY
jmp
Send_Mode
cjne
A, #KEY_BSP, Tiep_tuc
mov
KEY, #0FFH
call
Restore_SCR
Cho_Phim_1_DM7:
Cho_Phim_BSP_DM7:
ret
Tiep_tuc: jmp
Quet_Phim
call
A, KEY
cjne
A, #KEY_BSP, Cho_Phim_0_DM7
mov
KEY, #0FFH
call
Enable_SERIAL_INT
ret
ret DEMO7:
mov
Receive_Mode: ; RS232
mov
A, #DONG3
Disable_SERIAL_INT
call
Command_To_LCD
mov
DPTR, #MSG26
call
Str_To_LCD
; Lam viec voi nua man hinh 2 mov
E, #2
mov
A, #01
call
Command_To_LCD
; Xoa LCD
mov
A, #DONG4
call
Command_To_LCD
mov
A, #0FH
; Select receive mode, bam nut 0
call
Command_To_LCD
mov
DPTR, #MSG24
clr
RI
call
Str_TO_LCD
mov
R7, #23
mov
A, #DONG1
call
Command_TO_LCD
; Nhap nhay con tro
Doi_Nhan_Du_Lieu: mov
A, #DONG2
mov
A, KEY
call
Command_TO_LCD
cjne
A, #KEY_BSP, Co_Du_Lieu_Den
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 115
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
mov
KEY, #0FFH
jmp
DEMO7
Co_Du_Lieu_Den:
Ch−¬ng 61 :PhÇn phô lôc
call
Delay_500ms
call
Delay_500ms
call
Delay_500ms
jnb
RI, Doi_Nhan_Du_Lieu
call
Delay_500ms
mov
A, SBUF
mov
A, KEY
call
In_Ki_Tu
cjne
A, #KEY_BSP, Continue_Transfer
mov
KEY, #0FFH
jmp
DEMO7
djnz
R7, Chua_Het_Hang
mov
R7, #24
mov
A, #DONG4 ; Tro ve dau dong
call
Command_To_LCD
Chua_Het_Hang: clr
RI
jmp
Doi_Nhan_Du_Lieu
; -----------------------------------Send_Mode: mov
A, #DONG3
call
Command_To_LCD
mov
DPTR, #MSG27
call
Str_To_LCD
Continue_Transfer: mov
DPTR, #MSG22
call
Send_String
mov
A, #13
call
Send_Char
mov
A, #10
call
Send_Char
mov
DPTR, #MSG23
call
Send_String
mov
A, #13
call
Send_Char
mov
A, #10
call
Send_Char
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 116
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
6.5 S¬ ®å m¹ch in cña c¸c board
S¬ ®å m¹ch in cña BOARD CPU - mÆt trªn
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 117
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
S¬ ®å m¹ch in cña BOARD CPU - mÆt d−íi
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 118
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
S¬ ®å m¹ch in cña BOARD ADC - mÆt trªn
S¬ ®å m¹ch in cña BOARD xung sè, ®éng c¬ b−íc- mÆt d−íi
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 119
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
S¬ ®å m¹ch in cña BOARD LED ®¬n, LED 7 ®o¹n vµ LED ma trËn (mÆt trªn)
Ch−¬ng 61 :PhÇn phô lôc
(mÆt d−íi)
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 120
suu tam:
[email protected]
Gi¸o tr×nh m«n Kü thuËt Vi §iÒu KhiÓn
Ch−¬ng 61 :PhÇn phô lôc
Tµi liÖu tham kh¶o 1.
CÊu tróc vµ lËp tr×nh hä vi ®iÒu khiÓn 8051 – NguyÔn T¨ng C−êng – Nhµ xuÊt b¶n khoa häc kü thuËt – 2004
2.
Hä vi ®iÒu khiÓn 8051 – Tèng V¨n On, Hoµng §øc H¶i – Nhµ xuÊt b¶n Lao ®éng –X/ héi – 2001
3.
C¸c tµi liÖu tham kh¶o kh¸c d−íi d¹ng html vµ d¹ng pdf ®i kÌm theo CD ë th− môc “Tai lieu tham khao”
Biªn so¹n : L©m t¨ng §øc – Lª TiÕn Dòng –Bé m«n T§H www.pdfcoke.com/bao_trinh
Trang 121