Ñoà aùn moân hoïc VÑK

LÅÌI NOÏI ÂÁÖU
Ngaøy nay ñaïi ña soá caùc lónh vöïc saûn xuaát, ñieàu khieån, giaùm saùt, ño löôøng…ñeàu ñöôïc trang bò heä thoáng töï ñoäng hoùa. Moät trong soá vi maïch ñöôïc söû duïng ñoù laø kyõ thuaät vi ñieàu khieån. Nhôø tính naêng öu vieät cuûa boä vi ñieàu khieån nhö: khaû naêng laäp trình phuø hôïp vôùi thieát keá nhoû vaø lôùn cuõng nhö giao tieáp vôùi caùc thieát bò ngoaïi vi vaø maùy tính ñaõ ñem laïi söï hoaøn haûo, ñoä chính xaùc vaø tính meàm deûo cao thoâng qua giao tieáp giöõa ngöôøi vaø maùy. Vi ñieàu khieån quaûn lyù vaø ñieàu khieån hoaït ñoäng cuûa heä thoáng thoâng qua phaàn meàm, nhôø vaäy maø ta coù theå môû roäng vaø thay ñoåi hoaït ñoäng moät caùch deã daøng baèng caùch thay ñoåi moät soá thoâng soá cuûa chöông trình. Vi ñieàu khieån hoaït ñoänh theo chöông trình ñaõ naïp saün,ñoïc caùc tín hieäu töø beân ngoaøi ñöa vaøo sau ñoù löu tröõ vaø xöû lyù, treân cô sôû ñoù ñöa ra caùc thoâng baùo, tín hieäu ñieàu khieån caùc thieát bò beân ngoaøi hoaït ñoäng theo ñuùng thoâng soá vaø yeâu caàu cuûa heä thoáng. Heä thoáng ñieän töû soá söû duïng boä vi ñieàu khieån vaø maùy tính trong caùc daây chuyeàn saûn xuaát coâng nghieäp, thöïc hieän nhieäm vuï ñieàu khieån vaø giaùm saùt heä thoáng. Ngoaøi ra vi ñieàu khieån cuõng coù maët trong caùc saûn phaåm coâng nghieäp vaø tieâu duøng nhö: loø vi ba, loø söôõi, maùy giaët, heä thoáng caûnh baùo vaø giaùm saùt cuûa caùc phöông tieän giao thoâng… vaø trong nhieàu thieát bò coâng nghieäp khaùc. Trong taäp ñoà aùn naøy em xin pheùp ñöôïc giôùi thieäu moät heä thoáng âiãöu khiãøn maïy giàût söû duïng chip vi ñieàu khieån 8051. Vieäc ñònh höôùng xaây ñöïng ñeà taøi naøy xuaát phaùt töø nhu caàu thöïc teá trong ñôøi soáng hiãûn âaûi. Noäi dung cuûa ñoà aùn coù 2 phaàn: + Phaàn I : Cô sôû lyù thuyeát. Bao goàm kieán truùc cuûa chip vi ñieàu khieån 8051 + Phaàn II: Tính toaùn vaø thieát keáá trình baøy veà thieát keá phaàn cöùng vaø phaàn meàm heä thoáng. Qua noå löïc nghieân cöùu, tìm hieåu cuûa baûn thaân cuøng vôùi söï höôùng daãn taän tình chu ñaùo cuûa Thaày giaùo Th.S Leâ Xöùng em ñaõ hoaøn thaønh ñoà aùn naøy. Vôùi khoaûng thôøi gian coù haïn cuõng nhö trình ñoä kieán thöùc em coøn haïn cheá neân em tin chaéc raèng heä thoáng naøy hoaït ñoäng chöa ñöôïc toái öu vaø cuõng seû khoâng traùnh khoûi nhöõng thieáu soùt. Em kính mong Thaày Coâ thoâng caûm, giuùp ñôõ vaø chæ baûo theâm cho em nhöõng kinh nghieäm quyù baùu.

Em xin chaân thaønh caûm ôn.

1

Ñoà aùn moân hoïc VÑK

1.1 Giôùi thieäu: Trong raát nhieàu öùng duïng , nhö maùy in , maùy ATM , robotíc , Cd player ,disk driver , … caàn ñeán ñoäng cô ñieän moät chieàu . Trong da soâ caùc uùng duïng ñoù , ñoäng cô ñoài hoûi phaûi coù boä ñieàu khieån toát nhö : ñieàu chænh ñöôïc toác ñoä , oån ñònh ñöôïc toác ñoä , ñaûo chieàu quay , ñoä oån ñònh toát , hieäu suaát cao , nhoû goïn . Ñoù laø nhöõng ñoøi hoûi heát söc phöùc taïp .Chính vì vaïy trong ñeà taøi naøy em xin ñua ra phöông phaùp “ ñiieâuø chænh toác ñoä ñoäng cô baøng phöông phaùp baêm xung , söû duïng vi ñieàu khieån AT89C51 vaø vi maïch LMD 18200 “ nhaøm ñaät ñöôïc toái ña nhöõng ñoøi hoi treân . Neáu giaûi queát ñöôïc vaán ñeà thì seõ caûi thieän ñeán chaát löôïng cuûa caùc maùy moùc coù söû duïng ñoäng cô dc raát lôùn . Nhö : ñieàu khieûn maùy CNC , maùy ñóa , robot , …. 1.2Cô baûn veà ñieàu khieån ñoäng cô : Coù raát nhieàu phöông phaùp ñeå ñieàu khieån ñoäng cô dc , nhöng ngöôøi ta thöôøng duøng phöông phaùp ñieàu khieån caàu .Caáu truùc maïch nhö hình veõ :

Chöông 1:GIÔÙI THIEÄU ÑEÀ TAØI

Vôùi maïch naøy coù theå vöøa ñieàu chænh toác ñoä ñoäng cô baèng xung , vöøa ñaûo ñöôïc chieàu quay , hieäu suaát cao .Vi maïch LMD18200 tích hôïp saün maïch caàu ñieàu khieån ñoäng cô coù theå hoaït ñoäng vôùi taàn soá 1Khz .Neáu coù theâm tuï 10nF chaân Bootstrap thì coù theå hoaït ñoäng leân tôùi taàn soá 500Khz .Söû duïng vi ñieàu khieån 89C51 ñeå taïo xung ñieàu khieån LMD18200. 1.3 Phöông phaùp ñieàu cheá ñoä roäng xung (PWM): Ñaây laø phöông phaùp ñöa ra ñoä roäng xung thay ñoåi töø ñoù ñieàu khieån ñöôïc coâng suaát treân taûi thay ñoåi.

2

Ñoà aùn moân hoïc VÑK

MAÙY TÍNH

KHOÁI HIEÅN THÒ KHOÁI VÑK 89C51

KHOÁI ÑK ÑCÔ

ÑC

KHOÁI ÑIEÀU CHÆNH

CAÛM BIEÁN

1.4 Giôùi thieäu caùc chöùc naêng chính cuûa maïch: -Khoái hieån thò goàm 8 led, 4led hieån thò toác ñoä thöïc, 4led hieån thò toác ñoä caøi ñaët, coù caùc led bieåu thò traïng thaùi chaïy, döøng, quay thuaän , quay nghòch, vaø coù loa baùo quaû taûi -Khoái ñieàu chænh goàm 4 coâng taéc laøm caùc coâng vieäc :start/stop, chieàu thuaän , chieàu nghòch, taêng toác , giaûm toác -Khoái ñoäng cô: laø vi maïch LDM18200 nhaän caùc tín hieäu ñieàu khieån töø vi ñieàu khieån deå ñieàu chænh ñoäng cô -Khoái caûm bieán: laø boä thu phaùt tin hoàng ngoaïi ñeå nhaän bieát toác ñoä quay cuûa ñoäng cô vaø phaûn hoài veà vi ñieàu khieån ñeå hieäu chænh ñoäng cô ñoøng vôùi toác ñoä ñaët

3

2 Lòch söû phaùt trieån cuûa vi ñieàu khieån: Boä vi ñieàu khieån thöïc ra laø moät loaïi vi xöû lí trong taäp hôïp caùc boä vi xöû lyù noùi chung. heä thoáng ngaét vaø caùc BUS ñöôïc tích hôïp treân cuøng moät chip.1: Sô ñoà khoái cuûa boä vi ñieàu khieån 2. ñòa chæ. theo chöông trình ñieàu khieån ñaõ naïp saün beân trong chip.1.1. 2.1 Khaùi quaùt chung veà boä vi ñieàu khieån: Boä vi ñieàu khieån vieát taét laø Micro-controller.1 Toång quan veà kyõ thuaät vi ñieàu khieån:( xem chi tieát ôû phuï luïc I) 2. ñieàu khieån RAM ROM Hình 1.1. maïch giao tieáp.3 Sô ñoà khoái cuûa moät boä vi ñieàu khieån: Sô ñoà khoái chung cuûa haàu heát caùc boä vi ñieàu khieån bao CPU. duøng ñeå ñieàu khieån hoaït ñoäng cuûa moät heä thoáng.4 port I/0 8 bit 4 . möùc ñoä tích hôïp cuûa caùc linh kieän baùn daãn trong moät chip ngaøy caøng cao. Nguoàn ñoàng hoà ngoaøi Ngaét ngoaøi Thieát bò noái tieáp Thieát bò song Ñoàng hoà noäi Timers Ñieàu khieån ngaét Giao tieáp noái tieáp Giao tieáp song CPU Bus döõ lieäu. 2.Ñoà aùn moân hoïc VÑK Chöông 2 GIÔÙI THIEÄU CAÙC VI MAÏCH LIEÂN QUAN 2. laø maïch tích hôïp treân moät chip coù theå laäp trình ñöôïc. boä ñònh thôøi gian.4 kbyte ROM (ñöôïc laäp trình bôûi nhaø saûn xuaát chæ coù ôû 8051) .128 byte RAM . maïch giao tieáp song song. Boä vi ñieàu khieån ñöôïc phaùt trieån töø boä vi xöû lí.2 Kieán truùc cuûa boä vi ñieàu khieån 8051: IC vi ñieàu khieån 8051/8031 thuoäc hoï MCS51 coù caùc ñaët ñieåm sau : . boä nhôù ROM hay EPROM vaø RAM. töø nhöõng naêm 1970 do söï phaùt trieån vaø hoaøn thieän veà coâng ngheä vi ñieän töû döïa treân kyõ thuaät MOS (Metal-Oxide-Semiconductor).

