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

Một phần của tài liệu Giáo trình Lập trình vi điều khiển (Nghề: Cơ điện tử): Phần 1 - Trường CĐ Nghề Kỹ thuật Công nghệ (Trang 32 - 35)

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ế độ này:

Chỉ có thể thốt khỏi chế độ nguồn giảm bằng cách reset. Nội dung RAM và mức logic trên các port được duy trì.

Chân ALE và PSEN ớ mức thấp.

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.

6. Bộ nhớ ngồi

MCS-51 có bộ nhớ theo cấu trúc Harvard: phân biệt bộ nhớ chương trình và dữ liệu. Chương trình và dữ liệu có thể chứa bên trong nhưng vẫn có thể kết nối với 64KB chương trình và 64KB dữ liệu. Bộ nhớ chương trình được truy xuất thơng qua chân PSEN còn bộ nhớ dữ liệu đươc truy xuất thông qua chân WR hay RD.

Lưu ý rằng việc truy xuất bộ nhớ chương trình ln luôn sử dụng địa chỉ 16 bit cịn bộ nhớ dữ liệu có thể là 8 bit hay 16 bit tuỳ theo câu lệnh sử dụng. Khi dùng bộ nhớ dữ liệu 8 bit thì có thể dùng Port 2 như là Port I/O thơng thường cịn khi dùng ở chế độ 16 bit thì Port 2 chỉ dùng làm các bit địa chỉ cao.

Port 0 được dùng làm địa chỉ thấp/dữ liệu đa hợp. Tín hiệu/ALE để tách byte địa chỉ và đưa vào bộ chốt ngoài.Trong chu kỳ ghi, byte dữ liệu sẽ tồn tại ở Port 0 vừa trước khi /WR tích cực và được giữ cho đến khi /WR khơng tích cực. Trong chu kỳ đọc, byte nhận được chấp nhận vừa trước khi /RD khơng tích cực.

Bộ nhớ chương trình ngồi được xử lý 1 trong 2 điều kiện sau:

Tín hiệu EA tích cực ( = 0).

Giá trị của bộ đếm chương trình(PC- Program Counter) lớn hơn kích thước bộ nhớ.( hình 2.8)

Hình 2.8. Thực thi bộ nhớ chương trình ngồi PCH: Program Counter High – PCL: Program Counter Low DPH: Data Pointer High – DPL: Data Pointer Low

6.1. Truy xuất bộ nhớ chương trình ngồi

Q trình thực thi lệnh khi dùng bộ nhớ chương trình ngồi có thể mơ tả như hình 2.8: Thực thi bộ nhớ chương trình ngồi”. Trong quá trình này, Port 0 và Port 2 khơng cịn là các Port xuất nhập mà chứa địa chỉ và dữ liệu.

Trong một chu kỳ máy, tín hiệu ALE tích cực 2 lần. Lần thứ nhất cho phép 74HC573 mở cổng chốt địa chỉ byte thấp, khi /ALE xuống 0 thì byte thấp và byte cao của bộ đếm chương trình đều có nhưng ROM chưa xuất vì PSEN chưa tích cực, khi tín hiệu ALE lên 1 trở lại thì Port 0 đã có dữ liệu là mã lệnh. ALE tích cực lần

thứ hai được giải thích tương tự và byte 2 được đọc từ bộ nhớ chương trình. Nếu lệnh đang thực thi là lệnh 1 byte thì CPU chỉ đọc Opcode, cịn byte thứ hai bỏ qua.

6.2. Truy xuất bộ nhớ dữ liệu ngoài

Bộ nhớ dữ liệu ngoài được truy xuất bằng lệnh MOVX thông qua các thanh ghi xác định địa chỉ DPTR (16 bit) hay R0, R1 (8 bit).

Quá trình thực hiện đọc hay ghi dữ liệu được cho phép bằng tín hiệu RD hay WR (chân P3.7 và P3.6).

Một phần của tài liệu Giáo trình Lập trình vi điều khiển (Nghề: Cơ điện tử): Phần 1 - Trường CĐ Nghề Kỹ thuật Công nghệ (Trang 32 - 35)

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

(85 trang)