- 81 -
Trong quá trình điều khiển việc lựa chọn bộ nhớ ROM nằm trong hay bên
ngoài hoặc sử dụng cả hai, được thực hiện bằng cách nối đến chân EA. Ở vi điều
khiển 8051 thì chân EA được nối tới dương nguồn V
cc
.
Trình tự thực hiện chương trình trong ROM.
Sau khi nạp chương trình vào ROM thông qua bộ đốt ROM hay cổng COM,
Chương trình sẽ có địa chỉ bắt đầu từ 0000h. Để xác định vị trí lệnh thực hiện bộ
vi điều khiển sử dụng thanh ghi chương trình(bộ đếm chương trình PC), thanh
ghi này có độ dài 16 bit. Khi 8051 được bật nguồn, bộ đếm chương trình PC có
nội dung 0000h. Lúc này chương trình sẽ nạp lệnh trong ROM có địa chỉ 0000h.
Sau đ
ó bộ đếm chương trình tăng lên trỏ đến lệnh tiếp theo được thiết lập trong
ROM.
+ Bộ nhớ dữ liệu RAM
Trong vi điều khiển 8051 bộ nhớ dữ liệu RAM có kích thước 128 byte được
định địa chỉ từ 00h ÷ 7Fh, nhưng ở một số như 8052 thì có 256 byte RAM.
128 byte RAM trong 8051 được chia thành từng nhóm như sau:
Hình 5.4. Tổ chức RAM của 8051
- 82 -
- Từ ngăn nhớ 00h đến 1Fh, tổng cộng 32 byte, được dành làm các băng
thanh ghi và ngăn xếp.
- Từ ngăn nhớ 20h đến 2Fh, tổng cộng có 16 byte, được làm bộ nhớ đọc/ghi
định địa chỉ được theo bit.
- Từ ngăn nhớ 30h đến 7Fh, tổng cộng 80 byte được dùng để lưu thông tin
khi đọc và khi ghi.
* Các thanh ghi chức năng đặc biệt
+ Từ trạng thái chương trình(thanh ghi cờ PSW)
Là thanh ghi 8bit có địa chỉ 0D0h mỗi bit
đảm nhiệm một chức năng cụ thể.
Chức năng các bit thể hiện
Bit 7 6 5 4 3 2 1 0
Tên CY AC F0 RS1 RS0 OV - P
- Cờ nhớ CY: cờ này sẽ được thiết lập khi có nhớ từ bit D7 và là kết quả
của lệnh cộng hoặc trừ 8bit. Có thể thiết lập trực tiếp cờ CY lên 1 hoặc xoá về 0
bằng lệnh “SETB” và “CLR”.
- Cờ nhớ phụ AC: cờ này báo có nhớ từ bit D3 sang D4 ở phép cộ
ng ADD
hoặc trừ SUB.
- Cờ bậc P: cờ bậc(cờ chẵn lẻ) phản ánh số bit 1 trong thanh ghi A là chẵn
hay lẻ. Nếu thanh ghi A chứa một số chẵn các bit 1 thì P=0 còn chứa một số lẻ
bit 1 thì P=1.
- Cờ tràn OV: cờ được thiết lập mỗi khi kết quả của phép tính số có dấu
quá lớn làm cho bit cao bị tràn vào bit dấu.
- Cờ không F0: cờ này có thể cho người sử dụng tự định nghĩa một trạ
ng
thái nào đó trong lập trình điều khiển.
- RS1, RS2 là các cờ chỉ ra địa chỉ băng thanh ghi ta sử dụng. Trong bộ
nhớ dữ liệu của vi điều khiển 8051 có một vùng nhớ gọi là vùng nhớ băng thanh
- 84 -
ghi. Có 4 băng thanh ghi được đánh số từ 0→ 3 trong mỗi băng thanh ghi lại có
8 thanh ghi đều được gọi tên từ R0→ R7. Trong lập trình có thể sử dụng tên
R0→R7 để truy cập đến vùng nhớ đó.
+ Các thanh ghi Port: Các Port xuất nhập của 89C51 bao gồm Port 0 tại địa
chỉ 80H, Port 1, 2, 3 tương ứng tại các địa chỉ là 90H, A0H và B0H. Các Port 0,
2, 3 không được dùng để xuất nhập nếu ta sử dụng bộ nhớ ngoài hoặc có một số
6 C/T 1
Bit chọn chức năng đếm hoặc định thời:
1 = đếm sự kiện.
0 = định thời trong một khoảng thời gian.
5 M1 1 Bit chọn chế độ thứ nhất
4 M0 1 Bit chọn chế độ thứ hai
3 GATE 0 Bit điều khiển cổng cho bộ định thời 0
2 C/T 0
Bit chọn chức năng đếm hoặc định thời
cho bộ định thời 0
1 M1 0 Bit chọn chế độ thứ nhất
0 M0 0 Bit chọn chế độ thứ hai
Thanh ghi điều khiển định thời TCON (Timer Control register): chứa các
bit điều khiển và trạng thái của bộ định thời 0 và 1 được thể hiện như sau:
- 86 -
Bảng 5.4. Chức năng các bit trong thanh ghi TCON
Bit
Ký
hiệu
Địa chỉ
bit
dữ liệu truyền đi và nhận dữ liệu về. Việc ghi lên bộ đệm SBUF sẽ nạp dữ liệu
để truyền và việc đọc SBUF sẽ lấy dữ liệu đã nhận được.
Các chế độ hoạt động khác nhau của Port nối tiếp đượ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, thanh ghi này được định địa chỉ từng bit và được tóm tắt như sau:
Bảng 5.5. Chức năng các bit trong thanh ghi SCON
Bit
Ký
hiệu
Địa
chỉ
Mô tả
SCON.7 SM0 9FH Bit 0 chọn chế độ của Port nối tiếp
SCON.6 SM1 9EH Bit 1 chọn chế độ của Port nối tiếp
SCON.5 SM2 9DH Bit 2 chọn chế độ của Port nối tiếp
Bit này cho phép truyền thông đa xử lý ở các chế
độ 2 và 3; bit RI sẽ không được tích cực nếu bit thứ
9 nhận được là 0
SCON.4 REN 9CH
Cho phép thu. Bit này phải được set để nhận được
ký tự
SCON.3 TB8 9BH
Bit phát 8. Bit thứ 9 được phát ở các chế độ 2 và 3;
được set và xoá bởi phần mềm
SCON.2 RB8 9AH Bit thứ 8. Bit thứ 9 nhận được
SCON.1 TI 99H
Cờ ngắt phát. Cờ này được set ngay khi kết thúc
việc phát một ký tự; được xoá bởi phần mềm
SCON.0 RI 98H
Cờ ngắt thu. Cờ này được set ngay khi kết thúc việc
- 89 -
Bảng 5.7. Chức năng các bit trong thanh ghi IP
Bit Ký hiệu Địa chỉ bit Mô tả (1: mức cao; 0: mức thấp)
IP.7 - - Không sử dụng.
IP.6 - - Không sử dụng.
IP.5 PT2 BDH Ưu tiên cho ngắt cho bộ định thời 2.
IP.4 PS BCH Ưu tiên cho ngắt do Port nối tiếp.
IP.3 PT1 BBH Ưu tiên cho ngắt do bộ định thời 1.
IP.2 PX1 BAH Ưu tiên cho ngắt do bên ngoài (ngắt ngoài 1).
IP.1 PT0 B9H Ưu tiên cho ngắt do bộ định thời 0.
IP.0 PX0 B8H Ưu tiên ngắt do bên ngoài (ngắt ngoài 0).
Khi hệ thống được thiết lập lại trạng thái ban đầu, thanh ghi IP sẽ mặc định
tất cả các ngắt ở mức ưu tiên thấp.
+ Thanh ghi điều khiển nguồn: Thanh ghi điều khiển nguồn PCON (Power
Control register) có địa chỉ là 87H chứa các bit điều khiển được cho trong bảng
sau:
- 90 -
Bảng 5.8. Chức năng các bit trong thanh ghi PCON
Bit
Ký
hiệu