Ngoaøi ra coøn coù boä nhôù chöông trình.210 bit ñöôïc ñòa chæ hoùa .Con troû ngaên xeáp .64KB khoâng gian boä nhôù chöông trình ngoaøi .1 : Sô Ñoà Khoái 8051 Phaàn chính cuûa vi ñieàu khieån 8051 laø boä xöû lí trung taâm (CPU: central processing unit ) bao goàm : .1 Caáu truùc beân trong cuûa 8051: INT\1 INT\0 TIMER2 TIMER1 PORT noá tieáp Ñ Ñieàu khieån ngaét Cacùùthanh ghi khaùc 128 byte Ram Rom 4K-8051 Timer1 Timer2 T1* T2* CPU Taïo dao ñoäng Ñieàu khieån bus Caùc port I\O Port noái tieáp EA\ RST PSEN ALE P0 P1 P2 P3 TXD* RXD* Hình 2.Ñôn vò logic hoïc (ALU : Arithmetic Logical Unit ) .boä nhaân / chia 4μs 2.64 KB khoâng gian boä nhôù döõ lieäu ngoaøi . 5 .Thanh ghi tích luõy A .boä xöû lí luaän lí (thao taùc treân caùc bit ñôn) . duøng cho pheùp nhaân vaø pheùp chia . boä giaûi maõ leänh.Töø traïng thaùi chöông trình (PSW : Prorgam Status Word) .Giao tieáp noái tieáp . boä ñieàu khieån thôøi gian vaø logic.Boán baêng thanh ghi .Thanh ghi tích luõy phuï B.2.Ñoà aùn moân hoïc VÑK .Hai boä ñònh thôøi 16 bits .

4 P0.7 P1.1 P0.0 P2.6 P1.0 P1.2 P0.4 P2.3 P2.5 P2. moãi chaân coù coâng duïng keùp naøy coù theå laø moät ñöôøng ñieàu khieån cuûa Bus ñòa chæ hay Bus döõ lieäu hoaëc laø moãi chaân hoaït ñoäng moät caùch ñoäc laäp ñeå giao tieáp vôùi caùc thieát ñôn bit nhö laø coâng taéc.2 : Sô Ñoà Chaân 8051 Vi ñieàu khieån 8051 coù 32 trong 40 chaân coù chöùc naêng nhö laø caùc coång I/O. trong ñoa 24 chaân ñöôïc söû duïng vôùi hai muïc ñích. Caùc thanh ghi söû duïng ñeå löu tröõ thoâng tin trong quaù trình xöû lí. Nghóa laø ngoaøi chöùc naêng coång I/O. LED.7 P0.6 P2.1 P1.3 P0. transistor… a.2 P2. PO ñöôïc söû duïng nhö laø nhöõng coång I/O.2 Chöùc naêng caùc chaân cuûa vi ñieàu khieån: 30p 12MHz 30p 18 40 19 XTAL1 XTAL2 Vcc 29 30 31 9 RD\ WR\ T1 T0 INT1 INT0 TXD RXD 17 16 15 14 13 12 11 10 PSEN\ ALE EA\ RET P0.7 P2.1 P2. 6 . Coøn trong caùc thieát keá lôùn coù yeâu caàu moät soá löôïng ñaùng keå boä nhôù ngoaøi thì PO trôû thaønh caùc ñöôøng truyeàn döõ lieäu vaø 8 bit thaáp cuûa bus ñòa chæ. 2. Khi CPU laøm vieäc noù laøm thay ñoåi noäi dung cuû aùc thanh ghi.4 P1.3 P1. Trong caùc thieát keá côõ nhoû khoâng duøng boä nhôù ngoaøi.2 P1.2.Port0 : laø port coù 2 chöùc naêng ôû treân chaân töø 32 ñeán 39 cuûa MC 8051.5 P1.6 P0.5 P0.Ñoà aùn moân hoïc VÑK Trong vi ñieàu khieån 8051 / 8031 coù hai thaønh phaàn quan troïng khaùc ñoù laø boä nhôù vaø caùc thanh ghi : Boä nhôù goàm coù boä nhôù Ram vaø boä nhôù Rom (chæ coù ôû 8031) duøng ñeå löu tröõ döõ lieäu vaø maõ leänh.0 32 33 34 35 36 37 38 39 8 7 6 5 4 3 2 1 28 27 26 25 24 23 22 21 AD7 AD6 AD5 AD4 AD3 AD2 AD1 AD0 Vss 20 A15 A14 A13 A12 A11 A10 A9 A8 Hình 2.

RST (Reset) : 7 . Sau ñoù.1 : Chöùc naêng cuûa caùc chaân treân port3 e.Port2 : Port2 laø moät coång coù coâng duïng keùp treân caùc chaân 21 – 28 cuûa MC 8051.1 P3. caùc ñöôøng Port 0 duøng ñeå xuaát hoaëc nhaäp döõ lieäu trong nöõa sau chu kyø cuûa chu kyø boä nhôù. d.4 P3. h. Chaân naøy cuõng ñöôïc laøm ngoõ vaøo cho xung laäp trình cho EPROM trong 8051. ñöôïc moâ taû trong baûng sau : Bit P3. nhöõng chaân naøy kieâm luoân nhieàu chöùc naêng khaùc nöõa lieân quan ñeán nhieàu tính naêng ñaëc bieät cuûa MC 8051.ALE (Address Latch Enable ) : ALE laø tín hieäu ñeå choát ñòa chæ vaøo moät thanh ghi beân ngoaøi trong nöõa ñaàu cuûa chu kyø boä nhôù.PSEN (Program Store Enable ) : 8051 coù 4 tín hieäu ñieàu khieån.7 Teân RXD TXD INTO INT1 TO T1 WR RD Chöùc naêng chuyeån ñoåi Döõ lieäu nhaän cho port noái tieáp Döõ lieäu phaùt cho port noái tieáp Ngaét 0 beân ngoaøi Ngaét 1 beân ngoaøi Ngoû vaøo cuûa timer 0 Ngoõ vaøo cuûa timer 1 Tín hieäu ghi boä nhôù döõ lieäu ngoaøi Tín hieäu ñoïc boä nhôù döõ lieäu ngoaøi Baûng 2.6 P3. Ngoaøi chöùc naêng laø coång I/O. caùc chaân naøy duøng laøm 8 bit cao cuûa bus ñòa chæ cho nhöõng moâ hình thieát keá coù boä nhôù chöông trình ROM ngoaøi hoaëc boä nhôù döõ lieäu RAM coù dung löôïng lôùn hôn 256 byte.5 P3. g.Port3 : Port3 laø moät coång coù coâng duïng keùp treân caùc chaân 10 – 17 cuûa MC 8051. Chuùng ñöôïc söû duïng vôùi moät muùc ñích duy nhaát laø giao tieáp vôùi caùc thieát bò ngoaøi khi caàn thieát.0 P3.3 P3. Ngoaøi chöùc naêng I/O.EA (External Access) : Tín hieäu vaøo EA treân chaân 31 thöôøng ñöôïc noái leân möùc cao (+5V) hoaëc möùc thaáp (GND). Tín hieäu PSEN ôû möùc thaáp trong suoát phaïm vi quaù trình cuûa moät leänh.Port1 : Port1 laø moät port I/O chuyeân duïng treân caùc chaân 1-8 cuûa MC8051. f. Khi thi haønh chöông trình trong ROM noäi PSEN seõ ôû möùc cao. Noù laø tín hieäu ñieàu khieån ñeå cho pheùp truy xuaát boä nhôù chöông trình môû roäng vaø thöôøng ñöôïc noái ñeán chaân OE (Output Enable) cuûa moät EPROM ñeå cho pheùp ñoïc caùc byte maõ leänh cuûa chöông trình. Neáu xung treân 8051 laø 12MHz thì ALE coù taàn soá 2MHz.2 P3. PSEN seõ ôû möùc thaáp trong thôøi gian laáy leänh. PSEN laø tín hieäu ra treân chaân 29. c. Caùc maõ nhò phaân cuûa chöông trình ñöôïc ñoïc töø EPROM qua bus vaø ñöôïc choát vaøo thanh ghi leänh cuûa 8051 ñeå giaûi maõ leänh.Ñoà aùn moân hoïc VÑK b. Caùc xung tín hieäu ALE coù toác ñoä baèng 1/6 laàn taàn soá dao ñoäng treân chip vaø coù theå ñöôïc duøng laø nguoàn xung nhòp cho caùc heä thoáng.

Chi tieát veà boä nhôù RAM treân chip : RAM beân trong chip 8051 ñöôïc phaân chia nhö sau: • bank thanh ghi (00H – 1FH).Ñoà aùn moân hoïc VÑK Ngoõ vaøo RST treân chaân 9 laø ngoõ reset cuûa 8051.2. caùc thanh ghi trong 8051 ñöôïc ñöa vaøo nhöõng giaù trò thích hôïp ñeå khôûi ñoäng heä thoáng. Khi tín hieäu naøy ñöôïc ñöa leân möùc cao (trong ít nhaát 2 chu kyø maùy ). OSC: Nhö ñaõ thaáy trong caùc hình treân. • Caùc thanh ghi chöùc naêng ñaëc bieät (80H – FFH). caû chöông trình vaø döõ lieäu coù theå ôû beân trong 8051. Boä nhôù beân trong bao goàm ROM (8051) vaø RAM treân chip. j. RAM treân chip bao goàm nhieàu phaàn : phaàn löu tröõ ña duïng. 2. Nhö ñaõ noùi ôû treân. Noù thöôøng ñöôïc noái vôùi thaïch anh giöõa hai chaân 18 vaø 19. Taàn soá thaïch anh thoâng thöôøng laø 12MHz. 8 .3. • RAM ña duïng (30H – 7FH)ø. • RAM ñòa chæ hoùa töøng bit (20H – 2FH). Vcc ñöôïc noái vaøo chaân 40 vaø Vss (GND) ñöôïc noái vaøo chaân 20. i. caùc bank thanh ghi vaø caùc thanh ghi chöùc naêng ñaëc bieät.Toå chöùc boä nhôù cuûa boä vi ñieàu khieån 8051 : 8051 coù boä nhôù theo caáu truùc Harvard : coù nhöõng vuøng boä nhôù rieâng bieät cho chöông trình vaø döõ lieäu. POWER: 8051 vaän haønh vôùi nguoàn ñôn +5V. 8051 coù moät boä dao ñoäng treân chip. duø vaäy chuùng coù theå ñöôïc môû roäng baèèng caùc thaønh phaàn ngoaøi leân ñeán toái ña 64 Kbytes boä nhôù chöông trình vaø 64 Kbytes boä nhôù döõ lieäu. phaàn löu tröõ ñòa chæ hoùa töøng bit.

Ñoà aùn moân hoïc VÑK a. Ñòa chæ byte 7F RAM ña duïng 30 2F 2E 2D 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 18 17 10 0F 08 07 00 7F 7E 77 76 6F 6E 67 5F 57 4F 47 3F 37 2F 27 1F 17 0F 07 66 5E 56 4E 46 3E 36 2E 26 1E 16 0E 06 7D 75 6D 65 5D 55 4D 45 3D 35 2D 25 1D 15 0D 05 7C 74 6C 64 5C 54 4C 44 3C 34 2C 24 1C 14 0C 04 7B 73 6B 63 5B 53 4B 43 3B 33 2B 23 1B 13 0B 03 7A 72 6A 62 5A 52 4A 42 3A 32 2A 22 1A 12 0A 02 79 71 69 61 59 51 49 41 39 31 29 21 19 11 09 01 78 70 68 60 58 50 48 40 38 30 28 20 18 10 08 00 Ñòa chæ bit BANK 3 BANK 2 BANK 1 Default register Bank for RO÷R7 Hình 2.3 Baûng toùm taét baûn baûn ñoà vuøng nhôù döõ lieäu treân chip 8051 9 . RAM ña duïng.

