Các loại thanh ghi khác nhau được sử dụng trong Vi điều khiển 8051

Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề





Thanh ghi là phần chính của bộ vi điều khiển và bộ xử lý cung cấp một cách nhanh chóng để thu thập và lưu trữ dữ liệu. Nếu chúng ta muốn thao tác dữ liệu với bộ điều khiển hoặc bộ xử lý bằng cách thực hiện cộng, trừ, v.v., chúng ta không thể thực hiện điều đó trực tiếp trong bộ nhớ, mà nó cần các thanh ghi để xử lý và lưu trữ dữ liệu. Bộ vi điều khiển chứa một số loại thanh ghi có thể được phân loại theo nội dung hoặc hướng dẫn hoạt động trong chúng.

Các loại thanh ghi khác nhau trong vi điều khiển 8051

Đăng ký




Thanh ghi là một nơi nhỏ trong CPU có thể lưu trữ một lượng nhỏ dữ liệu được sử dụng để thực hiện các hoạt động khác nhau như phép cộng và phép nhân và tải dữ liệu kết quả lên bộ nhớ chính. Thanh ghi chứa địa chỉ của vị trí bộ nhớ nơi dữ liệu sẽ được lưu trữ. Kích thước của thanh ghi rất quan trọng đối với bộ điều khiển hiện đại . Ví dụ, đối với thanh ghi 64 bit, CPU cố gắng thêm hai số 32 bit và cho kết quả 64 bit.

Các loại đăng ký

Bộ vi điều khiển 8051 chủ yếu chứa hai loại thanh ghi:



  • Thanh ghi mục đích chung (thanh ghi có địa chỉ Byte)
  • Thanh ghi chức năng đặc biệt (Thanh ghi có thể định địa chỉ bit)
Bộ nhớ RAM 8051

Bộ nhớ RAM 8051

Các Vi điều khiển 8051 bao gồm 256 byte RAM, được chia thành hai cách, chẳng hạn như 128 byte cho mục đích chung và 128 byte cho bộ nhớ thanh ghi chức năng đặc biệt (SFR). Bộ nhớ được sử dụng cho mục đích chung được gọi là RAM và bộ nhớ được sử dụng cho SFR chứa tất cả các thanh ghi liên quan đến ngoại vi như Bộ tích lũy, thanh ghi ‘B’, Bộ định thời hoặc Bộ đếm và các thanh ghi liên quan đến ngắt.

Sổ đăng ký mục đích chung

Bộ nhớ mục đích chung

Bộ nhớ mục đích chung

Bộ nhớ có mục đích chung được gọi là RAM của vi điều khiển 8051, được chia thành 3 khu vực như ngân hàng, khu vực có địa chỉ bit và khu vực bàn phím. Các ngân hàng chứa các thanh ghi có mục đích chung khác nhau như R0-R7, và tất cả các thanh ghi như vậy là các thanh ghi có địa chỉ byte lưu trữ hoặc loại bỏ chỉ 1 byte dữ liệu.


Ngân hàng và Cơ quan đăng ký

B0, B1, B2 và B3 đại diện cho các ngân hàng và mỗi ngân hàng chứa tám thanh ghi mục đích chung khác nhau, từ ‘R0’ đến ‘R7’. Tất cả các thanh ghi này là địa chỉ byte. Không thể chuyển dữ liệu giữa các thanh ghi có mục đích chung sang thanh ghi có mục đích chung. Các ngân hàng này được chọn bởi sổ đăng ký Chương trình Trạng thái Từ (PSW).

Sổ đăng ký mục đích chung

Sổ đăng ký mục đích chung

Đăng ký PSW (Program Status Word)

Thanh ghi PSW là thanh ghi định địa chỉ bit và byte. Thanh ghi này phản ánh trạng thái của hoạt động được thực hiện trong bộ điều khiển. Thanh ghi PSW xác định lựa chọn ngân hàng bằng RS1 và RS0, như hình dưới đây. Địa chỉ vật lý của PSW bắt đầu từ D0h và các bit riêng lẻ được truy cập với D0h đến D7h.

Đăng ký PSW

Đăng ký PSW

Cờ mang (C) : Địa chỉ của cờ Carry là D7. Cờ mang này bị ảnh hưởng khi bit được tạo ra từ vị trí thứ 7.
Khi C = 0 thực hiện đặt lại
C = 1 bộ mang

Mang cờ

Mang cờ

Cờ phụ (AC) : Địa chỉ của vật mang phụ là D5. Mang bổ trợ này bị ảnh hưởng khi một bit được tạo ra từ vị trí thứ 3 đến vị trí thứ 4.
AC = 0 phụ được đặt lại
AC = 1 phụ được đặt

