Microsoft PowerPoint VXL Chuong2ReadOnly pptx Read Only CHƯƠNG 2 KIẾN TRÚC PHẦN CỨNG MCU 8051 CẤU HÌNH MCU 8051 MCU 8051 là MCU tiêu biểu của họ MCS51 của hãng Intel 8051 là CPU 8 bit được tối ưu hó.Microsoft PowerPoint VXL Chuong2ReadOnly pptx Read Only CHƯƠNG 2 KIẾN TRÚC PHẦN CỨNG MCU 8051 CẤU HÌNH MCU 8051 MCU 8051 là MCU tiêu biểu của họ MCS51 của hãng Intel 8051 là CPU 8 bit được tối ưu hó.Microsoft PowerPoint VXL Chuong2ReadOnly pptx Read Only CHƯƠNG 2 KIẾN TRÚC PHẦN CỨNG MCU 8051 CẤU HÌNH MCU 8051 MCU 8051 là MCU tiêu biểu của họ MCS51 của hãng Intel 8051 là CPU 8 bit được tối ưu hó.Microsoft PowerPoint VXL Chuong2ReadOnly pptx Read Only CHƯƠNG 2 KIẾN TRÚC PHẦN CỨNG MCU 8051 CẤU HÌNH MCU 8051 MCU 8051 là MCU tiêu biểu của họ MCS51 của hãng Intel 8051 là CPU 8 bit được tối ưu hó.
CHƯƠNG KIẾN TRÚC PHẦN CỨNG MCU 8051 CẤU HÌNH MCU 8051 MCU 8051 MCU tiêu biểu họ MCS51 hãng Intel - 8051 CPU bit tối ưu hóa cho ứng dụng điều khiển - Bộ nhớ nội (bộ nhớ on_chip): ROM 4KB RAM 128 Byte - Bộ nhớ ngồi: mở rộng 64KB nhớ chương trình (code) 64KB nhớ liệu (data) - cổng xuất/ nhập (I/O Port) bit - đếm/định 16 bit - Giao tiếp nối tiếp UART So sánh MCU thuộc họ MCS51 Mã số - Bộ điều khiển ngắt với nguồn ngắt - Bộ xử lý bit với 210 bit có địa - Lệnh nhân/chia 4MC 8051 8031 8052 8032 Bộ nhớ code on-chip 4K ROM 8K ROM Bộ nhớ data on-chip 128 byte 128 byte 256 byte 256 byte Số Timer 2 3 SƠ ĐỒ KHỐI MCU 8051 CHỨC NĂNG CÁC CHÂN (PINS) MCU 8051 MCU 8051 có dạng thơng dụng DIP40 gồm: 32 chân I/0 port, chân điều khiển chân nguồn Port 0: (chân 32 đến 39) có chức * I/0 port: P0.0 – P0.7 * dồn kênh bus địa thấp bus liệu AD0 – AD7 Port 1: (chân đến 8) chân I/0 port: P1.0 – P1.7 Ngoại trừ 8032/8052 dùng P1.0 P1.1 làm ngõ vào Timer Port 2: (chân 21 đến 28) có chức * I/0 port: P2.0 – P2.7 * bus địa cao A8 – A15 CHỨC NĂNG CÁC CHÂN (PINS) MCU 8051 Port 3: (chân 10 đến 17) có chức * I/0 port: P3.0 – P3.7 * chức chuyển đổi Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 P1.0 P1.1 Tên Địa bit RXD B0H TXD B1H INT0 B2H INT1 B3H T0 B4H T1 B5H WR B6H RD B7H T2 90H T2EX 91H Chức chuyển đổi Thu liệu cổng nối tiếp Phát liệu cổng nối tiếp Ngắt Ngắt Ngõ vào đếm/timer Ngõ vào đếm/timer Điều khiển ghi nhớ liệu Điều khiển đọc nhớ liệu Ngõ vào đếm/timer Ngõ nạp lại/bắt đếm/timer CHỨC NĂNG CÁC CHÂN (PINS) MCU 8051 EA (External Access): (chân 31) ngõ vào để chọn thi hành chương trình từ nhớ hay nhớ * EA = (nối lên nguồn +5V): 8051 thi hành chương trình từ nhớ nội 4KB * EA = (nối đất GND): 8051 thi hành chương trình từ nhớ ngồi 64KB PSEN (Program Store Enable): (chân 29) ngõ dùng làm tín hiệu điểu khiển cho phép đọc chương trình từ nhớ PSEN nối với chân OE ROM ngồi * Khi chu kỳ đọc lệnh PSEN = * Khi sử dụng ROM nội PSEN = CHỨC NĂNG CÁC CHÂN (PINS) MCU 8051 ALE (Address Latch Enable) : (chân 30) ngõ ra, tín hiệu phân kênh (demux) bus địa bus liệu Port (AD0-AD7) 8051 truy xuất nhớ * Nửa đầu chu kỳ truy xuất nhớ, port A0 – A7 ALE = * Nửa sau chu kỳ truy xuất nhớ, port D0 – D7 ALE = 8051 gửi địa đến ROM CHỨC NĂNG CÁC CHÂN (PINS) MCU 8051 ALE (Address Latch Enable) : (chân 30) ngõ ra, tín hiệu phân kênh (demux) bus địa bus liệu Port (AD0-AD7) 8051 truy xuất nhớ * Nửa đầu chu kỳ truy xuất nhớ, port A0 – A7 ALE = * Nửa sau chu kỳ truy xuất nhớ, port D0 – D7 ALE = ROM gửi lệnh 8051 * Tần số ALE = 1/6 FCK FCK = 12MHz -> FALE = 2MHz 10 74373 chốt địa đến ROM CHỨC NĂNG CÁC CHÂN (PINS) MCU 8051 RST (Reset) : (chân 9) ngõ vào RST mức cao chu kỳ máy (MC) 8051 reset; ghi bên nạp giá trị khởi động lại hệ thống Sau reset để hệ thống hoạt động bình thường RST = XTAL 1, XTAL 2: (chân 18 19) ngõ vào dao động chip, kết hợp với thạch anh Tần số thạch anh thường dùng 12MHz Có thể dùng nguồn dao động ngồi a) Dao động chip với thạch anh b) Dao động cấp cho MCU VCC, VSS: (chân 40, 20) nối nguồn VCC = +5V nối đất VSS = 0V CẤU TRÚC CỔNG XUẤT/NHẬP (I/0 PORT) * I/O port: P0, P1, P2 P3, port bit; giao tiếp trực tiếp với ngoại vi chuẩn TTL Các chân port sử dụng riêng lẻ (P1.0 – P1.7) * Mạch bên chân port: ngoại trừ Port khơng có điện trở kéo lên bên * Xuất (OUT): liệu từ CPU ghi vào chốt D, ngõ Q điều khiển FET - ghi 0: Q = làm FET dẫn, chân port nối đất - ghi 1: Q = làm tắt FET, chân port nối nguồn Vcc * Nhập (IN): để đọc chân port trước cần ghi vào chốt D để khóa FET Vì trước chốt có Q = FET dẫn, chân port ln (Khi reset chân port ghi 1) * Tùy theo lệnh nhập, CPU đọc chân port đọc chốt TỔ CHỨC BỘ NHỚ : SFR Thanh ghi điều khiển nguồn PCON (Power Control): 87 SMOD - - - GF1 GF0 PD IDL PCON * Các bit ghi PCON khơng có địa bit Bit Ký hiệu SMOD GF1 GF0 PD IDL Mô tả SMOD=1 baudrate x2 mode 1,2,3 cổng nối tiếp Không định nghĩa Không định nghĩa Không định nghĩa Cờ đa dụng bit Cờ đa dụng bit PD=1 giảm nguồn, thoát reset IDL=1 nghỉ,thoát ngắt/reset * Bit SMOD: dùng để tăng gấp đôi tốc độ baud cho port nối tiếp * Cờ đa dụng GF1, GF0 (General Purpose Flag): cờ tùy ý người sử dụng TỔ CHỨC BỘ NHỚ : SFR * Bit chế độ nghỉ IDL (Idle mode): IDL = làm MCU vào chế độ nghỉ (họ CMOS) - Lệnh làm IDL=1 lệnh cuối thực trước MCU nghỉ - Vào chế độ nghỉ: xung nhịp không cung cấp cho CPU, có cho chức ngắt, timer port nối tiếp Trạng thái CPU nội dung ghi giữ nguyên Các chân port giữ nguyên mức logic Các tín hiệu ALE /PSEN mức cao - Chế độ nghỉ kết thúc có ngắt hay reset hệ thống Khi bit IDL xóa * Bit chế độ giảm nguồn PD (Power down mode): PD = làm MCU vào chế độ giảm nguồn (họ CMOS) - Lệnh làm PD=1 lệnh cuối thực trước MCU vào chế độ - Vào chế độ giảm nguồn: dao động chip chức bị dừng Nội dung ram chip giữ nguyên Các chân port giữ nguyên mức logic Các tín hiệu ALE /PSEN mức thấp - Chế độ giảm nguồn kết thúc reset hệ thống - Có thể giảm Vcc xuống 2V sau vào chế độ Phải hồi phục Vcc lên 5V 10 chu kỳ xung nhịp trước chân RST (reset để thoát chế độ giảm nguồn) TỔ CHỨC BỘ NHỚ BỘ NHỚ NGOÀI (External Memory) - Họ MCS-51 có khả mở rộng 64KB nhớ chương trình 64KB nhớ liệu bên - Giao tiếp I/0 mở rộng phần không gian nhớ liệu (I/0 ánh xạ nhớ) - Khi dùng nhớ ngoài: Port AD0 ÷ AD7 Port A8 ÷ A15 - Port port dồn kênh bus địa (A0 ÷ A7) bus liệu (D0 ÷ D7) - Dùng mạch chốt 74373 có tín hiệu điều khiển ALE để chốt bit địa thấp Port TỔ CHỨC BỘ NHỚ BỘ NHỚ NGOÀI (External Memory) BỘ NHỚ CHƯƠNG TRÌNH NGỒI(External Code Memory) MCU 8051 truy xuất nhớ chương trình ngồi tín hiệu PSEN 8051 EPROM D0 - D7 Port EA 74373 D ALE Port PSEN Q A0 - A7 G A8 - A15 OE CS TỔ CHỨC BỘ NHỚ BỘ NHỚ NGỒI (External Memory) Định đọc nhớ chương trình: thời gian MCU đọc lệnh từ nhớ chương trình gọi chu kỳ nhận lệnh (opcode fetch) Vd: Chu kỳ nhận lệnh lệnh byte có thời gian thực chu kỳ máy (MC): có xung ALE byte lệnh nhận TỔ CHỨC BỘ NHỚ BỘ NHỚ NGOÀI (External Memory) BỘ NHỚ DỮ LIỆU NGOÀI (External Data Memory) MCU 8051 đọc/ghi nhớ chương trình ngồi tín hiệu RD WR 8051 RAM D0 - D7 Port EA + 5V 74373 D ALE Port RD WR Q A0 - A7 G A8 - A15 OE WE CS TỔ CHỨC BỘ NHỚ BỘ NHỚ NGOÀI (External Memory) Lệnh để truy xuất ram MOVX với ghi DPTR chứa địa ram Định lệnh đọc ram ngồi MOVX A, @DPTR: lệnh byte tốn MC - Chu kỳ máy thứ để đọc byte lệnh MOVX từ nhớ chương trình - Chu kỳ máy thứ để thực thi lệnh MOVX để đọc data từ nhớ liệu, có xung ALE bị TỔ CHỨC BỘ NHỚ BỘ NHỚ NGOÀI (External Memory) MCU 8051 cho phép làm việc với nhớ liệu ngồi có dung lượng nhỏ 256 byte, bus địa có bit A0 – A7 nên dùng port Lệnh MOVX dùng ghi R0 hay R1 chứa địa ram cần truy xuất 8051 RAM Port EA D0 - D7 + 5V 74373 D ALE Q A0 - A7 G Port RD WR OE WE CS TỔ CHỨC BỘ NHỚ BỘ NHỚ NGOÀI (External Memory) GIẢI MÃ ĐỊA CHỈ (Address Decoding) Nếu MCU 8051 làm việc với nhiều chip nhớ ROM hay RAM cần có mạch giải mã địa Mạch giải mã địa có nhiệm vụ phân chia vùng địa làm việc khác cho chip nhớ Vd: Thiết kế mạch giải mã địa cho chip ROM 2764 (8KB) chip RAM 6264 (8KB) - Khơng gian nhớ ngồi 64KB có 16 bit địa A0 – A15, vùng địa từ 0000h - FFFFh * Bộ nhớ chương trình 64KB = x 8KB dùng ROM 2764 * Bộ nhớ liệu 64KB = x 8KB dùng RAM 6264 - ROM/RAM 8KB: có 13 bit địa A0 – A12 - Sử dụng bit địa cao A15 A14 A13 làm mạch giải mã địa TỔ CHỨC BỘ NHỚ BỘ NHỚ NGOÀI (External Memory) Mạch giải mã tạo tín hiệu chọn chip (CS0, CS1, CS7) cho chip nhớ 8KB Bản đồ địa nhớ cho vùng nhớ vùng 8KB (CS0, CS1, CS7) Tín hiệu A A A A A A A A8 A7 A6 A5 A4 A3 A2 A1 A0 chọn chip 15 14 13 12 11 10 /CS0 /CS1 /CS2 /CS3 /CS4 /CS5 /CS6 /CS7 0 0 1 1 0 1 0 1 1 1 X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X Vùng địa 0000h - 1FFFh 2000h - 3FFFh 4000h - 5FFFh 6000h - 7FFFh 8000h - 9FFFh A000h - BFFFh C000h - DFFFh E000h - FFFFh TỔ CHỨC BỘ NHỚ BỘ NHỚ NGOÀI (External Memory) ADDRESS BUS (A0 – A15) Sử dụng IC decoder 74138 để làm mạch giải mã địa chỉ: DATA BUS (D0 – D7) - A15 A14 A13 làm ngõ vào C B A - ngõ tín hiệu chọn chip - Bộ nhớ chương trình nhớ liệu dùng chung tín hiệu chọn chip C B A G1 G2A G2B Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 TỔ CHỨC BỘ NHỚ BỘ NHỚ NGOÀI (External Memory) PHỦ LẤP vùng liệu chương trình ngồi - Trong số ứng dụng cần sửa đổi chương trình nhiều lần, dùng nhớ liệu để chứa chương trình - Dùng RAM để chứa chương trình: phân riêng vùng nhớ cho chương trình liệu - Chương trình đưa vào RAM dùng WR - Đọc RAM: đọc chương trình dùng PSEN đọc liệu dùng RD RAM WR WE RD PSEN OE TÍNH NĂNG MỞ RỘNG CỦA 8032/8052 * 8052 có 8KB ROM nội * Có thêm 128B RAM nội có địa 80h – FFh Để truy xuất vùng RAM này, dùng định địa gián tiếp * Có thêm Timer (16 bit) Dùng SFR để lập trình cho Timer Thanh ghi T2CON RCAP2L RCAP2H TL2 TH2 Địa 0C8H 0CAH 0CBH 0CCH 0CDH Mô tả Điều khiển Bắt byte thấp Bắt byte cao Byte thấp Timer2 Byte cao Timer2 Truy xuất bit Có Khơng Khơng Khơng KHông HOẠT ĐỘNG RESET Mạch thực reset hệ thống cho MCU Thanh ghi PC A B PSW SP DPTR P0-P3 IP(8031/51) IP(8032/52) IE(8031/51) IE(8032/52) Các reg Timer SCON SBUF PCON(HMOS) PCON(CMOS) Nội dung 0000H 00H 00H 00H 07H 0000H FFH XXX00000B XX000000B 0XX00000B 0X0000000B 00H 00H 00H 0XXXXXXXB 0XXX0000B Khi ngõ vào RST mức cao chu kỳ máy (MC) 8051 reset; ghi bên nạp giá trị khởi động lại hệ thống - (PC) = 0000h: chạy lại từ ô nhớ địa 0000h - (PSW) = 00h: bank ghi hành Bank - (SP) = 07h: vùng stack từ 80h – 7Fh - Các ghi Port ghi FFh: chân port sẵn sang chức nhập data (IN) HẾT CHƯƠNG CHÀO TẠM BIỆT CÁC EM & HẸN GẶP LẠI ... nguồn ngắt - Bộ xử lý bit với 21 0 bit có địa - Lệnh nhân/chia 4MC 8051 8031 80 52 80 32 Bộ nhớ code on-chip 4K ROM 8K ROM Bộ nhớ data on-chip 128 byte 128 byte 25 6 byte 25 6 byte Số Timer 2 3 SƠ ĐỒ KHỐI... (chân đến 8) chân I/0 port: P1.0 – P1.7 Ngoại trừ 80 32/ 80 52 dùng P1.0 P1.1 làm ngõ vào Timer Port 2: (chân 21 đến 28 ) có chức * I/0 port: P2.0 – P2.7 * bus địa cao A8 – A15 CHỨC NĂNG CÁC CHÂN (PINS)... xung nhịp Tclock MC = 12 Tclock = 12/ Fosc Vd: Fosc = 12MHz: 1MC = 12 Tclock = 12/ 12MHz = 1µs TỔ CHỨC BỘ NHỚ MCU 8051 tổ chức nhớ theo kiến trúc Harvard: không gian nhớ chương trình (program memory)