Luận văn tốt nghiệp: Vi điều khiển 8051

pdf
Số trang Luận văn tốt nghiệp: Vi điều khiển 8051 107 Cỡ tệp Luận văn tốt nghiệp: Vi điều khiển 8051 420 KB Lượt tải Luận văn tốt nghiệp: Vi điều khiển 8051 0 Lượt đọc Luận văn tốt nghiệp: Vi điều khiển 8051 2
Đánh giá Luận văn tốt nghiệp: Vi điều khiển 8051
4.9 ( 21 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 107 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Tài liệu tương tự

Nội dung

Luaän Vaên Toát Nghieäp CHÖÔNG I GIÔÙI THIEÄU VI ÑIEÀU KHIEÅN 8051 I. CAÁU TAÏO VI ÑIEÀU KHIEÅN 8051 1. TOÙM TAÉT PHAÀN CÖÙNG HOÏ MSC-51 (8051) MCS-51 laø hoï IC vi ñieàu khieån do haõng Intel saûn xuaát. Caùc IC tieâu bieåu cho hoï laø 8031, 8051, 8951... Nhöõng ñaëc ñieåm chính vaø nguyeân taét hoaït ñoäng cuûa caùc boä vi ñieàu khieån naøy khaùc nhau khoâng nhieàu. Khi ñaõ söû duïng thaønh thaïo moät loaïi vi ñieàu khieån thì ta coù theå nhanh choùng vaän duïng kinh nghieäm ñeå laøm quen vaø laøm chuû caùc öùng duïng cuûa moät boä vi ñieàu khieån khaùc. Vì vaäy ñeå coù nhöõng hieåu bieát cuï theå veà caùc boä vi ñieàu khieån cuõng nhö ñeå phuïc vuï cho ñeà taøi toát nghieäp naøy ta baét ñaàu tìm hieåu moät boä vi ñieàu khieån thoâng duïn g nhaát, ñoù laø hoï MCS-51 vaø neáu nhö hoï MCS-51 laø hoï ñieån hình thì 8051 laïi chính laø ñaïi dieän tieâu bieåu Caùc ñaëc ñieåm cuûa 8051 ñöôïc toùm taét nhö sau : √ 4 KB ROM beân trong. √ 128 Byte RAM noäi. √ 4 Port xuaát /nhaäp I/O 8 bit. √ Giao tieáp noái tieáp. √ 64 KB vuøng nhôù maõ ngoaøi √ 64 KB vuøng nhôù döõ lieäu ngoaïi. √ Xöû lyù Boolean (hoaït ñoäng treân bit ñôn). √ 210 vò trí nhôù coù theå ñònh vò bit. √ 4 μs cho hoaït ñoäng nhaân hoaëc chia. Baûng moâ taû söï khaùc nhau cuûa caùc IC trong hoï MSC-51 : GVHD: NGUYEÃN ÑÌNH PHUÙ SVTH: NGUYEÃN NGOÏC TOAØN Luaän Vaên Toát Nghieäp Loaïi Boä Nhôù Maõ Treân CHIP Boä Nhôù Döõ Lieäu Treân CHIP Soá Timer 8051 4K ROM 128 Byte 2 8031 0K ROM 128 Byte 2 8751 4K ROM 128 Byte 2 8052 8 K ROM 256Byte 2 8032 0 K ROM 256Byte 2 8752 8K EPROM 256Byte 2 2. CAÁU TRUÙC VÑK 8051, CHÖÙC NAÊNG TÖØNG CHAÂN 40 30pF 19 12 MHz 18 30pF 29 XTAL.2 PSEN 30 ALE 31 EA 9 RD WR T1 T0 INT1 INT0 TXD RXD XTAL.1 Vcc RST 17 16 15 14 13 12 11 10 8051 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 32 AD7 33 AD6 34 AD5 35 AD4 36 AD3 37 AD2 38 AD1 39 AD0 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 8 7 6 5 4 3 2 1 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 28 A15 27 A14 26 A13 25 A12 24 A11 23 A10 22 A9 21 A8 Vss 20 Chöùc naêng hoaït ñoäng cuûa töøng chaân (pin) ñöôïc toùm taét nhö sau : √ Töø chaân 1÷ 8 Port 1 (P1.0, . . ., P1.7) duøng laøm Port xuaát nhaäp I/O ñeå giao tieáp beân ngoaøi. GVHD: NGUYEÃN ÑÌNH PHUÙ SVTH: NGUYEÃN NGOÏC TOAØN Luaän Vaên Toát Nghieäp √ Chaân 9 (RST) laø chaân ñeå RESET cho 8051. Bình thöôøng caùc chaân naøy ôû möùc thaáp. Khi ta ñöa tín hieäu naøy leân cao (toái thieåu 2 chu kyø maùy). Thì nhöõng thanh ghi noäi cuûa 8051 ñöôïc LOAD nhöõng giaù trò thích hôïp ñeå khôûi ñoäng laïi heä thoáng. Töø chaân 10÷17 laø Port3 (P3.0, P3.1, . . ., P3.7) duøng vaøo hai muïc ñích : duøng laø Port xuaát / nhaäp I/O hoaëc moãi chaân giöõ moät chöùc naêng caù bieät ñöôïc toùm taét sô boä nhö sau : • P3.0 (RXD) : Nhaän döõ lieäu töø Port noái tieáp. • P3.1 (TXD) : Phaùt döõ lieäu töø Port noái tieáp. • P3.2 (INT0) : Ngaét 0 beân ngoaøi. • P3.3 (INT1) : Ngaét 1 töø beân ngoaøi. • P3.4 (T0) : Timer/Counter 0 nhaäp töø beân ngoaøi. • P3.5 (T1) : Timer/Counter 1 nhaäp töø beân ngoaøi. • P3.6 (WR) : Tín hieäu Strobe ghi döõ lieäu leân boä nhôù beân ngoaøi. • P3.7 (RD) : Tín hieäu Strobe ñoïc döõ lieäu leân boä nhôù beân ngoaøi. √ Caùc chaân 18,19 (XTAL2 vaø XTAL1) ñöôïc noái vôùi boä dao ñoäng thaïch anh 12 MHz ñeå taïo dao ñoäng treân CHIP. Hai tuï 30 pF ñöôïc theâm vaøo ñeå oån ñònh dao ñoäng. √ Chaân 20 (Vss) noái ñaát (Vss = 0). √ Töø chaân 21÷28 laø Port 2 (P2.0, P2.1, . . ., P2.7) duøng vaøo hai muïc ñích: laøm Port xuaát/nhaäp I/O hoaëc duøng laøm byte cao cuûa bus ñòa chæ thì noù khoâng coøn taùc duïng I/O nöõa. Bôûi vì ta muoán duøng EPROM vaø RAM ngoaøi neân phaûi söû duïng Port 2 laøm byte cao bus ñòa chæ. √ Chaân 29 (PSEN) laø tín hieäu ñieàu khieån xuaát ra cuûa 8051, noù cho pheùp choïn boä nhôù ngoaøi vaø ñöôïc noái chung vôùi chaân cuûa OE (Outout Enable) cuûa EPROM ngoaøi ñeå cho pheùp ñoïc caùc byte cuûa chöông trình. Caùc xung tín hieäu PSEN haï thaáp trong suoát thôøi gian thi haønh leänh. Nhöõng maõ nhò phaân cuûa chöông trình ñöôïc ñoïc töø EPROM ñi qua bus döõ lieäu vaø ñöôïc choát vaøo thanh ghi leänh cuûa 8051 bôûi maõ leänh. Chaân 30 (ALE : Adress Latch Enable) laø tín hieäu ñieàu khieån xuaát ra cuûa 8051, noù cho pheùp phaân keânh bus ñòa chæ vaø bus döõ lieäu cuûa Port 0. √ Chaân 31 (EA : Eternal Acess) ñöôïc ñöa xuoáng thaáp cho pheùp choïn boä nhôù maõ ngoaøiñoái vôùi 8031. Ñoái vôùi 8051 thì : GVHD: NGUYEÃN ÑÌNH PHUÙ SVTH: NGUYEÃN NGOÏC TOAØN Luaän Vaên Toát Nghieäp • EA = 5V : Choïn ROM noäi. • EA = 0V : Choïn ROM ngoaïi. • EA = 21V : Laäp trình EPROM noäi. √ Caùc chaân töø 32÷39 laø Port 0 (P0.0, P0.1, . . . , P0.7) duøng caû hai muïc ñích : Vöøa laøm byte thaáp cho bus ñòa chæ, vöøa laøm bus döõ lieäu, neáu vaäy Port 0 khoâng coøn chöùc naêng xuaát nhaäp I/O nöõa. √ Chaân 40 (Vcc) ñöôïc noái leân nguoàn 5V. 3. TOÅ CHÖÙC BOÄ NHÔÙ Baûn ñoà boä nhôù data treân Chip nhö sau : Ñòa chæ byte Ñòa chæ byte Ñòa chæ bit 7F Ñòa chæ bit FF F0 F7 F6 F5 F4 F3 F2 F1 F0 B E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC D0 D7 D6 D5 D4 D3 D2 D1 D0 PSW B8 - - - BC BB BA B9 B8 IP B0 B7 B6 B5 B4 B3 B2 B1 B0 P.3 A8 AF AC AB AA A9 A8 IE A0 A7 A6 A4 A3 A2 A1 A0 P2 99 98 9F khoâng ñöôïc ñòa chæ hoaù bit 9E 9D 9C 9B 9A 99 98 SBUF SCON 90 97 96 90 P1 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 77 6F 67 5F 57 4F 47 3F 37 2F 27 1F 17 0F 07 7E 76 6E 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 7B 74 73 6C 6B 64 63 5C 5B 54 53 4C 4B 44 43 3C 3B 34 33 2C 2B 24 23 1C 1B 14 13 0C 0B 04 03 Bank 3 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 Bank 2 Bank 1 Bank thanh ghi 0 (maëc ñònh cho R0 -R7) RAM 78 70 68 60 58 50 48 40 38 30 28 20 18 10 08 00 8D 8C 8B 8A 89 88 87 83 82 81 88 8F 87 A5 95 94 93 92 91 khoâng ñöôïc ñòa chæ hoaù bit khoâng ñöôïc ñòa chæ hoaù bit khoâng ñöôïc ñòa chæ hoaù bit khoâng ñöôïc ñòa chæ hoaù bit khoâng ñöôïc ñòa chæ hoaù bit 8E 8D 8C 8B 8A 89 khoâng ñöôïc ñòa chæ hoaù bit khoâng ñöôïc ñòa chæ hoaù bit khoâng ñöôïc ñòa chæ hoaù bit khoâng ñöôïc ñòa chæ hoaù bit 86 85 84 83 82 81 88 80 TH1 TH0 TL1 TL0 TMOD TCON PCON DPH DPL SP P0 CAÙC THANH GHI CHÖÙC NAÊNG ÑAËC BIEÄT Toùm taét boä nhôù döõ lieäu treân chip. GVHD: NGUYEÃN ÑÌNH PHUÙ SVTH: NGUYEÃN NGOÏC TOAØN Luaän Vaên Toát Nghieäp 3.1 RAM muïc ñích chung Trong baûn ñoà boä nhôù treân, 80 byte töø ñòa chæ 30H÷7FH laø RAM muïc ñích chung. Keå caû 32byte phaàn döôùi töø 00H÷2FH cuõng coù theå söû duïng gioáng nhö 80 byte ôû treân, tuy nhieân 32 byte coøn coù muïc ñích khaùc seõ ñeà caäp sau. Baát kyø vò trí naøo trong RAM muïc ñích chung cuõng coù theå ñöôïc truy xuaát tuøy yù gioáng nhö vieäc söû duïng caùc mode ñeå ñònh ñòa chæ tröïc tieáp hay giaùn tieáp. Ví duï ñeå ñoïc noäi dung cuûa RAM noäi coù ñòa chæ 5FH vaøo thanh ghi tích luõy thì ta duøng leänh : MOV A, 5FH. RAM noäi cuõng ñöôïc truy xuaát bôûi vieäc duøng ñòa chæ giaùn tieáp qua R0 vaø R1. Hai leänh sau ñaây seõ töông ñöông leänh treân : MOV R0, #5FH MOV A, @R0 Leänh thöù nhaát duøng söï ñònh vò töùc thôøi ñeå ñöa giaù trò 5FH vaøo thanh ghi R0, leänh thöù hai duøng söï ñònh vò giaùn tieáp ñeå ñöa döõ lieäu “ñaõ ñöôïc troû ñeán bôûi R0” vaøo thanh ghi tích luõy A. 3.2 RAM ñònh vò 8051 chöùa 210 vò trí coù theå ñònh vò bit, trong ñoù coù 128 bit naèm ôû caùc ñòa chæ töø 20H÷2FH vaø phaàn coøn laïi laø caùc thanh ghi chöùc naêng ñaëc bieät. 3.3 Caùc baêng thanh ghi (Register Banks) 32 vò trí nhôù cuoái cuøng cuûa boä nhôù töø ñòa chæ byte 00H÷1FH chöùc caùc daõy thanh ghi. Taäp hôïp caùc leänh cuûa 8051 cung caáp 8 thanh ghi töø R0÷R7 ôû ñòa chæ 00H÷07H neáu maùy tính maëc nhieân choïn ñeå thöïc thi. Nhöõng leänh töông ñöông duøng söï ñònh vò tröïc tieáp. Nhöõng giaù trò döõ lieäu ñöôïc duøng thöôøng xuyeân chaéc chaén seõ söû duïng moät trong caùc thanh ghi naøy. 3.4 Caùc thanh ghi chöùc naêng ñaëc bieät (Special Function Register) Coù 21 thanh ghichöùc naêng ñaëc bieät SFR ôû ñænh cuûa RAM noäi töø ñòa chæ caùc thanh ghi chöùc naêng ñaëc bieät ñöôïc ñònh roõ, coøn phaàn coøn laïi khoâng ñònh roõ. Maëc duø thanh ghi A coù theå truy xuaát tröïc tieáp, nhöng haàu heát caùc thanh ghi chöùc naêng ñaëc bieät ñöôïc truy xuaát baèng caùch söû duïng söï ñònh vò ñòa chæ tröïc tieáp. Chuù yù raèng vaøi thanh ghi SFR coù caû bit ñònh vò vaø byte ñònh vò. Ngöôøi thieát keá seõ caãn thaän khi truy xuaát bit maø khoâng truy xuaát byte. 3.4.1 Töø traïng thaùi chöông trình (PSW : Program Status Word) : Töø traïng thaùi chöông trình ôû ñòa chæ D0H ñöôïc toùm taét nhö sau : GVHD: NGUYEÃN ÑÌNH PHUÙ SVTH: NGUYEÃN NGOÏC TOAØN Luaän Vaên Toát Nghieäp BIT SYMBOL ADDRESS DESCRIPTION PSW.7 CY D7H Cary Flag PSW.6 AC D6H Auxiliary Cary Flag PSW.5 F0 D5H Flag 0 PSW4 RS1 D4H Register Bank Select 1 PSW.3 RS0 D3H Register Bank Select 0 00=Bank 0; address 00H÷07H 01=Bank 1; address 08H÷0FH 10=Bank 2; address 10H÷17H 11=Bank 3; address 18H÷1FH PSW.2 OV D2H Overlow Flag PSW.1 - D1H Reserved PSW.0 P DOH Even Parity Flag Chöùc naêng töøng bit traïng thaùi chöông trình a) Côø Carry CY (Carry Flag) : Côø Carry ñöôïc set leân 1 neáu coù söï traøn ôû bit 7 trong pheùp coäng hoaëc coù söï möôïn vaøo bit 7 trong pheùp tröø. Côø Carry cuõng laø 1 “thanh ghi tích luõy luaän lyù”, noù ñöôïc duøng nhö moät thanh ghi 1 bit thöïc thi treân caùc bit bôûi nhöõng leänh luaän lyù. Ví duï leänh : ANL C, 25H seõ AND bit 25H vôùi côø Carryvaø caát keát quaû vaøo côø Carry. b) Côø Carry phuï AC (Auxiliary Carry Flag) : Khi coäng nhöõng giaù trò BCD (Binary Code Decimal), côø nhôù phuï AC ñöôïcset neáu coù söï traøn töø bit 3 sang 4 hoaëc 4 bit thaáp naèm trong phaïm vi0AH÷0FH. c) Côø 0 (Flag 0) : noù. Côø 0 (F0) laø bit côø coù muïc ñích toång hôïp cho pheùp ngöôøi öùng duïng duøng d). Nhöõng bit choïn daõy thanh ghi RS1 vaø RS0 : RS1 vaø RS0 quyeát ñònh daõy thanh ghi tích cöïc. Chuùng ñöôïc xoùa sau khi reset heä thoáng vaø ñöôïc thay ñoåi bôûi phaàn meàm khi caàn thieát. e. Côø traøn OV (Over Flag) : GVHD: NGUYEÃN ÑÌNH PHUÙ SVTH: NGUYEÃN NGOÏC TOAØN Luaän Vaên Toát Nghieäp Côø traøn ñöôïc set sau moät hoaït ñoäng coäng hoaëc tröø neáu coù söï traøn toaùn hoïc. Bit OV ñöôïc boû qua ñoái vôùi söï coäng tröø khoâng daáu. Khi coäng tröø coù daáu, keát quaû lôùn hôn + 127 hay nhoû hôn -128 seõ set bit OV. f. Bit Parity (P) : Bit töï ñoäng ñöôïc set hay Clear ôû moãi chu kyø maùy ñeå laäp Parity chaún vôùi thanh ghi A. Söï ñeám caùc bit 1 trong thanh ghi A coäng vôùi bit Parity luoân luoân chaún. Ví duï A chöùa 10101101B thì bit P set leân moät ñeå toång soá bit 1 trong A vaø P taïo thaønh soá chaún. Bit Parity thöôøng ñöôïc duøng trong söï keát hôïp vôùi nhöõng thuû tuïc cuûa Port noái tieáp ñeå taïo ra bit Parity tröôùc khi phaùt ñi hoaëc kieåm tra bit Parity sau khi thu. 3.4.2 Thanh ghi B : Thanh ghi B ôû ñòa chæ F0H ñöôïc duøng ñi ñoâi vôùi thanh ghi A cho caùc hoaït ñoäng nhaân chia. Thanh ghi B coù theå ñöôïc duøng nhö moät thanh ghi ñeäm trung gian ña muïc ñích. Noù laø nhöõng bit ñònh vò thoâng qua nhöõng ñòa chæ töø F0H÷F7H. 3.4.3 Con troû Stack SP (Stack Pointer) : Stack Pointer laø moät thanh ghi 8 bit ôû ñòa chæ 81H. Noù chöùa ñòa chæ cuûa döõ lieäu ñang hieän haønh treân ñænh Stack. Caùc hoaït ñoäng cuûa Stack bao goàm vieäc ñaåy döõ lieäu vaøo Stack (PUSH) vaø laáy döõ lieäu ra khoûi Stack (POP). √ Vieäc PUSH vaøo Stack seõ taêng SP leân 1 tröôùc khi döõ lieäu vaøo. √ Vieäc POP töø Stack ra seõ laáy döõ lieäu ra tröôùc roài giaûm SP ñi 1. 3.4.4 Con troû döõ lieäu DPTR (Data Pointer) : Data Pointer ñöôïc ñeå truy xuaát boä nhôù maø ngoaøi hoaëc boä nhôù döõ lieäu ngoaøi, noù laø moät thanh ghi 16 bit maø byte thaáp laø DPL ôû ñòa chæ 82H coøn byte cao laø DPH ôû ñòa chæ 83H. Ñeå ñöa noäi dung 55H vaøo RAM ngoaïi coù ñòa chæ 1000H ta duøng 3 leänh sau : MOV A, #55H MOV DPTR, #1000H MOVX @ DPTR, A Leänh thöù nhaát duøng söï ñònh vò tröïc tieáp ñöa haèng soá döõ lieäu 55H vaøo A. Leänh thöù hai cuõng töông töï leänh thöù nhaát ñöa haèng soá döõ lieäu 1000H vaøo GVHD: NGUYEÃN ÑÌNH PHUÙ SVTH: NGUYEÃN NGOÏC TOAØN Luaän Vaên Toát Nghieäp trong DPTR . leänh cuoái cuøng duøng söï ñònh vò giaùn tieáp ñeå dòch chuyeån giaù trò 55H trong A vaøo vuøng nhôù RAM ngoaïi 1000H naèm trong DPTR. 3.4.5 Caùc thanh ghi Port (Port Register) : Caùc Port 0, Port 1, Port 2, Port 3 coù ñòa chæ töông öùng 80H, 90H, A0H, B0H. Caùc Port 0, Port 1, Port 2, Port 3 khoâng coøn taùc duïng xuaát nhaäp nöõa neáu boä nhôù ngoaøi ñöôïc duøng hoaëc moät vaøi caù tính ñaëc bieät cuûa 8051 ñöôïc duøng (nhö Interrupt, Port noái tieáp . . .). Do vaäy chæ coøn coù Port1 coù taùc duïng xuaát nhaäp I/O. Taát caû caùc Port ñeàu coù bit ñòa chæ, do ñoù noù coù khaû naêng giao tieáp vôùi beân ngoaøi maïnh meõ. 3.4.6 Caùc thanh ghi Timer (Timer Register) : 8051 coù 2 boä : Moät boä Timer 16 bit vaø moät boä Counter 16 bit, hai boä naøy duøng ñeå ñònh giôø luùc nghæ cuûa chöông trình hoaëc ñeám caùc söï kieän quan troïng. Timer 0 coù bit thaáp TL0 ôû ñòa chæ 8AH vaø coù bit cao TH0 ôû ñòa chæ 8CH. Timer 1 coù bit thaáp ôû ñòa chæ 8BH vaø bit cao TH1 ôû ñòa chæ 8DH. Hoaït ñoäng ñònh thôøi ñöôïc cho pheùp bôûi thanh ghi mode ñònh thôøi TMOD (Timer Mode Register). ÔÛ ñòa chæ 89H vaø thanh ghi ñieàu khieån ñònh thôøi TCON (Timer Control Register) ôû ñòa chæ 88H. Chæ coù TCON coù bit ñònh vò. 3.4.7 Caùc thanh ghi Port noái tieáp (Serial Port Register) : 8051 chöùa moät Port noái tieáp treân Chip cho vieäc truyeàn thoâng tin vôùi nhöõng thieát bò noái tieáp nhö laø nhöõng thieát bò ñaàu cuoái, modem, hoaëc ñeå giao tieáp IC khaùc vôùi nhöõng boä bieán ñoåi A/D, nhöõng thanh ghi di chuyeån, RAM . . .). Thanh ghi ñeäm döõ lieäu noái tieáp SBUF ôû ñòa chæ 99H giöõ caû döõ lieäu phaùt laãn döõ lieäu thu. Vieäc ghi leân SBUF ñeå LOAD döõ lieäu cho vieäc truyeàn vaø ñoïc SBUF ñeå truy xuaát döõ lieäu cho vieäc nhaän nhöõng mode hoaït ñoäng khaùc nhau ñöôïc laäp trình thoâng qua thanh ghi ñieàu khieån Port noái tieáp SCON. 3.4.8 Caùc thanh ghi ngaét (Interrupt Register) : 8051 coù hai caáu truùc ngaét öu tieân, 5 boä nguoàn. Nhöõng Interrupt bò maát taùc duïng sau khi heä thoáng reset (bò caám) vaø sau ñoù ñöôïc cho pheùp bôûi vieäc cho pheùp ghi leân thanh ghi cho pheùp ngaét IE (Interrup Enable Register) ôû ñòa chæ A8H. Möùc öu tieân ñöôïc ñaët vaøo thanh ghi öu tieân ngaét IP (Interrupt Priority Level) taïi ñòa chæ B8H. Caû 2 thanh ghi treân ñeàu coù bit ñòa chæ. Register) : 3.4.9 Thanh ghi ñieàu khieån nguoàn PCON (Power Control GVHD: NGUYEÃN ÑÌNH PHUÙ SVTH: NGUYEÃN NGOÏC TOAØN Luaän Vaên Toát Nghieäp Thanh ghi PCON khoâng coù bit ñònh vò. Noù ôû ñòa chæ 87H bao goàm caùc bit ñòa chæ toång hôïp. Caùc bit PCON ñöôïc toùm taét nhö sau : set. √ Bit 7 (SMOD) : Bit coù toác ñoä Baud ôû mode 1, 2, 3 ôû Port noái tieáp khi √ Bit 6, 5, 4 : Khoâng coù ñòa chæ. √ Bit 3 (GF1) : Bit 1 cuûa côø ña naêng. √ Bit 2 (GF0) : Bit 2 cuûa côø ña naêng. √ Bit 1 * (PD) : Set ñeå khôûi ñoäng mode Power Down vaø thoaùt ñeå reset. √ Bit 0 * (IDL) : Set ñeå khôûi ñoäng mode Idle vaø thoaùt khi ngaét maïch hoaëc reset. Caùc bit ñieàu khieån Power Down vaø Idle coù taùc duïng chính trong taát caû caùc IC hoï MSC-51 nhöng chæ ñöôïc thi haønh trong söï bieân dòch cuûa CMOS. II. TOÙM TAÉT TAÄP LEÄNH CUÛA 8051 Caùc chöông trình ñöôïc caáu taïo töø nhieàu leänh, chuùng ñöôïc xaây döïng logic, söï noái tieáp cuûa caùc leänh ñöôïc nghó ra moät caùch hieäu quaû vaø nhanh, keát quaû cuûa chöông trình thì khaû quan. Taäp leänh hoï MSC-51 ñöôïc söï kieåm tra cuûa caùc mode ñònh vò vaø caùc leänh cuûa chuùng coù caùc Opcode 8 bit. Ñieàu naøy cung caáp khaû naêng 28=256 leänh ñöôïc thi haønh vaø moät leänh khoâng ñöôïc ñònh nghóa. Vaøi leänh coù 1 hoaëc 2 byte bôûi döõ lieäu hoaëc ñòa chæ theâm vaøo Opcode. Trong toaøn boä caùc leänh coù 139 leänh 1 byte, 92 leänh 2 byte vaø 24 leänh 3 byte. 1. CAÙC CHEÁ ÑOÄ ÑÒNH VÒ (ADDRESSING MODE) Caùc mode ñònh vò laø moät boä phaän thoáng nhaát cuûa taäp leänh moãi maùy tính. Chuùng cho pheùp ñònh roõ nguoàn hoaëc nôi gôûi tôùi cuûa döõ lieäu ôû caùc ñöôøng khaùc nhau tuøy thuoäc vaøo traïng thaùi cuûa laäp trình. 8051 coù 8 mode ñònh vò ñöôïc duøng nhö sau : √ Thanh ghi. √ Tröïc tieáp. √ Giaùn tieáp. √ Töùc thôøi. √ Töông ñoái. √ Tuyeät ñoái. √ Daøi. GVHD: NGUYEÃN ÑÌNH PHUÙ SVTH: NGUYEÃN NGOÏC TOAØN Luaän Vaên Toát Nghieäp √ Ñònh vò. 1.1 Söï ñònh vò thanh ghi (Register Addressing) Coù 4 daõy thanh ghi 32 byte ñaàu tieân cuûa RAM döõ lieäu treân Chip ñòa chæ 00H ÷ 1FH, nhöng taïi moät thôøi ñieåm chæ coù moät daõy hoaït ñoäng caùc bit PSW3, PSW4 cuûa töø traïng thaùi chöông trình seõ quyeát ñònh daõy naøo hoaït ñoäng. Caùc leänh ñeå ñònh vò thanh ghi ñöôïc ghi maät maõ baèng caùch duøng bit troïng soá thaáp nhaát cuûa Opcode leänh ñeå chæ moät thanh ghi trong vuøng ñòa chæ theo logic naøy. Nhö vaäy 1 maõ chöùc naêng vaø ñòa chæ hoaït ñoäng coù theå ñöôïc keát hôïp ñeå taïo thaønh moät leänh ngaén 1 byte nhö sau : n Opcode n n Register Addressing. 1.2 Söï ñònh ñòa chæ tröïc tieáp (Direct Addressing) Söï ñònh ñòa chæ tröïc tieáp coù theå truy xuaát baát kyø giaù trò naøo treân Chip hoaëc thanh ghi phaàn cöùng treân Chip. Moät byte ñòa chæ tröïc tieáp ñöôïc ñöa vaøo Opcode ñeå ñònh roû vò trí ñöôïc duøng nhö sau : Opcode Direct Addressing Tuøy thuoäc caùc bit baäc cao cuûa ñòa chæ tröïc tieáp maø moät trong 2 vuøng nhôù ñöôïc choïn. Khi bit 7 = 0, thì ñòa chæ tröïc tieáp ôû trong khoaûng 0÷127 (00H÷7FH) vaø 128 vò trí nhôù thaáp cuûa RAM treân Chip ñöôïc choïn. 1.3 Söï ñònh vò ñòa chæ giaùn tieáp (Indirect Addressing) Söï ñònh ñòa chæ giaùn tieáp ñöôïc töôïng tröng bôûi kyù hieäu @ ñöôïc ñaët tröôùc R0, R1 hay DPTR. R0 vaø R1 coù theå hoaït ñoäng nhö moät thanh ghi con troû maø noäi dung cuûa noù cho bieát moät ñòa chæ trong RAM noäi ôû nôi maø döõ lieäu ñöôïc ghi hoaëc ñöôïc ñoïc. Bit coù troïng soá nhoû nhaát cuûa Opcode leänh seõ xaùc ñònh R0 hay R1 ñöôïc duøng con troû Pointer. Opcode GVHD: NGUYEÃN ÑÌNH PHUÙ i SVTH: NGUYEÃN NGOÏC TOAØN
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.