Hộp đựng phụ (AC)

Hộp đựng phụ (AC)

Cờ tràn (OV) : Địa chỉ của cờ tràn là D2. Khi một bit được tạo ra từ vị trí thứ 6 đến vị trí thứ 7, thì cờ tràn bị ảnh hưởng.

OV = 0 đặt lại cờ tràn
OV = 1 bộ cờ tràn

Cờ tràn

Cờ tràn

Cờ chẵn lẻ (P) : Địa chỉ của cờ chẵn lẻ là D0. Trong khi thực hiện các phép toán số học, nếu kết quả là 1, thì cờ chẵn lẻ được đặt - nếu không, hãy đặt lại.
RS1 và RS0
RS1 và RS0, các bit trong thanh ghi PSW, được sử dụng để chọn các vị trí bộ nhớ khác nhau (bank0 đến bank4) trong RAM.

Đăng ký lựa chọn ngân hàng

Đăng ký lựa chọn ngân hàng

Sau đây là một ví dụ về việc sử dụng thanh ghi này.

Ví dụ sau minh họa việc cộng hai số và sau đó lưu trữ giá trị cuối cùng trong thanh ghi Bank1 bằng cách sử dụng một chương trình cấp hợp ngữ.

Tổ chức 0000h
MOV PSW, # 00h
MOV A, 15
THÊM A, 20
MOV 00h, A
KẾT THÚC

Chương trình hợp ngữ để di chuyển 6 số tự nhiên trong bank0 thanh ghi R0-R5

Tổ chức 0000h (khai báo địa chỉ bắt đầu)
MOV PSW, # 00h (mở bộ nhớ bank0)
MOV r0, # 00h (địa chỉ bắt đầu của bộ nhớ bank0)
MOV r1, # 01h
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05h
KẾT THÚC

Chương trình lắp ráp để di chuyển 6 số tự nhiên trong thanh ghi bank1 R0-R7

Tổ chức 0000h (khai báo địa chỉ bắt đầu)
MOV PSW, # 08h (mở bộ nhớ bank1)
MOV r0, 00h (giá trị gửi đến bộ nhớ bank1)
MOV r1, 02 giờ
MOV r2, 02 giờ
MOV r2, 03 giờ
MOV r3, 04 giờ
MOV r4, 05 giờ
MOV r5, 06 giờ
MOV r6, 07 giờ
MOV r7, 08 giờ
KẾT THÚC

Thanh ghi chức năng đặc biệt (SFR)

Thanh ghi chức năng đặc biệt là RAM trên trong bộ vi điều khiển 8051 . Các thanh ghi này chứa tất cả các thanh ghi liên quan đến ngoại vi như P0, P1, P2, P3, bộ định thời hoặc bộ đếm, cổng nối tiếp và các thanh ghi liên quan đến ngắt. Địa chỉ bộ nhớ SFR bắt đầu từ 80h đến FFh. Thanh ghi SFR được thực hiện bởi thanh ghi địa chỉ bit và thanh ghi địa chỉ byte.

Thanh ghi chức năng đặc biệt (SFR)


Thanh ghi chức năng đặc biệt (SFR)

Các thanh ghi tích lũy, thanh ghi B, Po, P1, P2, P3, IE là thanh ghi địa chỉ bit còn lại tất cả đều là thanh ghi địa chỉ byte.

Tích lũy

Bộ tích lũy còn được gọi là ACC hoặc A là một bit cũng như một thanh ghi có thể định địa chỉ byte bởi một địa chỉ của bộ tích lũy. Nếu bạn muốn sử dụng thanh ghi định địa chỉ bit, bạn có thể sử dụng một bit (E0) của thanh ghi và bạn có thể sử dụng 8 bit của bộ tích lũy làm thanh ghi định địa chỉ byte. Bộ tích lũy lưu giữ kết quả của hầu hết các phép toán Số học và logic.

Đăng ký bộ tích lũy

Đăng ký bộ tích lũy

Chương trình Assembly cho phép trừ được sử dụng với Bộ tích lũy

Tổ chức 0000h
MOV R0, # 09h
MOV A, # 03h (dữ liệu 1byte)
SUBB A, 01 giờ (dữ liệu 1byte)
KẾT THÚC

B-Đăng ký

Thanh ghi B là thanh ghi định địa chỉ bit và byte. Bạn có thể truy cập 1 bit hoặc tất cả 8 bit bằng địa chỉ vật lý F0h. Giả sử để truy cập một bit 1, chúng ta phải sử dụng f1. Thanh ghi B chỉ được sử dụng cho các phép toán nhân và chia.

