Professional Documents
Culture Documents
2.cac Thanh Ghi Chuc Nang Dac Biet - 26 - 2 - 18
2.cac Thanh Ghi Chuc Nang Dac Biet - 26 - 2 - 18
2.cac Thanh Ghi Chuc Nang Dac Biet - 26 - 2 - 18
Gồm: 21 sfr (51), 27 sfr (52). Phân bố: 80H đến FFH trong RAM
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com
1. Thanh ghi chính
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com
2. Thanh ghi phụ
F7 F6 F5 F4 F3 F2 F1 F0
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com
3. Thanh ghi trạng thái chương trình(PSW)
Mô tả toàn bộ trạng thái chương trình đang hoạt động của hệ thống
C AC F0 RS1 RS0 OV -- P
Cờ nhớ PSW.7 C
Cờ nhớ phụ PSW.6 AC
User flag PSW.5 --
Bit chọn dãy thanh ghi 1 PSW.4 RS1
Bit chọn dãy thanh ghi 0 PSW.3 RS0
Cờ tràn PSW.2 OV
Dự trữ - User define bit PSW.1 --
Cờ chẵn lẻ PSW.0 P
RS1 RS0 Register Bank Byte Address of R0-R7
0 0 0 00H-07H
0 1 1 08H-0FH
1 0 2 10H-17H
1 1 3 18H-1FH
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com
3. Thanh ghi trạng thái chương trình(PSW)
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com
3. Thanh ghi trạng thái chương trình(PSW)
• P (parity) - Cờ chẵn lẻ
• Kiểm tra chẵn lẻ cho thanh chứa A
• Số các bit 1 trong thanh chứa A cộng với bit P luôn luôn chẵn
• MOV A,#10101101B
• P=1
• Bit chẵn lẻ được sử dụng kết hợp với các chương trình xuất/nhập
nối tiếp trước khi truyền dữ liệu hoặc để kiểm tra chẵn lẻ sau khi
nhận dữ liệu
Bài tập áp dụng: Kiểm tra giá trị các bit C, AC, OV và P
trong các trường hợp sau:
VD:
VD:
MOV A,#38H MOV A,#0FFH
ADD A,#2FH ADD A,#1
38 00111000
+2F +00101111 A=00H; C=1; AC=1; P=0
---- --------------
67 01100111 MOV A,#0FH
C=0 AC=1 P=1 ADD A,#1
X có thể là 1
hoặc 0
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com
4. Con trỏ ngăn xếp (SP) Địa chỉ byte 81H
• Ngăn xếp (stack) (bộ xếp chồng) là cấu trúc dữ liệu kiểu
thùng chứa, hoạt động theo nguyên lý “vào sau ra
trước”.
• Mặc định stack bắt đầu từ địa chỉ 08H trong RAM
(SP=07H). Muốn thay đổi vùng nhớ stack ta chỉ cần thay
đổi giá trị của SP (ví dụ MOV SP,#5FH).
• Việc cất dữ liệu vào stack được thực hiện thông qua lệnh
PUSH) (làm tăng SP trước khi ghi dữ liệu). Việc lấy dữ
liệu khỏi stack được thực hiện thông qua lệnh POP (lấy
dữ liệu ra khỏi stack trước khi giảm SP).
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com
Con trỏ ngăn xếp (SP)
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com
Ví dụ:
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com
5. Con trỏ dữ liệu (DPTR)
• VD:
MOV A,#55H
MOV DPTR,#1000H
MOVX @DPTR,A
MOVC A,@A+DPTR
83H DPH
82H DPL
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com
6. Các thanh ghi I/O port: P0, P1, P2, P3
• Tất cả port đều định địa chỉ bit được (P0.0, P0.1…P0.7)
• Công dụng:
• Điều khiển thiết bị đầu ra
SETB P1.0
CLR P1.0
• Đọc tín hiệu đầu vào
WAIT: JB P1.5, WAIT
SETB P1.0
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com
7. Các thanh ghi định thời
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com
8. Các thanh ghi của port nối tiếp
• 8051 có 1 port nối tiếp để truyền thông với các thiết bị nối tiếp
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com
9. Các thanh ghi ngắt
Cao Nguyễn Khoa Nam - Khoa Điện - Trường Cao đẳng Công nghệ Đà Nẵng caonam@gmail.com