Các thanh ghi chức năng đặc biệt (SFR)

Một phần của tài liệu Giáo trình Vi điều khiển Nghề: Điện tử công nghiệp Trình độ: Trung cấp (Tổng cục Dạy nghề) (Trang 39 - 43)

Mục tiêu:biết được chức năng của các thanh ghi.

Các thanh ghi nội của 8051 được cấu hình thành một phần của RAM trên chip, do vậy mỗi thanh ghi cũng có một địa chỉ. Cũng như các thanh ghi từ R0 – R7 ta có 21 thanh ghi chức năng đặc biệt SFR chiếm phần trên của RAM nội từ địa chỉ 80H – FFH. Lưu ý không phải tất cả 128 địa chỉ từ

80H – FFH đều được định nghĩa mà chỉ có 21 địa chỉ được định nghĩa.

5.1. Từ trạng thái chương trình PSW (program status word).

Thanh ghi PSW có địa chỉ là D0H chứa các bit trạng thái có chức năng được tóm tắt trong bảng sau:

BIT KÝ

HIỆU

ĐỊA CHỈ

MÔ TẢ

PSW.7 C hoặc CY

D7H Cary Flag: Cờ nhớ

PSW.6 AC D6H Auxiliary Cary Flag: Cờ nhớ phụ PSW.5 F0 D5H Flag 0 còngọi là cờ Zero kí hiệu là Z

PSW4 RS1 D4H Register Bank Select 1: bit lựa chọn bank thanh ghi.

PSW.3 RS0 D3H Register Bank Select 0: bit lựa chọn bank thanh ghi.

00 = Bank 0; ô nhớ có address 00H÷07H gán cho R0-R7

01 = Bank 1; ô nhớ có address 08H÷0FH gán cho R0-R7

10 = Bank 2; ô nhớ có address 10H÷17H gán cho R0-R7

11 = Bank 3; ô nhớ có address 18H÷1FH gán cho R0-R7

PSW.2 OV D2H Overflow Flag: cờ tràn số nhị phân có dấu.

PSW.1 - D1H Reserved: chưa thiết kế nên chưa sử dụng được.

PSW.0 P D0H Even Parity Flag: cờ chẵn lẻ.

5.2. Thanh ghi B.

Thanh ghi B ở địa chỉ F0H được dùng chung với thanh chứa A trong các phép toán nhân (MUL), chia (DIV).Các bit của thanh ghi B được định địa chỉ từ F0H-F7H.

5.3. Con trỏ Stack.

Con trỏ Stack SP ( stack pointer ) là một thanh ghi 8 bit ở địa chỉ 81H.

SP chứa địa chỉ của dữ liệu hiện đang ở đỉnh của Stack. Các lệnh liên quan đến Stack bao gồm lệnh cất dữ liệu vào Stack ( PUSH ) và lệnh lấy dữ liệu ra khỏi Stack (POP). Việc cất dữ liệu vào Satck làm tăng thanh ghi SP trước khi ghi dữ liệu và việc lấy dữ liệu ra Stack sẽ làm giảm thanh ghi SP.Nếu ta không khởi động SP, nội dung mặc định của thanh ghi này là 07H.

Vùng stack của 8051 được giữ trong RAM nội và được giới hạn đến các địa chỉ truy xuất được bởi kiểu định địa chỉ gián tiếp. Các lệnh PUSH và POP sẽ cất dữ liệu vào stack và lấy dữ liệu từ stack, các lệnh gọi chương trình con (ACALL, LCALL) và lệnh trở về (RET, RETI) cũng cất và phục hồi nội dung của bộ đếm chương trình PC (Program counter).

5.4. Con trỏ dữ liệu DPTR.

Con trỏ dữ liệu DPTR ( data pointer ) được dùng để truy xuất bộ nhớ chương trình ngoài hoặc bộ nhớ dữ liệu ngoài. DPTR là thanh ghi 16 bit có

địa chỉ là 82H ( DPL, byte thấp ) và 83H ( DPH, byte cao ).

Ex: MOV A,#55H

MOV DPTR,#1000H MOV @ D P T R ,A 5.5. Các thanh ghi Port nối tiếp.

Các port xuất nhập của 8051 bao gồm port 0 tại địa chỉ 80H, port 1 tại địa chỉ 90H, port 2 tại địa chỉ A0H và port 3 tại địa chỉ 0BH. Các port 0,2 và 3 không được dùng để xuất/nhập nếu ta sử dụng thêm bộ nhớ ngoài hoặc nếu có một số đặc tính của 8051 được sử dụng ( như là ngắt, port nối tiếp ).Tất cả các port đều được định địa chỉ từng bit nhằm cung cấp các khả năng giao tiếp mạnh.

5.6. Các thanh ghi định thời.

8051 có hai bộ đếm định thời (timer/counter) 16 bit để định các khoảng thời gian hoặc để đếm các sự kiện.Bộ định thời 0 có địa chỉ 8AH(TL0,byte thấp) và 8CH (TH0,byte cao), bộ định thời 1 có địa chỉ 8BH (TL1,byte thấp) và 8DH (TH1,byte cao).

