1. Trang chủ
  2. » Luận Văn - Báo Cáo

C1 CAU TAO VI XU LY 89v51 (20)

20 2 0

Đ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 20
Dung lượng 308,5 KB

Nội dung

CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 1.1 Tóm tắt phần cứng MCS-51 họ IC vi điều khiển hãng INTEL sản xuất Các IC tiêu biểu cho họ 8031, 8051, 8951… Những đặc điểm nguyên tắc hoạt động vi điều khiển khác không nhiều Khi sử dụng thành thạo vi điều khiển ta nhanh chóng vận dụng kinh nghiệm để làm quen làm chủ ứng dụng vi điều khiển khác Vì để có hiểu biết cụ thể vi điều khiển để phục vụ cho đề tài ta bắt đầu tìm hiểu vi điều khiển thơng dụng nhất, họ MCS-51 1.2 Sơ đồ khối, sơ đồ chân, chức chân: 1.2.1 Sơ đồ khối: 1.2.2 Sơ đồ chân: CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 1.2.3.Chức chân: 89V51RB2 có 40 chân 32 chân có cơng dụng xuất/ nhập Trong 32 chân có 24 chân có tác dụng kép (nghĩa chân có chức năng), đường hoạt động xuất/ nhập, hoạt động đường điều khiển hoạt động đường địa chỉ/ liệu bus địa chỉ/ liệu đa hợp 1.2.4 Các port:  Port 0: - Port (P0.0 – P0.7) có số chân từ 32 – 39 - Port có chức xuất nhập liệu (P0.0 – P0.7) thiết kế cỡ nhỏ không sử dụng nhớ ngồi - Port có chức bus địa byte thấp bus liệu đa hợp (AD0 – AD7) thiết kế cỡ lớn có sử dụng nhớ  Port 1: - Port (P1.0 – P1.7) có số chân từ – - Port port xuất nhập liệu (P1.0 – P1.7) sử dụng không sử dụng nhớ  Port 2: - Port (P2.0 – P2.7) có số chân từ 21 – 28 - Port có chức port xuất nhập liệu (P2.0 – P2.7) khơng sử dụng nhớ ngồi - Port có chức bus địa byte cao (A8 - A15) sử dụng nhớ  Port 3: - Port (P3.0 – P3.7) có số chân từ 10 – 17 - Port có chức xuất nhập liệu (P3.0 – P3.7) khơng sử dụng nhớ ngồi chức đặc biệt - Port có chức tín hiệu điều khiển sử dụng nhớ chức đặc biệt - Chức chân port 3: Bit P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 Tên RxD TxD INT0 INT1 T0 T1 WR Địa bit B0H B1H B2H B3H B4H B5H B6H Chức Chân nhận liệu port nối tiếp Chân phát liệu port nối tiếp Ngõ vào ngắt Ngõ vào ngắt Ngõ vào định thời/ đếm Ngõ vào định thời/ đếm Điều khiển ghi vào RAM CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 P3.7 RD B7H Điều khiển đọc từ RAM Bảng tóm tắt chức chân Port 1.2.5 Các chân tín hiệu điều khiển  Chân PSEN: - PSEN (Program Store Enable): cho phép nhớ chương trình, chân số 29 - Chân PSEN\ có chức tín hiệu cho phép truy xuất (đọc) nhớ chương trình (ROM) ngồi tín hiệu truy xuất, tích cực mức thấp - PSEN mức thấp thời gian CPU tìm - nạp lệnh từ ROM ngồi Khi CPU sử dụng ROM trong, PSEN mức cao - Khi sử dụng nhớ chương trình bên ngồi, chân PSEN\ thường nối với chân OE\ ROM phép CPU đọc mã lệnh từ ROM  Chân ALE: - ALE (Address Latch Enable): cho phép chốt địa chỉ, chân số 30 - Chân ALE có chức tín hiệu cho phép chốt địa để thực việc giải đa hợp cho bus địa byte thấp bus liệu đa hợp (AD0 – AD7) Ngồi chân ALE cịn tín hiệu xuất, tích cực mức cao - Các xung tín hiệu ALE có tốc độ 1/6 lần tần số dao động chíp dùng làm tín hiệu clock cho phần khác hệ thống Chân ALE dùng làm ngõ vào xung lập trình (PGM\)  Chân EA\: - EA ( External Access): truy xuất ngồi, chân số 31 - Tín hiệu vào EA\ thường mắc lên mức mức Nếu mức 1, 89V51RB2 thi hành chương trình từ ROM nội Nếu mức 0, 89V51RB2 thi hành chương trình từ ROM ngồi - Khi lập trình cho ROM chip chân EA đóng vai trị ngõ vào điện áp lập trình (Vpp = 12V – 12,5V cho 89V51RB2)  Chân RST: - RST (Reset): thiết lập lại, chân số - Khi ngõ vào RST đưa lên cao chu kỳ máy, 89V51RB2 thiết lập lại trạng thái ban đầu Khi ngõ vào RST mức thấp IC hoạt động bình thuờng  Chân XTAL1, XTAL2: - XTAL (Crystal): tinh thể thạch anh, chân số 18 – 19 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 - XTAL1: ngõ vào mạch tạo xung clock chip - XTAL2: ngõ mạch tạo xung clock chip - Bộ dao động tích hợp bên 89V51RB2, sử dụng 89V51RB2 người thiết kế cần nối thêm thạch anh (tần số thạch anh thường sử dụng 12MHZ) tụ  Chân Vcc, GND: - Vcc: chân số 40, cung cấp nguồn điện cho chip hoạt động Vcc = 4,5 – 5,5V - GND: chân số 20 GND = 0V 1.3 Tổ chức nhớ PSEN\  WR\ RD\   FFFFH FFFH 80H 7FH 00H Bộ nhớ chương trình (mã) Bộ nhớ chương trình (mã) SFR 000H Bộ nhớ liệu 0000H Bộ nhớ chip Bộ nhớ ngồi chip Hình: Tóm tắt vùng nhớ 89V51RB2 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 Bảng tóm tắt nhớ liệu chip 89V51 ( Special Function Register: Thanh ghi chức đặc biệt ) 1.3.1 Bộ nhớ trong: Bộ nhớ 89V51RB2 bao gồm ROM RAM RAM 89V51RB2 bao gồm nhiều thành phần: RAM đa chức năng, RAM định địa bit dãy ghi 1.3.1.1 Bộ nhớ ROM ( Bộ nhớ chương trình): Bộ nhớ chương trình dùng để lưu trữ chương trình điều khiển cho chip hoạt động 1.3.1.2 Bộ nhớ RAM (Bộ nhớ liệu): CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 Bộ nhớ liệu dùng để lưu trữ liệu tham số 1.3.1.3 RAM đa chức năng: - Trên hình vẽ cho thấy 80 byte RAM đa chức chiếm địa từ 30H đến 7FH - Mọi địa vùng RAM đa chức truy xuất tự dùng kiểu định địa trực tiếp gián tiếp 1.3.1.4 RAM định địa bit: - RAM định địa bit gồm 128 bit định địa chứa byte có địa từ 20H đến 2FH - RAM định địa bit có kiểu truy xuất liệu: trực tiếp, gián bit 1.3.1.5 Các dãy ghi: - 32 vị trí thấp nhớ nội chứa dãy ghi Các lệnh 89V51RB2 hỗ trợ ghi từ R0 – R7 thuộc dãy theo mặc định sau Reset hệ thống ghi địa từ 00H đến 07H - Các lệnh dùng ghi R0 đến R7 ngắn nhanh so với lệnh có chức tương ứng dùng kiểu địa trực tiếp Các liệu dùng thường xuyên nên dùng ghi - Do có dãy ghi nên thời điểm có dãy ghi tích cực Dãy ghi tích cực thay đổi cách thay đổi bit chọn dãy từ trạng thái chương trình PSW 1.3.1.6 Các ghi chức đặc biệt: - Các ghi nội hầu hết vi xử lý truy xuất rõ ràng tập lệnh - Các ghi nội 89V51RB2 cấu hình thành phần RAM chip, ghi có địa (ngoại trừ ghi đếm chương trình ghi lệnh ghi bị tác động trực tiếp) Cũng ghi từ R0 đến R7, ta có 21 ghi chức đặc biệt (SFR: Special Function Register) chiếm phần RAM nội từ địa 80H đến FFH CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 - Ngoại trừ ghi A truy xuất rõ ràng lại hầu hết ghi chức đặc biệt truy xuất kiểu định địa trực tiếp  Thanh ghi từ PSW ( Program Status Word ): Bit Ký hiệu Địa Mô tả bit PSW.7 CY D7H Cờ nhớ PSW.6 AC D6H Cờ nhớ phụ PSW.5 F0 D5H Cờ PSW.4 RS1 D4H Chọn dãy ghi (bit 1) PSW.3 RS0 D3H Chọn dãy ghi (bit 0) dãy 0: địa từ 00H đến 07H = dãy 1: địa từ 08H đến 0FH = dãy 2: địa từ 10H đến 17H = dãy 2: địa từ 18H đến 1FH = PSW.2 OV D2H Cờ tràn PSW.1 D1H Dự trữ PSW.0 P D0H Cờ kiểm tra chẵn lẻ Thanh ghi PSW  Thanh ghi A: - Thanh ghi A ghi tích lũy có cơng dụng chứa liệu phép toán mà vi điều khiển xử lý Ví dụ lệnh MUL AB nhân giá trị khơng dấu bit có hai ghi A B, trả kết 16 bit A (byte thấp) B (byte cao) Lệnh DIV AB lấy A chia B, kết số nguyên đặt vào A, số dư đặt vào B - Thanh ghi A có địa byte E0H địa bit từ E0H – E7H  Thanh ghi B: - Thanh ghi B địa F0H dùng với ghi A cho phép toán nhân chia CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 - Thanh ghi B dùng ghi đệm trung gian đa mục đích Nó bit định vị thông qua địa từ F0H – F7H  Thanh ghi SP: - Con trỏ ngăn xếp (SP: Stack Pointer) ghi bit địa byte 81H, dùng để lưu trữ tạm thời liệu Đây ghi không định địa bit Thanh ghi chứa địa byte liệu hành đỉnh ngăn xếp Các lệnh ngăn xếp bao gồm lệnh cất liệu vào ngăn xếp (PUSH) lệnh lấy liệu khỏi ngăn xếp (POP) Lệnh cất liệu vào ngăn xếp làm tăng SP trước ghi liệu lệnh lấy khỏi ngăn xếp làm giảm SP Đối với chip 8051 vùng nhớ dùng để làm ngăn xếp lưu giữ RAM nội - Để sử dụng ngăn xếp ta phải khởi động ghi SP (nghĩa nạp giá trị cho ghi SP) => vùng nhớ ngăn xếp có địa bắt đầu (SP) +1 địa kết thúc 7FH - Sau reset IC, SP mang giá trị mặc định 07H liệu cất vào ô nhớ ngăn xếp có địa 08H Nếu phần mềm ứng dụng không khởi động SP giá trị dãy ghi 1, khơng dùng vùng RAM dùng làm ngăn xếp Ngăn xếp truy xuất trực tiếp lệnh PUSH POP để lưu trữ tạm thời lấy lại liệu, truy xuất ngầm lệnh gọi chương trình (ACALL, LCALL) lệnh trở (RET, RETI) để lưu trữ giá trị đếm chương trình bắt đầu thực chương trình lấy lại kết thúc chương trình  Thanh ghi DPTR: - Con trỏ liệu (DPTR: Data Pointer Register) ghi 16 bit chứa địa ô nhớ cần truy xuất thuộc ROM RAM - Thanh ghi DPTR có địa byte 82H (DPL: byte thấp) 83H (DPH: byte cao) Thanh ghi không định địa bit  Thanh ghi port xuất nhập: - Các Port 89V51RB2 bao gồm Port địa 80H, Port địa 90H, Port địa A0H, Port địa B0H Tất Port truy xuất bit nên thuận tiện khả giao tiếp CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2  Thanh ghi port nối tiếp: - 89V51RB2 chứa port nối tiếp cho việc trao đổi thông tin với thiết bị nối tiếp máy tính giao tiếp nối tiếp với IC khác Một ghi đệm liệu nối tiếp (SBUF: Serial Buffer) địa 99H giữ liệu truyền liệu nhận Khi truyền liệu ghi lên SBUF, nhận liệu đọc SBUF Ngồi cịn có ghi điều khiển port nối tiếp (SCON: Serial Control) có địa byte 98H dùng để báo trạng thái điều khiển trình hoạt động port nối tiếp  Thanh ghi định thời: - 89V51RB2 có chứa hai định thời/ đếm 16 bit dùng cho việc định thời đếm kiện Timer địa 8AH (TL0: byte thấp) 8CH (TH0: byte cao) Timer địa 8BH (TL1: byte thấp) 8DH (TH1: byte cao) Việc khởi động Timer SET Timer Mode (TMOD) địa 89H ghi điều khiển Timer (TCON) địa 88H Chỉ có TCON địa hoá bit  Thanh ghi ngắt: - Thanh ghi IE (Interrupt Enable: cho phép ngắt) có địa byte A8H địa bit A8H – AFH có cơng dụng cho phép không cho phép ngắt hoạt động (có thể ngắt riêng rẽ tất ngắt) - Thanh ghi IP (Interrup Priority: ưu tiên ngắt) có địa byte B8H địa bit B8H – BCH có cơng dụng thiết lập mức ưu tiên cho ngắt (ưu tiên thấp ưu tiên cao)  Thanh ghi điều khiển nguồn: - Thanh ghi PCON (Power Control: điều khiển nguồn) khơng có bit định vị Nó địa 87H chứa nhiều bit điều khiển Thanh ghi PCON tóm tắt sau:  Bit (SMOD) => cho phép tăng gấp đôi tốc độ truyền liệu nối tiếp (tốc độ baud) SMOD =  Bit 6, 5, => địa CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2  Bit 3, (GF1, GF0) => cho phép người lập trình dùng với mục đích riêng  Bit (PD) => dùng để quy định chế độ nguồn giảm  Bit (IDL) => dùng để quy định chế độ nghỉ Các bit điều khiển Power Down Idle có tác dụng tất IC họ MCS – 51 thi hành biên dịch CMOD 1.3.2 Bộ nhớ ngoài: - 89V51RB2 có khả mở rộng khơng gian nhớ chương trình lên đến 64KB khơng gian nhớ liệu lên đến 64KB - Khi dùng nhớ ngồi, Port khơng cịn chức I/O mà bus địa byte thấp bus liệu đa hợp (AD0 – AD7) Port bus địa byte cao (A8 - A15) Port tín hiệu điều khiển (WR\, RD\ Kết nối truy xuất nhớ liệu ngoài: 8951 RAM 64KB AD0 – AD7 D0 – D7 74373 EA\ D Q A0 – A7 AL E G CS\ A8 – A15 WR\ A8– A15 WR\ RD\ OE\ Sơ đồ kết nối truy xuất nhớ liệu Bộ nhớ liệu nhớ đọc/ ghi cho phép tín hiệu RD\ WR\ chân P3.7 P3.6 Lệnh dùng để truy xuất nhớ liệu MOVX, sử dụng trỏ liệu 16 bit DPTR R0, R1 làm ghi chứa địa Giải mã địa chỉ: 10 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 Nếu trường hợp ROM RAM kết hợp từ nhiều nhớ có dung lượng nhỏ hai giao tiếp với chip 89V51 cần phải giải mã địa Việc giải mã cần cho hầu hết vi xử lý Ví dụ ROM RAM có dung lượng 8KB sử dụng tầm địa mà chip 89V51 quản lý (0000H – FFFFH) cần phải giải mã thành đoạn 8KB để chip chọn IC nhớ giới hạn 8KB tương ứng: IC1: 0000H – 1FFFH, IC2: 2000H – 3FFFH,… IC chuyên dùng cho việc tạo tín hiệu giải mã 74HC138, ngõ IC nối với ngõ vào chọn chip CS\ tương ứng IC nhớ IC nhớ hoạt động (tại thời điểm có IC nhớ phép hoạt động) Cần lưu ý đường cho phép IC nhớ hoạt động riêng lẻ cho loại (PSEN\ cho nhớ chương trình, RD\ WR\ cho nhớ liệu) nên 89V51 quản lý khơng gian nhớ lên đến 64KB cho ROM 64KB cho RAM Các không gian nhớ chương trình liệu gối nhau: Vì nhớ chương trình nhớ đọc, tình khó xử phát sinh q trình phát triển phần mềm cho 8951 Làm phần mềm viết cho hệ thống đích để gỡ rối phần mềm thực thi từ khơng gian nhớ chương trình đọc Giải pháp tổng quát cho nhớ chương trình liệu ngồi gối lên Vì PSEN\ dùng để đọc chương trình RD\ dùng để đọc nhớ liệu, RAM chiếm khơng gian nhớ chương trình liệu cách nối chân OE\ tới ngõ cổng AND có ngõ vào PSEN\ RD\ 1.3.3 Hoạt động Reset: 89V51RB2 có ngõ vào Reset tác động mức cao khoảng thời gian chu kỳ xung máy, sau xuống mức thấp để 89V51RB2 bắt đầu làm việc RST kích tay nút nhấn thường hở RST cấp nguồn, sơ đồ mạch Reset tổng hợp sau: 11 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 Trạng thái ghi sau Reset hệ thống:  Bộ đếm chương trình (PC) 0000H  Thanh ghi A 00H  Thanh ghi B 00H  Thanh ghi PSW 00H  Thanh ghi SP 07H  Thanh ghi DPTR 0000H  Port – Port3 FFH  Thanh ghi IP xxx00000B  Thanh ghi IE 0xx00000B  Các ghi định thời 00H  Thanh ghi SCON 00H  Thanh ghi SBUF 00H  Thanh ghi PCON (HMOS) 0xxxxxxxB  Thanh ghi PCON (CMOS) 0xxx0000B 1.3.4 Các lệnh số học ADD A, SUBB A, INC DEC MUL AB : (A)  LOW [(A) x (B)]; có ảnh hưởng cờ OV : (B)  HIGH [(A) x (B)]; cờ Carry xoá DIV AB : (A)  Integer result of [(A) / (B)]; cờ OV : (B)  Remainder of [(A) / (B)]; cờ Carry xoá 1.3.5 Các lệnh logic 12 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 Tất lệnh logic sử dụng ghi A toán hạng thực thi chu kì máy, ngồi A chu kì máy Những hoạt động logic thực byte vị trí nhớ liệu nội mà không thông qua ghi A Các hoạt động logic tóm tắt sau: ANL , ORL XRL , RL A : Quay ghi A qua trái bit RLC A : Quay vòng ghi A qua trái bit có cờ Carry RR : Quay A ghi sang phải bit A 1.3.6 Các lệnh rẽ nhánh JC Rel : Nhảy đến “Rel” cờ carry C =1 JNC Rel : Nhảy đến “Rel” cờ Carry C =0 JB bit,rel : Nhảy đến “Rel” (bit) =1 JNB bit,rel : Nhảy đến “rel” (bit) =0 JBC bit, rel : Nhảy đến “rel” (bit) =1 xoá bit ACALL addr 11 : Lệnh gọi tuyệt đối Page 2K LCAL Addr 16 :Lệnh gọi dài chương trình 64 K RET : Kết thúc chương trình trở chương trình RETI : Kết thúc thủ tục phục vụ ngắt quay chương trình AJMP addr11: Nhảy tuyệt đối không điều kiện K LJMP addr16 SJMP rel CJNE A, direct, rel : so sánh nhảy đến A A direct DJNE Rn,rel : Giảm Rn nhảy Rn 0 DJNZ direct, rel : Giảm nhảy direct 0 : Nhảy dài không điều kiện 64 K : Nhảy ngắn không điều kiện (-128 127) byte 1.3.7 Các lệnh dịch chuyển liệu Các lệnh dịch chuyển liệu vùng nhớ nội thực thi chu kỳ máy Mẫu lệnh MOV , cho phép di chuyển liệu vùng nhớ RAM nội vùng nhớ ghi chức 13 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 đặc biệt mà không thông qua ghi A Vùng Stack 8051 chứa 128 byte RAM nội, trỏ Stack SP tăng địa 7FH byte PUSH vào vào byte POP khơng biết rõ Các lệnh dịch chuyển nhớ nội nhớ ngoại dùng định vị gián tiếp Địa gián tiếp dùng địa byte (@ Ri) địa byte (@ DPTR) Tất lệnh dịch chuyển hoạt động toàn nhớ thực thi chu kỳ máy dùng ghi A làm tốn hạng DESTINATION Việc đọc ghi RAM ngồi (RD WR) tích cực suốt q trình thực thi lệnh MOVX, cịn bình thường RD WR khơng tích cực (mức 1) 1.3.8.Các lệnh luận lý CLR C : Xố cờ Carry xuống Có ảnh hưởng cờ Carry CLR BIT : Xoá bit xuống Không ảnh hưởng cờ Carry SET C : Set cờ Carry lên Có ảnh hưởng cờ Carry SET BIT : Set bit lên Không ảnh hưởng cờ Carry CPL C : Đảo bit cờ Carry Có ảnh hưởng cờ Carry CPL BIT : Đảo bit Không ảnh hưởng cờ Carry ANL C, BIT : Có ảnh hưởng cờ Carry ANL C, BIT : Không ảnh hưởng cờ Carry ORL C, BIT ORL C, : Tác động cờ Carry : Tác động cờ Carry MOV C, BIT : Cờ Carry bị tác động MOV BIT, C : Không ảnh hưởng cờ Carry 1.4 Hoạt động Port nối tiếp Phần cứng truy xuất tới Port nối tiếp qua chân TxD (P3.1) RxD (P3.0) Port nối tiếp tham dự hoạt động đầy đủ (sự phát thu lúc), thu vào đệm mà cho phép ký tự nhận vào cất đệm ký tự thứ hai nhận vào Nếu CPU đọc ký tự thứ trước ký tự thứ hai nhận vào hồn tồn liệu không bị Hai ghi chức đặc biệt cung cấp cho phần mềm truy xuất đến Port nối tiếp SBUF SCON Sự đệm Port nối tiếp (SBUF) địa 99H 14 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 đệm thật sự: Ghi lên SBUF (nạp liệu phát) đọc SBUF (truy xuất liệu nhận) Đây hai ghi riêng biệt rõ rệt, ghi phát ghi ghi thu đọc 1.4.1 Thanh ghi điều khiển Port nối tiếp SCON Mode hoạt động Port nối tiếp set việc ghi lên ghi mode Port nối tiếp SCON địa 99H Bảng tóm tắt ghi điều khiển Port nối tiếp SCON sau: Bit Ký hiệu Địa SCON.7 SM0 9FH SCON.6 SM1 9EH SCON.5 SM2 9DH Mô tả hoạt động Bit mode Port nối tiếp Bit mode Port nối tiếp Bit mode Port nối tiếp cho phép truyền xử lý đa kênh mode 3; RI SCON.4 REN 9CH khơng tích cực bit thứ thu vào REN = cho phép thu ký tự SCON.3 TB8 9BH Phát bit Bit phát mode 3, 9AH 99H set xóa phần mềm Thu bit Bit thứ nhận Cờ ngắt phát Cờ set kết SCON.2 SCON.1 RB8 TI thúc việc phát ký tự; xóa phần SCON.0 RI 98H mềm Cờ ngắt thu Cờ set kết thúc việc thu ký tự; xóa phần mềm ChứcTẢ ghi SCON SM0 SM1 MODE Bảng MÔ TỐC ĐỘ BAUD Thanh ghi dịch Cố định (tần số dao động/12) Thay đổi (thiết lập định thời) UART bit Cố định (tần số dao động /12 /64) UART bit Thay đổi (thiết lập định thời) UART bit Các chế độ hoạt động port nối tiếp 15 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 Trước dùng Port nối tiếp, SCON phải định chế độ VD: Để khởi tạo Port nối tiếp chế độ (SM0/SM1 = 0/1), cho phép thu (REN = 1), set cờ ngắt việc phát sẵn sàng hoạt động (TI = 1), ta dùng lệnh sau : MOV SCON, #01010010H Port nối tiếp 8051 có mode hoạt động tùy thuộc theo trạng thái SM0/SM1 Ba mode cho phép truyền động với ký tự thu phát bố trí bit Start bit Stop 1.4.2 Khởi động truy xuất ghi Port nối tiếp 1.4.2.1 Cho phép thu Bit cho phép thu REN ghi SCON phải set phần mềm phép thu ký tự Điều thường dùng làm đầu chương trình Port nối tiếp timer khởi động Ta tác động lệnh: SETB REN hoặc: MOV SCON, # xxx1xxxxB 1.4.2.2 Dùng timer tạo tốc độ Baud cho port nối tiếp Muốn tạo tốc độ Baud, ta khởi tạo TMOD chế độ tự nạp lại bit (mode timer) đặt trước giá trị nạp lại vào byte cao ghi timer (TH1) để tạo tốc độ tràn xác Có tốc độ Baud chậm ta dùng chế độ 16 bit chế độ timer, ta phải khởi tạo lại sau lần tràn cho TL1/TH1 Hoạt động khác đếm việc dùng timer ngồi T1 (P3.5) Cơng thức chung để xác định tốc độ Baud mode mode là: BAUD RATE = TIMER OVERFLOW RATE 32 Ví dụ hoạt động 1200 Baud đòi hỏi tốc độ tràn 1200/32 = 38,4 KHz Nếu thạch anh 12MHz lái dao động Chip, timer đếm tốc độ tần số MHz Bởi timer phải tràn tốc độ tần số 38,4 KHz Timer đếm tốc độ tần số MHz, nên tràn yêu cầu với 16 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 1000/38,4 = 26,04 clock (làm trịn 26) Bởi timer đếm lên tràn có chuyển đổi từ FFH  00H đếm, nên 26 giá trị cần nạp cho TH1 (giá trị -26) Ta dùng lệnh: MOV TH1, #26 Ví dụ sau khởi động Port nối tiếp hoạt động giống UART bit tốc độ 2400 Baud, dùng timer để cung cấp tốc độ Baud: MOV SCON, #01010010B ; Port nối tiêp mode MOV TMOD, #20 ; Timer mode MOV TH1, #-13 ; Nạp vào đếm tốc độ 2400Baud SETB TR1 ;Start timer Trong SCON có SM0/SM1 để vào mode UART bit, REN = cho phép Port nối tiếp thu ký tự TI = cho phép phát ký tự việc cho biết ghi đếm rỗng TMOD có M1/M0 = 1/0 để đặt timer vào mode tự động nạp lại bit Việc set bit TR1 để mở máy chạy timer Tốc độ Baud 2400 cho ta tốc độ tràn timer 2400/32 = 76,8 KHz (ứng với thạch anh 12 MHz) cho số xung clock sau tràn 1000/76,8 = 13,02 (lấy tròn 13) Vậy -13 giá trị cần nạp vào TH1 để có tốc độ Baud 2400 Baud 1.5 Hoạt động ngắt 89V51RB2 Trong nhiều ứng dụng địi hỏi ta phải dùng ngắt (Interrupt) mà khơng dùng timer dùng timer ta phải thời gian để chờ cờ tràn timer TFx set xử lý tiếp chương trình Do ta khơng có thời gian để làm việc khác mà ứng dụng đòi hỏi Đây chương trình quan trọng 8051 nói riêng họ MSC – 51 nói chung Ngắt cố có điều kiện mà gây ngưng lại tạm thời chương trình để phục vụ chương trình khác Các ngắt đóng vai trò quan trọng việc thiết kế thực ứng dụng vi điều khiển ngắt cho phép hệ thống đáp ứng kiện theo cách không đồng xử lý kiện chương trình khác thực thi Một hệ thống điều khiển ngắt cho ta ảo tưởng làm nhiều công việc đồng thời Tất nhiên CPU thực thi nhiều lệnh thời điểm, tạm thời 17 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 treo việc thực thi chương trình để thực thi chương trình khác sau quay lại chương trình Khi chương trình thực thi mà có ngắt xảy đến chương trình ngưng thực thi rẽ nhánh đến thủ tục phục vụ ngắt ISP (Interrupt Service Routine) ISR thực thi để thực hoạt động kết thúc với lệnh RETI: chương trình tiếp tục nơi mà dừng lại Ta tóm tắt thực thi chương trình trường hợp có ngắt khơng có ngắt sau: Timer Main Program Thục thi chương trình khơng có ngắt ISR * Main ISR ** * ISR ** Main * ** Main Main Timer Thục thi chương trình có ngắt Sơ đồ ngắt 8051 Trong ký hiệu * cho biết ngắt chương trình để thực thi chương trình thủ tục phục vụ ngắt ISR Còn ký hiệu ** cho biết việc quay lại chương trình thực thi tiếp sau kết thúc chương trình ISR 1.5.1 Tổ chức ngắt 8051 8051 cung cấp nguồn ngắt, ngắt ngoài, ngắt timer ngắt Port nối tiếp tất ngắt bị tác dụng mặc định sau reset hệ thống cho phép cá biệt phần mềm Trong trường hợp có hai nhiều ngắt xảy đồng thời ngắt phục vụ mà xuất ngắt khác, có hai cách thực ngắt kiểm tra liên tiếp ưu tiên cấp 1.5.2 Sự cho phép ngắt cấm ngắt 18 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 Mỗi nguồn ngắt cho phép riêng biệt cấm riêng biệt qua ghi chức đặc biệt có bit định vị IE (Interrupt Enable) địa 0A8H Cũng cá biệt cho phép bit nguồn ngắt có bit cho phép (hoặc cấm) chung mà có xóa để cấm tất ngắt set phép chung ngắt Hoạt động bit ghi cho phép ngắt IE tóm tắt bảng sau: Bit Symbol Bit Address IE.7 EA AFH IE.6 AEH IE.5 ET2 ADH IE.4 ES ACH IE.3 ET1 ABH IE.2 EX1 AAH IE.1 ET0 A9H IE.0 EX0 A8H Sự mô tả (Enable=1; Disable) Cho phép ngắt tồn cục Khơng định nghĩa Cho phép ngắt timer (8052) Cho phép ngắt Port nối tiếp Cho phép ngắt timer Cho phép ngắt External Cho phép ngắt timer Cho phép ngắt External Hoạt động bit ghi cho phép ngắt IE Hai bit phải set phép ngắt đó: bit cho phép riêng bit cho phép chung Ví dụ phép ngắt timer ta thực bit: SETB ET1 SETB EA thực byte: MOV IE, #10001000B Cả hai phương pháp có kết xác sau reset hệ thống, kết khác ghi IE ghi tuyến chương trình Giải pháp thứ khơng có tác dụng bit cịn lại ghi IE, giải pháp thứ hai xóa bit cịn lại ghi IE Ở đầu chương trình ta nên khởi tạo IE với lệnh MOV BYTE, cho phép ngắt cấm 19 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 ngắt tuyến chương trình dùng lệnh SETB bit CLR bit để tránh kết phụ với bit khác ghi IE 1.5.3 Xử lý ngắt Khi ngắt xuất chấp nhận CPU chương trình bị ngắt Các hoạt động sau xuất hiện:  Lệnh hành kết thúc thực thi  Bộ đếm chương trình PC cất giữ vào Stack  Trạng thái ngắt hành cất giữ vào bên  Những ngắt bị ngăn lại mức ngắt  Bộ đếm chương trình PC LOAD với địa vectơ thủ tục phục vụ ngắt ISR  Thủ tục phục vụ ngắt ISR thực thi Thủ tục phục vụ ngắt ISR thực thi đưa hoạt động vào đáp ứng ngắt, thủ tục phục vụ ngắt ISR kết thúc với lệnh RETI (quay trở chương trình từ Stack) Điều khôi phục lại giá trị đếm chương trình từ Stack hồn tồn dừng lại trạng thái cũ Sự thực thi chương trình tiếp tục nơi mà ngừng lại 20 ... nhớ 89V51RB2 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 Bảng tóm tắt nhớ liệu chip 89V51 ( Special Function Register: Thanh ghi chức đặc biệt ) 1.3.1 Bộ nhớ trong: Bộ nhớ 89V51RB2 bao gồm ROM RAM RAM 89V51RB2... 19 CHƯƠNG 1: CẤU TẠO VI XỬ LÝ 89V51RB2 - XTAL1: ngõ vào mạch tạo xung clock chip - XTAL2: ngõ mạch tạo xung clock chip - Bộ dao động tích hợp bên 89V51RB2, sử dụng 89V51RB2 người thiết kế cần nối... 1: CẤU TẠO VI XỬ LÝ 89V51RB2 1.2.3.Chức chân: 89V51RB2 có 40 chân 32 chân có cơng dụng xu? ??t/ nhập Trong 32 chân có 24 chân có tác dụng kép (nghĩa chân có chức năng), đường hoạt động xu? ??t/ nhập,

Ngày đăng: 01/12/2022, 23:34

HÌNH ẢNH LIÊN QUAN

Hình: Tóm tắt các vùng nhớ của 89V51RB2 - C1 CAU TAO VI XU LY 89v51 (20)
nh Tóm tắt các vùng nhớ của 89V51RB2 (Trang 4)
Bảng tóm tắt bộ nhớ dữ liệu trên chip 89V51 ( Special Function Register:                                                                        Thanh ghi chức năng đặc biệt ) - C1 CAU TAO VI XU LY 89v51 (20)
Bảng t óm tắt bộ nhớ dữ liệu trên chip 89V51 ( Special Function Register: Thanh ghi chức năng đặc biệt ) (Trang 5)
Bảng Chức năng của thanh ghi SCON - C1 CAU TAO VI XU LY 89v51 (20)
ng Chức năng của thanh ghi SCON (Trang 15)
w