1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Kỹ thuật vi xử lý - Chương 4 docx

58 308 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 58
Dung lượng 1,05 MB

Nội dung

Biên soạn: Ks Dương Quốc Hưng Giáo Trình Hệ Vi điều khiển - 185 - CHƯƠNG IV: GHÉP NỐI VÀ TRAO ĐỔI DỮ LIỆU TRONG HỆ VI XỬ LÝ 4.1. GHÉP NỐI VI XỬ LÝ/VI ĐIỀU KHIỂN VỚI BỘ NHỚ NGOÀI Trong chương II chúng ta đã nói đến chức năng cũng như một số bộ nhớ bán dẫn thông dụng. Trong phần này chúng ta sẽ tiếp tục nghiên cứu cách thức ghép nối vi điều khiển 8051 với bộ nhớ ngoài khi muốn mở rộng thêm không gian nhớ. 4.1.1. MỘT SỐ CHÂN CỦA 8051 PHỤC VỤ CHO GHÉP NỐI VỚI BỘ NHỚ NGOÀI 4.1.1.1. Chân EA Ở các ví dụ từ trước đến nay, chúng ta sử dụng ROM trên chip hoặc ROM ngoài để lưu mã chương trình. Nếu muốn sử dụng đồng thời cả hai bộ nhớ ROM thì có được không? Câu trả lời là có (hình 4.2.1a). - Bằng cách nối EA lên Vcc, khi RESET thì 8051 thực hiện chương trình ở trên chip trước, khi chạy xong thì mới chuyển sang chạy chương trình trên ROM ngoài. 8051 sẽ nạp các mã lệnh bắt đầu từ địa chỉ 0000h đến 0FFFh (địa chỉ cuối cùng của ROM trên chip). Sau đó bộ đếm chương trình (con trỏ lệnh PC) tạo ra địa chỉ 1000h và tự động chuyển hướng ra ROM ngoài có chứa mã chương trình. - Nếu nối EA xuống Mass thì vi điều khiển sẽ chỉ thực hiện lệnh có trên ROM ngoài từ địa chỉ 0000h đến FFFFh 0000h FFFFh ngoµi chip ngoµi chip FFFFh 0000h ea = gnd ea = vcc 0FFFh 1000h Trªn chip Hình 4.2.1a. Bộ nhớ ROM trên chip và ngoài chip 4.1.1.2. Cổng P0 và P2 Do thanh ghi PC và thanh ghi DPTR là thanh ghi 16 bit nên vi điều khiển 8051 có thể mở rộng không gian nhớ tới 64 KB cho mỗi loại. Cổng P0 và P2 dùng để cung cấp địa chỉ. Cổng P0 cấp 8 bit địa chỉ thấp là A0 – A7, Còn P2 thì cấp 8 bit địa chỉ cao từ A8 – A15. Một nhiệm vụ quan trong nữa đó là P0 còn được dùng để cấp bus dữ liệu 8 bit D0 – D7. Như vậy các chân từ P0.0 - P0.7 vừa được dùng làm bus dữ liệu vừa dùng làm bus địa chỉ. Vậy làm thế nào để biết được khi nào P0 được dùng làm bus dữ liệu, khi nào làm Biên soạn: Ks Dương Quốc Hưng Giáo Trình Hệ Vi điều khiển - 186 - bus địa chỉ? Đó là nhiệm vụ của chân cho phép chốt ALE. Khi ALE = 0 thì P0 làm bus dữ liệu, còn khi ALE = 1 thì P0 làm bus địa chỉ. Để mở rộng địa chỉ cần nối các chân của P0 tới mạch chốt địa chỉ (đã được giới thiệu trong phần các mạch phụ trợ của vi xử lý) và dùng chân ALE để chốt địa chỉ (hình 4.2.1b). 4.1.1.3. Chân PSEN Là chân cho phép cất chương trình (Program Store Enable). Đây là tín hiệu ra và được nối tới chân OE của bộ nhớ ROM chương trình ngoài. Nếu không ghép nối với bộ nhớ chương trình ngoài thì chân PSEN để trống. 4.1.1.4. Chân RD và WR Là chân cho phép đọc và ghi dữ liệu khi ghép nối 8051 với bộ nhớ dữ liệu ngoài. Chân RD sẽ nối với chân OE của bộ nhớ dữ liệu ngoài. chân WR sẽ nối với chân WR của bộ nhớ dữ liệu ngoài. Khi đọc dữ liệu từ bộ nhớ vào vi điều khiển thì chân RD sẽ tích cực ở mức thấp, ngược lại khi ghi dữ liệu từ vi điều khiển ra bộ nhớ thì chân WR sẽ tích cực ở mức thấp. A0 D0 AD6 A1 U66 74LS373 3 4 7 8 13 14 17 18 111 2 5 6 9 12 15 16 19 20 10 D0 D1 D2 D3 D4 D5 D6 D7 OELE Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 VCC GND A4 ALE AD0 D7 VCC U65 8051 29 30 4020 31 19 18 9 39 38 37 36 35 34 33 32 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 PSEN ALE VCCGND EA X1 X2 RST P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD A7 A2 AD7 A3 AD5 AD2 AD1 AD4 A5 VCC AD3 A6 Hình 4.2.1b. Ghép nối 8051 với IC chốt 74LS373 4.1.2. GHÉP NỐI VI ĐIỀU KHIỂN 8051 VỚI BỘ NHỚ CHƯƠNG TRÌNH NGOÀI Việc ghép nối vi điều khiển 8051 với bộ nhớ chương trình ngoài không có gì là đặc biệt chỉ lưu ý rằng chân PSEN luôn được nối với chân OE của bộ nhớ bán dẫn. Biên soạn: Ks Dương Quốc Hưng Giáo Trình Hệ Vi điều khiển - 187 - Ví dụ: Thực hiện ghép nối vi điều khiển 8051 với bộ nhớ ROM chương trình ngoài 2764 (8Kx8). Giải: IC nhớ 2764 (8Kx8) có 13 chân địa chỉ từ A0 – A12 (Vì 1K = 2 10 byte=> 8KB= 2 3 .2 10 = 2 13 byte nên nó có 13 chân địa chỉ). Số ô nhớ mà IC này tạo ra là 2 13 = 8192 ô nhớ = 2000h ô nhớ. Nếu nối chân EA xuống Mass thì vùng nhớ cho phép nạp chương trình sẽ là 0000h – 1FFFh. Sơ đồ kết nối như sau: AD7 SW1 AD5 AD6 AD3 C5 33p A7 ALE AD2 R3 R A4 U69 2764 10 9 8 7 6 5 4 3 25 24 21 23 2 11 12 13 15 16 17 18 19 2814 22 27 1 20 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 O0 O1 O2 O3 O4 O5 O6 O7 VC CGN D OE PGM VPP CE AD6 AD0 A9 AD0 AD0 U65 8051 29 30 4020 31 19 18 9 39 38 37 36 35 34 33 32 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 PSEN ALE VC CGN D EA X1 X2 RST P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD PSEN AD2 A7 AD4 AD1 D1 A3 AD4 AD3 VCC A0 AD1AD1 AD2 AD5 C4 10u A12 A11 VCC AD4 A2 A9 A12 A0 ALE AD3 AD7 A11 A1 PSEN A2 A1 A6 AD7 U66 74LS373 3 4 7 8 13 14 17 18 1 11 2 5 6 9 12 15 16 19 2010 D0 D1 D2 D3 D4 D5 D6 D7 OE LE Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 VC CGN D A5A13 A8 AD5 11.0592MHz A10 A14 A4 A15 C6 33p A3 VCC A6 A5 VCC A10 AD6 A8 Ghép nối vi điều khiển 8051 với bộ nhớ chương trình ngoài Khi vi điều khiển lấy lệnh từ bộ nhớ thì chân PSEN được kích hoạt xuống mức thấp, do vậy chân PSEN được nối với chân OE và CE của ROM chương trình 2764. 4.1.3. GHÉP NỐI VI ĐIỀU KHIỂN 8051 VỚI BỘ NHỚ DỮ LIỆU NGOÀI Ta biết rằng thanh ghi bộ đếm chương trình PC của 8051 là 16 bit và do vậy có thể truy cập được 2 16 = 64Kb mã chương trình. ở nhiều ví dụ dữ liệu được đặt trong không gian mã chương trình và dùng lệnh MOVC A, @A+DPTR để lấy dữ liệu. Chữ C trong lệnh MOVC là từ chữ mã lệnh (Code) Biên soạn: Ks Dương Quốc Hưng Giáo Trình Hệ Vi điều khiển - 188 - để báo rằng dữ liệu được đặt trong không gian mã lệnh của 8051. Tuy nhiên họ 8051 còn có không gian dữ liệu riêng biệt. Vì thanh ghi con trỏ dữ liệu DPTR có độ dài 16 bit nên nó cũng có thể quản lý được tối đa 64Kb ô nhớ dữ liệu. Như vậy 8051 có tổng cộng 128Kb không gian địa chỉ, trong đó 64Kb dành cho mã chương trình và 64Kb dành cho dữ liệu. Không gian chương trình được truy cập nhờ thanh ghi PC, còn không gian dữ liệu được truy cập nhờ thanh ghi DPTR và một lệnh có tên MOVX (chữ X là từ External để chỉ không gian bộ nhớ dữ liệu được thực hiện từ bộ nhớ ngoài). Để chuyển dữ liệu lưu trữ ở bộ nhớ dữ liệu ngoài vào CPU lệnh MOVX A, @DPTR được thực hiện và lệnh sẽ đọc byte dữ liệu do thanh ghi DPTR trỏ đến. Mặc dù cả hai lệnh MOVC A, @A+DPTR và MOVX A, @DPTR khá giống nhau về hình thức, nhưng điểm khác nhau cơ bản một lệnh thực hiện nhận dữ liệu từ vùng nhớ chương trình, còn lệnh kia thì nhận dữ liệu từ vùng dữ liệu. Để nối ghép 8051 với bộ nhớ dữ liệu ngoài thì cần sử dụng chân RD để điều khiển đọc dữ liệu và chân WR để điều khiển ghi dữ liệu. Bộ nhớ dữ liệu có thể là ROM dữ liệu hoặc RAM dữ liệu. Khi kết nối với ROM dữ liệu thì chỉ cần sử dụng chân RD (vì bộ nhớ ROM là bộ nhớ chỉ đọc), còn khi kết nối với bộ nhớ RAM dữ liệu thì cần sử dụng cả 2 chân RD và WR (bộ nhớ RAM vừa cho phép đọc vừa cho phép ghi dữ liệu). Ví dụ 1: Hãy vẽ sơ đồ kết nối vi điều khiển 8051 với bộ nhớ ROM dữ liệu dung lượng 8Kx8 và viết chương trình đọc 30 byte dữ liệu ở bộ nhớ dữ liệu ngoài từ địa chỉ 1000h đưa ra cổng P1. Giải: Sơ đồ kết nối 8051 với bộ nhớ ROM dữ liệu như sau: Lưu ý rằng ta sử dụng cổng logic để làm bộ giải mã cho ROM dữ liệu tạo ra địa chỉ vùng dữ liệu từ 0000h – 1FFFh và chân RD của 8051 được nối với chân OE của ROM dữ liệu. Biên soạn: Ks Dương Quốc Hưng Giáo Trình Hệ Vi điều khiển - 189 - AD4 R3 R AD1A1 A6 A9 U1 8051 29 30 4020 31 19 18 9 39 38 37 36 35 34 33 32 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 PSEN ALE VC CGN D EA X1 X2 RST P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD AD6 U5 NOT 12 A5 AD1 A12 A6 C6 33p A14 A11 RD A7 AD6 C5 33p VCC AD0 VCC AD5 AD1 A7 U4 NOT 12 RD A10 AD7 A2 A5 SW1 AD5 VCC A11 Y1 11.0592 A3 A0 A4 U6 NAND1 1 2 3 4 A15 AD0 AD3 A4AD4A12 AD3 ALE VCC A0 A13 AD5 VCC A9 AD0 AD7 AD3 D1 U2 74LS373 3 4 7 8 13 14 17 18 1 11 2 5 6 9 12 15 16 19 20 10 D0 D1 D2 D3 D4 D5 D6 D7 OE LE Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 VC C GND AD2 AD4 AD2 A14 A1 U3 NOT 12 A8 A15 A3 C4 10u A2 AD6 A13 A8 A10 U7 2764 10 9 8 7 6 5 4 3 25 24 21 23 2 11 12 13 15 16 17 18 19 2814 22 27 1 20 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 O0 O1 O2 O3 O4 O5 O6 O7 VC CGN D OE PGM VPP CE ALE AD2 AD7 Sơ đồ kết nối 8051 với ROM dữ liệu 8Kx8 Chương trình được viết như sau: MOV DPTR, #1000H ;dia chi dau tien ;ROM ngoai MOV R2, #30 ;so byte can chuyen vao AGAIN: MOVX A, @DPTR MOV P1, A INC DPTR DJNZ R2, AGAIN Ví dụ 2: Vẽ sơ đồ ghép nối 8051 với RAM dữ liệu ngoài 6264 dung lượng 8Kx8 và viết chương trình để 8051 lấy 10 byte dữ liệu được cất từ địa chỉ 1000h trên RAM dữ liệu ngoài đưa vào RAM nội có địa chỉ từ 30h. Giải: Sơ đồ kết nối như sau: Lưu ý rằng ta sử dụng cổng logic để làm bộ giải mã cho RAM dữ liệu tạo ra địa chỉ vùng dữ liệu từ 0000h – 1FFFh và chân RD, WR của 8051 được nối lần lượt với chân OE, WE của RAM dữ liệu. Biên soạn: Ks Dương Quốc Hưng Giáo Trình Hệ Vi điều khiển - 190 - A15 A10 AD0 U5 NOT 12 A3 RD AD1 AD2AD2 C4 10u A3 A7 A13 VCC AD6 AD6 A8 A9 A9 A1 A15 D1 VCC AD5 A14 A10 AD3 AD0 A4 VCC A2 AD3 AD1 AD5 RD AD7 A6 A13 U1 8051 29 30 4020 31 19 18 9 39 38 37 36 35 34 33 32 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 PSEN ALE VCCGN D EA X1 X2 RST P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD AD2 AD1 U2 74LS373 3 4 7 8 13 14 17 18 1 11 2 5 6 9 12 15 16 19 20 10 D0 D1 D2 D3 D4 D5 D6 D7 OE LE Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 VCC GND AD0 C6 33p VCC ALE A5 U7 6264 10 9 8 7 6 5 4 3 25 24 21 23 2 11 12 13 15 16 17 18 19 2814 22 27 20 26 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 D0 D1 D2 D3 D4 D5 D6 D7 VCCGN D OE WE CS1 CS2 A6 A0 AD4 AD7 U6 NAND1 1 2 3 4 AD5 VCC A14 Y1 11.0592 A12 A7 A4 U3 NOT 12 A8 A0 AD4 ALE C5 33p SW1 A11 AD6 A12 AD3 A5 AD4 VCC WR AD7 A11 U4 NOT 12 A1 A2 WR R3 R Sơ đồ kết nối vi điều khiển 8051 với bộ nhớ RAM dữ liệu 6264 Chương trình được viết như sau: MOV DPTR, #1000H ;dia chi dau tien ;RAM ngoai MOV R2, #10 ;so byte can chuyen MOV R0, 30H ;dia chi dau tien RAM noi AGAIN: MOVX A, @DPTR MOV @R0, A INC DPTR INC R0 DJNZ R0, AGAIN Trường hợp muốn ghép nối nhiểu ROM, RAM thì chúng ta phải sử dụng vi mạch giải mã 74LS138 để giải mã cho từng IC như ví dụ dưới đây. Ví dụ 3: Sử dụng một vi mạch giải mã 74LS138 để thiết kế mạch giải mã địa chỉ tạo ra các tín hiệu chọn chip và thực hiện vẽ sơ đồ ghép nối vi điều khiển 8051 với bộ nhớ tương ứng. Biên soạn: Ks Dương Quốc Hưng Giáo Trình Hệ Vi điều khiển - 191 - Tín hiệu chọn chip Vùng địa chỉ Đặc tính truy xuất Loại bộ nhớ Dung lượng 0CS 0000H - 3FFFH PSEN EPROM 27128 16Kx8 1CS 4000H - 7FFFH PSEN EPROM 27128 16Kx8 2CS 8000H - 9FFFH WR,RD HM6264B 8Kx8 Giải: Trước hết chúng ta hãy phân tích về vùng nhớ của từng IC trên. - EPROM 27128 (16Kx8) có 14 chân địa chỉ từ A0 – A13 vì 16K = 2 4 .2 10 = 2 14 byte. - IC này có thể địa chỉ được 2 14 byte = 2 14 ô nhớ = 4000h ô nhớ. Nên nếu địa chỉ của ô nhớ đầu tiên là 0000h thì địa chỉ của ô nhớ cuối cùng phải là 3FFFh. - HM6264B (8Kx8) là RAM có 13 chân địa chỉ từ A0 – A12 vì 1K = 2 10 byte=> 8KB= 2 3 .2 10 = 2 13 byte. Bảng phân chia vùng nhớ được xác định như sau: IC A 1 5 A 1 4 A 1 3 A 1 2 A 1 1 A 1 0 A 9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 Địa chỉ IC1 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 IC2 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 IC3 1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Những vùng có địa chỉ thay đổi đã được đánh dấu như trên bảng trên. Những vùng này sẽ được đưa vào những chân địa chỉ tương ứng của từng IC. ở đây ta sử dụng 3 IC nhớ, do vậy sẽ dùng 3 chân đầu ra của IC giải mã 74LS138 là Y0, Y1, Y2. Đối chiếu với bảng trạng thái của IC này (xem phần các mạch phụ trợ) thấy chân C luông bằng 0, do vậy chân này sẽ được nối xuống Mass. Ta Biên soạn: Ks Dương Quốc Hưng Giáo Trình Hệ Vi điều khiển - 192 - sẽ sử dụng 2 chân địa chỉ cao là A14 và A15 để phối hợp với A và B tạo ra các tín hiệu chọn chip. Sơ đồ kết nối như sau: A12 A14 D1AD1 A10 A3 VCC D0A0 A7 ALE Y2 WR A3 A2 A11 AD6 PSEN AD0 A5 A7 A9 A0 AD7 AD2 A11 U72 74LS138 1 2 3 15 14 13 12 11 10 9 7 1 68 6 4 5 A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 V C CG N D G1 G2A G2B A11 A15 A12 VCC A0 A12 VCC AD4 U71 27128 10 9 8 7 6 5 4 3 25 24 21 23 2 26 1 11 12 13 15 16 17 18 19 2 8 14 20 22 27 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 VPP D0 D1 D2 D3 D4 D5 D6 D7 V C C GND CE OE PGM D1 A13 A8 A3 A11 A8 SW1 Y1 AD1 A4 A2 A1 A9 A7 Y 1 A12 VCC D2 A5 D1 VCC AD3 Y0 D6 AD2 A6 D4 A7 A2 AD6 R3 R PSEN A1 U70 HM6264B 10 9 8 7 6 5 4 3 25 24 21 23 2 11 12 13 15 16 17 18 19 2 81 4 22 27 20 26 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 D0 D1 D2 D3 D4 D5 D6 D7 V C CG N D OE WE CS1 CS2 C6 33p C4 10u A9 AD5 Y 0 A4 AD3 Y1 11.0592 A14 D3 A10 AD2 A6 A8 U65 8051 29 30 4 02 0 31 19 18 9 39 38 37 36 35 34 33 32 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 PSEN ALE V C CG N D EA X1 X2 RST P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/ T0 P3.5/ T1 P3.6/WR P3.7/RD U66 74LS373 3 4 7 8 13 14 17 18 1 11 2 5 6 9 12 15 16 19 2 0 10 D0 D1 D2 D3 D4 D5 D6 D7 OE LE Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 V C C GND D5 D2 A13 A10 A12 U71 27128 10 9 8 7 6 5 4 3 25 24 21 23 2 26 1 11 12 13 15 16 17 18 19 2 8 14 20 22 27 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 VPP D0 D1 D2 D3 D4 D5 D6 D7 V C C GND CE OE PGM VCC A10 A1 VCC A1 VCC A8 A9 A8 VCC RD D5 A14 AD7 AD5 A12 A9 Y 2 AD4 AD0 A10 A3 A4A4 ALE A13 AD5 A13 D4 A10 AD7 AD0 A5 A15 AD6 AD1 D0 A6 VCC A14 D7 A8 D7 A2 WR A15 C5 33p AD3 A15 A6 RD U67 74LS245 2 3 4 5 6 7 8 9 19 1 18 17 16 15 14 13 12 11 2 0 10 A0 A1 A2 A3 A4 A5 A6 A7 G DIR B0 B1 B2 B3 B4 B5 B6 B7 V C C GND AD4 A0 VCC A11 A11 PSEN A9 A5 D3 D6 A13 Sơ đồ kết nối 8051 với bộ nhớ chương trình và dữ liệu ngoài. Trong sơ đồ ta sử dụng một IC đệm bus là 74LS245 mục đích để tăng công suất cho bus (xem phần các mạch phụ trợ). 4.2. GHÉP NỐI SONG SONG VÀ LẬP TRÌNH 4.2.1. TỔNG QUAN Sau khi đơn vị xử lý trung tâm đã thu thập và xử lý thông tin, nó cần trao đổi tín hiệu điều khiển hoặc số liệu đến các thiết bị ngoại vi khác nhau, quá trình đó gọi là quá trình vào/ra dữ liệu . Sự ghép nối với các thiết bị ngoại vi để vào/ra dữ liệu được thực hiện thông qua các mạch logic nối với các BUS của hệ vi xử lý. Các mạch logic này được gọi là các bộ ghép nối vào/ra (Interface). Trong kiểu ghép nối song song các bit dữ liệu được truyền song song đồng thời. Kiểu ghép nối này có ưu điểm là tốc độ trao đổi thông tin lớn nhưng có nhược điểm là phải có nhiều đường dây truyền dữ liệu và các tín hiệu điều khiển, vì vậy nó chỉ thích hợp đối với việc trao đổi thông tin nội bộ hoặc trao đổi thông tin với các thiết bị ngoại vi có khoảng cách gần. Với vi điều khiển đã có sẵn các cổng vào/ra. Nhưng trong trường hợp yêu cầu kỹ thuật đòi hỏi nhiều cổng vào/ra hơn hoặc đã sử dụng một số cổng để ghép nối với bộ nhớ. Lúc đó chúng ta cần phải ghép thêm các thiết bị để tăng số lượng cổng vào/ra. Biên soạn: Ks Dương Quốc Hưng Giáo Trình Hệ Vi điều khiển - 193 - Một trong những vi mạch ghép nối song song được sử dụng rộng rãi nhất hiện nay là IC 8255A. 8255A là một vi mạch ghép nối được dùng rất phổ biến cho các hệ vi xử lý 8 - 16 bit. Nó cho phép giao tiếp mềm dẻo trong nhiều ứng dụng thực tế với nhiều cửa vào ra. Đối với các hệ vi xử lý nhỏ, 8255A có thể nối trực tiếp với các mạch vi xử lý. Trong các hệ thống lớn hơn, việc ghép nối chỉ cần thêm một số mạch tối thiểu. Đó là một trong những tính chất quan trọng của bộ ghép nối 8255A. Tính linh hoạt của vi mạch này thể hiện ở khả năng lập trình. Qua một thanh ghi điều khiển, người sử dụng có thể đặt chế độ hoạt động và cấu hình của các cửa vào ra. Các chân số liệu tạo nên BUS dữ liệu theo hai hướng, rộng 8 bit. Tất cả các dữ liệu khi truy nhập đọc hoặc ghi được dẫn qua các đường dẫn này. 4.2.2. GHÉP NỐI 8051 VỚI 8255A 4.2.2.1. Chức năng các chân của 8255A 8255A là một chip DIP 40 chân (Sơ đồ chân hình 4.1.1a và sơ đồ khối hình 4.1.1b). Có 3 cổng truy cập riêng biệt. Cổng A, cổng B, cổng C và đều là các cổng 8 bit. Các cổng này có thể là các cổng vào hoặc ra và có thể thay đổi một cách linh hoạt. - Các chân từ PA0 – PA7: Có thể lập trình thanh 8 bit đầu vào hoặc 8 bit đầu ra hoặc cả 8 bit hai chiều vào/ra. - Các chân từ PB0 – PB7: Có thể lập trình thanh 8 bit đầu vào hoặc 8 bit đầu ra hoặc cả 8 bit hai chiều vào/ra. - Các chân từ PC0 – PC7: Có thể lập trình thanh 8 bit đầu vào hoặc 8 bit đầu ra. 8 Bit này cũng có thể được chia thành hai phần: Các bit cao (PC4 – PC7) là PCH và các bit thấp (PC0 – PC3) là PCL. Mỗi phần có thể được dùng làm đầu vào hoặc đầu ra. - Các chân RD và WR : Đây là hai chân điều khiển tích cực ở mức thấp tới 8255A được nối từ RD , WR của vi xử lý. Đó là các tín hiệu điều khiển đọc, ghi. Khi tín hiệu chọn chip ( CS ) tích cực ở mức thấp ( CS = 0) và RD = 0 thì các tín hiệu của cổng được chọn dẫn đến Bus dữ liệu và có thể được gọi bởi các vi mạch khác. Khi WR = 0 thì mọi việc xảy ra ngược lại dữ liệu từ Bus dữ liệu được đưa đến cổng đã chọn. - Các chân D0 – D7: Là các chân dữ liệu của 8255A. Các chân này được nối tới các chân dữ liệu của vi xử lý để cho phép nó trao đổi dữ liệu giữa vi xử lý và chip 8255A. Biên soạn: Ks Dương Quốc Hưng Giáo Trình Hệ Vi điều khiển - 194 - - Chân RESET: Đây là đầu vào tín hiệu tích cực ở mức cao tới 8255A. Được dùng để xoá thanh ghi điều khiển. Khi RESET được kích hoạt thì tất cả các cổng được kích hoạt lại như cổng đầu vào. Trong nhiều thiết kế thì chân này được nối đất để không kích hoạt nó hoặc nó cũng có thể để hở. - Các chân A0, A1, CS : Chân CS tích cực ở mức thấp. Khi CS được chọn thì nó cùng với A1, A0 chọn các cổng riêng biệt. Các chân này dùng để truy cập các cổng A, B, C hoặc các thanh ghi điều khiển theo bảng dưới đây (Bảng 5.4.2a). Bảng 5.4.2a. Phối hợp CS và A 1 A 2 chọn cổng CS A 0 A 1 Chọn cổng 0 0 0 Cổng A 0 0 1 Cổng B 0 1 0 Cổng C 0 1 1 Thanh ghi điều khiển 1 x x 8255 không được chọn Sau đây là bảng phối hợp các chân CS , A, 1 A2, RD và WR để tạo ra chức năng các cổng và thanh ghi điều khiển của 8255A. Bảng 5.4.2b. Các lệnh chọn cổng và thanh ghi của 8255 CS A 0 A 1 RD WR Chức năng 0 0 0 0 1 Cổng A → Bus dữ liệu 0 0 1 0 1 Cổng B→ Bus dữ liệu 0 1 0 0 1 Cổng C→ Bus dữ liệu 0 0 0 1 0 Bus dữ liệu → Cổng A 0 0 1 1 0 Bus dữ liệu → Cổng B 0 1 0 1 0 Bus dữ liệu → Cổng C 0 1 1 1 0 Ghi vào từ điều khiển 1 x x x x Đường dẫn dữ liệu ở trạng thái điện trở cao 0 x x 1 1 Đường dẫn dữ liệu ở trạng thái điện trở cao [...]... 13 P3.3 14 P3 .4 15 P3.5 16 WR 17 RD D0 3 D1 4 D2 7 D3 8 D4 13 D5 14 D6 17 D7 18 1 ALE 11 U3 D0 D1 D2 D3 D4 D5 D6 D7 2 A0 5 A1 6 A2 9 A3 12 A4 15 A5 16 A6 19 A7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 A2 1 A3 2 A4 3 A5 6 A6 4 A7 5 A B C E1 E2 E3 U4 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 74LS138 OE LE 74LS373 VCC D0 D1 D2 D3 D4 D5 D6 D7 34 33 32 31 30 29 28 27 RD 5 WR 36 A0 9 A1 8 35 Y0 RP1 0.5k 15 Y0 14 Y1 13 Y2 12 Y3 11 Y4 10 Y5... 13 P3.3 14 P3 .4 15 P3.5 16 WR 17 RD D0 3 D1 4 D2 7 D3 8 D4 13 D5 14 D6 17 D7 18 1 ALE 11 U3 D0 D1 D2 D3 D4 D5 D6 D7 Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 2 A0 5 A1 6 A2 9 A3 12 A4 15 A5 16 A6 19 A7 A2 1 A3 2 A4 3 A5 6 A6 4 A7 5 U4 A B C Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 E1 E2 E3 74LS138 OE LE 74LS373 VCC D0 D1 D2 D3 D4 D5 D6 D7 34 33 32 31 30 29 28 27 RD 5 WR 36 A0 9 A1 8 35 Y0 RP1 0.5k 15 Y0 14 Y1 13 Y2 12 Y3 11 Y4 10 Y5... 7 Y7 6 D0 D1 D2 D3 D4 D5 D6 D7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 RD WR A0 A1 RESET PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 CS 1 D0 D1 D2 D3 D4 D5 D6 D7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 2 3 4 5 6 7 8 9 18 PB0 19 PB1 20 PB2 21 PB3 22 PB4 23 PB5 24 PB6 25 PB7 14 PC0 15 PC1 16 PC2 17 PC3 13 PC4 12 PC5 11 PC6 10 PC7 PB6 PB5 PB4 PB3 PB2 PB1 PB0 8255A 8 7 6 5 4 3 2 10k 4 PA0 3 PA1 2 PA2 1 PA3 40 PA4 39 PA5 38 PA6 37... 10 Y5 9 Y6 7 Y7 6 D0 D1 D2 D3 D4 D5 D6 D7 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 RD WR A0 A1 RESET PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 CS 1 D0 D1 D2 D3 D4 D5 D6 D7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 2 3 4 5 6 7 8 9 18 PB0 19 PB1 20 PB2 21 PB3 22 PB4 23 PB5 24 PB6 25 PB7 14 PC0 15 PC1 16 PC2 17 PC3 13 PC4 12 PC5 11 PC6 10 PC7 8255A PC0 PC1 PC2 10k 4 3 2 1 40 39 38 37 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 33pF 11.0592MHz... 110µs - INTR (Interrupt) – Ng t: Còn g i là k t thúc vi c chuy n i ây là chân ra tích c c m c th p Bình thư ng chân này m c cao khi chuy n i hoàn t t thì nó chuy n xu ng m c th p báo cho CPU bi t là d li u ư c chuy n i ã s n sàng l y i Sau khi INTR xu ng th p c n t CS = 0 và g i m t xung cao xu ng th p t i chân RD ưa d li u ra - Vin (+) và Vin (-) : ây là hai - Vin = Vin (+) – Vin (-) Thông thư ng Vin (-) ... P0 .4/ AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2 .4/ A12 P2.5/A13 P2.6/A 14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3 .4/ T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 RV1 10k Vcc 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 AT89C51 Gi i: ; g i ti p th i gian tr Biên so n: Ks Dương Qu c Hưng trư c khi g i d - 208 - li u/ l nh k Giáo Trình H Vi i u khi n ; chân P1.0-P1.7... T i u khi n c u hình c a các c ng (hình 5 .4. 2b) và t i u khi n vi c l p/xoá các bit u ra PC (hình 5 .4. 2c) Biên so n: Ks Dương Qu c Hưng - 196 - Giáo Trình H Vi i u khi n Group A D7 D6 Group B D5 D4 D3 Port C (Upper PC7 - PC4) 1 = Input 0 = Output Mode Selection 00 = Mode 0 01 = Mode 1 1x = Mode2 Hình 5 .4. 2b T D6 D5 D4 0 x x x Not Used Generally = 0 Hình 5 .4. 2c T Port C (Lowe PC3 – PC0) 1 = Input 0... Giáo Trình H Vi i u khi n 0 0 0 0 0 0 0 1 U2 VINVIN+ U1 18 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0 .4/ AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 XTAL2 9 RST 29 30 31 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2 .4/ A12 P2.5/A13 P2.6/A 14 P2.7/A15 PSEN ALE EA 1 2 3 4 5 6 7 8 P1.0 P1.1 P1.2 P1.3 P1 .4 P1.5 P1.6 P1.7 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3 .4/ T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 11 12 13 14 15 16 17... hi n công vi c sau: - Ghi l nh ch n LCD 2 dòng, ma tr n 5x7 - Hi n th màn hình và con tr - Xoá LCD - D ch con tr sang ph i - Hi n th liên t c dòng ch “BM KY THUAT VDK !” D0 D1 D2 D3 D4 D5 D6 D7 7 8 9 10 11 12 13 14 RS RW E LM032L 4 5 6 1 2 3 VSS VDD VEE LCD C2 U1 33pF 19 XTAL C1 11.0592MHz 18 9 33pF 29 30 31 C3 10uF 1 2 3 4 5 6 7 8 R2 0.5k XTAL1 XTAL2 RST PSEN ALE EA P1.0 P1.1 P1.2 P1.3 P1 .4 P1.5 P1.6... tho i v i vi x lý và thi t b ngo i vi c a c a A - Nhóm B: G m c a B trao i s li u và n a C th p (PC0 - PC3) i tho i v i vi x lý và thi t b ngo i vi c a c a B Ch 2: Bus hai chi u Ch dùng cho c a A v i s li u vào/ra 2 chi u t o thành m t Bus ch a: - C a A (Bus hai chi u) - 5 ư ng i u khi n (PC3 – PC7) - Logic i u khi n - Vào và ra u ch t Vi c ch n ch làm vi c cho 8255A ư c th c hi n nh thanh ghi t i u . Quốc Hưng Giáo Trình Hệ Vi điều khiển - 185 - CHƯƠNG IV: GHÉP NỐI VÀ TRAO ĐỔI DỮ LIỆU TRONG HỆ VI XỬ LÝ 4. 1. GHÉP NỐI VI XỬ LÝ /VI ĐIỀU KHIỂN VỚI BỘ NHỚ NGOÀI Trong chương II chúng ta đã. tới các chân dữ liệu của vi xử lý để cho phép nó trao đổi dữ liệu giữa vi xử lý và chip 8255A. Biên soạn: Ks Dương Quốc Hưng Giáo Trình Hệ Vi điều khiển - 1 94 - - Chân RESET: Đây là đầu. Hưng Giáo Trình Hệ Vi điều khiển - 189 - AD4 R3 R AD1A1 A6 A9 U1 8051 29 30 40 20 31 19 18 9 39 38 37 36 35 34 33 32 1 2 3 4 5 6 7 8 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 PSEN ALE VC