Họat động của bộ định thời được thiết lập bởi thanh ghi chế độ định thời TMOD ( timer mode register ) ở địa chỉ 89H và thanh ghi điều khiển định thời TCON (timer control regsiter) ở địa chỉ 88H.

5.7. Các thanh ghi port nối tiếp (Serial Data Buffer).

- Bên trong 8051 có một port nối tiếp để truyền thông với các thiết bị

nối tiếp như các thiết bị đầu cuối hoặc moderm, hoặc để giao tiếp với các IC khác. Một thanh ghi đựơc gọi là bộ đệm dữ liệu nối tiếp SBUF (serial data buffer) ở địa chỉ 99H lưu trữ dữ liệu truyền đi và dữ liệu nhận về. Việc ghi lên SBUF sẽ nạp dữ liệu để truyền và việc đọc SBUF sẽ lấy dữ liệu đã nhận được. Khi dữ liệu được chuyển vào thanh ghi SBUF, dữ liệu sẽ được chuyển vào bộ đệm truyền dữ liệu và sẽ được lưu giữ ở đó cho đến khi quá trình truyền dữ liệu qua truyền thông nối tiếp kết thúc. Khi thực hiện việc chuyển dữ liệu từ SBUF ra ngoài, dữ liệu sẽ được lấy từ bộ đệm nhận dữ liệu của truyền thông nối tiếp.

- Các chế độ hoạt động khác nhau được lập trình thông qua thanh ghi điều khiển port nối tiếp SCON (serial port control register) ở địa chỉ 98H.Chỉ có TCON được định địa chỉ từng bit.

5.8. Các thanh ghi ngắt.

8051 có một cấu trúc ngắt với hai mức ưu tiên và năm nguyên nhân ngắt. Các ngắt bị vơ hiệu hóa sau khi reset hệ thống và sau đó được cho phép ngắt bằng cách ghi vào thanh ghi cho phép ngắt IE (interrupt enable register) ở địa chỉ A8H. Mức ưu tiên ngắt được thiết lập qua thanh ghi ưu tiên ngắt IP (interrupt priority register) ở địa chỉ B8H.Cả hai thanh ghi này đều được định địa chỉ từng bit.

5.9.Thanh ghi điều khiển nguồn PCON.

Thanh ghi PCON (power control) có chức năng điều khiển công suất khi vi điều khiển làm việc hay ở chế độ chờ. Khi vi điều khiển không còn xử lý gì nữa thì người lập trình có thể lập trình cho vi điều khiển chuyển sang chế độ chờ để giảm bớt công suất tiêu thụ nhất là khi nguồn cung cấp cho vi điều khiển là pin.

Thanh ghi PCON tại địa chỉ 87H không cho phép định địa chỉ bit bao gồm các bit như sau:

Bit 7 6 5 4 3 2 1 0

Chức năng

SMOD1 SMOD0 - POF GF1 GF0 PD IDL

- SMOD1 (Serial Mode 1): = 1 cho phép tăng gấp đơi tốc độ port nối tiếp trong chế độ 1, 2 và 3.

- SMOD0 (Serial Mode 0): cho phép chọn bit SM0 hay FE trong thanh ghi SCON ( = 1 chọn bit FE).

- POF (Power-off Flag): dùng để nhận dạng loại reset. POF = 1 khi mở nguồn. Do đó, để xác định loại reset, cần phải xóa bit POF trước đó.

- GF1, GF0 (General purpose Flag): các bit cờ dành cho người sử dụng.

- PD (Power Down): được xóa bằng phần cứng khi hoạt động reset xảy ra. Khi bit PD = 1 thì vi điều khiển sẽ chuyển sang chế độ nguồn giảm.

Trong chế độ

+ Chỉ có thể thốt khỏi chế độ nguồn giảm bằng cách reset.này:

+ Nội dung RAM và mức logic trên các port được duy trì.

+ Mạch dao động bên trong và các chức năng khác ngừng hoạt động.

+ Chân ALE và PSEN

ớ mức thấp.

+ Yêu cầu Vcc phải có điện áp ít nhất là 2V và phục hồi Vcc = 5V ít nhất 10 chu kỳ trước khi chân RESET xuống mức thấp lần nữa.

- IDL (Idle): được xóa bằng phần cứng khi hoạt động reset hay có ngắt xảy ra. Khi bit IDL = 1 thì vi điều khiển sẽ chuyển sang chế độ nghỉ.

Trong chế độ này:

+ Chỉ có thể thốt khỏi chế độ nguồn giảm bằng cách Reset hay có ngắt xảy ra.

+ Trạng thái hiện hành của vi điều khiển được duy trì và nội dung các thanh ghi không đổi.

+ Mạch dao động bên trong không gởi được tín hiệu đến CPU.

+ Chân ALE và PSEN mức cao.

 Lưu ý rằng các bit điều khiển PD và IDL có tác dụng chính trong tất cả các IC họ MSC-51 nhưng chỉ có thể thực hiện được trong các phiên bản CMOS.

Một phần của tài liệu Giáo trình Vi điều khiển Nghề: Điện tử công nghiệp Trình độ: Trung cấp (Tổng cục Dạy nghề) (Trang 39 - 43)

Tải bản đầy đủ (DOCX)

(243 trang)
w