UAR T9 bit tốc độ baud thay đối được (chế độ 3):

Một phần của tài liệu Tài liệu tham khảo hỗ trợ môn vi xử lý các họ vi điều khiển thế hệ mới (Trang 25 - 30)

- Chế độ này giống chế độ 2 ngoại trừ tốc độ baud có thể thay đổi được bằng timer1.

Tốc độ baud của port nối tiếp:

Tốc độ bị ảnh hưởng bởi 1 bit trong thanh ghi điều khiển nguồn cung cấp (PCON) đó là SMOD = 1 thì tốc độ baud trong chế độ 1, 2, 3 sẽ gấp đôi.

- Chế độ 0,2 có tốc độ cố định:

Chệ độ 0: bằng tần số dao động trên chíp chia cho 12.

Chế độ 2: bằng tần số dao động trên chíp chia 32 hoặc 64 tùy vào SMOD. SMOD =0: chia 64.

SMOD = 1: chia 32. Sau khi reset thì chia 64.

- Chế độ 1 và 3: Tần số dựa vào thời gian tràn của timer 1.

Vì PCON không được địa chỉ theo bit, nên để đặt bit SMOD lên 1 thì ta có thể làm như sau:

MOV A. PCON; lấy giá trị hiện thời của PCON SETB ACC.7; đặt lên 1

MOV PCON, A; nạp ngược lại.

Nhng chú ý khi s dng timer 1 làm xung nhp tc độ baud chế độ 1 và 3:

Xét 8051, ta khởi động TMOD ở chế độ 8 bit tự động nạp lại, có thể làm như sau:

MOV TMOD, #0010xxxxB Với : x là bit 0 hoặc 1 .

Ta có thể dùng chế độ 16 bit. MOV TMOD, # 0001xxxxB.

Ty nhiên tốn thêm phần mềm vì phải nạp lại TH1, TL1 sau mỗi lần tràn, việc này phải thực hiện trong chương trình phục vụ ngắt.

Công thức tổng quát để xác định tốc độ baud trong chế độ l,3: Tốc độ baud - tộc độ tràn timer 1/32.

chính xác nếu dùng thạch anh 11.059MHz.

Ta hãy so sánh giữa thạch anh 12MHz và 11,059MHz

Tốc độ baud Tần số thạch anh SMOD Giá trị nạp Th1 Tốc độ baud thật Sai số 9600 12 MHz 1 - 7 (F9H) 8923 7% 2400 12 MHz 0 - 13 (F3H) 2404 0,16% 1200 12 MHZ 0 - 26 (E6H) 1202 0,16% 9600 11,059 0 - 3 (FDH) 9600 0 2400 11,059 0 - 12 (F4H) 2400 0 1200 11,059 0 - 24 (E8H) 1200 0 1.1.6. TỔ CHỨC NGẮT CỦA MCS51

- Có 5 nguồn ngắt ở MCS51: 2ngắt ngoài, ngắt từ timer và 1 ngắt port nối tiếp. Tất cả các ngắt theo mặc nhiên đều bị cấm sau khi reset hệ thống và được cho phép từng cái hàng phần mềm.

- Khi có 2 hoặc nhiều ngắt đồng thời, hoặc một ngắt xảy ra trong khi 1 ngắt khác đông được phục vụ, thì có 2 cách giải quyết: sự tuần tự hỏi vòng và sơ đồ ưu tiên. Việc hệ vòng tuần tự thì cố định. còn ưu tiên ngắt thì có thể lập trình.

Cho phép và cấm các ngắt:

Thông qua thanh ghi IE (interrupt enable) ở địa chỉ A8H

Bit Ký hiệu Địa chỉ bit Mô tả (1: cho phép, 0: cấm)

IE.7 EA AFH cho phép/cấm toàn bộ

IE.6 AEH Không được định nghĩa

IE.5 ET2 ADH Ngắt timer 2 (8052)

IE.4 ES ACH Ngắt port nôi tiếp

IE.3 ET1 ABH Ngắt timer 1

IE.2 EXT0 AAH Ngát ngoài 1 (adsbygoogle = window.adsbygoogle || []).push({});

IE.1 EX0 A9H Ngắt timer 0

IE.0 EX0 A8H Ngát ngoài 0

