1. Trang chủ
  2. » Giáo Dục - Đào Tạo

chương 3 giới thiệu họ microcontroller

35 207 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 35
Dung lượng 1,13 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

2.3.Port 2: Port 2 là Port công dụng kép trên các chân 21-28 được dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ mở rộng... 2.6.ALE Addres

Trang 1

Chương III:

GIỚI THIỆU HỌ MICROCONTROLLER

I.PHẦN CỨNG:

1 Sơ đồ khối:

Microcontroller 8051/8031 là một IC thuộc họ vi điều khiển MCS_51 dohãng Intel phát minh và chế tạo.Các IC tiêu biểu cho họ MC_51 là 8051 và8031

4K ROM

CPU

Bộ dao

động

Port nối tiếp

Điều khiển bus

Các thanh

P3P1P2P0

PSE

Timer 0 Port nối tiếp

T1 T0

INT0 INT1

Sơ đồ khối 8051

Trang 2

Chúng có các đặc điểm chung sau:

+ 4K byte ROM (được lập trình bởi nhà sản xuất ,chỉ có ở 8051)

+ 128 byte Ram

+ 4 port I/O 8 bit

+ 2 bộ định thì 16 bit

+ Giao tiếp nối tiếp

+ 64K không gian bộ nhớ chương trình mở rộng

+ 64K không gian bộ nhớ dữ liệu mở rộng

+ Một bộ xử lý luận lý (thao tác trên các bit đơn)

+ 210 bit có khả năng định vị riêng biệt trong Ram nội

+ 5 nguồn ngắt với 2 mức ưu tiên

2.Sơ lược các chân của 8051:

P0.6 P0.5

P0.7

P0.4 P0.3 P0.2 P0.1 P0.0 39

33 34 35 36 37 38

P1.6 P1.5 P1.7

P1.4 P1.3 P1.2 P1.1 P1.0 1

7654328

P2.6 P2.5

P2.7

P2.4 P2.3 P2.2 P21 P2.0 21

2726 25 24 2322

28P3.6

P3.5

P3.7

P3.4 P3.3 P3.2 P3.1 P3.010

161514131211

17/WR

T1

/RD

T0 /INT1 /INT0 TXD RXD

19

2930319

ALE

RST

PSENEA

18

12MHz

30pF

30pF

20

VSS40

8051

Trang 3

2.1.Port 0:

Port 0 gồm các chân từ 32 ÷ 39 Port 0 có chức năng I/O trong các thiết kế cở nhỏ (không dùng bộ nhớ mở rộng) Đối với các thiết kế lớn với bộ nhớ mở rộng ,nó được hợp kênh giữa bus địa chỉ và bus dữ liệu

2.2.Port 1:

Port 1 là một Port I/O trên các chân 1-8 .Các chân được ký hiệu P1.0,P1.1,…có thể dùng giao tiếp với các thiết bị ngoài nếu cần

2.3.Port 2:

Port 2 là Port công dụng kép trên các chân 21-28 được dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ đối với các thiết kế dùng bộ nhớ mở rộng

2.4.Port 3:

Port 3 là một Port công dụng kép trên các chân 10-17 Các chân của Port này có nhiều chức năng ,các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 8051/8031như ở bảng sau:

P3.0 RXD Dữ liệu nhận cho Port nối tiếp

P3.1 TXD Dữ liệu phát cho Port nối tiếp

Trang 4

P3.4 T0 Ngõ vào của Timer/Counter 0

P3.6 /WR Xung ghi bộ nhớ dữ liệu

ngoài

P3.7 /RD Xung đọc bộ nhớ dữ liệu

ngoài

2.5.PSEN ( Prorgam Store Enable ):

8051/8031 có 4 tín hiệu điều khiển

PSEN là tín hiệu ra trên chân 29 nó là tín hiệu điều khiển để cho phépbộ nhớ chương trình mở rộng và thường được nối đến chân OE (Output Enable)của một EPROM để cho phép đọc các byte mã lệnh

PSEN sẽ ở mức thấp trong thời gian lấy lệnh Các mã nhị phân của chươngtrình được đọc từ ERPOM qua bus dữ liệu và được chốt vào thanh