B-Đăng ký

B-Đăng ký

Chương trình hợp ngữ để nhân được sử dụng với thanh ghi B

Tổ chức 0000h
MOV A, # 09h
MOV B, # 03h
MUL A, B (Giá trị cuối cùng được lưu trữ trong A)
KẾT THÚC
Chương trình lắp ráp cho Bộ phận được sử dụng với Thanh ghi B
Tổ chức 0000h
MOV A, # 09h
MOV B, # 03h
DIC A, B (Giá trị cuối cùng được lưu trữ trong A)
KẾT THÚC

Đăng ký cổng

Bộ vi điều khiển 8051 bao gồm 4 cổng đầu vào và đầu ra (P0, P1, P2, và P3) hoặc 32 chân I / O. Mỗi pin là được thiết kế với một bóng bán dẫn và thanh ghi P. Các cấu hình pin rất quan trọng đối với một bộ vi điều khiển phụ thuộc vào các trạng thái logic của các thanh ghi. Cấu hình chân như đầu vào 1 hoặc đầu ra 0 phụ thuộc vào trạng thái logic. Nếu logic 1 được áp dụng cho bit của thanh ghi P, bóng bán dẫn đầu ra sẽ ngắt chân thích hợp hoạt động như một chân đầu vào.

Thanh ghi cổng của 8051

Thanh ghi cổng của 8051

Chương trình lắp ráp để bật tắt đèn LED của Port0

ORG 0000h
QUAY LẠI: MOV P0, # 00h
ACALL DEL1
MOV P0, # 0FF
ACALL DEL1
SJMP QUAY LẠI
DEL1: MOV R2, # 200
FR: DJNZ R0, # 230
DJNZ R2, DEL
ĐÚNG
KẾT THÚC

Bộ đếm và đăng ký

Nhiều bộ vi điều khiển bao gồm một hoặc nhiều bộ đếm thời gian và bộ đếm . Bộ định thời được sử dụng để tạo ra thời gian trễ quý giá và nguồn cho bộ định thời là một bộ dao động tinh thể. Bộ đếm được sử dụng để đếm số sự kiện bên ngoài - ví dụ: máy đếm khách quan , và nguồn cho bộ đếm là các xung bên ngoài được áp dụng trên chân bộ đếm.

Bộ vi điều khiển 8051 bao gồm hai bộ định thời và bộ đếm 16 bit như bộ định thời 0 và bộ định thời 1. Cả hai bộ định thời đều bao gồm một thanh ghi 16 bit trong đó byte thấp hơn được lưu trong TL và byte cao hơn được lưu trong TH. Timer có thể được sử dụng như một bộ đếm cũng như cho hoạt động định thời phụ thuộc vào nguồn xung đồng hồ đến bộ đếm.

Bộ đếm và Bộ định thời trong vi điều khiển 8051 chứa hai thanh ghi chức năng đặc biệt: TMOD (Thanh ghi chế độ hẹn giờ) và TCON (Thanh ghi điều khiển bộ hẹn giờ) , được sử dụng để kích hoạt và cấu hình bộ hẹn giờ và bộ đếm.

Các loại thanh ghi ca

Thanh ghi dịch chuyển là một loại mạch logic tuần tự được sử dụng chủ yếu để lưu trữ dữ liệu số. Thanh ghi shift là thanh ghi có địa chỉ bit chỉ lưu trữ một bit dữ liệu. Thanh ghi dịch chuyển được xây dựng bằng flip-flop - một nhóm flip-flop được kết nối như một chuỗi để đầu ra từ một flip-flop trở thành đầu vào của flip-flop tiếp theo.

Tất cả các flip-flops được điều khiển bởi các tín hiệu đồng hồ được thực hiện bởi D-flip-flip. Thanh ghi dịch chuyển chủ yếu được sử dụng cho truyền thông nối tiếp .

Chúng được phân thành 4 loại:

  • Nối tiếp trong Nối tiếp ra (SISO)
  • Nối tiếp trong đầu ra song song (SIPO)
  • Song song trong nối tiếp ra (PISO)
  • Song song trong đầu ra song song (PIPO)
D- thanh ghi flipflop

D- thanh ghi flipflop

Đây là tất cả các loại thanh ghi khác nhau trong vi điều khiển 8051. Chúng tôi hy vọng rằng chúng tôi đã cung cấp thành công cho bạn nội dung phù hợp với chương trình phù hợp cho từng đăng ký. Hơn nữa, nếu cần bất kỳ sự trợ giúp nào để biết mã hóa của một số thanh ghi khác, bạn có thể liên hệ với chúng tôi bằng cách bình luận bên dưới.

Tín ảnh: