intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Giáo tiếp_chương 5

Chia sẻ: Trần Huệ Mẫn | Ngày: | Loại File: PDF | Số trang:39

212
lượt xem
97
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Họ VĐK 8051 có một lương ROM nội on-chip. Đối với những thiết kế thống tương đối nhỏ, lượng ROM on-chip của nó là đủ để chứa chương trình thực thi. Tuy nhiên, đối với những thiết kế hệ thống lớn.

Chủ đề:
Lưu

Nội dung Text: Giáo tiếp_chương 5

  1. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp CHÖÔNG 5: GIAO TIEÁP I. GIAO TIEÁP BOÄ NHÔÙ NGOAØI Hoï VÑK 8051 coù moät löôïng ROM noäi on-chip. Ñoái vôùi nhöõng thieát keá heä thoáng töông ñoái nhoû, löôïng ROM on-chip cuûa noù laø ñuû ñeå chöùa chöông trình thöïc thi. Tuy nhieân, ñoái vôùi nhöõng thieát keá heä thoáng lôùn, maõ chöông trình thöïc thi coù theå vöôït quaù dung löôïng ROM on-chip hoaëc döõ lieäu caàn löu tröõ töông ñoái nhieàu, do ñoù caàn phaûi môû roäng boä nhôù cho heä thoáng baèng caùch söû duïng theâm ROM ngoaøi hoaëc RAM ngoaøi. Nhö ñaõ bieát ôû chöông 2, khi giao tieáp boä nhôù ngoaøi, port 0 laø doàn keânh cuûa bus döõ lieäu vaø byte thaáp cuûa bus ñòa chæ, coøn port 2 laø byte cao cuûa bus ñòa chæ. Nhö vaäy, caàn coù moät IC choát beân ngoaøi ñöôïc noái vôùi port 0 ñeå giöõ byte ñòa chæ thaáp khi giao tieáp vôùi boä nhôù ngoaøi. Byte ñòa chæ thaáp ñöôïc choát vaøo IC ngoaøi baèng xung ALE töø vi ñieàu khieån 8051. Sau ñoù, port 0 trôû thaønh bus döõ lieäu hai chieàu trong suoát giai ñoaïn ñoïc hay ghi cuûa chu kì maùy. * Quy taéc chung veà thieát keá maïch giao tieáp boä nhôù vôùi MCS-51 1. Laäp baûng boä nhôù - Laäp baûng boä nhôù cho heä thoáng vaø caùc öùng duïng phuï thuoäc. - Ñoái vôùi MCS-51, neân taùch rieâng 64K boä nhôù chöông trình vaø 64K boä nhôù döõ lieäu. - Ñeå söû duïng nhöõng ñòa chæ treân 64K thì söû duïng theâm caùc bit töø nhöõng coång I/O khoâng söû duïng ñeå laøm caùc ñöôøng ñòa chæ cao. 2. Choïn linh kieän boä nhôù thích hôïp. 3. Söû duïng maïch giaûi maõ ñòa chæ (neáu caàn) ñeå taïo caùc tín hieäu choïn chip cho boä nhôù. 4. Söû duïng ñöôøng /PSEN cho boä nhôù chöông trình hoaëc caùc ñöôøng /RD, /WR cho boä nhôù döõ lieäu ñeå truy xuaát ñeán caùc chaân ñoïc/ghi boä nhôù. 5. Chaân /EA = VCC neáu söû duïng ROM noäi hoaëc /EA = 1 neáu söû duïng ROM ngoaøi. Data bus[D0..D7] 31 39 D0 D0 3 2 A0 A0 10 11 D0 C1 30p EA/VP P0.0 38 D1 D1 4 D0 Q0 5 A1 A1 9 A0 O0 12 D1 19 P0.1 37 D2 D2 7 D1 Q1 6 A2 A2 8 A1 O1 13 D2 X1 P0.2 36 D3 D3 8 D2 Q2 9 A3 A3 7 A2 O2 15 D3 XTAL P0.3 35 D4 D4 13 D3 Q3 12 A4 A4 6 A3 O3 16 D4 C2 30p 12MHz 18 P0.4 34 D5 D5 14 D4 Q4 15 A5 A5 5 A4 O4 17 D5 X2 P0.5 33 D6 D6 17 D5 Q5 16 A6 A6 4 A5 O5 18 D6 P0.6 32 D7 D7 18 D6 Q6 19 A7 A7 3 A6 O6 19 D7 9 P0.7 D7 Q7 A8 25 A7 O7 RESET 21 A8 1 A9 24 A8 VCC P2.0 22 A9 11 OC A10 21 A9 12 P2.1 23 A10 G A11 23 A10 13 INT0 P2.2 24 A11 A12 2 A11 INT1 P2.3 74LS373 A12 14 25 A12 R2 C3 + 15 T0 P2.4 26 A13 20 100 T1 P2.5 27 A14 22 CE P2.6 A15 PSEN OE 10u 1 28 27 SW1 2 P1.0 P2.7 Addr bus[A0..A15] 1 PGM 3 P1.1 17 VPP P1.2 RD /RD 4 16 2764 P1.3 WR /WR R1 5 29 Vcc P1.4 PSEN PSEN 8.2K 6 30 7 P1.5 ALE/P 11 A0 10 11 D0 8 P1.6 TXD 10 A1 9 A0 D0 12 D1 P1.7 RXD A2 8 A1 D1 13 D2 A3 A2 D2 D3 8031 7 A3 D3 15 A4 6 16 D4 A5 5 A4 D4 17 D5 A6 4 A5 D5 18 D6 A7 3 A6 D6 19 D7 A8 25 A7 D7 A9 24 A8 A10 21 A9 A11 23 A10 A12 2 A11 A12 22 /RD OE 27 /WR WE 20 26 CS1 CS2 6264 Vcc Hình 5.1 http://www.ebook.edu.vn 1
  2. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp Ví duï 5.1: Thieát keá kit 8031 vôùi 1 ROM 2764 (chöùa chöông trình), 1 RAM 6264 (chöùa döõ lieäu). Giaûi: ROM 2764 vaø RAM 6264 ñeàu coù dung löôïng 8KB. Ta coù: 8KB = 213 byte → moãi chip coù 13 ñöôøng ñòa chæ vaøo A0 ÷ A12. Sô ñoà maïch keát noái hình 5.1 Coù theå thieát keá maïch giao tieáp vôùi 1 EPROM vaø 1 RAM toång quaùt baèng caùch duøng caùc caàu noái (jumper) vaø ñieän trôû keùo leân phuø hôïp nhö treân hình 5.2. Trong sô ñoà naøy, ngöôøi söû duïng coù theå choïn dung löôïng boä nhôù caàn thieát baèng caùch thieát laäp caùc jumper ñeå noái caùc chaân ñòa chæ thích hôïp töø bus ñòa chæù vaøo chip nhôù. Baûng thieát laäp jumper töông öùng cho caùc dung löôïng EPROM vaø RAM khaùc nhau cuõng ñöôïc cho treân hình. Data bus[D0..D7] 31 39 D0 D0 3 2 A0 A0 10 11 D0 C1 30p EA/VP P0.0 38 D1 D1 4 D0 Q0 5 A1 A1 9 A0 O0 12 D1 19 P0.1 37 D2 D2 7 D1 Q1 6 A2 A2 8 A1 O1 13 D2 X1 P0.2 36 D3 D3 8 D2 Q2 9 A3 A3 7 A2 O2 15 D3 XTAL P0.3 35 D4 D4 13 D3 Q3 12 A4 A4 6 A3 O3 16 D4 C2 30p 12MHz 18 P0.4 34 D5 D5 14 D4 Q4 15 A5 A5 5 A4 O4 17 D5 X2 P0.5 33 D6 D6 17 D5 Q5 16 A6 A6 4 A5 O5 18 D6 P0.6 32 D7 D7 18 D6 Q6 19 A7 A7 3 A6 O6 19 D7 9 P0.7 D7 Q7 A8 25 A7 O7 RESET 21 A8 1 A9 24 A8 VCC P2.0 22 A9 11 OC A10 21 A9 12 P2.1 23 A10 G A11 23 A10 13 INT0 P2.2 24 A11 A12 2 A11 INT1 P2.3 74LS373 A12 14 25 A12 A13 JP1 26 R2 C3 + 15 T0 P2.4 26 A13 27 A13 (NC) 100 T1 P2.5 27 A14 1 A14 (PGM) 10u 1 P2.6 28 A15 A14 A15 (Vpp) P1.0 P2.7 JP2 SW1 2 Addr bus[A0..A15] A15 JP3 22 P1.1 PSEN OE/VPP 3 17 20 P1.2 RD /RD CE 4 16 P1.3 WR /WR R1 5 P1.4 PSEN 29 PSEN 2764 (8K) 8.2K 6 P1.5 ALE/P 30 R4 R3 27128 (16K) 7 P1.6 TXD 11 10K 10K 27256 (32K) 8 P1.7 RXD 10 27512 (64K) Vcc 8031 A0 10 11 D0 A1 9 A0 D0 12 D1 A2 8 A1 D1 13 D2 A3 7 A2 D2 15 D3 A4 6 A3 D3 16 D4 A5 5 A4 D4 17 D5 A6 4 A5 D5 18 D6 Jumper Table A7 3 A6 D6 19 D7 A8 25 A7 D7 Memory Size EPROM RAM A9 24 A8 A10 21 A9 8K None None A11 23 A10 A12 2 A11 16K J1 NA A13 JP4 26 A12 A14 1 A13 (CS2) 32K J1 J2 J4 J5 JP5 A14 (NC) 22 64K J1 J2 J3 NA /RD 27 OE /WR WE 20 R5 CS 10K 6264 (8K) 62256 (32K) Vcc Hình 5.2 * Giaûi maõ ñòa chæ - Trong tröôøng hôïp caàn phaûi giao tieáp nhieàu ROM vaø/hoaëc nhieàu RAM, do caùc chip cuøng noái vaøo bus döõ lieäu cuûa vi ñieàu khieån neân caàn coù maïch giaûi maõ ñeå ñaûm baûo taïi moãi thôøi ñieåm chæ coù moät chip ñöôïc choïn noái vôùi bus döõ lieäu, caùc chip khaùc xem nhö hôû maïch (trôû khaùng cao). - Moät ví duï veà giaûi maõ ñòa chæ ñöôïc cho ôû hình 5.3. http://www.ebook.edu.vn 2
  3. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp Bus ñòa chæ Bus döõ lieäu /PSEN D0-D7 /RD D0-D7 OE 2764 /WR OE 6264 EPROM WR RAM A0-A12 (8KB) A0-A12 (8KB) A0-A12 A0-A12 CS CS CS CS CS CS A13 A14 A Y0 A15 B Y1 C Y2 VCC G1 Y3 Y4 Choïn caùc G2A Y5 EPROM/RAM G2B Y6 Y7 khaùc 0 74LS138 Maïch giaûi maõ ñòa chæ Hình 5.3 Ví duï 5.2: Thieát keá kit 8031 vôùi 2 ROM 2764. Giaûi: Caùch 1: duøng boä giaûi maõ 3 → 8 - ROM 2764 coù dung löôïng 8KB, töông öùng vôùi 13 ñöôøng ñòa chæ. - Choïn phaân vuøng 8KB = 213 byte → ñöa 13 ñöôøng ñòa chæ thaáp A0 ÷ A12 ñeán caùc ñöôøng ñòa chæ töông öùng cuûa 2 ROM 2764. 3 ñöôøng ñòa chæ coøn laïi laø A13, A14, A15 ñöôïc ñöa ñeán boä giaûi maõ 3 → 8. Data bus[D0..D7] 31 39 D0 D0 3 2 A0 A0 10 11 D0 C1 30p EA/VP P0.0 38 D1 D1 4 D0 Q0 5 A1 A1 9 A0 O0 12 D1 19 P0.1 37 D2 D2 7 D1 Q1 6 A2 A2 8 A1 O1 13 D2 X1 P0.2 36 D3 D3 8 D2 Q2 9 A3 A3 7 A2 O2 15 D3 XTAL P0.3 35 D4 D4 13 D3 Q3 12 A4 A4 6 A3 O3 16 D4 C2 30p 12MHz 18 P0.4 34 D5 D5 14 D4 Q4 15 A5 A5 5 A4 O4 17 D5 X2 P0.5 33 D6 D6 17 D5 Q5 16 A6 A6 4 A5 O5 18 D6 P0.6 32 D7 D7 18 D6 Q6 19 A7 A7 3 A6 O6 19 D7 9 P0.7 D7 Q7 A8 25 A7 O7 RESET 21 A8 1 A9 24 A8 VCC P2.0 22 A9 11 OC A10 21 A9 12 P2.1 23 A10 G A11 23 A10 13 INT0 P2.2 24 A11 A12 2 A11 INT1 P2.3 74LS373 A12 14 25 A12 R2 C3 + 15 T0 P2.4 26 A13 20 T1 P2.5 A14 /CS0 CE 100 27 22 P2.6 A15 PSEN OE 10u 1 28 27 SW1 2 P1.0 P2.7 Addr bus[A0..A15] 1 PGM 3 P1.1 17 VPP P1.2 RD /RD 4 16 2764 P1.3 WR /WR R1 5 29 Vcc P1.4 PSEN PSEN 8.2K 6 30 7 P1.5 ALE/P 11 A0 10 11 D0 8 P1.6 TXD 10 A1 9 A0 O0 12 D1 P1.7 RXD A2 8 A1 O1 13 D2 A3 A2 O2 D3 8031 7 A3 O3 15 A4 6 16 D4 A5 5 A4 O4 17 D5 A6 4 A5 O5 18 D6 A7 3 A6 O6 19 D7 1 15 A8 25 A7 O7 A13 A Y0 /CS0 A9 A8 2 14 24 A14 B Y1 /CS1 A10 A9 3 13 21 A15 C Y2 A11 A10 12 23 VCC 6 Y3 11 A12 2 A11 4 G1 Y4 10 A12 5 G2A Y5 9 20 G2B Y6 /CS1 CE 7 22 Y7 PSEN OE 27 PGM 74HC138 1 VPP 2764 Vcc Hình 5.4 http://www.ebook.edu.vn 3
  4. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp - Giaû söû duøng boä giaûi maõ 3 → 8 laø IC 74138. 8 ngoõ ra cuûa IC cho pheùp choïn 8 vuøng nhôù töông öùng, moãi vuøng 8KB. Choïn 2 ngoõ ra cuûa 74138 noái ñeán ngoõ vaøo choïn chip ( CS ) cuûa 2 ROM. ÔÛ ñaây, coù theå choïn Y0 (0000H ÷ 1FFFH) vaø Y1 (2000H ÷ 3FFFH). Löu yù: Neáu laø ROM chöùa chöông trình thì ñòa chæ baét ñaàu phaûi laø 0000H vì trong 8031/8051, thanh ghi PC seõ chöùa giaù trò 0000H ngay sau khi khôûi ñoäng. - Sô ñoà maïch keát noái (giaû söû caùc ROM duøng chöùa chöông trình) nhö ôû hình 5.4. - Neáu duøng ROM chöùa döõ lieäu thì chaân /OE cuûa ROM ñöôïc noái vôùi tín hieäu /RD. Caùch 2: Neáu duøng ROM chöùa döõ lieäu thì coù theå thieát keá nhö sau: Do chæ coù 2 chip nhôù ngoaøi neân coù theå chæ thöïc hieän maïch giaûi maõ 1 → 2. Maïch naøy coù theå ñôn giaûn nhö sau: A15 CSROM 1 CS ROM 2 7404 Hình 5.5 A15 = 0: choïn ROM1 ( CS ROM 1 : 0000H ÷ 7FFFH) A15 = 1: choïn ROM2 ( CS ROM 2 : 8000H ÷ FFFFH) Vuøng ñòa chæ öùng vôùi moãi chaân choïn chip seõ laø 32KB → moãi ROM seõ coù 4 vuøng ñòa chæ 8KB: Chip Vuøng ROM 1 (A15 = 0) ROM 2 (A15 = 1) 1 0000H ÷ 1FFFH 8000H ÷ 9FFFH 2 2000H ÷ 3FFFH A000H ÷ BFFFH 3 4000H ÷ 5FFFH C000H ÷ DFFFH 4 6000H ÷ 7FFFH E000H ÷ FFFFH Löu yù: Khi vieát chöông trình neân choïn söû duïng duy nhaát 1 trong 4 vuøng ñòa chæ treân cho moãi ROM ñeå tieän cho vieäc kieåm soaùt chöông trình. Ví duï 5.3: Thieát keá kit 8051 vôùi 2 RAM 6264 (chöùa döõ lieäu). Giaûi: Caùch 1: Giaûi maõ ñòa chæ duøng boä giaûi maõ 3 → 8 - Thöïc hieän maïch giaûi maõ ñòa chæ töông töï ví duï 5.2. - Sô ñoà maïch keát noái nhö hình 5.6. Caùch 2: Neáu kit chæ coù 2 chip nhôù ngoaøi, coù theå thöïc hieän giaûi maõ ñôn giaûn nhö sau: - A0 ÷ A12 ñöa ñeán caùc chaân ñòa chæ töông öùng treân 2 RAM. - A15 noái vôùi CS RAM 1 → A15 = 0 thì choïn RAM1, A14 noái vôùi CS RAM 2 → A14 = 0 thì choïn RAM2. Vôùi caùch naøy ta khoâng caàn theâm IC cho maïch giaûi maõ ñòa chæ, tuy nhieân khi vieát chöông trình, phaûi ñaûm baûo chæ coù 1 chip RAM ñöôïc choïn taïi moãi thôøi ñieåm, töùc laø A15 = 0 thì A14 = 1 vaø ngöôïc laïi. - Baûng ñòa chæ boä nhôù: Chip A15 A14 A13 A12 …… A0 Ñòa chæ (HEX) RAM 1 0 1 0 x …… x 4000H ÷ 5FFFH RAM 1 0 1 1 x …… x 6000H ÷ 7FFFH RAM 2 1 0 0 x …… x 8000H ÷ 9FFFH RAM 2 1 0 1 x …… x A000H ÷ BFFFH http://www.ebook.edu.vn 4
  5. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp Nhaän xeùt: Do ñöôøng ñòa chæ A13 khoâng ñöôïc keát noái neân coù theå choïn giaù trò laø 0 hay 1. Vì theá moãi chip RAM seõ coù 2 vuøng ñòa chæ 8KB töông öùng vôùi giaù trò 0 vaø 1 cuûa A13. Vcc Data bus[D0..D7] 31 39 D0 D0 3 2 A0 A0 10 11 D0 C1 30p EA/VP P0.0 38 D1 D1 4 D0 Q0 5 A1 A1 9 A0 D0 12 D1 19 P0.1 37 D2 D2 7 D1 Q1 6 A2 A2 8 A1 D1 13 D2 X1 P0.2 36 D3 D3 8 D2 Q2 9 A3 A3 7 A2 D2 15 D3 XTAL P0.3 35 D4 D4 13 D3 Q3 12 A4 A4 6 A3 D3 16 D4 C2 30p 12MHz 18 P0.4 34 D5 D5 14 D4 Q4 15 A5 A5 5 A4 D4 17 D5 X2 P0.5 33 D6 D6 17 D5 Q5 16 A6 A6 4 A5 D5 18 D6 P0.6 32 D7 D7 18 D6 Q6 19 A7 A7 3 A6 D6 19 D7 9 P0.7 D7 Q7 A8 25 A7 D7 RESET 21 A8 1 A9 24 A8 VCC P2.0 22 A9 11 OC A10 21 A9 12 P2.1 23 A10 G A11 23 A10 13 INT0 P2.2 24 A11 A12 2 A11 INT1 P2.3 74LS373 A12 14 25 A12 R2 C3 + 15 T0 P2.4 26 A13 22 T1 P2.5 A14 /RD OE 100 27 27 P2.6 A15 /WR WE 10u 1 28 20 P1.0 P2.7 Addr bus[A0..A15] /CS0 CS1 SW1 2 26 3 P1.1 17 CS2 P1.2 RD /RD 4 P1.3 WR 16 /WR 6264 R1 5 29 Vcc 8.2K 6 P1.4 PSEN 30 7 P1.5 ALE/P 11 A0 10 11 D0 8 P1.6 TXD 10 A1 9 A0 D0 12 D1 P1.7 RXD A2 8 A1 D1 13 D2 A3 A2 D2 D3 8051 7 A3 D3 15 A4 6 16 D4 A5 5 A4 D4 17 D5 A6 4 A5 D5 18 D6 A7 3 A6 D6 19 D7 1 15 A8 25 A7 D7 A13 A Y0 /CS0 A9 A8 2 14 24 A14 B Y1 /CS1 A10 A9 3 13 21 A15 C Y2 A11 A10 12 23 Vcc 6 Y3 11 A12 2 A11 4 G1 Y4 10 A12 5 G2A Y5 9 22 G2B Y6 /RD OE 7 27 Y7 /WR WE 20 /CS1 CS1 74HC138 26 CS2 6264 Vcc Hình 5.6 Ví duï 5.4: Thieát keá maïch giaûi maõ ñòa chæ cho kit 8031 vôùi 1 ROM 2764 vaø 2 ROM 2732. Giaûi: Vì khoâng yeâu caàu ñòa chæ cuï theå neân vuøng ñòa chæ cuûa caùc chip nhôù laø tuøy ngöôøi thieát keá. ROM 2764 coù dung löôïng 8KB = 213 byte → coù 13 ñöôøng ñòa chæ vaøo töø A0 ÷ A12. ROM 2732 coù dung löôïng 4KB = 212 byte → coù 12 ñöôøng ñòa chæ vaøo töø A0 ÷ A11. Caùch 1: Choïn phaân vuøng 8KB - Ñöa caùc ñöôøng ñòa chæ A0 ÷ A12 ñeán ROM 2764 vaø caùc ñöôøng ñòa chæ A0 ÷ A11 ñeán moãi ROM 2732. 3 ñöôøng ñòa chæ cao A13, A14, A15 ñöôïc ñöa ñeán boä giaûi maõ 3→ 8 (ôû ñaây duøng IC 74138). - Maïch giaûi maõ ñòa chæ vaø baûng ñòa chæ töông öùng: A13 1 2 A 15 Y0 14 /CS0 Chip Vuøng ñòa chæ Chaân choïn chip A14 B Y1 13 /CS1 A15 3 C Y2 12 /CS2 ROM 2764 0000H ÷ 1FFFH CS0 Y3 11 VCC 6 4 G1 Y4 10 2000H ÷ 2FFFH 5 G2A Y5 9 ROM 2732 – 1 CS1 G2B Y6 7 3000H ÷ 3FFFH Y7 4000H ÷ 4FFFH 74HC138 ROM 2732 – 2 CS2 5000H ÷ 5FFFH Hình 5.7 - Nhö vaäy moãi chip ROM 2732 seõ coù 2 vuøng ñòa chæ 4KB töông öùng. Caùch 2: Choïn phaân vuøng 4KB - Caùc ñöôøng ñòa chæ A0 ÷ A11 ñöa ñeán caùc chaân ñòa chæ töông öùng treân caùc chip ROM 2732 vaø A0 ÷ A12 ñöa ñeán chip ROM 2764. Caùc ñöôøng ñòa chæ A12 ÷ A15 ñöa ñeán boä giaûi maõ 4 → 16 (giaû söû duøng 74154). Nhö vaäy, seõ coù 16 vuøng, moãi vuøng 4KB. http://www.ebook.edu.vn 5
  6. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp - Tín hieäu choïn chip ROM 2764 coù theå taïo ra baèng caùch AND hai ngoõ ra cuûa 74154. - Maïch giaûi maõ ñòa chæ coù theå thöïc hieän nhö sau: 7408 1 3 /CS0 23 1 2 A12 A Y0 22 2 A13 B Y1 21 3 A14 C Y2 /CS1 20 4 A15 D Y3 /CS2 5 18 Y4 6 19 G1 Y5 7 G2 Y6 8 Y7 9 Y8 10 Y9 11 Y10 13 Y11 14 Y12 15 Y13 16 Y14 17 Y15 74154 Hình 5.8 - Caùc chaân Y4 ÷ Y15 ñöôïc döï tröõ. - Baûng phaân vuøng ñòa chæ: Chip Vuøng ñòa chæ Chaân choïn chip ROM 2764 0000H ÷ 1FFFH CS0 ROM 2732 – 1 2000H ÷ 2FFFH CS1 ROM 2732 – 2 3000H ÷ 3FFFH CS2 Ví duï 5.5: Thieát keá kit 8051 vôùi 1 ROM 2764 (döõ lieäu), 1 RAM 6264 vaø moät thieát bò xuaát (ví duï laø IC 74373). VCC Data bus[D0..D7] 31 39 D0 D0 3 2 A0 A0 10 11 D0 C1 30p EA/VP P0.0 38 D1 D1 4 D0 Q0 5 A1 A1 9 A0 O0 12 D1 19 P0.1 37 D2 D2 7 D1 Q1 6 A2 A2 8 A1 O1 13 D2 X1 P0.2 36 D3 D3 8 D2 Q2 9 A3 A3 7 A2 O2 15 D3 XTAL P0.3 35 D4 D4 13 D3 Q3 12 A4 A4 6 A3 O3 16 D4 C2 30p 12MHz 18 P0.4 34 D5 D5 14 D4 Q4 15 A5 A5 5 A4 O4 17 D5 X2 P0.5 33 D6 D6 17 D5 Q5 16 A6 A6 4 A5 O5 18 D6 P0.6 32 D7 D7 18 D6 Q6 19 A7 A7 3 A6 O6 19 D7 9 P0.7 D7 Q7 A8 25 A7 O7 RESET 21 A8 1 A9 24 A8 VCC P2.0 22 A9 11 OC A10 21 A9 12 P2.1 23 A10 G A11 23 A10 13 INT0 P2.2 24 A11 A12 2 A11 INT1 P2.3 74LS373 A12 14 25 A12 R2 C3 + 15 T0 P2.4 26 A13 20 T1 P2.5 A14 /CS0 CE 100 27 22 10u 1 P2.6 28 A15 27 OE SW1 2 P1.0 P2.7 Addr bus[A0..A15] 1 PGM 3 P1.1 17 VPP P1.2 RD /RD 4 16 2764 P1.3 WR /WR R1 5 29 Vcc 8.2K 6 P1.4 PSEN 30 7 P1.5 ALE/P 11 A0 10 11 D0 8 P1.6 TXD 10 A1 9 A0 D0 12 D1 P1.7 RXD A2 8 A1 D1 13 D2 A3 A2 D2 D3 8051 7 A3 D3 15 A4 6 16 D4 A5 5 A4 D4 17 D5 A6 4 A5 D5 18 D6 8 ngoõ ra A7 3 A6 D6 19 D7 1 15 8 2 3 D0 A8 25 A7 D7 A13 A Y0 /CS0 Q0 D0 D1 A9 A8 2 14 7 5 4 24 A14 B Y1 /CS1 Q1 D1 D2 A10 A9 3 13 6 6 7 21 A15 C Y2 Q2 D2 D3 A11 A10 12 5 9 8 23 VCC 6 Y3 11 4 12 Q3 D3 13 D4 A12 2 A11 4 G1 Y4 10 3 15 Q4 D4 14 D5 A12 5 G2A Y5 9 2 16 Q5 D5 17 D6 22 G2B Y6 Q6 D6 D7 /RD OE 7 1 19 18 27 Y7 Q7 D7 /WR WE 20 /CS1 CS1 74HC138 CON8 OC 1 26 CS2 11 G 6264 2 74LS373 Vcc 1 3 /WR 7402 Hình 5.9 http://www.ebook.edu.vn 6
  7. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp Giaûi: - Do 8031/8051 chæ cung caáp 2 ñöôøng ñieàu khieån ñoïc vaø ghi chung cho caû boä nhôù vaø I/O laø RD vaø WR neân ôû ñaây seõ giaûi maõ ñòa chæ cho I/O theo phöông phaùp aùnh xaï boä nhôù (xem I/O nhö laø boä nhôù ngoaøi). - Sô ñoà maïch keát noái nhö hình 5.9. - Baûng phaân vuøng ñòa chæ: Chip Vuøng ñòa chæ ROM 2764 0000H ÷ 1FFFH RAM 6264 2000H ÷ 3FFFH I/O 4000H ÷ 5FFFH Ví duï 5.6 : a/ Haõy veõ baûng ñòa chæ (baûng phaân vuøng ñòa chæ) boä nhôù cho 4 chip RAM, moãi chip 1K, bieát ñòa chæ baét ñaàu laø 2000H. b/ Haõy thieát keá maïch giaûi maõ ñòa chæ cho 4 chip RAM treân theo baûng ñòa chæ ôû caâu a (chæ duøng 1 IC 74138). Giaûi: a/ Vì ñòa chæ baét ñaàu theo yeâu caàu laø 2000H neân baûng phaân vuøng ñòa chæ cho 4 chip RAM treân laø: Chip RAM Vuøng ñòa chæ 0 2000H ÷ 23FFH 1 2400H ÷ 27FFH 2 2800H ÷ 2BFFH 3 2C00H ÷ 2FFFH b/ Caùc chip nhôù ñeàu laø 1KB = 210 byte → choïn phaân vuøng 1KB. - Caùc ñöôøng ñòa chæ A0 ÷ A9 noái ñeán caùc chaân ñòa chæ töông öùng treân moãi chip nhôù. Caùc ñöôøng ñòa chæ A10 ÷ A15 ñöa ñeán maïch giaûi maõ ñòa chæ (IC 74138). - Baûng ñòa chæ: Chip RAM A15 A14 A13 A12 A11 A10 A9 …… A0 Ñòa chæ HEX 0 0 0 1 0 0 0 x …… x 2000H ÷ 23FFH 1 0 0 1 0 0 1 x …… x 2400H ÷ 27FFH 2 0 0 1 0 1 0 x …… x 2800H ÷ 2BFFH 3 0 0 1 0 1 1 x …… x 2C00H ÷ 2FFFH Nhaän xeùt: - Caùc bit A15 A14 A13 A12 luoân baèng 0010 do ñòa chæ caùc chip ñeàu coù soá HEX baét ñaàu laø 2. - Moãi chip ñöôïc choïn töông öùng vôùi 1 toå hôïp cuûa A11 vaø A10. → maïch giaûi maõ ñòa chæ coù theå thöïc hieän nhö sau: 1 15 A10 A Y0 /CS0 2 14 A11 B Y1 /CS1 3 13 A12 C Y2 /CS3 12 Y3 /CS3 6 11 A13 G1 Y4 4 10 A14 G2A Y5 5 9 A15 G2B Y6 7 Y7 74HC138 Hình 5.10 http://www.ebook.edu.vn 7
  8. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp Ví duï 5.7: Haõy xaùc ñònh khoaûng ñòa chæ cuûa caùc ngoõ ra 74138 cho maïch giaûi maõ ñòa chæ sau. A8 1 15 /CS0 A9 2 A Y0 14 /CS1 A10 3 B Y1 13 /CS2 C Y2 12 /CS3 A11 6 Y3 11 /CS4 A12 4 G1 Y4 10 /CS5 A13 5 G2A Y5 9 /CS6 G2B Y6 7 /CS7 A14 Y7 A15 74LS138 Hình 5.11 Giaûi: - Ñeå 74138 hoaït ñoäng thì caùc chaân cho pheùp phaûi ôû möùc tích cöïc, töùc laø: G1 = 1 → A11 = 1 G2A = G2B = 0 → A12 = A13 = A14 = A15 = 1 - Caùc ñöôøng A8, A9, A10 noái vaøo caùc chaân ñieàu khieån A, B, C neân caùc phaân vuøng boä nhôù ñöôïc quy ñònh bôûi 8 ñöôøng ñòa chæ (A0 ÷ A7) coù dung löôïng 28 = 256 byte (0000H ÷ 00FFH). Suy ra baûng ñòa chæ: A15 A14 A13 A12 A11 A10 A9 A8 A7 …… A0 Ñòa chæ HEX Chip 1 1 1 1 1 0 0 0 x …… x F800H ÷ F8FFH /CS0 1 1 1 1 1 0 0 1 x …… x F900H ÷ F9FFH /CS1 1 1 1 1 1 0 1 0 x …… x FA00H ÷ FAFFH /CS2 1 1 1 1 1 0 1 1 x …… x FB00H ÷ FBFFH /CS3 1 1 1 1 1 1 0 0 x …… x FC00H ÷ FCFFH /CS4 1 1 1 1 1 1 0 1 x …… x FD00H ÷ ÑFFH /CS5 1 1 1 1 1 1 1 0 x …… x FE00H ÷ FEFFH /CS6 1 1 1 1 1 1 1 1 x …… x FF00H ÷ FFFFH /CS7 Vi ñieàu khieån 8031/8051 coù khaû naêng truy xuaát tröïc tieáp 64Kbyte boä nhôù chöông trình ngoaøi (0000H – FFFFH vôùi PSEN ) vaø 64Kbyte boä nhôù döõ lieäu ngoaøi (0000H – FFFFH vôùi RD vaø WR ). Trong haàu heát caùc öùng duïng, löôïng boä nhôù naøy laø thích hôïp. Tuy nhieân, trong moät vaøi öùng duïng coù theå caàn khoâng gian boä nhôù lôùn hôn. Moät phöông phaùp hieäu quaû coù theå duøng ñeå taêng theâm khoâng gian boä nhôù döõ lieäu cho heä thoáng ñöôïc goïi laø “choïn bank” (bank selection). Phöông phaùp naøy töông töï nhö caùch ñònh ñòa chæ khoâng gian 64Kbyte boä nhôù ngoaøi nhöng theâm vaøo maïch logic boå sung ñeå môû roäng soá thieát bò nhôù coù theå ñöôïc choïn. Hình 5.12 http://www.ebook.edu.vn 8
  9. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp Hình 5.12 trình baøy moät sô ñoà maïch môû roäng khoâng gian boä nhôù döõ lieäu ngoaøi cho heä thoáng. Trong sô ñoà naøy, vuøng ñòa chæ 8000H – FFFFH ñöôïc thieát keá duøng caùch choïn bank ñeå môû roäng vuøng naøy töø 32Kbyte thaønh 160Kbyte vôùi 5 SRAM 32Kbyte. Ñeå thöïc hieän choïn bank cho 5 thieát bò naøy, 5 ngoõ ra port (P1.0 – P1.4) ñöôïc duøng ñeå choïn töøng khoái 32Kbyte. Ñöôøng ñòa chæ A15 keát hôïp vôùi töøng chaân choïn khoái baèng caùc coång NAND rieâng bieät. Baèng caùch thieát laäp moät trong nhöõng chaân choïn khoái naøy ôû möùc logic cao vaø caùc chaân coøn laïi ôû möùc logic thaáp, moät trong caùc thieát bò nhôù seõ ñöôïc kích hoaït khi 8051/8031 truy xuaát boä nhôù ngoaøi trong khoaûng ñòa chæ 8000H – FFFFH. II. GIAO TIEÁP PHÍM ÑÔN VAØ BAØN PHÍM Haàu heát caùc thieát keá vôùi VÑK ñeàu coù söû duïng caùc coâng taéc hoaëc caùc nuùt nhaán ñeå cho pheùp ngöôøi söû duïng ñieàu khieån caùc maïch beân trong. Vieäc ñieàu khieån coù theå laø baät coâng taéc ñeå khôûi ñoäng moät hoaït ñoäng naøo ñoù, hay nhaán moät nuùt nhaán ñeå choïn moät tuøy choïn, hoaëc nhaäp moät soá hay kyù töï naøo ñoù cho chöông trình söû duïng. Ñoái vôùi caùc taùc vuï ñôn giaûn ta coù theå söû duïng caùc coâng taéc baät, tröôït hoaëc nuùt nhaán/nhaû. Vôùi caùc taùc vuï yeâu caàu döõ lieäu phöùc taïp hôn, ta coù theå söû duïng moät daõy caùc phím nhaán ñöôïc keát noái theo daïng ma traän, vôùi moãi phím bieåu dieãn cho moät soá hay moät kyù töï naøo ñoù. 1. Phím ñôn (switch) - Coù theå coù nhieàu daïng vaø thöôøng ñöôïc keát noái vôùi caùc coång vaøo. VCC +5V VCC +5V VCC +5V Coù ñieän trôû 10K 10K keùo leân beân trong SW port port port port pin pin pin pin 1: nhaû 1: môû 1: môû 1: ñoùng SW 0: nhaán SW 0: ñoùng SW 0: ñoùng 470 0: môû Hình 5.13 - Vieäc ñoïc moät phím ñôn laø töông ñoái ñôn giaûn vì chæ coù moät trong hai giaù trò laø 0 hay 1. Tuy nhieân, trong quaù trình ñoïc traïng thaùi cuûa phím caàn phaûi löu yù ñeán hieän töôïng doäi phím hay naûy phím (do keát caáu cô khí cuûa phím nhaán) vaø phaûi coù bieän phaùp choáng doäi baèng phaàn cöùng hoaëc phaàn meàm. + Choáng doäi phím baèng phaàn cöùng: VCC +5V SW C1 0.1uF 1 2 R1 R2 470K 4.7K 74HC14 Hình 5.14 http://www.ebook.edu.vn 9
  10. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp + Choáng doäi phím baèng phaàn meàm: do keát caáu cô khí cuûa phím nhaán, neân khi nhaán phím hay baät coâng taéc thöôøng xaûy ra hieän töôïng doäi phím hay rung phím vôùi thôøi gian ôû taàm ms. Ñeå choáng doäi khi ñoïc traïng thaùi cuûa phím nhaán, ta coù theå taïo treã moät khoaûng thôøi gian khoaûng 10ms, sau ñoù ta laïi ñoïc traïng thaùi cuûa phím. Ví duï 5.8: Vieát chöông trình nhaän giaù trò töø phím nhaán B1 (ñöôïc noái vôùi P1.0, möùc 0 laø phím nhaán, möùc 1 laø phím khoâng nhaán). Moãi laàn nhaán phím thì dòch traùi LED ñôn (daõy 8 LED ñôn ñöôïc noái vôùi P2, möùc 0 thì LED saùng, möùc 1 thì LED taét). Chöông trình coù choáng rung phím baèng phaàn meàm. Löu ñoà: BEGIN Naïp giaù trò ñaàu cho thanh ghi A Xuaát (A) ra Port 2 N Phím nhaán? Y DELAY10 ms N Phím nhaû? Y DELAY10 ms Xoay traùi (A) Chöông trình: ORG 0 MOV A,#0FEH WAIT: MOV P2,A JB P1.0,$ ACALL DELAY10MS JNB P1.0,$ ACALL DELAY10MS RL A SJMP WAIT DELAY10MS: MOV R7,#25 AGAIN: MOV R6,#200 DJNZ R6,$ DJNZ R7,AGAIN RET END http://www.ebook.edu.vn 10
  11. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp 2. Baøn phím (Keypad) - Coù nhieàu loaïi baøn phím, tuy nhieân coù theå phaân laøm hai loaïi chính. Thöù nhaát laø loaïi baøn phím coù caùc chaân noái rieâng cho moãi phím nhaán vaø moät chaân chung cho taát caû caùc phím, ñoái vôùi loaïi baøn phím naøy ta coù theå keát noái nhö moät daõy caùc phím ñôn rieâng vôùi moãi phím coù moät ñieän trôû keùo leân rieâng (DIP switch). Loaïi thöù hai laø baøn phím ma traän, vôùi caùc phím nhaán ñöôïc boá trí theo caùc haøng vaø coät. Khi moät phím ñöôïc nhaán thì chaân haøng vaø coät töông öùng taïi vò trí cuûa phím ñöôïc noái vôùi nhau. Khi phím khoâng ñöôïc nhaán thì chaân haøng vaø coät töông öùng vôùi phím ñoù laø hôû maïch. Ví duï 5.9: Keát noái DIP switch vôùi port 1 Hình 5.15 Ví duï 5.10: Keát noái baøn phím ma traän 4x4 (baøn phím Hex) vôùi port 1: P1.7 C4 P1.6 C3 P1.5 C2 P1.4 C1 P1.3 H4 3 7 B F P1.2 H3 2 6 A E P1.1 H2 1 5 9 D P1.0 H1 0 4 8 C Hình 5.16 + Ñeå xaùc ñònh phím naøo ñöôïc nhaán thì ta phaûi xaùc ñònh phím ñöôïc nhaán thuoäc haøng vaø coät naøo, hay ta xaùc ñònh maõ töông öùng cuûa phím ñöôïc nhaán. Vieäc xaùc ñònh maõ phím nhaán coù theå thöïc hieän baèng phaàn cöùng hoaëc phaàn meàm. + Xaùc ñònh maõ phím nhaán baèng phaàn cöùng: ta söû duïng caùc loaïi IC maõ hoùa phím nhaán, chaúng haïn nhö 74C922. + Xaùc ñònh maõ phím nhaán baèng phaàn meàm: http://www.ebook.edu.vn 11
  12. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp Caùc phím nhaán treân ma traän baøn phím ñöôïc boá trí taïi giao ñieåm giöõa haøng vaø coät, khi nhaán phím thì haøng vaø coät töông öùng seõ ñöôïc noái vôùi nhau. Muoán xaùc ñònh phím nhaán ta tieán haønh queùt baøn phím. ÔÛ ñaây ta thöïc hieän queùt töøng haøng. Tröôùc tieân ta cho haøng 1 ôû möùc logic 0, caùc haøng vaø coät khaùc ôû möùc logic 1, sau ñoù ta ñoïc giaù trò haøng vaø coät vaøo thoâng qua port 1. Neáu coù 1 coät ôû möùc logic 0 töùc laø phím nhaán töông öùng vôùi coät ñoù vaø haøng ñang queùt ñaõ ñöôïc nhaán. Töø vò trí cuûa haøng vaø coät ta seõ ñoåi ra maõ phím quy öôùc. Neáu khoâng coù coät naøo ôû möùc logic 0, ta tieán haønh queùt haøng keá tieáp vaø thöïc hieän töông töï treân. Vieäc queùt haøng ñöôïc thöïc hieän toái ña 4 laàn töông öùng vôùi 4 haøng. Chöông trình con queùt phím SCAN_KEY xaùc ñònh phím naøo ñöôïc nhaán, côø F0 = 1 baùo hieäu phím ñöôïc nhaán, maõ phím nhaán caát trong thanh ghi A. SCAN_KEY 1 Maõ queùt haøng = 11111110 B Xaùc ñònh haøng coù phím nhaán (haøng) = 4 - (ñeám haøng) Naïp (ñeám haøng) = 4 (Maõ phím) = (haøng) Xuaát (maõ queùt haøng) ra port 1 Chuyeån maõ coät veà 4 bit thaáp Ñoïc giaù trò haøng vaø (ñeám coät) = 4 coät ôû port 1 vaøo A Quay phaûi (A) qua côø C [ñeå Xoaù caùc bit haøng [4 bit thaáp] xaùc ñònh vò trí cuûa coät = 0] Giöõ laïi caùc bit coät [4 bit cao] Y (C) = 0 Coù phím aán? Y 1 N [coù bit coät naøo = 0] (Maõ phím) = (haøng) + soá coät [soá coät = 4] N Quay traùi (maõ queùt haøng) [queùt haøng keá] Giaûm (ñeám coät) Giaûm (ñeám haøng) N (ñeám coät) = 0 Y N (ñeám haøng) = 0 Ñaët (Côø) = 1 Y Caát maõ phím vaøo A Xoaù (Côø) 2 RET 2 http://www.ebook.edu.vn 12
  13. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp Maõ 8051: (Chöông trình söû duïng côø ñaët traïng thaùi coù phím ñöôïc nhaán laø côø F0) SCAN_KEY: MOV R1,#0FEH MOV R6,#4 LOOP1: MOV P1,R1 MOV A,P1 ANL A,#0F0H CJNE A,#0F0H,GET_CODE XCH A,R1 RL A XCH A,R1 DJNZ R6,LOOP1 CLR F0 SJMP EXIT GET_CODE: PUSH ACC MOV A,#4 CLR C SUBB A,R6 MOV R5,A POP ACC SWAP A MOV R4,#4 LOOP2: RRC A JNC SET_FLAG XCH A,R5 ADD A,#4 XCH A,R5 DJNZ R4,LOOP2 SET_FLAG: SETB F0 MOV A,R5 EXIT: RET III. GIAO TIEÁP BOÄ HIEÅN THÒ 1. Giao tieáp vôùi LED ñôn VCC +5V VCC +5V 470 port pin port port pin pin a) Toát b) Keùm c) Keùm Hình 5.17 http://www.ebook.edu.vn 13
  14. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp - Thoâng thöôøng ngöôøi ta laùi LED theo kieåu huùt doøng, nghóa laø doøng LED saùng coù chieàu ñi töø ngoaøi vaøo coång I/O. - Coù theå taêng doøng baèng caùch söû duïng theâm caùc boä ñeäm noái vôùi caùc chaân port. 2. Giao tieáp LED 7 ñoaïn a. Giôùi thieäu veà led 7 ñoaïn - Led 7 ñoaïn laø moät khoái hieån thò thöôøng bao goàm 8 led ñôn vôùi 7 led töông öùng vôùi 7 ñoaïn töø a ñeán g vaø 1 led töông öùng vôùi daáu chaám dp. a f b g e c dp d Hình 5.18 Led 7 ñoaïn - Caùc led coù moät chaân ñöôïc noái chung vôùi nhau, tuøy theo chaân noái chung laø anode hay cathode maø ngöôøi ta phaân ra laøm 2 loaïi: anod chung (common anode) vaø cathode chung (common cathode). (common anode) ca (common cathode) ck a a b b c c d d e e f f g g dp dp Hình 5.19 Led 7 ñoaïn loaïi anode chung vaø cathode chung b. Giao tieáp vôùi moät led 7 ñoaïn * Duøng IC giaûi maõ - Phöông phaùp naøy söû duïng moät IC laøm nhieäm vuï giaûi maõ töø BCD sang maõ led 7 ñoaïn. Moät soá loaïi IC giaûi maõ thöôøng duøng laø: 7447 hay 74247 (ñoái vôùi loaïi anode chung) hay 4511 (ñoái vôùi loaïi cathode chung). - Ñeå hieån thò moät soá leân led 7 ñoaïn, vi ñieàu khieån phaûi cung caáp maõ BCD ñeán ngoõ vaøo cuûa IC giaûi maõ. Ví duï 5.11: Cho giao tieáp giöõa 8051 vaø IC giaûi maõ 27247 nhö hình 3. Vieát chöông trình ñoïc maõ BCD nhaäp töø dip-switch noái vôùi port 2 vaø hieån thò soá töông öùng leân led 7 ñoaïn. Giaûi: Chöông trình: ORG 0 LOOP: MOV A,P2 ANL A,#0FH MOV P1,A http://www.ebook.edu.vn 14
  15. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp +5V D0 P2.0 P1.0 7 D0 A 13 a D1 P2.1 P1.1 1 D1 B 12 b D2 P2.2 P1.2 2 D2 C 11 c D3 P2.3 P1.3 6 D3 D 10 d P2.4 P1.4 E 9 e P2.5 P1.5 3 15 f P2.6 P1.6 LT F 5 RBI G 14 g P2.7 P1.7 dp 4 330x7 BI/RBO 74247 8051 SJMP LOOP END Hình 5.20 8051 giao tieáp vôùi IC 74247. * Giaûi maõ baèng phaàn meàm - Phöông phaùp naøy duøng laäp trình baèng phaàn meàm ñeå giaûi maõ töø BCD sang maõ led 7 ñoaïn thay theá cho IC giaûi maõ. Ví duï 5.12: Cho giao tieáp giöõa 8051 vôùi led 7 ñoaïn nhö hình 4 (qua IC ñeäm 74373 ñeå taêng khaû naêng caáp doøng cho led). Vieát chöông trình ñoïc maõ BCD nhaäp töø dip-switch noái vôùi port 2 vaø hieån thò soá töông öùng leân led 7 ñoaïn. +5V 3 2 a D0 P2.0 P1.0 D1 Q1 b D1 4 5 P2.1 P1.1 7 D2 Q2 6 c D2 P2.2 P1.2 8 D3 Q3 9 d D3 P2.3 P1.3 13 D4 Q4 12 e P2.4 P1.4 14 D5 Q5 15 f P2.5 P1.5 17 D6 Q6 16 g P2.6 P1.6 18 D7 Q7 19 dp P2.7 P1.7 D8 Q8 +5V 11 330x7 1 LE OE 74HC373 8051 Hình 5.21: 8051 giao tieáp vôùi led 7 ñoaïn qua IC ñeäm 74373. Giaûi: Höôùng daãn: Ñeå LED 7 ñoaïn hieån thò ñuùng giaù trò mong muoán, caàn phaûi ñöa döõ lieäu ñeán led theo maõ LED 7 ñoaïn (töông öùng vôùi caùc ñoaïn caàn saùng). Do ñoù, ta phaûi chuyeån ñoåi döõ lieäu caàn xuaát (thöôøng laø soá HEX hay BCD) sang maõ LED 7 ñoaïn, thoâng thöôøng duøng phöông phaùp tra baûng. Toùm taét phöông phaùp tra baûng: Thaønh laäp moät baûng giaù trò chöùa caùc maõ theo thöù töï mong muoán. Ví duï: Laäp baûng maõ 7 ñoaïn cuûa caùc soá HEX töø 0 ñeán F (vôùi LED Anode chung, ñeå moät ñoaïn LED naøo saùng phaûi cung caáp möùc logic thaáp ñeán vò trí ñoaïn töông öùng). http://www.ebook.edu.vn 15
  16. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp Soá dp g f e d c b a Giaù trò HEX 0 1 1 0 0 0 0 0 0 C0H 1 1 1 1 1 1 0 0 1 F9H 2 1 0 1 0 0 1 0 0 A4H a 3 1 0 1 1 0 0 0 0 B0H 4 1 0 0 1 1 0 0 1 99H f b 5 1 0 0 1 0 0 1 0 92H g 6 1 0 0 0 0 0 1 0 82H e c 7 1 1 1 1 1 0 0 0 F8H 8 1 0 0 0 0 0 0 0 80H dp d 9 1 0 0 1 0 0 0 0 90H A 1 0 0 0 1 0 0 0 88H B 1 0 0 0 0 0 1 1 83H C 1 1 0 0 0 1 1 0 C6H D 1 0 1 0 0 0 0 1 A1H E 1 0 0 0 0 1 1 0 86H F 1 0 0 0 1 1 1 0 8EH Hình 5.22 Baûng maõ led 7 ñoaïn cuûa caùc soá hex töø 0 ñeán F. Duøng daãn höôùng (directive) DB (Define Byte) cuûa trình dòch hôïp ngöõ ñeå khai baùo baûng. Baûng thöôøng ñöôïc ñaët ôû cuoái chöông trình. Daïng khai baùo: Label: DB Codes Ví duï: TABLE: DB 0C0H,0F9H,0A4H,99H,… Chuù yù: Khi xuoáng moät doøng môùi phaûi theâm moät ñònh nghóa DB. Khi muoán laáy moät giaù trò trong baûng ta ñöa con troû döõ lieäu giöõ giaù trò ñaàu baûng vaø ñöa soá thöù töï cuûa phaàn töû caàn truy xuaát trong baûng vaøo thanh ghi A, sau ñoù duøng leänh tra baûng: MOVC A,@A+DPTR ; laáy maõ trong baûng vaøo thanh ghi A. Ví duï 5.13: Ñeå laáy phaàn töû thöù 2 trong baûng ta thöïc hieän nhö sau: MOV DPTR,#TABLE MOV A,#2 MOVC A,@A+DPTR Chöông trình: ORG 0 LOOP: MOV A,P2 ANL A,#0FH MOV DPTR,#TABLE_LED7 MOVC A,@A+DPTR MOV P1,A SJMP LOOP TABLE_LED7: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H END http://www.ebook.edu.vn 16
  17. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp c. Giao tieáp vôùi nhieàu led 7 ñoaïn Coù 2 phöông phaùp ñöôïc duøng khi giao tieáp vi ñieàu khieån 8051 vôùi nhieàu led 7 ñoaïn: phöông phaùp choát vaø phöông phaùp queùt. * Hieån thò led baèng phöông phaùp choát - Duøng caùc IC choát ñeå choát döõ lieäu ñöa ra led, moãi led coù moät IC choát rieâng. - Döõ lieäu töø 8051 seõ ñöôïc ñöa ñoàng thôøi ñeán ngoõ vaøo cuûa taát caû caùc IC choát. Muoán döõ lieäu ñöa qua IC choát naøo ta ñöa chaân cho pheùp choát (LE) cuûa IC töông öùng leân möùc cao, caùc IC coøn laïi coù ngoõ vaøo LE laø möùc logic thaáp seõ choát döõ lieäu (giöõ nguyeân giaù trò tröôùc ñoù ôû ngoõ ra). Ví duï 5.14: Cho maïch giao tieáp giöõa 8051 vaø 4 led 7 ñoaïn theo phöông phaùp choát nhö hình 5.23. Vieát chöông trình con hieån thò 4 soá BCD khoâng neùn (unpacked BCD) coù maõ löu trong 4 oâ nhôù 33H, 32H, 31H vaø 30H leân 4 led töông öùng (led1, led2, led3 vaø led4). Vcc LED1 LED2 LED3 LED4 ca ca ca ca ca ca ca ca dp dp dp dp a b d e g a b d e g a b d e g a b d e g c c c c f f f f 19 18 17 16 15 14 13 12 19 18 17 16 15 14 13 12 19 18 17 16 15 14 13 12 19 18 17 16 15 14 13 12 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 74HC573 74HC573 74HC573 74HC573 OE OE OE OE D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 LE LE LE LE 11 11 11 11 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 D0 D1 D2 D3 D4 D5 D6 D7 L1 L2 L3 L4 D0 D1 D2 D3 D4 D5 D6 D7 L1 L2 L3 L4 1 2 3 4 5 6 7 8 1 2 3 4 P3.3 .. P3.0 P1.0 .. P1.7 Hình 5.23 Giao tieáp giöõa 8051 vaø 4 led 7 ñoaïn theo phöông phaùp choát. Giaûi: Chöông trình: OUTLED: CLR P3.0 CLR P3.1 http://www.ebook.edu.vn 17
  18. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp CLR P3.2 CLR P3.3 MOV A,30H MOV DPTR,#TABLE_LED7 MOVC A,@A+DPTR MOV P1,A SETB P3.0 MOV A,31H MOV DPTR,#TABLE_LED7 MOVC A,@A+DPTR CLR P3.0 MOV P1,A SETB P3.1 MOV A,32H MOV DPTR,#TABLE_LED7 MOVC A,@A+DPTR CLR P3.1 MOV P1,A SETB P3.2 MOV A,33H MOV DPTR,#TABLE_LED7 MOVC A,@A+DPTR CLR P3.2 MOV P1,A SETB P3.3 RET … TABLE_LED7: DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H * Hieån thò led baèng phöông phaùp queùt - Maét ngöôøi seõ khoâng phaân bieät ñöôïc söï hieän höõu vaø maát ñi cuûa moät aûnh neáu taàn suaát xuaát hieän cuûa aûnh laø 24 laàn/s hay thôøi gian laëp laïi cuûa aûnh laø 1/24 ≈ 40 ms, hieån thò led theo phöông phaùp queùt söû duïng nguyeân lyù naøy. - Hieån thò led baèng phöông phaùp queùt laø phöông phaùp hieån thò maø taïo moãi thôøi ñieåm döõ lieäu ñöôïc truyeàn ñeán taát caû caùc led nhöng chæ coù moät led ñöôïc cho pheùp hieån thò döõ lieäu ñoù (ñoùng chuyeån maïch töông öùng vôùi led ñöôïc choïn, hôû chuyeån maïch cuûa caùc led khaùc). - Vì taïi moãi thôøi ñieåm chæ coù moät led hoaït ñoäng neân thôøi gian laëp laïi döõ lieäu treân led ñoù phaûi ñöôïc tính toaùn cho phuø hôïp ñeå ñaûm baûo hình aûnh cuûa led hieån thò laø lieân tuïc ñoái vôùi maét ngöôøi, khoâng quaù môø hay nhaáp nhaùy. Ví duï 5.15: Cho maïch giao tieáp giöõa 8051 vaø 4 led 7 ñoaïn theo phöông phaùp queùt nhö hình 5.24. Vieát chöông trình con hieån thò 4 soá BCD khoâng neùn (unpacked BCD) coù maõ löu trong 4 oâ nhôù 33H, 32H, 31H vaø 30H leân 4 led töông öùng (led1, led2, led3 vaø led4). Giaûi: Höôùng daãn: Ñeå ñoùng chuyeån maïch cho led, caáp möùc logic 0 ôû phía cöïc B cuûa transistor töông öùng (ñoùng vai troø nhö moät chuyeån maïch ñieän töû). Sau ñoù phaûi taïo treã moät khoaûng thôøi gian ñeå led ñaùp öùng saùng. http://www.ebook.edu.vn 18
  19. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp Vcc A1015 4.7K 4.7K 4.7K 4.7K LED1 LED2 LED3 LED4 P1.0 D0 1 2 L4 L3 . ca ca ca ca ca ca ca ca 3 L2 4 L1 . 5 A 6 B . 7 C D7 8 D P1.7 dp dp dp dp a b d e g a b d e g a b d e g a b d e g c c c c f f f f a b d e g a b d e g a b d e g a b d e g c c c c f f f f a b d e g c f 330 x 7 13 12 11 10 15 14 9 A B E G F C D 74LS47 BI/RBO RBI D0 D1 D2 D3 LT 7 1 2 6 3 5 4 Vcc Hình 5.24 Giao tieáp giöõa 8051 vaø 4 led 7 ñoaïn theo phöông phaùp queùt. Chöông trình: OUTLED: MOV A,30H SWAP A ORL A,#0FH MOV P1,A CLR P1.0 ACALL DELAY MOV A,31H SWAP A ORL A,#0FH MOV P1,A CLR P1.1 ACALL DELAY MOV A,32H SWAP A ORL A,#0FH MOV P1,A CLR P1.2 ACALL DELAY MOV A,33H SWAP A http://www.ebook.edu.vn 19
  20. Baøi giaûng VI XÖÛ LYÙ Chöông 5: Giao tieáp ORL A,#0FH MOV P1,A CLR P1.3 ACALL DELAY RET … DELAY: MOV R7,#200 DJNZ R7,$ RET Löu yù: Chöông trình con OUTLED naøy phaûi ñöôïc goïi lieân tuïc trong chöông trình söû duïng noù ñeå ñaûm baûo hình aûnh hieån thò treân caùc led laø lieân tuïc ñoái vôùi maét ngöôøi, khoâng quaù môø hay nhaáp nhaùy (thoâng thöôøng phaûi goïi toái thieåu laø 30 laàn/giaây). 3. Giao tieáp vôùi LCD - Trong nhöõng naêm gaàn ñaây, LCD ñaõ ñöôïc söû duïng roäng raõi thay theá cho LED 7 ñoaïn hay caùc loaïi LED nhieàu ñoaïn khaùc. Ñoù laø do giaù thaønh ngaøy caøng giaûm cuûa caùc loaïi LCD; khaû naêng hieån thò ña daïng bao goàm caû chöõ soá, chöõ caùi vaø caû caùc kyù töï graphic; vieäc tích hôïp caùc boä ñieàu khieån LCD vaøo cuøng moät module, giuùp cho CPU khoûi phaûi ñieàu khieån lieân tuïc vieäc hieån thò döõ lieäu; vaø söï deã daøng trong vieäc laäp trình hieån thò treân LCD. Ñeå chuaån hoùa vieäc ñieàu khieån caùc loaïi LCD khaùc nhau, caùc haõng saûn xuaát LCD thöôøng söû duïng moät loaïi IC ñieàu khieån laø HD44780 cuûa haõng Hitachi. Ñieàu naøy giuùp cho vieäc ñieàu khieån LCD ñöôïc deã daøng vaø chuaån hoùa. - Hình daùng vaø kích thöôùc LCD: caùc LCD ñöôïc cheá taïo töø caùc haõng nhö Densitron, Epson, HP, Optrex, Sharp,… vôùi caáu hình thoâng duïng laø 16, 20, 24, 32, hay 40 kyù töï treân 1 haøng vôùi maøn hình hieån thò 1, 2 hay 4 haøng. Hình 5.25 - Chieáu saùng trong boä hieån thò LCD: thöôøng söû duïng caùc kieåu sau: + Backlit (back lighting): söû duïng ñeøn chieáu saùng ôû sau boä hieån thò thay vì duøng aùnh saùng phaûn xaï. + CFL (Cold Cathode Flourescent Lamp : Ñeøn huyønh quang cathode laïnh): söû duïng moät loaïi ñeøn huyønh quang ñaëc bieät ñeå chieáu saùng phía trong caùc hieån thò LCD hieän http://www.ebook.edu.vn 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2