ghi lệnh của 8051 để giải mã lệnh Khi thi hành chương trình trong ROM nội (8051) PSEN sẽ ở mức thụ động cao

2.6.ALE( Address Latch Enable ):

Tín hiệu ra ALE trên chân 30 ,8051 dùng ALE cho việc giải kênh các busđịa chỉ và dữ liệu.Khi Port 0 được dùng trong chế độ chuyển đổi củă nó: vừa làbus dữ liệu vừa là byte thấp của bus địa chỉ ,AlE là tín hiệu để chốt địa chỉ vàomột thanh ghi bên ngoài ,trong nữa đầu của chu kỳ bộ nhớ Sau đó các đườngPort dùng để xuất hoặc nhập dữ liệu trong nữa chu kỳ sau của bộ nhớ

2.7.EA ( External Access ):

Đây là tín hiệu cho phép lựa chọn truy xuất bộ nhớ chương trình trong hayngoài Khi EA được mắc lên mức cao (+5V) thì 8051 thi hành chương trình trongROM nội Ngược lại, nếu Ea được mắc xuống mức thấp (GND) thì 8051 chỉthực thi chương trình từ bộ nhớ mở rộng

2.8.RST ( Reset ):

Ngỏ vào RST trên chân 9 là ngỏ reset của 8051 Khi tín hiệu này đượcđưa lên mức cao (trong ít nhất 2 chu kỳ máy),các thanh ghi bên trong 8051 đượctải những giá trị thích hợp để khởi động hệ thống

2.10.Các ngỏ vào bộ dao động trên chip:

Trang 5

8051 có một bộ dao động trên chip ,nó thường được nối với một thạchanh giữa hai chân 18 và 19.

2.11.Các chân nguồn :

8051 vận hành với nguồn đơn +5V Vcc (+5V) được nối vào chân 40 vàVss (GND) được nối vào chân 20

3.Tổ chức bộ nhớ:

8051/8031 có bộ nhớ theo cấu trúc Harvard : có vùng nhớ riêng biệt chochương trình và dữ liệu ,cả chương trình và dữ liệu có thể ở bên trong 8051 Dùvậy chúng có thể được mở rộng bằng các thành phần ngoài lên đến tối đa 64Kbyte bộ nhớ chương trình và 64K byte bộ nhớ dữ liệu

Bộ nhớ bên trong bao gồm ROM (8051) và RAM trên chip , RAM trênchip bao gồm nhiều phần : phần lưu trữ đa dụng , phần lưu trữ địa chỉ hóa từngbit, các bank thanh ghi và các thanh ghi chức năng đặc biệt

Hai đặc tính cần lưu ý là :

• Các thanh ghi và các Port xuất nhập đã được xếp trong bộ nhớ và có thểđược truy xuất trực tiếp giống như các địa chỉ bộ nhớ khác

• Ngăn xếp bên trong RAM nội nhỏ hơn so với Ram ngoài như trong các bộ vixử lý khác

ĐỊA CHỈ ĐỊA CHỈ

BYTE ĐỊA CHỈ BIT BYTE ĐỊA CHỈ BIT

RAM ĐA ĐỤNG

FF F0 F7 F6 F5 F4 F3 F2 F1 F0 B E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC D0 D7 D6 D5 D4 D3 D2 - D0 PSW

B8 - - - BC BB BA B9 B8 IP 2F 7F 7E 7D 7C 7B 7A 79 78

2E 77 76 75 74 73 72 71 70 B0 B7 B6 B5 B4 B3 B2 B1 B0 P3 2D 6F 6E 6D 6C 6B 6A 69 68

2C 67 66 65 64 63 62 61 60 A8 AF - - AC AB AA A9 A8 IE 2B 5F 5E 5D 5C 5B 5A 59 58

2A 57 56 55 54 53 52 51 50 A0 A7 A6 A5 A4 A3 A2 A1 A0 P2

29 4F 4E 4D 4C 4B 4A 49 48

28 47 46 45 44 43 42 41 40 99 Không được địa chỉ hóa bit SBUF

Trang 6