1.1.6.1. Ưu tiên ngt:

Lập trình thông qua thanh ghi chức năng đặc biệt địa chỉ bit IP (interrupt priority) ở địa chỉ B8H.

Bảng tóm tắt thanh ghi IP

Bit Ký hiệu Địa chỉ bit Mô tả (1: mức cao hơn, 0: mức thấp hơn)

IP.7 - - Không định nghĩa

IP.6 - - Không định nghĩa

IP.5 PT2 BDH Uu tiên ngắt timer (8052) IP.4 PS BCH Ưu tiên ngắt port nôi tiếp IP.3 PT1 BBH Ưu tiên ngắt timer 1 IP.2 PX1 BAH Ưu tiên ngắt ngoài 1 IP.1 PT0 B9H Ưu tiên ngắt timer 0 IP.0 PX0 B8H Ưu tiên ngắt ngoài 0

1.1.6.2. Hi vòng tun t:

Nếu 2 ngắt cùng độ ưu tiên xảy ra đồng thời, thì hỏi vòng tuần tự sẽ xác định cái nào sẽ phục vụ trước theo thứ tự như sau:

Ngắt ngoài 0, timer 0, bên ngoài 1, timer 1, port nối tiếp và timer 2.

Các vectơ ngắt

Ngắt Cờ Địa chỉ vectơ

Reset hệ thống RST 0000H

Bên ngoài 0 IE0 0003H

Timer 0 TF0 000BH

Bên ngoài 1 IE1 0013H

Timer 1 TFI 001BH

Port nối tiếp TI hoặc RI 0023H

1.1.7. TÓM TẮT TẬP LỆNH CỦA 89C51

Các chương trình được cấu tạo từ nhiều lệnh chúng được xây dựng logic, sự nối tiếp của các lệnh được nghe ra một cách hiệu quả và nhanh.

Tập lệnh họ MSC - 51 được sự kiểm tra của các mode định vị và các lệnh của chúng có các Opcode 8 bit. Điều này cung cấp khả năng 28 = 256 lệnh được thi hành. Vì lệnh có 1 hoặc 2 byte bởi dữ liệu hoặc địa chỉ thêm vào Opcode. Trong toàn bộ các lệnh có 139 lệnh 1 byte, 92 lệnh 2 byte và 24 lệnh 3 byte.

1.1.7.1. Các chếđộ định vđịa ch (addressing mode):

định rõ nguồn hoặc nơi gửi tới của dữ liệu ở các đường khác nhau tùy thuộc vào trạng thái của người lập trình. 89C51 có 8 mode định vị được dùng như sau:

√ Thanh ghi. √ Trực tiếp √ Gián tiếp. √ Tức thời. √ Tương đối. √ Tuyệt dối. √ Dài √ Định vị. 1.1.7.2. Tóm tl tp lnh ca h MCS - 51: a.Nhóm lnh chuyn d liu: Lệnh Mô tả MOV A, Rn (A) ← (Rn)

MOV A, @Ri (A) ← ((Ri))

MOV A, #data (A) ← #data

MOV Rn, A (Rn) ← (A) .

MOV Rn, #data (Rn) ← #data MOV direct, Rn (direct) ← (Rn) MOV direct, @Ri (direct) ← ((Ri)) MOV direct, #data (direct) ← #data (adsbygoogle = window.adsbygoogle || []).push({});

MOV @Ri, A ((Ri)) ← (A)

MOV @ Ri, direct ((Ri)) ← (direct) MOV @Ri, #data ((Ri)) ← (data) MOVX @Ri, A ((Ri)) ← (A) MOVX @dprt, A ((dptr) ← (A) PUSH direct (SP) ← (SP) + 1

(SP) ← (direct)

POP direct (direct) ← ((SP)) (SP) ← (SP) - 1 XCH A, Rn (direct) ↔ (Rn) XCH A, direct (A) ↔ (direct)

XCHA, @Ri (A) ↔ ((Ri)) XCHD A, @Ri (A3 - 0) ↔ ((Ri3 - 0))

Một phần của tài liệu Tài liệu tham khảo hỗ trợ môn vi xử lý các họ vi điều khiển thế hệ mới (Trang 25 - 30)