ñeå ñoïc noäi dung ôû ñòa chæ 5FH cuûa RAM noäi vaøo thanh ghi tích luõy leänh sau seõ ñöôïc duøng : MOV A. 5FH 10 . Ví duï.4 Toùm taét boä nhôù döõ lieäu treân chip Moïi ñòa chæ trong vuøng RAM ña duïng ñeàu coù theå ñöôïc truy xuaát töï do duøng caùch ñaùnh ñòa chæ tröïc tieáp hoaëc giaùn tieáp.Ñoà aùn moân hoïc VÑK Ñòa chæ byte FF F0 E0 D0 B8 B0 Ñòa chæ bit F7 E7 D7 B7 F6 E6 F5 E5 F4 E4 D4 BC B4 AC A4 F3 E3 D3 BB B3 AB A3 F2 E2 D2 BA B2 AA A2 F1 E1 D1 B9 B1 A9 A1 F0 E0 D0 B8 B0 A8 A0 B ACC PSW IP P3 IE P2 SBUF D6 D5 - B6 B5 - A8 AF A0 A7 A6 A5 99 98 90 8D 8C 8B 8A 89 88 87 83 82 81 80 9F 97 9E 96 Not bit addressable 9D 9C 9B 9A 95 94 93 92 99 91 98 90 SCON P1 TH1 TH0 TL1 TL0 TMOD TCON PCON DPH DPL SP PO Not bit addressable Not bit addressable Not bit addressable Not bit addressable Not bit addressable 8F 8E 8D 8C 8B 8A Not bit addressable 89 88 87 86 Not bit addressable Not bit addressable Not bit addressable 85 84 83 82 81 80 Hình 2.

ta duøng leänh sau : SETB 67H ÔÛ ñaây ñòa chæ bit 67H laø bit coù troïng soá lôùn nhaát (MSB) ôû ñòa chæ byte 2CH. Vì leänh SETB chæ taùc ñoäng treân bit. ña soá caùc SFR ñöôïc truy xuaát duøng ñòa chæ tröïc tieáp.R5 Ñaây laø leänh moät byte duøng ñòa chæ thanh ghi. 2. neân chæ coù ñòa chæ bit laø coù hieäu quaû. @R0 Leänh ñaàu duøng ñòa chæ töùc thôøi ñeå di chuyeån giaù trò 5FH vaøo thanh ghi R0 vaø leänh thöù hai duøng ñòa giaùn tieáp ñeå di chuyeån döõ lieäu “ñöôïc troû bôûi R0” vaøo thanh ghi tích luõy.RAM ñòa chæ hoùa töøng bit : 8051 chöùa 210 bit ñöôïc ñòa chæ hoùa. ñeå ñaët bit 67H. Caùc ñòa chæ naøy ñöôïc truy xuaát nhö caùc byte hoaëc caùc bit phuï thuoäc vaøo leänh ñöôïc duøng. Cuõng nhö R0 ñeán R7.Ñoà aùn moân hoïc VÑK Leänh naøy di chuyeån moät byte döõ lieäu duøng caùch ñaùnh ñòa chæ tröïc tieáp ñeå xaùc ñònh “ñòa chæ nguoàn” (5FH). b. RAM beân trong cuõng coù theå ñöôïc truy xuaát duøng caùch ñaùnh ñòa chæ giaùn tieáp qua RO hay R1. bank 2 vaø bank 3. chuù yù raèng moät vaøi SFR coù theå ñöôïc ñòa chæ hoùa bit hoaëc byte. leänh treân seõ khoâng taùc ñoäng ñeán caùc bit khaùc cuûa byte naøy. Ta thaáy raèng E0H ñoàng thôøi laø ñòa chæ byte cuûa thanh ghi tích luõy vaø laø ñòa chæ bit coù troïng soá nhoû nhaát trong thanh ghi tích luõy. Khi thieát keá phaûi thaän troïng khi truy xuaát bit vaø byte. thao taùc töông töï coù theå ñöôïc thi haønh baèng leänh 2 byte duøng ñòa chæ tröïc tieáp naèm trong byte thöù hai: MOV A. Taát nhieân.05H Caùc leänh duøng caùc thanh ghi R0 ñeán R7 thì seõ ngaén hôn vaø nhanh hôn caùc leänh töông öùng duøng ñòa chæ tröïc tieáp. Ví duï leänh sau: SETB 0E0H Seõ Set bit 0 trong thanh ghi tích luõy. trong ñoù 128 bit laø ôû caùc ñòa chæ byte 20H ñeán 2FH. 8 thanh ghi (RO ñeán R7) ôû vò trí cuoái cuøng cuûa RAM vaø theo maëc ñònh (sau khi Reset heä thoáng) caùc thanh ghi naøy ôû caùc ñòa chæ 00H-07H. Ví duï. vaø phaàn coøn laïi trong caùc thanh ghi chöùc naêng ñaëc bieät . Ví duï.4 Caùc thanh ghi chöùc naêng ñaëc bieät SFR: Caùc thanh ghi noäi cuûa 8051 ñöôïc truy xuaát ngaàm ñònh bôûi boä leänh.2. Ngoaïi tröø tích luõy (A) coù theå ñöôïc truy xuaát ngaàm nhö ñaõ noùi. töø ñòa chæ 80H ñeán FFH. Taùc ñoäng naøy ñöôïc ngaàm ñònh trong maõ leänh. #5FH MOV A. coù 21 thanh ghi chöùc naêng ñaëc bieät (SFR: Special Funtion Rgister) ôû vuøng treân cuûa RAM noäi. Ñích nhaän döõ lieäu ñöôïc ngaàm xaùc ñònh trong maõ leänh laø thanh ghi tích luõy A. Leänh sau ñaây seõ ñoïc noäi dung ôû ñòa chæ 05H vaøo thanh ghi tích luõy: MOV A. Chuù yù raèng haàu heát 128 ñòa chæ töø 80H ñeán FFH khoâng ñöôïc ñònh nghóa.Caùc bank thanh ghi : MC 8051 cung caáp 32 byte thaáp nhaát cuûa boä nhôù döõ lieäu noäi laø daønh cho caùc bank thanh ghi. tieáp ñoù laø bank 1. Caùc giaù trò döõ lieäu ñöôïc duøng thöôøng xuyeân neân duøng moät trong caùc thanh ghi naøy. Coù 128 bit ñöôïc ñòa chæ hoùa ña duïng ôû caùc byte 20H ñeán 2FH. chæ coù 21 ñòa chæ SFR laø ñöôïc ñònh nghóa. Ví duï leänh “INC A” seõ taêng noäi dung cuûa thanh ghi tích luõy A leân 1. 11 . sau khi thi haønh cuøng nhieäm vuï nhö leänh ñôn ôû treân : MOV R0. c. caùc bit khaùc khoâng thay ñoåi.

12 . • Côø Traøn Côø traøn (OV) ñöôïc set moät leänh coäng hoaëc tröø neáu coù moät pheùp toaùn bò traøn. Neáu caùc giaù trò coäng ñöôïc laø soá BCD. côø nhôù phuï (AC) ñöôïc set neáu keát quûa cuûa 4 bit thaáp trong khoaûng 0AH ñeán 0FH. thì leänh sau: ADD A. ñòa chæ 00H-07H 01=bank 1: ñòa chæ 08H-0FH 10=bank 2:ñòa chæ 10H-17H 11=bank 3:ñòa chæ 18H-1FH PSW.0 P D0H Côø Parity chaün.4 PSW.2 OV D2H Côø traøn PSW. Khi caùc soá coù daáu ñöôïc coäng hoaëc tröø vôùi nhau. Chuùng ñöôïc xoùa sau khi reset heä thoáng vaø ñöôïc thay ñoåi baèng phaàn meàm neáu caàn. bit OV coù theå ñöôïc boû qua. • Côø zero F0: Côø F0 laø moät bit côø ña duïng daønh caùc öùng duïng cuûa ngöôøi duøng. Thoâng thöôøng noù ñöôïc duøng cho caùc leänh toaùn hoïc: noù seõ ñöôïc set neáu coù moät soá nhôù sinh ra bôûi pheùp coäng hoaëc coù moät soá möôïn pheùp tröø .6 PSW.#1 Seõ traû veà thanh ghi tích luõy keát quûa 00H vaø set côø nhôù trong PSW.7 PSW. leänh seõ AND bit 25H vôùi côø nhôù vaø ñaët keát quûa trôû vaøo côø nhôù: ANL C. neáu thanh ghi tích luõy chöùa FFH. ba leänh sau cho pheùp bank thanh ghi 3 vaø di chuyeån noäi dung cuûa thanh ghi R7 (ñòa chæ byte 1FH) ñeán thanh ghi tích luõy: SETB RS1 SETB RSO MOV A. • Caùc bit choïn bank thanh ghi Caùc bit choïn bank thanh ghi (RSO vaø RS1) xaùc ñònh bank thanh ghi ñöôïc tích cöïc. Ví duï.Ñoà aùn moân hoïc VÑK a. phaàn meàm coù theå kieåm tra bit naøy ñeå xaùc ñònh xem keát quûa cuûa noù coù naèm trong taàm xaùc ñònh khoâng.R7 Khi chöông trình ñöôïc hôïp dòch caùc ñòa chæ bit ñuùng ñöôïc thay theá cho caùc kyù hieäu “RS1” vaø “RS0”.3 Kyù hieäu CY AC F0 RS1 RS0 Ñòa chæ D7H D6H D5H D4H D3H YÙù nghóa Côø nhôù Côø nhôù phuï Côø 0 Bit 1 choïn bank thanh ghi Bit choïn bank thanh ghi.1 D1H Döï tröõ PSW. Khi caùc soá khoâng daáu ñöôïc coäng. Ví duï. 00=bank 0. Ví duï.25H • Côø nhôù phuï AC : Khi coäng caùc soá BCD. thì sau leänh coäng caàn coù DA A( hieäu chænh thaäp phaân thanh ghi tích luõy) ñeå mang keát quûa lôùn hôn 9 trôû veà taâm töø 0÷9. Töø traïng thaùi chöông trình(PWS): Töø traïng thaùi chöông trình (PSW: Program Status Word) ôû ñòa chæ D0H chöùa caùc bit traïng thaùi nhö baûng toùm taét sau: Bit PSW. Caùc keát quûa lôùn hôn +127 hoaëc nhoû hôn –128 seõ set bit OV.5 PSW. Hình 21: Töø traïng thaùi chöông trình • Côø nhôù (CY) coù coâng duïng keùp. Vaäy leänh SETB RS1 seõ gioáng nhö leänh SETB 0D4H. Côø nhôù cuõng coù theå xem nhö moät thanh ghi 1 bit cho caùc leänh luaän lyù thi haønh treân bit.

Ñeå khôûi ñoäng laïi SP vôùi ngaên xeáp baét ñaàu taïi 60H. Vieäc vaän vaänhaønh timer ñöôïc set bôûi thanh ghi Timer Mode (TMOD) ôû ñòa chæ 89H vaø thanh ghi ñieàu khieån timer (TCON) ôû ñòa chæ 88H.Ñoà aùn moân hoïc VÑK b. laàn naøy ñeå taûi döõ lieäu 16 bit 1000H vaøo con troû döõ lieäu. vaø leänh laáy döõ lieäu ra khoûi ngaên xeáp seõ doïc döõ lieäu vaø laøm giaûm SP. Moät thanh ghi goïi laø boä ñeäm döõ lieäu noái tieáp (SBUF) ôû ñòa chæ 99H seõ giöõ caû hai döõ lieäu truyeàn vaø nhaän. khi nhaän döõ lieäu thì ñoïc töø SBUF. Ngaên xeáp cuûa 8051 ñöôïc giöõ trong RAM noäi vaø ñöôïc giôùi haïn caùc ñòa chæ coù theå truy xuaát baèng ñòa chæ giaùn tieáp. Leänh MUL AB seõ nhaân caùc giaù trò khoâng daáu 8 bit trong A vaø B roài traû veà keát quûa 16 bit trong A (byte thaáp) vaø B (byte cao). modem hoaëc cho vieäc giao tieáp vôùi caùc IC khaùc coù giao tieáp noái tieáp (coù boä chuyeån ñoåi A/D. c. Thanh ghi B: Thanh ghi B ôû ñòa chæ F0H ñöôïc duøng cuøng vôùi thanh ghi tích luõy A cho caùc pheùp toaùn nhaân vaø chia.. Noù ñöôïc ñòa chæ hoùa ttöøng bit baèng caùc ñòa chæ bit FOH ñeán F7H.A Leänh ñaàu tieân duøng ñòa chæ töùc thôøi ñeå taûi döõ lieäu 55H vaøo thanh ghi tích luõy. Caùc thanh ghi timer: 8051 chöùa 2 boä ñònh thôøi ñeám 16 bit ñöôïc duøng trong vieäc ñònh thôøi hoaëc ñeám söï kieän. Caùc leänh treân ngaên xeáp bao goàm caùc thao taùc caát döõ lieäu vaøo ngaên xeáp vaø laáy döõ lieäu ra khoûi ngaên xeáp. Port 1 ôû ñòa chæ 90 H. Ba leänh sau seõ ghi 55H vaøo RAM ngoaøi ôû ñòa chæ 1000H: MOV A. Port 2 ôû ñòa chæ A0H vaø Port 3 ôû ñòa chæ B0H. caùc thanh ghi dòch. Noù chöùa ñòa chæ cuûa byte döõ lieäu hieän haønh treân ñænh cuûa ngaên xeáp. Caùc thanh ghi port xuaát nhaäp: Caùc port cuûa 8051/8031 bao goàm Port 0 ôû ñòa chæ 80H.#5FH d. g.Timer 1 ôû ñòa chæ 8BH (TL1:byte thaáp) vaø 8DH (TH1: byte cao). Taát caû caùc Port ñeàu ñöôïc ñòa chæ hoùa töøng bit. Leänh thöù ba duøng ñòa chæ giaùn tieáp ñeå di chuyeån döõ lieäu trong A (55H) ñeán RAM ngoaøi ôû ñòa chæ ñöôïc chöùa trong DPTR (1000H) e. h.#1000H MOVX @DPTR.). Leänh DIV AB seõ chia A cho B roài traû veà keát quûa nguyeân trong A vaø phaàn dö trong B. Con troû ngaên xeáp: Con troû ngaên xeáp (SP) laø moät thanh ghi 8 bit ôû ñòa chæ 81H. ñaây laø moät thanh ghi 16 bit ôû ñòa chæ 82H( byte thaáp) vaø 83H (byte cao). Thanh ghi B cuõng coù theå ñöôïc xem nhö thanh ghi ñeäm ña duïng.#55H MOV DPTR. Caùc thanh ghi ngaét: 13 . Timer 0 ôû ñòa chæ 8AH (TL0:byte thaáp) vaø 8CH (TH0:byte cao). chuùng laø 128 byte ñaàu cuûa 8051. Chæ coù TCON ñöôïc ñòa chæ hoùa töøng bit. Khi truyeàn döõ lieäu thì ghi leân SBUf. f. Caùc thanh ghi port noái tieáp: 8051 chöùa moät port noái tieáp treân chip daønh cho vieäc trao ñoåi thoâng tin vôùi caùc thieát bò noái tieáp nhö maùy tính. Leänh caát döõ lieäu vaøo ngaên xeáp seõ laøm taêng SP tröôùc khi ghi döõ lieäu. Con troû döõ lieäu: Con troû döõ lieäu (DPTR) ñöôïc duøng ñeå truy xuaát boä nhôù ngoaøi. Ñieàu ñoù cung caáp moät khaû naêng giao tieáp thuaän lôïi. caùc leänh sau ñaây ñöôïc duøng: MOV SP. Caùc mode vaän haønh khaùc nhau ñöôïc laäp trình qua thanh ghi ñieàu khieån port noái tieáp (SCON) ñöôïc ñòa chæ hoùa töøng bit ôû ñòa chæ 98H. leänh thöù hai cuõng duøng ñòa chæ töùc thôøi.

2 vaø 3 cuûa port noái tieáp Khoâng ñònh nghóa Khoâng ñònh nghóa Khoâng ñònh nghóa Bit côø ña duïng 1 Bit côø ña duïng 0 Giaûm coâng suaát. set ñeå kích hoaït mode chôø. Caùc ngaét bò caám sau khi reset heä thoáng vaø seõ ñöôïc cho pheùp baèng vieäc ghi vaøo thanh ghi cho pheùp ngaét (IE) ôû ñòa chæ 8AH moät giaù trò phuø hôïp. +5V Hình 2. 2. i. neáu ñöôïc set thì toác ñoä baud seõ taêng gaáp ñoâi trong caùc mode 1.8: Maïch reset heä thoáng. 8051 ñöôïc reset baèng caùch giöõ chaân RST ôû möùc cao ít nhaát trong 2 chu kyø maùy vaø traû noù veà muùc thaáp.5 : Thanh ghi ñieàu khieån coâng suaát (PCON) 100Ω S1 10uF Reset 8.6 Leänh reset. Caû hai thanh ghi ñöôïc ñòa chæ hoùa töøng bit. ñöôïc set ñeå kích hoaït mode giaûm coâng suaát. 2 möùc öu tieân. chæ thoaùt khi coù ngaét hoaëc reset heä thoáng.Ñoà aùn moân hoïc VÑK 8051 coù caáu 5 nguoàn ngaét.2K Hình 2. 14 . RST coù theå ñöôïc kích khi caáp ñieän duøng moät maïch R-C. Caùc thanh ghi ñieàu khieån coâng suaát: Thanh ghi ñieàu khieån coâng suaát (PCON) ôû ñòa chæ 87H chöùa nhieàu bit ñieàu khieån. chæ thoaù khi reset Mode chôø.2. Chuùng ñöôïc toùm taét trong baûng sau: Bit 7 Kyù hieäu SMOD 6 5 4 3 2 1 0 GF1 GF0 PD IDL Yù nghóa Bit gaáp ñoâi toác ñoä baud.

Ngöôøi ta söû duïng caùc timer ñeå : ñònh khoaûng thôøi gian. Trong caùc öùng duïng ñònh khoaûng thôøi gian. Côø baùo traøn seõ leân 1 khi soá ñeám traøn töø FFFFH ñeán 0000H. moãi timer coù boán caùch laøm vieäc.Ñoà aùn moân hoïc VÑK Traïng thaùi cuûa taát caû caùc thanh ghi cuûa 8051 sau khi reset heä thoáng ñöôïc toùm taét trong baûng sau: Thanh ghi Ñeám chöông trình Tích luõy B PSW SP DPTR Port 0-3 IP IE Caùc thanh ghi ñònh thôøi SCON SBUF PCON(HMOS) PCON(CMOS) Noäi dung 0000H 00H 00H 00H 07H 0000H FFH XXX00000B 0XX00000B 00H 00H 00H 0XXXXXXB 0XXX0000B Hình 2. Moät ñònh nghóa ñôn giaûn cuûa timer laø moät chuoãi caùc flip-flop chia ñoâi taàn soá noái tieáp vôùi nhau. Noäi dung cuûa RAM treân chip khoâng bò thay ñoåi bôûi leänh reset. Ví duï timer 16 bit seõ ñeám leân töø 0000H ñeán FFFFH. 2. Moät söï kieän laø baát cöù taùc ñoäng ngoaøi naøo coù theå cung caáp moät chuyeån traïng thaùi treân moät chaân cuûa 8051. Ñeám söï kieän duøng ñeå xaùc ñònh soá laàn xaûy ra cuûa moät söï kieän. Caùc timer cuõng coù theå cung caáp xung nhòp toác ñoä baud cho port noái tieáp trong 8051. Ngoõ ra cuûa taàn soá cuoái laøm nguoàn xung nhòp cho flip-flop baùo traøn cuûa timer (flip-flop côø). Truy xuaát timer cuûa 8051 duøng 6 thanh ghi chöùc naêng ñaëc bieät cho trong baûng sau: SFR MUÏC ÑÍCH ÑÒA CHÆ 15 Ñòa chæ hoùa töøng bit . ñeám söï kieän hoaëc taïo toác ñoä baud cho port noái tieáp trong 8051. noù ñöôïc ñaët laïi 0000H. chuùng nhaän tín hieäu vaøo laøm nguoàn xung nhòp. Côø ñöôïc duøng ñeå ñoàng boä hoùa chöông trình ñeå thöïc hieän moät taùc ñoäng nhö kieåm tra traïng thaùi cuûa caùc ngoõ vaøo hoaëc göûi caùc söï kieän ra caùc ngoõ ra. Giaù trò nhò phaân trong caùc flip-flop cuûa timer coù theå xem nhö soá ñeám soá xung nhòp (hoaëc caùc söï kieän) töø khi khôûi ñoäng timer. ngöôøi ta laäp trình timer ôû moät khoaûng ñeàu ñaën vaø ñaët côø traøn timer. 8051 coù 2 timer 16 bit. Caùc öùng duïng khaùc coù theå söû duïng vieäc taïo xung nhòp ñeàu ñaën cuûa timer ñeå ño thôøi gian troâi qua giöõa hai söï kieän (ví duï : ño ñoä roäng xung). Khi RST trôû laïi möùc thaáp.7. Giôùi thieäu. vieäc thi haønh chöông trình luoân baét ñaàu ôû ñòa chæ ñaàu tieân trong boä nhôù trong chöông trình: ñòa chæ 0000H.9 : Traïng thaùi caùc thanh ghi sau khi reset Quan troïng nhaát trong caùc thanh ghi treân laø thanh ghi ñeám chöông trình.2. Hoaït ñoäng cuûa boä ñònh thôøi (timer): a.

Bit choïn cheá ñoä counter/timer 1=boä ñeám söï kieän 0=boä ñònh khoaûng thôøi gian Bit 1 cuûa cheá ñoä(mode) Bit 0 cuûa cheá ñoä 00: cheá ñoä 0 : timer 13 bit 01: cheá ñoä 1 : timer 16 bit 10: cheá ñoä 2 : töï ñoäng naïp laïi 8255A bit 11: cheá ñoä 3 : taùch timer Bit (môû) coång Bit choïn counter/timer Bit 1 cuûa cheá ñoä Bit 0 cuûa cheá ñoä 5 4 M1 M0 1 1 3 2 1 0 GATE C/T M1 M0 0 0 0 0 Hình 2. b. Ñaët bôûi 16 cöùng khi traøn. Thanh ghi ñieàu khieån timer (TCON): Thanh ghi TCON chöùa caùc bit traïng thaùi vaø caùc bit ñieàu khieån cho timer 0 vaø timer 1. Bit TCON.Ñoà aùn moân hoïc VÑK TCON TMOD TL0 TL1 TH0 TH1 Ñieàu khieån timer Cheá ñoä timer Byte thaáp cuûa timer 0 Byte thaáp cuûa timer 1 Byte cao cuûa timer 0 Byte cao cuûa timer 1 88H 89H 8AH 8BH 8CH 8DH Coù Khoâng Khoâng Khoâng Khoâng Khoâng Hình 2. Bit 7 6 Teân GATE C/T 1 Timer 1 Moâ taû Bit (Môû) coång.11:Toùm taét thanh ghi TMOD c. ñöôïc xoùa bôûi phaàn meàm hoaëc phaàn cöùng khi boä xöû lyù chæ ñeán chöông trình phuïc vuï ngaét.7 Kyù hieäu TF1 phaàn Ñòa chæ 8FH Moâ taû Côø baùo traøn timer 1.10 : Thanh ghi chöùc naêng ñaëc bieät duøng timer. . Thanh ghi cheá ñoä timer (TMOD: Thanh ghi TMOD chöùa hai nhoùm 4 bit duøng ñeå ñaët cheá ñoä laøm vieäc cho timer 0 vaø timer 1. khi leân 1 timer chæ chaïy khi INT1 ôû möùc cao.

Caùc cheá ñoä timer: * Cheá ñoä 0. MSB cuûa giaù trò trong caùc thanh ghi timer laø bit 7 cuûa THx vaø LBS laø bit 0 cuûa TLx. TLx (8 bit) THx (8 bit) TFx Xung nhòp timer Côø baùo traøn 17 . cheá ñoä timer 13 bit. Côø baùo traøn laø bit TFx trong TCON coù theå ñoïc hoaëc ghi baèng phaàm meàm. Ñeå töông thích vôùi 8048 (coù tröùôùc 8051) Ba bit cao cuûa TLX (TL0 vaø/hoaêc TL1) khoâng duøng TLx (5 bit) Xung nhòp timer THx (8 bit) TFx Côø baùo traøn * Cheá ñoä 1. Hoaït ñoäng nhö timer 16 bit ñaày ñuû.cheá ñoä timer 16 bit. Caùc thanh ghi timer (TLx/THx) coù theå ñöôïc ñoïc hoaëc ghi baát cöù luùc naøo baèng phaàm meàm.Ñoà aùn moân hoïc VÑK Hình 2.12: Toùm taét thanh ghi TCON d.

Hai thanh ghi chöùc naêng ñaëc bieät cho pheùp phaàn meàm truy xuaát ñeán port noái tieáp laø : SBUF vaø SCON. 18 . Boä ñeám port noái tieáp (SBUF) ôû ñaïi chæ 99H thaät söû laø hai boä ñeám. Vieäc ñeám tieáp tuïc töø giaù trò naøy leân ñeán FFH xuoáng 00H vaø naïp laïi. Hoaït ñoäng port noái tieáp. nhöng coù theå ñöôïc khôûi ñoäng baèng caùch chuyeån sang cheá ñoä khaùc. cheá ñoä naøy raát thoâng duïng vì söï traøn timer xaûy ra trong nhöõng khoaûng thôøi gian nhaát ñònh vaø tuaàn hoaøn moät khi ñaõ khôûi ñoäng TMOD vaø THx.Ñoà aùn moân hoïc VÑK * Cheá ñoä 2. Vieát vaøo SBUF ñeå truy xuaát döõ lieäu thu ñöôïc. TL0 coù côø baùo traøn laø TF0 vaø TH0 coù côø baùo traøn laø TF1. TLx hoaït ñoäng nhö moät timer 8 bit. 8. Ñaây laø hai thanh ghi rieâng bieät thanh ghi chæ ghi ñeå phaùt vaø thanh ghi ñeå thu. Truy xuaát phaàn cöùng ñeán port noái tieáp qua caùc chaân TXD vaø RXD. Port noái tieáp cho hoaït ñoäng song coâng (full duplex : thu vaø phaùt ñoàng thôøi) vaø ñeäm luùc thu (receiver buffering) cho pheùp moät kyù töï seõ ñöôïc thu vaø ñöôïc giöõ trong khi kyù töï thöù hai ñöôïc nhaän.cheá ñoä taùch timer Timer 0 taùch thaønh hai timer 8 bit (TL0 vaø TH0). Giôùi thieäu.cheá ñoä töï ñoäng naïp laïi 8 bit.. trong khi ñoù THx vaãn giöõ nguyeân giaù trò ñöôïc naïp. Khi soá ñeám traøn töù FFH ñeán 00H. Neáu CPU ñoïc kyù töï thöù nhaát tröôùc khi kyù töï thöù hai ñöôïc thu ñaày ñuû thì döõ lieäu seõ khoâng bò maát.. Caùc chaân naøy coù caùc chöùc naêng khaùc vôùi hai bit cuûa port 3. 8. 8051/8031 coù moät port noái tieáp trong chip coù theå hoaït ñoäng ôû nhieàu cheá ñoä khaùc treân moät daõy taàn soá roäng. P3 ôû chaân 11 (TXD) vaø P3. Xung nhòp timer TLx (8 bit) TL1 TH1 TFx (8 bit) TL0 TF0 ÌCôøb aùo traøn Côø baùo traøn TH0 Reload TF1 Côø baùo traøn Xung nhòp timer Xung nhòp timer THx (8 bit) Xung nhòp timer * Cheá ñoä 3. khoâng nhöõng côø timer ñöôïc set maø giaù trò trong THx ñoàng thôøi ñöôïc naïp vaøo TLx.0 ôû chaân 10 (RXD). Giôùi haïn duy nhaát laø côø baùo traøn TF1 khoâng coøn bò taùc ñoäng khi timer 1 bò traøn vì noù ñaõ ñöôïc noái tôùi TH0. Chöùc naêng chuû yeáu cuûa moät port noái tieáp laø thöïc hieän chuyeån ñoåi song song sang noái tieáp vôùi döõ lieäu xuaát vaø chuyeån ñoài noái tieáp sang song song vôùi döõ lieäu nhaäp. Timer 1 ngöng ôû cheá ñoä 3.1.

timer 1 seõ cung caáp xung nhòp toác ñoä baud vaø phaûi ñöôïc laäp trình.Ñoà aùn moân hoïc VÑK TXD (P3. Cheá ñoä hoaït ñoäng cuûa port noái tieáp ñöôïc ñaët baèng caùch ghi vaøo thanh ghi cheá ñoä port noái tieáp (SCON) ôû ñòa chæ 98H.0) CLK SUBF (Chæ ghi) Q D Thanh ghi CLK Xung nhòp toác Ñoä baud (thu) Xung nhòp toác Ñoä baud (thu) SBUF (chæ ñoïc) SBUF (chæ ñoïc) BUS noäi 8051/8031 Hình 2. Neáu söû duïng toác ñoä baud thay ñoåi. Caùc bit ñieàu khieån ñaët cheá ñoä hoaït ñoäng cho port noái tieáp. 8. Thanh ghi ñieàu khieån port noái tieáp (SCON) ôû ñòa chæ 98H laø thanh ghi coù ñòa chæ bit chöùa caùc bit traïng thaùi vaø caùc bit ñieàu khieån. Sau ñaây caùc baûng toùm taét thanh ghi SCON vaø caùc cheá ñoä cuûa port noái tieáp : 19 .9: Sô ñoà port noái tieáp. Caùc bit traïng thaùi coù theå ñöôïc kieåm tra baèng phaàn meàm hoaëc coù theå ñöôïc laäp trình ñeå taïo ngaét. vaø caùc bit traïng thaùi baùo caùo keát thuùc vieäc phaùt hoaëc thu kyù töï.1) RXD (P3.2 Thanh ghi ñieàu khieån port noái tieáp. Taàn soá laøm vieäc cuûa port noái tieáp coøn goïi laø toác ñoä baund coù theå coá ñònh (laáy töø boä giao ñoäng cuûa chip).

2.Ñoà aùn moân hoïc VÑK Bit SCON.. phaûi khôûi ñoäng SCON cho ñuùng cheá ñoä. Thoâng thöôøng thöïc hieän vieäc naøy ôû ñaàu chöông trình khi khôûi ñoäng coång noái tieáp.0 RI 98H Baûng 2.3 REN TB8 9CH 9BH SCON. Ñaët leân 1 khi keát thuùc phaùt kyù töï. SM0 0 0 1 1 SM1 0 1 0 1 Cheá ñoä 0 1 2 3 Moâ taû Thanh ghi dòch UART 8 bit UART 9 bit UART 9 bit Toác ñoä baud Coá ñònh (Fosc/12) Thay ñoåi (ñaët baèng timer) Coá ñònh (Fosc/12 hoaëc Fosc/64) Thay ñoåi (ñaët baèng timer) sau: MOV SCON. Cho pheùp thu: Bit cho pheùp boä thu (REN = Receiver Enable) trong SCON phaûi ñöôïc ñaët leân 1 baèng phaàn meàm ñeå cho pheùp thu caùc kyù töï.#01010010B Khôûi ñoäng port noái tieáp cho cheá ñoä 1 (SM0/SM1=0/1).RI seõ khoâng bò taùc ñoäng neáu bit thöù 9 thu ñöôïc laø 0 Cho pheùp boä thu phaûi ñaët leân 1 ñeå thu (nhaän) caùc kyù töï Bit 8 phaùt. Leänh : Baûng 2. Tröôùc khi söû duïng port noái tieáp.6 SCON. bit thöù 9 thu ñöôïc Côø ngaét phaùt.1 RB8 TI 9AH 99H SCON. Ví duï . bit thöù 9 ñöôïc phaùt caùc cheá ñoä 2 vaø 3. timer. 2. cho pheùp boä thu (REN=1) vaø ñaët côø ngaét phaùt (TP=1) ñeå chæ boä phaùt saün saøng hoaït ñoäng. a.2 SCON. cho pheùp trueàn thoâng ñaõ xöû lyù trong caùc cheá ñoä 2 vaø 3 . ñöôïc xoùa phaàn meàm Côø ngaét thu.5 Kyù hieäu SM1 SM2 Ñòa chæ 9EH 9DH Moâ taû Bit 1 cuûa cheá ñoä port noái tieáp Bit 2 cuûa cheá ñoä 2 noái tieáp.8 Khôûi ñoäng vaø truy xuaát caùc thanh ghi coång noái tieáp. ñöôïc xoùa Baèng phaàn meàm SCON. Ñaët leân 1 khi Keát thuùc thu kyù töï.leänh 20 . ñöôïc ñaët vaø xoùa baèng phaàn meàm Bit 8 thu.8: Caùc cheá ñoä port noái tieáp.Coù theå thöïc hieän vieäc naøy theo hai caùch.7:Toùm taét thanh ghi cheá ñoä port noái tieáp SCON..4 SCON.

#xxx1xxxxB Seõ ñaët REN 1 vaø ñaëc hoaëc xoùa ñi caùc bit khaùc treân SCON khi caàn (caùc x phaûi laø 0 hoaëc 2 ñeå ñaëc cheá ñoä laøm vieäc).4 . Phaàn meàm coù theå caàn hoaëc khoâng caàn bit döõ lieäu thöù 9. tìm toác ñoä baud cheá ñoä 0 laø 1 MHz. c. Toác ñoä baud port noái tieáp. Caû hai bit ñöôïc ñaët leân 1 baèng phaàn cöùng. Bit döõ lieäu thöù 9: Bit döõ lieäu thöù 9 caàn phaùt trong caùc cheá ñoä 2 vaø 3. Thoâng thöôøng thaïch anh aán ñònh taàn soá dao ñoäng treân chip cuûa 8051/8031 nhöng cuõng coù theå söû duïng nguoàn xung nhòp khaùc. phuï thuoäc vaøo caùc ñaëc tính kyõ thuaät cuûa thieát bò noái tieáp söû duïng (bit döõ lieäu thöù 9 cuõng ñoùng vai moät troø quan troïng trong truyeàn thoâng ña xöû lyù). Bit döõ lieäu thöù 9 thu ñöôïc ñaët ôû RBS. Dao ñoäng treân chip ÷12 a. Giaû söû vôùi taàn soá dao ñoäng danh ñònh laø 12 MHz. Theâm 1 bit parity: Thöôøng söû duïng bit döõ lieäu thöù 9 ñeå theâm parity vaøo kyù töï. Cheá ñoä 0 Xung nhòp toác ñoä baud ÷64 Dao ñoäng treân chip SMOD=0 Xung nhòp toác ñoä baud SMOD=1 ÷32 b. hoaëc leänh : MOV SCON. Nhö ñaõ noùi. 8. b. Trong cheá ñoä 0 noù luoân luoân laø taàn soá dao ñoäng treân chip ñöôïc chia cho 12 . phaûi ñöôïc naïp vaøo trong TB8 baèng phaàn meàm. Nhö ñaõ xeùt ôû caùc chöông tröôùc. toác ñoä baud coá ñònh ôû caùc cheá ñoä 0 vaø 2.Ñoà aùn moân hoïc VÑK SETB REN Seõ ñaët REN leân 1. nhöng phaûi ñöôïc xoùa baèng phaàn meàm. d. Caùc côø ngaét: Hai côø ngaét thu vaø phaùt (RI vaø TI) trong SCON ñoùng moät vai troø quan troïng truyeàn thoâng noái tieáp duøng 8051/8031. Cheá ñoä 2 21 . pit P trong töø traïng thaùi chöông trình (PSW) ñöôïc ñaët leân 1 hoaëc bò xoùa bôûi chu kyø maùy ñeå thieát laäp kieåm tra chaün vôùi 8 bit trong thanh tích luõy.

Cuõng nhö caùc bit cho pheùp moãi nguoàn ngaét.1 Toå chöùc ngaét. toác ñoä baud cheá ñoä laø 2 taàn soá boä dao ñoäng chia cho 64.A ghi giaù trò ngöôïc veà PCON Caùc toác ñoä baud trong caùc cheá ñoä 1 vaø 3 ñöôïc xaùc ñònh baèng toác ñoä traøn cuûa timer 1. Toác ñoä baud cuõng aûnh höôûng bôûi 1 bit trong thanh ghi ñieàu khieån nguoàn cung caáp (PCON). Ngaét laø hoaït ñoäng ngöøng taïm thôøi moät chöông trình naøy ñeå tji haønh moät chöông trình khaùc. Taát caû caùc ngaét seõ khoâng ñöôïc ñaët sau khi reset heä thoáng vaø cho pheùp ngaét rieâng reõ bôûi phaàn meàm. 2.2. Cho pheùp vaø khoâng cho pheùp ngaét.10. Caùc ngaét coù moät vai troø quan troïng trong thieát keá vaø khaû naêng thöïc thi cuûa vi ñieàu khieån. . roài quay veà chöông trình ñaàu. Caùc nguoàn taïo xung nhòp cho port noái tieáp. sau khi reset heä thoáng. Ñaët bit sMOD leân moät laøm gaáp ñoâi toác ñoä baud trong cheá ñoä 1. a. khi coù yeâu caàu ngaét. Hoaït ñoäng ngaét. 9.7 ñaët bit 7 (SMOD) leân 1 MOV PCON. Trong cheá ñoä 2. toác ñoä baud coù theå bò gaáp ñoâi töø giaù trò maëc nhieân cuûa 1/64 taàn soá dao ñoäng (SMOD=0) ñeán 1/32 taàn soá dao ñoäng (SMOD=1) Vì PCON khoâng ñöôïc ñònh ñòa chæ theo bit.9. Chuùng cho pheùp heä thoán ñaùp öùng khoâng cuøng luùc tôùi moät coâng vieäc vaø giaûi quyeát moät coâng vieäc ñoù trong khi moät chöông trình khaùc ñang thöïc thi. coù moät bit cho pheùp hoaëc caám toaøn boä ñöôïc xoùa ñeå caám taát caû caùc ngaét hoaëc ñöôïc ñaët leân 1 ñeå cho pheùp taát caû caùc ngaét. Moãi nguoàn ngaét ñöôïc cho pheùp hoaëc khoâng cho pheùp töøng ngaét moät qua thanh ghi chöùc naêng ñaët bieät coá ñònh ñòa chæ bit IE (Interrupt Enable : cho pheùp ngaét) ôû ñòa chæ A8H. Chöông trình giaûi quyeát ngaét ñöôïc goïi laû chöông trình phuïc vuï ngaét (ISR : Interrupt Sevice Reutine). neân ñeå ñaët bit SMOD leân 1 caàn phaûi theo caùc leänh sau: MOV A. traøn timer ñöôïc chia theâm cho 32 (hay 16 neáu SMOD=1) tröôùc khi cung caáp xung nhòp toác ñoä baud cho port noái tieáp.Ñoà aùn moân hoïc VÑK ÷32 Dao ñoäng treân chip SMOD=0 Xung nhòp toác ñoä baud ÷16 ÷16 c. Vì timer hoaït ñoäng ôû taàn soá töông ñoái cao.1 ngaét port noái tieáp.PCON laáy giaù trò hieän thôøi cuûa PCON SETB ACC.2 ngaét ngoaøi . Cheá ñoä 1 vaø 3. Bit 7 cuûa PCON laø bit SMOD.2 vaø 3. Moät heä thoáng ñöôïc ñieàu khieån baèng ngaét cho aûo giaùc laø laøm nhieàu vieäc ñoàng thôøi. Dó nhieân CPU moãi laàn khoâng theå thöïc thi moät chöông trình ñeå thöïc thi moät chöông trình khaùc. 22 . Hình 2. SMOD=1 Maëc nhieân. Ôû 8051 coù 5 nguoàn ngaét: .2 ngaét töø timer.

5 IE.7 IE.3 IE.4 IE. Moãi nguoàn ngaét ñuôïc laäp trình rieâng vaøo moät trong hai möùc öu tieân qua thanh ghi chöùc naêng ñaëc bieät ñöôïc ñòa chæ bit Ip (Interrupt priority : öu tieân ngaét) ôû ñòa chæ B8H. Öu tieân ngaét.3 IP.7 IP. ISR thöïc thi vaø ñaùp öùng ngaét. Bit IP.6 IP.Traïng thaùi ngaét hieän haønh ñöôïc caát beân trong.4 IP. Chöông trình laïi tieáp tuïc thi haønh taïi nôi maø noù döøng. .0=möùc thaáp) Khoâng ñöôïc ñònh nghóa Khoâng ñöôïc ñònh nghóa Öu tieân cho ngaét töø timer 2 (8052) Öu tieân cho ngaét Port noái tieáp Öu tieân cho ngaét töø timer 1 Öu tieân cho ngaét ngoaøi Öu tieân cho ngaét töø timer 0 Öu tieân cho ngaét ngoaøi 0 PT2 PS PT1 PX1 PT0 PX0 BDH BCH BBH BAH B9H B8H Toùm taét thanh ghi IP. .2 IE. 9. Nhöõng hoaït ñoäng sau xaåy ra: . Ñieàu naøy laøm laáy laïi giaù trò cuõ cuûa PC töø ngaên xeáp vaø laáy laïi traïng thaùi ngaét cuõ.ISR thöïc thi. Caùc ngaét öu tieân ñöôïc xoùa sau khi reset heä thoáng ñeå ñaë ttaát caû caùc ngaét ôû möùc öu tieân thaáp hôn.2 Xöû lyù ngaét.1 IE. . .0 Kyù hieäu Ñòa chæ bit Moâ taû (1=möùc cao hôn. .Ñoà aùn moân hoïc VÑK Bit IE.Nap vaøp DC ñòa chæ Vector cuûa ISR.Caùc DC vaøo ngaét xeáp.Thi haønh hoaøn chænh leänh ñang hieän haønh.5 IP.0=caám) Cho pheùp hoaëc caám toaøn boä Khoâng ñöôïc ñònh nghóa Cho pheùp ngaét töø timer 2 (8052) Cho pheùp ngaét Port noái tieáp Cho pheùp ngaét töø timer 1 Cho pheùp ngaét ngoaøi 1 Cho pheùp ngaét töø timer 0 Cho pheùp ngaét ngoaøi 0 Toùm taét thanh ghi IE. chöông trình chính bò ngaét quaõng. b.0 Kyù hieäu EA EA ET5 E5 ET1 EX1 ET0 EX0 Ñòa chæ bit AFH AEH ADH ACH ABH AAH A9H A8H Moâ taû (1=cho pheùp.Caùc ngaét ñöôïc chaën taïi möùc cuûa ngaét. 23 .1 IP.6 IE. Khi coù moät ngaén xaåy ra vaø ñöôïc CPU chaáp nhaän. ISR hoaøn taát baèng leänh RET1.2 IP.

Caùc ngaét coång noái tieáp. Caùc Vector ngaét ñöôïc cho ôû baûng sau: Ngaét Reset heä thoáng Beân ngoaøi 0 Timer 0 Beân ngoaøi 1 Timer 1 Port noái tieáp Côø RST IE0 TF0 IE1 TF1 TI hoaëc RI Ñòa chæ Vector 0000H 0003H 000BH 0013H 001BH 0023H Caùc Vector ngaét. Neáu ngaét ñöôïc tích cöïc theo möùc. côø taïo ra ngaét chæ ñöôïc xoùa neáu ngaét ñöôïc tích cöïc baèng caïnh xuoáng. Neáu ngaét ngoaøi ñöôïc taùc ñoäng baèng caïnh xuoáng thì nguoàn beân ngoaøi phaûi giöõ chaân taùc ñoäng ôû möùc cao toái thieåu moät chu kyø vaø giöõ noù ôû möùc thaáp theâm moät chu kyø nöõa ñeå ñaûm baûo 24 . khoâng thöïc teá ñeå CPU xoùa côø ngaét naøy. Caùc ngaét coång noái tieáp khaùc vôùi caùc ngaét timer. Vì coù hai nguoàn coù theå coù cho ngaét naøy. côø yeâu caàu ngaét IE1 trong TCON ñöôïc ñaët leân 1. Neáu IT1 = 0.2 vaø Port 3.3 Caùc ngaét cuûa 8051. . T1 cho caùc ngaét coång noái tieáp. c. Ngaét coång noái tieáp xaåy ra khi hoaëc côø phaùt (TI) hoaëc côø ngaét thu (KI) ñöôïc ñaët leân 1. Caùc bit phaûi ñöôïc kieåm tra trong ISR ñeå xaùc ñònh nguoàn ngaét vaø côø taïo ngaét seõ ñöôïc xoùa baèng phaàn meàm. Khi cho pheùp caùc ngaét. Söï löïa choïn ngaét tích cöïc möùc thaáp hay tích cöïc caïnh xuoáng ñöôïc laäp trình qua caùc bit IT0 vaø IT1 trong TCON. TFx töï ñoäng bò xoùa baèng phaàn cöùng khi CPU chuyeån ñeán ngaét. Ngaét timer xaåy ra khi caùc thanh ghi timer (TLx ITHx) traøn vaø set côø baùo traøn (TFx) leân 1. Noù ngaét chöông trình chính vaø taûi vaøo PC moät giaù trò môùi. Noù laø ñòa chæ baét ñaàu cuûa ISR cho nguoàn taïo ngaét. Nguoàn ngaét phaûi ñöôïc xaùc ñònh trong ISR vaø côø taïo ngaét seõ ñöôïc xoùa baèng phaàn meàm. Khi chaáp nhaän ngaét.(Port 3. trong cheá ñoä naøy.3). tröø ra R1. Ngaét phaùt xaåy ra khi moät kyù töï ñaõ ñöôïc nhaän xong vaø ñang ñôïi trong SBUP ñeå ñöôïc ñoïc. Khi chæ ñeán moät ngaét “côø gaây ngaét töï ñoäng bò xoùa bôûi phaàn cöùng. Caùc ngaét timer côø ngaét côø ngaét ñöôïc xoùa baèng phaàn cöùng khi CPU höôùng tôùi ISR. roài bit IEÙ yeâu caàu ngaét. Khi quyeàn ñieàu khieån ñaõ chuyeån ñeán ISR. Neáu IT1 = 1 ngaét ngoaøi 1 seõ ñöôïc taùc ñoäng baèng caïnh xuoáng. Côø gaây ra ngaét coång noái tieáp khoâng bò xoùa baèng phaàn cöùng khi CPU chuyeån tôùi ngaét. ngaét ngoaøi 1 ñöôïc taùc ñoäng baèng muùc thaáp ôû chaân IT1. Caùc côø timer (TFx) khoâng bò xoùa baèng phaàn meàm. b. Vector reset heä thoáng (RST ôû ñòa chæ 0000H) noù gioáng nhö moät ngaét.Ñoà aùn moân hoïc VÑK • Caùc Vector ngaét. Do coù hai nguoàn ngaét coång noái tieáp Ti vaø RI. Caùc côø taïo ngaét naøy laø caùc bit IE0 vaù IE1 trong TCON. Caùc ngaét timer coù ñòa chæ Vector ngaét laø 000BH (timer 0) vaø 001BH (timer 1). Ñaây laø chöùc naêng chuyeån ñoåi cuûa caùc bit Port 3. a. neáu caùc maãu lieân tieáp treân chaân INT1 chæ möùc cao trong moät chu kyø vaø chæ möùc thaáp trong chu kyø keá. Caùc ngaét ngoaøi. 9.Caùc ngaét ngoaøi xaåy ra khi coù moät möùc thaáp hoaëc caïnh xuoáng treân chaân INT0 hoaëc INT1 cuûa vi ñieàu khieån. thì nguoàn yeâu caàu ngaét beân ngoaøi seõ ñieàu khieån möùc cuûa côø thay cho phaàn cöùng. Caùc ngaét timer. giaù trò ñöôïc naïp vaøo PC ñöôïc goïi laø Vector ngaét.

Ñaëc tuyeán volt – ampere cuûa led hoàng ngoaïi nhö sau: 25 .900nm vaø do ñoù taïo ra söï ñieàu höôûng sao cho led hoàng ngoaïi phaùt ra böôùc soùng thích hôïp nhaát cho ñieåm cöïc ñaïi cuûa ñoä nhaïy caùc boä thu. Nhöng khi chieáu saùng vaøo moái noái. Giôùi thieäu sô löôïc veà maïch caûm bieán: Ñeå caûm nhaän moãi laàn saûn phaåm ñi qua thì caûm bieán phaûi coù phaàn phaùt vaø phaàn thu. ngöôøi ta coù theå taïo ra daûi soùng giöõa 800 .n ñöôïc phaân cöïc thuaän thì doøng ñieän qua noái lôùn vì söï daãn ñieän laø do haït taûi ña soá. Chuùng em choïn IC khueách ñaïi ñeå khueách ñaïi tín hieäu leân ñuû lôùn. Coù nhieàu linh kieän phaùt vaø thu aùnh saùng hoàng ngoaïi nhöng chuùng em choïn led hoàng ngoaïi vaø transitor quang laø linh kieän phaùt vaø thu vì transistor quang laø linh kieän raát nhaïy vôùi aùnh saùng hoàng ngoaïi. nguyeân lí hoaït ñoäng cuûa led hoàng ngoaïi: _Led ñöôïc caáu taïo töø GaAs vôùi vuøng caám coù ñoä roäng laø 1. Neáu khoâng moät ngaét khaùc seõ ñöôïc laëp laïi a. coøn khi moái noái ñöôïc phaân cöïc nghòch thì chæ coù doøng ræ do söï di chuyeån cuûa caùc haït taûi thieåu soá. boä taïo dao ñoäng seõ trôû neân ñôn giaûn hôn vôùi taàn soá phaùt vaø thu Vì tín hieäu ôû ngoõ ra trasitor quang raát nhoû neân caàn coù maïch khuyeách ñaïi tröôùc khi ñöa ñeán boä taïo dao ñoäng. Caáu taïo. _Hoaït ñoäng: khi moái noái p . Phaàn phaùt phaùt ra aùnh saùng hoàng ngoaïi vaø phaàn thu haáp thuï aùnh saùng hoàng ngoaïi vì aùnh saùng hoàng ngoaïi coù ñaëc ñieåm laø ít bò nhieãu so vôùi caùc loaïi aùnh saùng khaùc. aùnh saùng hoàng ngoaïi bò che boä phaän thu seõ hoaït ñoäng vôùi taàn soá khaùc taàn soá phaùt nhö theá taïo ra moät xung taùc ñoäng tôùi boä phaän xöû lí. coång logic. Vôùi vieäc söû duïng IC chuyeân duøng taïo dao ñoäng. doøng ñieän nghòch taêng leân gaàn nhö tyû leä vôùi quang thoâng trong luùc doøng thuaän khoâng taêng.2Caûm bieán:(caùc vi maïch xem phuï luïc 2& 3) b. Hai boä phaän phaùt vaø thu hoaït ñoäng vôùi cuøng taàn soá. Boä phaän dao ñoäng taùc ñoäng tôùi coâng taéc ñoùng ngaét cuûa nguoàn phaùt vaø nguoàn thu aùnh saùng. Vôùi caùch naøy. Ngoaøi ra khi pha taïp Si vôùi nguyeân vaät lieäu GaAlAs. Caùc linh kieän trong maïch caûm bieán: b1.43eV töông öùng böùc xaï 900nm. Khi coù saûn phaåm ñi qua giöõa phaàn phaùt vaø phaàn thu. Neáu ngaét ngoaøi ñöôïc taùc ñoäng theo möùc thì nguoàn beân ngoaøi phaûi giöõ tín hieäu yeâu caàu taùc ñoäng cho ñeán khi ngaét ñöôïc yeâu caàu ñöôïc thaät söï taïo ra vaø khoâng taùc ñoäng yeâu caàu ngaét tröôùc khi ISR ñöôïc hoaøn taát . ñoä roäng vuøng caám coù theå thay ñoåi. hoaëc IC dao ñoäng. Boä phaän taïo dao ñoäng coù theå duøng maïch LC. Vaäy sô ñoà khoái cuûa phaàn phaùt vaø phaàn thu laø: KHOÁI DAO ÑOÄNG TRANSITOR THU KHUYEÁCH ÑAÏI KHOÁI DAO ÑOÄNG 2.Ñoà aùn moân hoïc VÑK phaùt hieän ñöôïc caïnh xuoáng. Vaäy boä phaän phaùt vaø boä phaän thu phaûi coù nguoàn taïo dao ñoäng.

Coù nghóa laø transistor quang ñöôïc phaân cöïc ôû cheá ñoä khuyeách ñaïi.phaùt ñöôïc phaân cöïc thuaän neân doøng thu laø (β + 1)Ico ñaây laø doøng toái cuûa quang transistor. Do aùnh saùng khieán doøng thu trôû thaønh: Ic = (β + 1) . nhöng khoáng cheá tín hieäu laø aùnh saùng. nhöng chuyeån tieáp PN colector. Khi chieáu aùnh saùng vaøo mieàn bazô.(Ico + IL) 26 . Khi söû duïng transistor quang maéc maïch töông töï nhö transistor maéc chung emitor (CE). trong mieàn bazô coù söï phaùt xaï caëp ñieän töû loã troáng laøm xuaát hieän doøng IL. Caáu taïo cuûa transistor quang _ Kyù hieäu vaø caáu taïo: C Cöïc thu (colecter) Cöïc neàn (base) B Cöïc phaùt E (emiter) N P B Caáu taïo N C E u Kyù hieä . Chuyeån tieáp emitor ñöôïc phaân cöïc thuaän coøn chuyeån tieáp colector ñöôïc phaân cöïc nghòch. thì do mieàn bazô caàn ñöôïc chieáu saùng. cho neân noù coù nhieàu hình daïng khaùc nhau. Doøng ñieän trong transistor: Vì noái thu ñöôïc phaân cöïc nghòch neân coù doøng ræ Ico chaïy giöõa thu – neàn vaø vì noái neàn . cuõng coù daïng hình troøn naèm giöõa taâm mieàn bazô. thay cho taùc duïng khoáng cheá cuûa doøng vaøo cöïc bazô laø söï khoáng cheá cuûa chuøm saùng ñoái vôùi doøng colector cuûa transitor hoaëc coù cöïc bazô.Ñoà aùn moân hoïc VÑK I(A) ϕ=4 ϕ=3 ϕ=2 ϕ=1 ϕ=0 U(V) b2. Photon Transistor cuõng töông töï nhö transistor thoâng thöôøng nhöng chæ khaùc ôû choã noù khoâng coù cöïc bazô. Photon transistor. Chuyeån tieáp PN emitor ñöôïc cheá taïo nhö caùc transistor thoâng thöôøng.

Doøng ñieän ra ñeán 200mA (loaïi vi maïch BJT) hay 100mA (loaïi CMOS). Chaân 2: Nhaän tín hieäu kích thích (trigger). b3. Chaân 1: Noái vôùi masse. coù theå maéc thaønh daïng maïch ñôn oån hay baát oån. Ñieän aùp cung caáp töø 3V ñeán 18V. Cuõng töông töï nhö trong tröôøng hôïp transistor thoâng thuôøng. Ñieàu khaùc nhau ôû ñaây laø caùc tham soá khoâng phaûi laø doøng Ib maø laø löôïng chieáu saùng Ñaëc tuyeán Volt ampere cuûa transistor quang öùng vôùi khoaûng Uce nhoû cuõng coù theå goïi laø mieàn baõo hoøa vì khi aáy do söï tích tuï ñieän tích coù theå coi nhö chuyeån tieáp colector ñöôïc phaân cöïc thuaän. ñoä doác ñaëc tuyeán trong mieàn khuyeách ñaïi. 27 .ampere cuûa transistor thoâng thöôøng maéc EC.Ñoà aùn moân hoïc VÑK Ñaëc tuyeán cuûa transistor quang H=9 H=7 8 6 4 2 0 5 10 15 20 1 H=5 H=4 H=1 I(A) Ñaëc tuyeán cuûa transistor quang cuõng gioáng nhö ñaëc tuyeán Volt. IC dao ñoäng 555 Sô ñoà chaân: GND TRI OUT RES VCC DIS THR CN U(V) 8 5 6 4 7 Sô ñoà khoái beân trong IC 555 2 FLIP FLOP OUTPUT 3 1 Chöùc naêng cuûa caùc chaân Ñaây laø vi maïch ñònh thôøi chuyeân duøng.

R laáy khoaûng 2K ñeán 20K. Chaân 4: Phuïc nguyeân veà traïng thaùi ban ñaàu (preset).0V Tuï ngoõ ra 1 2 3 4 5 67 8 7 6 5 Ngoõ ra GND Tuï ñònh thôøi Ñieän trôû ñònh thôøi Ghi chuù: caùc ngaõ vaøo trong maïch loïc thaáp qua tính theo μF seõ ñöôïc xaùc ñònh bôûi n/F0.75-9. Chuù yù: khoâng ñeå ngaõ ra chaïm vaøo nguoàn V+ hay chaïm thaúng vaøo masse. 567 coù theå taùch doø taàn soá ngaõ vaøo töø 0. Chaân 7: Taïo ñöôøng phoùng ñieän cho tuï. Khi taàn soá phuø hôïp vôùi taàn soá trung taâm thì chaân 8 coù möùc aùp thaáp. 28 . Chaân 8: Caáp nguoàn Vcc. Tuï loïc thoângthaáp Ngoõvaøo +4. IC chöùa moät voøng khoùa pha. Chaân 5: Nhaän ñieän aùp ñieàu khieån (control voltag). * IC khuyeách ñaïi LM 324 ( QUAD OPERATIONAL AMPLIFIER).1/(RC). Chaân 6: Möùc ngöôõng ( threshold ). Tuï ngaõ ra laáy trò soá gaáp ñoâi tuï trong maïch loïc thaáp qua ôû ngaõ vaøo. • IC 567 (TONE DECODER): IC 567 Boä giaûi maõ aâm saéc. tuy nhieân baêng thoâng heïp hôn LM 3900. 14 13 12 11 10 GND 9 +3 +2 8 4 + 1+ +3 .30V 1 2 3 4 5 6 7 LM 324 IC coù 4 taàng khueách ñaïi thuaät toaùn. Trong ñoù n trong khoaûng 1300 ñeán 62000. Do ñoù tín hieäu töø transistor qua taàng khuyeách ñaïi ñöa ñeán ngoõ vaøo cuûa IC 567. ñieàu naøy seõ laøm hö IC.01Hz ñeán 500KHz.Ñoà aùn moân hoïc VÑK Chaân 3: Tín hieäu ra (output). Ñoä lôïi treân 100dB. Taàn soá hieän nay ñöôïc xaùc laäp theo maïch ñònh thôøi R vaø C hay 1. IC laøm vieäc vôùi loaïi nguoàn ñôn.

2.3.3. -Ñieän theá cung caáp leân tôùi 55V -Ñieän trôû Rds laø 0. doøng trung bình cung caáp leân tôùi 3A.Ñoà aùn moân hoïc VÑK 2.3 Ohm(ñieän trôû maùng vaø nguoàn cuûa FET ) -Möùc logic tích hôïp TTL & CMOS -Nhieät ñoä caûnh baùo laø 145 ñoä -Nhieät ñoä shutdown taïi 170 ño -Coù caûm bieán doøng ñieän vaø nhieät ñoä 2.2 Caùc thoâng soá chính : -Cung caáp doøng ra lieân tuïc 3A.4 Max 232:(xem phuï luïc 5) Duøng ñeå giao tieáp maùy vi tính vôùi vi ñieàu khieån qua coång noái tieáp.3. doøng ñænh ac coù theå leân tôùi 6A. ñöôïc thieát keá cho caùc öùng duïng ñieàu khieån moâtor. Töø ñoù coù theå ñieàu khieån ñoäng cô töø maùy vi tính.Thieát bò naøy töông thích möùc TTL vaø CMOS laø moät IC lyù töôûng trong vieäc ñieàu khieån ñoäng cô dc.4Sô ñoà khoái: 2. 29 .Ñieàu khieån robot _Maùy ñieàu khieån soá -Maùy in 2.3 LMD18200:(xem phuï luïc 4) 2.3 ÖÙng duïng: -Ñieàu khieån ñoâng cô dc vaø moåt böôùc .3.1 Giôùi thieäu chung: LMD18200 laø maïch caàu 3A.3.

1>Löu ñoà thuaät toaùn : HIGH LOW P3.1>Chöông trình chính : 4.1.6 t1 t2 T=65536us 30 .Ñoà aùn moân hoïc VÑK Chöông 4 : LÖU ÑOÀ THUAÄT TOAÙN VAØ CHÖÔNG TRÌNH 4.

ñeå taïo toác ñoä baund cho coång noái tieáp NGAÉT ÑÒNH THÔØI T1 . CAØI ÑAËT NGAÉT :(cho pheùp caùc ngaét sau ) thöïc KHÔÛI TAÏO BOÄ ÑÒNH THÔØI : T0 : 16 BIT . taïo ngaét ñeå ñöa ra PWM T1: 16 BIT .Ñoà aùn moân hoïc VÑK BEGIN KHÔÛI TAÏO 1.caøi ñaët toác ñoä tröôùc khi chaïy YES 3 COÙ NHAÁN NUÙT TAÊNG NO 2 YES 1 31 . PWM = 0%. giaù trò cuûa T0 ban ñaàu PWMF = 0 . ñeå ñöøng khaån caáp neáu quaù nhieät ñoä hoaêc bò quaù taûi NGAÉT DO T0 . 3. ñeå taïo thôøi gian laáy maåu toác ñoä NO COÙ NHAÁN NUÙT TAÊNG HOAC GIAM . ñeå ñieàu cheá xung sau nhöõng khoaõng thôøi gian caøi ñaët NGAÉT NGOAØI . 2.ñaùnh daáu ñöa ra pwm ÑAËT BRAKE BIT( P3.4=1 . 4. ñoäng cô döøng ) 5.

tang do rong cua muc 1 HIENTHICAI DAËT COÙ NHAÁN NUÙT TAÊNG YES 3 NO 2 2 COÙ NHAÁN NUÙT GIAM NO YES pwm :=pwm -100 .tang do rong cua möùc 1 HIENTHICAI DAËT 3 YES` COÙ NHAÁN NUÙT GIAM 4 NO 32 .Ñoà aùn moân hoïc VÑK 1 pwm :=pwm +100 .

coâng taéc chaïy aán 3 YES` NO` CHO PHEÙP TAÁT CAÛ CAÙC NGAÉT .Ñoà aùn moân hoïc VÑK 4 CHON CHIEU QUAY . p3.3=1 quay thuan p3.3 = 0 START=1 ? .3 =0 quay nghich p3. p2. LAM ÑOÏNG CÔ TAÊNG TOÁC . p2.coâng taéc döøng aán YES` NO` ÑOÄNG CÔ DÖØNG .4=0 DUØNG R0 ÑEÅ ÑEÁM SOÁ XUNG CAÛM BIEÁN ` HIEÅN THÒ TOÁC ÑOÄ THÖÏC &DAT 3 YES` TOÁC ÑOÄ THÖÏC < TOÁC ÑOÄÑAËT ` 6 TANG PWM . PWM = PWM +5 ` 5 33 .3 =1 . ñoäng cô baét ñaàu chaïy ` 5 STOP = 0 ? .

Ñoà aùn moân hoïc VÑK 6 5 ` TOÁC ÑOÄ THÖÏC=TOÁC ÑOÄÑAËT ` YES` YES` TOÁC ÑOÄ THÖÏC>TOÁC ÑOÄÑAËT GIAM PWM ÑEÅ GIAÛM TOÁC PWM=PWM-5 ` 5 ` 5 34 .

T0INT PWMF =1 ? bit ñaùnh daáu ñaõ ñöa ra pwm YES` ` NO NHAÕY DEÁN :PWMLOW CLR TR0 SETB PWMF . ñöa xung ra möùc cao MOV TH0 .Ñoà aùn moân hoïc VÑK 4.2>Chöông trình con phuïc vuï ngaét T0 : chöùc naêng laø taïo ra xung co möùc cao thay ñoåi ñöôïc ñoä roäng treân neàn chu kì coá ñònh laø 65536us.#HIGH( PWM) MOV TL0 . ñöa xung ra möùcTHAP MOV TH0 .6 .PWM) SET TR0 RETI 35 .#HIGH( T-PWM) MOV TL0 . ñaùnh daáu ñaõ ñöa ra PWM SETB P3.6 . ñaùnh daáu ñö ra xung thaáp CLR P3.#LOW( PWM) SET TR0 RETI PWMLOW CLR TR0 CLR PWMF .#LOW(T.1.

4>Chöông trìngh con phuïc vuï ngaét ngoaøi INT0 vaø INT an toaøn :khi ñoäng cô bò quaù taûi hoaëc LM18200 bò quaù nhieät thì seõ taùc ñoäng vaøo ngaét ngoaøi INT0 vaù INT1 .1.25s seõ laùy giaù trò ñeám trong R0 naïp vaøo A ñeå so saùnh vôùi toác ñoä ñaët.3>Chöông trình con phuïc vuï ngaét layùy maãu : sau 0.R3 .Ñoà aùn moân hoïc VÑK 4. T1ISR MOV R1 . coøi hu leân vaø bitb strop ñöôïc SET 36 .XOAÙ R3 RETI 4.1.

giaù trò thöïc löu vaøo R1 HIEÅN THÒ HIEÛN THÒ GIAÙ TRÒ DAT ÑÖA R2 VAØO A R2=A DIV 1 0 SOÁ DÖ ÔÛ B XUAÁT QUA LED 4 TANG R6 NO R5 = 4 ? YES HIEÛN THÒ GIAÙ TRÒ THÖÏC ÑÖA R1 VAØO A R1=A DIV 1 0 SOÁ DÖ ÔÛ B XUAÁT QUA LED 4 TANG R6 YES NO R6 = 4 ? YES RET 37 .5>Chöông trình con hieån thò : giaù trò caøi ñaët ñöôïc löu vaøo R2 .Ñoà aùn moân hoïc VÑK 4.1.