27 3F 3E 3D 3C 3B 3A 39 38 98 9F 9E 9D 9C 9B 9A 99 98 SCON

26 37 36 35 34 33 32 31 30

25 2F 2E 2D 2C 2B 2A 29 28 90 97 96 95 94 93 92 91 90 P1

24 27 26 25 24 23 22 21 20

23 1F 1E 1D 1C 1B 1A 19 18 8D Không được địa chỉ hóa bit TH1

22 17 16 15 14 13 12 11 10 8C Không được địa chỉ hóa bit TH0

21 0F 0E 0D 0C 0B 0A 09 08 8B Không được địa chỉ hóa bit TL1

20 07 06 05 04 03 02 01 00 8A Không được địa chỉ hóa bit TL0 1F BANK 3 89 Không được địa chỉ hóa bit TMOD

17 BANK 2 87 Không được dịa chỉ hóa bit PCON 10

0F BANK 1 83 Không được địa chỉ hóa bit DPH

07 BANK 0

(thanh ghi R0-R7) 81 Không được địa chỉ hóa bit SP

Tóm tắc bộ nhớ dữ liệu trên chip

• Chi tiết về bộ nhớ Ram trên chip :

Ram bên trong 8051/8031 được phân chia giữa các bank thanh ghi 1FH),Ram địa chỉ hóa từng bit (20H-2FH),Ram đa dụng (30H_7FH)và cácthanh ghi chức năng đặc biệt (80H-FFH)

(00H-3.1

Ram đa dụng:

Mọi địa chỉ trong vùng RAM đa dụng đều có thể được truy xuất tự dodùng cách đánh địa chỉ trực tiếp hoặc gián tiếp Ví dụ, để đọc nội dung ở địa chỉ5FH của RAM nội vào thanh ghi tích lũy lệnh sau sẽ được dùng :

MOV A, #5FH

Lệnh này di chuyển một búyt dữ liệu dùng cách đánh địa chỉ trực tiếp đểxác định “địa chỉ nguồn” (5FH) Đích nhận dữ liệu được ngầm xác định trongmã lệnh là thanh ghi tích lũy A

RAM bên trong cũng có thể được truy xuất dùng cách đánh địa chỉ giántiếp qua RO hay R1 Ví dụ, sau khi thi hành cùng nhiệm vụ như lệnh đơn ở trên: MOV R0, #5FH

MOV A, @R0

Lệnh đầu dùng địa chỉ tức thời để di chuyển giá trị 5FH vào thanh ghi R0và lệnh thứ hai dùng địa gián tiếp để di chuyển dữ liệu “được trỏ bởi R0” vàothanh ghi tích lũy

3.2.RAM địa chỉ hóa từng bit :

Trang 7

8051 / 8031 chứa 210 bit được địa chỉ hóa, trong đó 128 bit là ở các địachỉ byte 20H đến 2FH, và phần còn lại trong các thanh ghi chức năng đặc biệt

Ý tưởng truy xuất từng bit riêng rẽ bằng mềm là một đặc tính tiện lợi của

vi điều khiển nói chung Các bit có thể được đặt, xóa, AND,OR …với một lệnhđơn Đa số các chi xử lí đòi hỏi một chuổi lệnh đọc – sửa– ghi để đạt được hiệuquả tương tự Hơn nữa, các port I/0 cũng được địa chỉ từng bit làm đơn giảnphần mềm xuất nhập từng bit

Có 128 bit được địa chỉ hóa đa dụng ở các byte 20H đến 2FH Các địa chỉnày được truy xuất như các byte hoặc các bit phụ thuộc vào lệnh được dùng vídụ, để đặt bit 67H, ta dùng lệnh sau :

SETB 67HChú ý rằng “địa chỉ bit 67H” là bit có trọng số lớn nhất (MSB) ở “địa chỉbyte 2CH” lệnh trên sẽ không tác động đến các bit khác của địa chỉ này

3.3.Các bank thanh ghi :

32 byte thấp nhất của bộ nhớ nội là dành cho các bank thanh ghi Bộ lệnhcủa 8051 / 8031 hổ trợ 8 thanh ghi (RO đến R7) và theo mặc định (sau khi Resethệ thống) các thanh ghi này ở các địa chỉ 00H-07H Lệnh sau đây sẽ đọc nộidung ở địa chỉ 05H vào thanh ghi tích lũy

MOV A,R5

Đây là lệnh một byte dùng địa chỉ thanh ghi Tất nhiên, thao tác tương tựcó thể được thi hành bằng lệnh 2 byte dùng địa chỉ trực tiếp nằm trong byte thứhai:

MOV A,05H

Các lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn cáclệnh tương ứng nhưng dùng địa chỉ trực tiếp Các giá trị dữ liệu được dùngthường xuyên nên dùng một trong các thanh ghi này

Bank thanh ghi tích cực có thể chuyển đổi bằng cách thay đổi các bitchọn bank thanh ghi trong từ trạng thái chương trình (PSW) Giả sử rằng bankthanh ghi 3 được tích cực, lệnh sau sẽ ghi nội dung của thanh ghi tích lũy vàođịa chỉ 18H:

MOV R0,A

Ýù tưởng dùng “các bank thanh ghi” cho phép “chuyển hướng” chươngtrình nhanh và hiệu qủa (từng phần riêng rẽ của phần mềm sẽ có một bộ thanhghi riêng không phụ thuộc vào các phần khác)

Trang 8

3.4 Các thanh ghi chức năng đặc biệt:

Các thanh ghi trong 8051/8031 được định dạng như một phần của RAMtrên chip Vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi trực tiếp,sẽ không có lợi khi đặt chúng vào trong RAM trên chip) Đó là lý do để8051/0831 có nhiều thanh ghi Cũng như R0 đến R7, có 21 thanh ghi chức năngđặc biệt (SFR: Special Funtion Register) ở vùng trên của RAM nội, từ địa chỉ80H đến FFH Chú ý rằng hầu hết 128 địa chỉ từ 80H đến FFH không được địnhnghĩa Chỉ có 21 địa chỉ SFR là được định nghĩa