Ngày đăng: 06/08/2014, 01:20

HÌNH ẢNH LIÊN QUAN

Sơ đồ kết nối như sau: - Kỹ thuật vi xử lý - Chương 4 docx
Sơ đồ k ết nối như sau: (Trang 3)
Sơ đồ kết nối vi điều khiển 8051 với bộ nhớ RAM dữ liệu 6264 - Kỹ thuật vi xử lý - Chương 4 docx
Sơ đồ k ết nối vi điều khiển 8051 với bộ nhớ RAM dữ liệu 6264 (Trang 6)
Bảng phân chia vùng nhớ được xác định như sau: - Kỹ thuật vi xử lý - Chương 4 docx
Bảng ph ân chia vùng nhớ được xác định như sau: (Trang 7)
Sơ đồ kết nối như sau: - Kỹ thuật vi xử lý - Chương 4 docx
Sơ đồ k ết nối như sau: (Trang 8)
Bảng 5.4.2b. Các lệnh chọn cổng và thanh ghi của 8255 - Kỹ thuật vi xử lý - Chương 4 docx
Bảng 5.4.2b. Các lệnh chọn cổng và thanh ghi của 8255 (Trang 10)
Hình 4.1.1a. Sơ đồ chân của 8255A - Kỹ thuật vi xử lý - Chương 4 docx
Hình 4.1.1a. Sơ đồ chân của 8255A (Trang 11)
Hình 5.4.2c. Từ điều khiển lập/xoá các bit PCi của 8255A. - Kỹ thuật vi xử lý - Chương 4 docx
Hình 5.4.2c. Từ điều khiển lập/xoá các bit PCi của 8255A (Trang 13)
Hình 5.4.2d: Nối ghép 8051 với 8255A cho ví dụ 2 - Kỹ thuật vi xử lý - Chương 4 docx
Hình 5.4.2d Nối ghép 8051 với 8255A cho ví dụ 2 (Trang 14)
Hình 5.4.2e: Nối ghép 8051 với 8255A cho ví dụ 3 - Kỹ thuật vi xử lý - Chương 4 docx
Hình 5.4.2e Nối ghép 8051 với 8255A cho ví dụ 3 (Trang 15)
Sơ đồ kết nối 8051 với 8255A thông qua mạch chốt 74LS373 và giải mã  74LS138 - Kỹ thuật vi xử lý - Chương 4 docx
Sơ đồ k ết nối 8051 với 8255A thông qua mạch chốt 74LS373 và giải mã 74LS138 (Trang 18)
4.3.1.2. Bảng lệnh của LCD - Kỹ thuật vi xử lý - Chương 4 docx
4.3.1.2. Bảng lệnh của LCD (Trang 21)
Bảng 4.3.1b. Mã lệnh LCD - Kỹ thuật vi xử lý - Chương 4 docx
Bảng 4.3.1b. Mã lệnh LCD (Trang 21)
Bảng 4.3.1c là bảng liệt kê lệnh chi tiết của LCD. - Kỹ thuật vi xử lý - Chương 4 docx
Bảng 4.3.1c là bảng liệt kê lệnh chi tiết của LCD (Trang 23)
Sơ đồ chân của ADC8084 - Kỹ thuật vi xử lý - Chương 4 docx
Sơ đồ ch ân của ADC8084 (Trang 32)
Hình 5.6.2d. Nối ghép ADC0804 với 8051 sử dụng nguồn đồng hồ sẵn có. - Kỹ thuật vi xử lý - Chương 4 docx
Hình 5.6.2d. Nối ghép ADC0804 với 8051 sử dụng nguồn đồng hồ sẵn có (Trang 34)
Hình vẽ trên ta sử dụng tín hiệu đồng hồ của chính chip ADC0804. - Kỹ thuật vi xử lý - Chương 4 docx
Hình v ẽ trên ta sử dụng tín hiệu đồng hồ của chính chip ADC0804 (Trang 35)
Hình 5.6.2d. Ghép nối ADC806 với 8051 sử dụng nguồn đồng hồ riêng. - Kỹ thuật vi xử lý - Chương 4 docx
Hình 5.6.2d. Ghép nối ADC806 với 8051 sử dụng nguồn đồng hồ riêng (Trang 35)
Hình 5.6.3d trình bày cách nối ghép bộ cảm biến nhiệt với ADC0804. - Kỹ thuật vi xử lý - Chương 4 docx
Hình 5.6.3d trình bày cách nối ghép bộ cảm biến nhiệt với ADC0804 (Trang 38)
Hình 4.4.1a. Mặt cắt Stator, Rotor động cơ bước. - Kỹ thuật vi xử lý - Chương 4 docx
Hình 4.4.1a. Mặt cắt Stator, Rotor động cơ bước (Trang 39)
Hình 4.4.1b.  Động cơ  bước lưỡng cực 2 pha không chổi than 4  đầu - Kỹ thuật vi xử lý - Chương 4 docx
Hình 4.4.1b. Động cơ bước lưỡng cực 2 pha không chổi than 4 đầu (Trang 40)
Hình 4.4.1c. Động cơ bước đơn cực 4 pha không chổi than 6 đầu dây. - Kỹ thuật vi xử lý - Chương 4 docx
Hình 4.4.1c. Động cơ bước đơn cực 4 pha không chổi than 6 đầu dây (Trang 40)
Hình 4.4.1d. Động cơ bước đơn cực 4 pha không chổi than 6 đầu dây - Kỹ thuật vi xử lý - Chương 4 docx
Hình 4.4.1d. Động cơ bước đơn cực 4 pha không chổi than 6 đầu dây (Trang 40)
Hình 4.4.1f. Chuỗi xung 4 bước thông thường - Kỹ thuật vi xử lý - Chương 4 docx
Hình 4.4.1f. Chuỗi xung 4 bước thông thường (Trang 43)
Hình 5.7.1i. Ghép nối 8051 với động cơ bước  Lời giải: - Kỹ thuật vi xử lý - Chương 4 docx
Hình 5.7.1i. Ghép nối 8051 với động cơ bước Lời giải: (Trang 46)
Sơ đồ ghép nối và mô phỏng trên phần mềm Proteus như sau: - Kỹ thuật vi xử lý - Chương 4 docx
Sơ đồ gh ép nối và mô phỏng trên phần mềm Proteus như sau: (Trang 48)
Hình vẽ ví dụ 3  Giải: - Kỹ thuật vi xử lý - Chương 4 docx
Hình v ẽ ví dụ 3 Giải: (Trang 49)
Hỡnh  5.7.2a  trỡnh  bày  một  ma  trận  4ì4  được  nối  tới  hai  cổng.  Cỏc  hàng  được  nối  tới  một  đầu  ra  và  các  cột  được  nối  tới  một  cổng  vào - Kỹ thuật vi xử lý - Chương 4 docx
nh 5.7.2a trỡnh bày một ma trận 4ì4 được nối tới hai cổng. Cỏc hàng được nối tới một đầu ra và các cột được nối tới một cổng vào (Trang 50)
Hình 5.7.2b. Lưu đồ tìm phím ấn của chương trình ví dụ 2. - Kỹ thuật vi xử lý - Chương 4 docx
Hình 5.7.2b. Lưu đồ tìm phím ấn của chương trình ví dụ 2 (Trang 53)
Hình 5.7.3. Ghép nối 8051 với DAC0808 - Kỹ thuật vi xử lý - Chương 4 docx
Hình 5.7.3. Ghép nối 8051 với DAC0808 (Trang 56)
Sơ đồ ghép nối mô phỏng trên Proteus và kết quả đo được trên máy hiện sóng - Kỹ thuật vi xử lý - Chương 4 docx
Sơ đồ gh ép nối mô phỏng trên Proteus và kết quả đo được trên máy hiện sóng (Trang 58)

TỪ KHÓA LIÊN QUAN