Ngoại trừ tích lũy (A) có thể được truy xuất ngầm như đã nói, đa số cácSFR được truy xuất dùng địa chỉ trực tiếp chú ý rằng một vài SFR có thể đượcđịa chỉ hóa bit hoặc byte Người thiết kế phải thận trọng khi truy xuất bit vàbyte Ví dụ lệnh sau:

SETB 0E0H

Sẽ set bit 0 trong thanh ghi tích lũy, các bit khác không thay đổi Ta thấyrằng E0H đồng thời là địa chỉ byte của thanh ghi tích lũy và là địa chỉ bit cótrọng số nhỏ nhất trong thanh ghi tích lũy Vì lệnh SETB chỉ tác động trên bit,nên chỉ có địa chỉ bit là có hiệu quả

a)Từ trạng thái chương trình:

Từ trạng thái chương trình (PSW: Program Status Word) ở địa chỉ D0Hchứa các bit trạng thái như bảng tóm tắt sau:

OV

D7HD6HD5HD4HD3H

D2H

Cờ nhớCờ nhớ phụCờ 0

Bit 1 chọn bank thanh ghiBit chọn bank thanh ghi

00=bank 0; địa chỉ 00H-07H01=bank 1: địa chỉ 08H-0FH10=bank 2:địa chỉ 10H-17H11=bank 3:địa chỉ 18H-1FHCờ tràn

Trang 9

D1HD0H

Dự trữCờ Parity chẵn

Bảng Từ trạng thái chương trình

• Cờ nhớ (CY) :bit địa chỉ là D7H,cờ nhớ được set lên 1 nếu có nhớ ở bit thứ 7trong phép toán cộng hay có mượn ở bit thứ 7 trong phép toán trừ

• Cờ nhớ phụ:Khi cộng các số BCD, cờ nhớ phụ (AC) được set nếu kết qủacủa 4 bit thấp trong khoảng 0AH đến 0FH Nếu các giá trị cộng được là sốBCD, thì sau lệnh cộng cần có DA A( hiệu chỉnh thập phân thanh ghi tíchlũy) để mang kết qủa lớn hơn 9 trở về tâm từ 0÷9

• Cờ 0(F0): là một bit cờ đa dụng dành các ứng dụng của người dùng

• Các bit chọn bank thanh ghi:

Các bit chọn bank thanh ghi (RSO và RS1) xác định bank thanh ghi được tích cực Chúng được xóa sau khi reset hệ thống và được thay đổi

bằng phần mềm nếu cần Ví dụ, ba lệnh sau cho phép bank thanh ghi 3 và di chuyển nội dung của thanh ghi R7 đến thanh ghi tích lũy A:

b)Thanh ghi B:

Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghi tích lũy A chocác phép toán nhân và chia Lệnh MUL AB sẽ nhân các giá trị không dấu 8 bittrong A và B rồi trả về kết qủa 16 bit trong A (byte thấp) và B (byte cao) LệnhDIV AB sẽ chia A cho B rồi trả về kết qủa nguyên trong A và phần dư trong B

Trang 10

Thanh ghi B cũng có thể được xem như thanh ghi đệm đa dụng Nó được địa chỉhóa ttừng bit bằng các địa chỉ bit FOH đến F7H.

Con trỏ ngăn xếp:(SP)

Thanh ghi SP là thanh ghi 8 bit định vị tại địa chỉ 81H Nó chứa địa chỉ của đatahiện tại ở đỉnh stack Các phép toán liên quan đến stack boa gồm việc đưa dữliệu vào stack(PUSH) và lấy ( POP) đata ra khỏi stack Việc đưa data vào stacklàm tăng SP trước khi ghi data vào stack ,và việc lấy data ra khỏi stack sẽ làmgiảm nội dung SP

trỏ dữ liệu:

Con trỏ dữ liệu (DPTR) được dùng để truy xuất bộ nhớ ngoài là một thanhghi 16 bit ở địa chỉ 82H(DPL: byte thấp) và 83H (DPH:byte cao) Ba lệnh sau sẽghi 55H vào RAM ngoài ở địa chỉ 1000H:

để di chuyển dữ liệu trong A (55H) đến RAM ngoài ở địa chỉ được chứa trongDPTR (1000H)

c)Các thanh ghi port xuất nhập:

Các port của 8051/8031 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90

H, Port 2 ở địa chỉ A0H và Port 3 ở địa chỉ B0H Tất cả các Port đều được địachỉ hóa từng bit Điều đó cung cấp một khả năng giao tiếp thuận lợi

d)Các thanh ghi timer:

8051/8031 chứa 2 bộ định thời đếm 16 bit được dùng trong việc định thờihoặc đếm sự kiện Timer 0 ở địa chỉ 8AH (TL0:byte thấp) và 8CH (TH0:bytecao).Timer 1 ở địa chỉ 8BH (TL1:byte thấp) và 8DH (TH1: byte cao) việc vậnhành timer được set bởi thanh ghi Timer Mode (TMOD) ở địa chỉ 89H và thanhghi điều khiển timer (TCON) ở địa chỉ 88H Chỉ có TCON được địa chỉ hóa từngbit

e)Các thanh ghi port nối tiếp:

8051/8031 chức một port nối tiếp trên chip dành cho việc trao đổi thôngtin với các thiết bị nối tiếp như máy tính, modem hoặc cho việc giao tiếp vớicác IC khác có giao tiếp nối tiếp (có bộ chuyển đổi A/D, các thanh ghi dịch )

Trang 11

Một thanh ghi gọi là bộ đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H sẽ giữ cả haigiữ liệu truyền và nhận Khi truyền dữ liệu thì ghi lên SBUf, khi nhận dữ liệuthì đọc SBUF Các mode vận hành khác nhau được lập trình qua thanh ghi điềukhiển port nối tiếp (SCON) (được địa chỉ hóa từng bit) ở địa chỉ 98H.

f)Các thanh ghi ngắt:

8051/8031 có cấu trúc 5 nguồn ngắt, 2 mức ưu tiên Các ngắt bị cấm saukhi reset hệ thống và sẽ được cho phép bằng việc ghi thanh ghi cho phép ngắt(IE) ở địa chỉ 8AH Cả hai thanh ghi được địa chỉ hóa từng bit

g)Các thanh ghi điều khiển công suất:

Thanh ghi điều khiển công suất (PCON) ở địa chỉ 87H chứa nhiều bit điềukhiển Chúng được tóm tắt trong bảng sau:

Bit này liên quan đến tốc độ baud trong Port nốitiếp

Không định nghĩaKhông định nghĩaKhông định nghĩaBit cờ đa dụng 1Bit cờ đa dụng 0Giảm công suấtChuyển sang chế độ nghỉ

BảngThanh ghi điều khiển công suất (PCON)

3.5 Bộ nhớ ngoài.

Khi dùng bộ nhớ ngoài, port 0 không còn là một port I/O thuần túy nữa.Nó được hợp kênh giữa bus địa chỉ (A0-A7) và bus dữ liệu (D0-D7) với tín hiệuALE để chốt byte thấp của địa chỉ khi bắt đầu mỗi chu kỳ bộ nhớ Port 2 thôngthường được dùng cho byte cao của bus địa chỉ

Trong nửa đầu của mỗi chu kỳ bộ nhớ, byte thấp của địa chỉ được cấptrong port 0 và được chốt bằng xung ALE Một IC chốt 74HC373 (hoặc tươngđương) sẽ giữ byte địa chỉ thấp trong phần còn lại của chu kỳ bộ nhớ Trong nửa

Trang 12

sau của chu kỳ bộ nhớ port 0 được dùng như bus dữ liệu và được đọc hoặc ghitùy theo lệnh.

a) Truy xuất bộ nhớ chương trình ngoài:

Bộ nhớ chương trình ngoài là mộ IC ROM được phép bởi tín hiệu PSEn.Hình sau mô tả cách nối một EPROM vào 8051/8031:

Một chu kỳ máy của 8051/8031 có 12 chu kỳ xung nhịp Nếu bộ dao độngtrên chip được lái bởi một thạch anh 12MHz thì chu kỳ máy kéo dài 1µs Trongmột chu kỳ máy sẽ có 2 xung ALE và 2 byte được đọc từ bộ nhớ chương trình(nếu lệnh hiện hành là một byte thì byte thứ hai sẽ được loại bỏ) Giản đồ thờigian của một lần lấy lệnh được vẽ ở hình sau:

ALE

DG

Q

Port 2/PSEN

/OE

A8÷A15

Port

A0÷A7

EPROM 8051

74CH373

Giao tiếp giữa 8051/8031 và EPROM

EA

Trang 13

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

DG

Q

Port 2

/PSEN

/WR

A8÷A15

Port 0

D0÷D7

A0÷A7

RAM 8051

74CH373

Giao tiếp giữa 8051/8031 và RAM

/OE/WR

/RD

/CS NC

EA

Trang 14

cách truy xuất bộ nhớ dữ liệu ngoài là với lệnh MOVX dùng con trỏ dữ liệu(DPTR) 16 bit hoặc R0 và R1 xem như thanh ghi địa chỉ.

Kết nối bus địa chỉ và bus dữ liệu giữa RAM và 8051/8031 cũng giốngEPROM và do đó cũng có thể lên đến 64 byte bộ nhớ RAM Ngoài ra, chân RDcủa 8051/8031 được nối tới chân cho phép xuất (OE) của RAM và chân WRđược nối tới chân ghi (WR) của RAM

Giản đồ thời gian cho lệnh đọc bộ nhớ dữ liệu ngoài được vẽ trên hìnhsau đối với lệnh MOVX A, @DPTR:

Giản đồ thời gian cho lệnh ghi (MOVX @DPTR, A) cũng tương tự chỉkhác đường WR sẽ thay vào đường RD và dữ liệu được xuất ra trên port 0 (RDvẫn giữ mức cao)

3.6 Lệnh reset.

8051/8031 được reset bằng cách giữ chân RST ở mức cao ít nhất trong 2chu kỳ máy và trả nó về múc thấp RST có thể được kích khi cấp điện dùng mộtmạch R-C

Trang 15

Trạng thái của tất cả các thanh ghi của 8051/8031 sau khi reset hệ thốngđược tóm tắt trong bảng sau:

00H00H0XXXXXXB0XXX0000B

Bảng Trạng thái các thanh ghi sau khi reset

Quan trọng nhất trong các thanh ghi trên là thanh ghi đếm chương trình,nó được đặt lại 0000H Khi RST trở lại mức thấp, việc thi hành chương trình

Trang 16

luôn bắt đầu ở địa chỉ đầu tiên trong bộ nhớ trong chương trình: địa chỉ 0000H.Nội dung của RAM trên chip không bị thay đổi bởi lệnh reset.

II TẬP LỆNH CỦA 8051/8031.

Tập lệnh 8051/8031 có 255 lệnh gồm 139 lệnh 1 byte, 92 lệnh 2 byte và

24 lệnh 3 byte

1 Các chế độ đánh địa chỉ: trong tập lệnh có 8 chế độ đánh địa chỉ:

a)Thanh ghi địa ghi:

8051/8031 có 4 bank thanh ghi, mỗi bank có 8 thanh ghi đ1nh số từ R0đến R7 Tại mỗi thời điểm chỉ có một bank thanh ghi được tích cực

Ngoài ra, một số thanh ghi đặc biệt như thanh ghi tích lũy ACC,B,DPTR b)Địa chỉ trực tiếp:

Trong chế độ này, các thanh ghi bên trong 8051/8031 được đánh địa chỉtrực tiếp bằng 8 bit địa chỉ nằm trong byte thứ hai của mã lệnh

c)Địa chỉ gián tiếp:

R0 và R1 được dùng để chứa địa chỉ ô nhớ mà lệnh tác động đến người

ta quy ước dùng dấu @ trước R0 hoặc R1

Mã lệnh Địa chỉ trực tiếp

Địa chỉ trực tiếp

M a õ l e än h i Địa chỉ gián tiếp

Mã lệnh Dữliệu tức thời

Địa chỉ tức thời

Trang 17

e)Địa chỉ tương đối:

Địa chỉ tương đối được dùng trong các lệnh nhảy 8051/8031 dùng giá trị 8bit có dấu để cộng thêm vào thanh ghi đếm chương trình (PC) Tầm nhảy củalệnh này trong khoảng từ –128 đến 127 ô nhớ Trước khi cộng , thanh ghi PC sẽtăng đến địa chỉ theo sau lệnh nhảy rồi tính toán địa chỉ offset cần thiết để nhảyđến địa chỉ yêu cầu Như vậy địa chỉ mới là địa chỉ tương đối so với lệnh kế tiếpchứ không phải là bản thân lệnh nhảy Thường lệnh này có liên quan đến nhãnđược định nghĩa trước

f)Địa chỉ tuyệt đối:

Địa chỉ tuyệt đối chỉ dùng trong các lệnh ACALL và JIMP Các lệnh 2byte này dùng để rẽ nhánh vào một trang 2 Kbyte của bộ nhớ trương trình bằngcách cấp 11 bit địa chỉ thấp (A0-A10) để xác định địa chỉ đích trong trang mã.Còn 5 bit cao của địa chỉ đích (A11-A15) chính là 5 bit cao hiện hành trongthanh ghi đếm chương trình Vì vậy địa chỉ của lệnh theo sau lệnh rẽ nhánh vàđịa chỉ đích của lệnh rẽ nhánh và địa chỉ đích của lệnh rẽ nhánh cần phải cùngtrang mã 2 Kbyte (có cùng 5 bit địa chỉ cao)

A15 A11 A10 A0

Xác định trang mã xác định địa chỉ trong trang mã

M a õ O f f s e t t ư ơ n g đ o ái

A 1 0 - A 8

Địa chỉ tuyệt đối

Ngày đăng: 28/11/2015, 06:25

HÌNH ẢNH LIÊN QUAN

1. Sơ đồ khối: - chương 3 giới thiệu họ microcontroller
1. Sơ đồ khối: (Trang 1)
Bảng sau mô tả các chế độ hoạt động của port nối tiếp. - chương 3 giới thiệu họ microcontroller
Bảng sau mô tả các chế độ hoạt động của port nối tiếp (Trang 29)
w