Tải bản đầy đủ (.docx) (41 trang)

Thiết kế chế tạo mạch điều khiển bằng sóng RF

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (525.86 KB, 41 trang )

KHOA CÔNG
NGHỆ ĐIỆN
TỬ
ĐỀ TÀI:

ĐIỀU KHIỂN TỪ
XA DÙNG
REMOTE
GVHD: ThS.Trần Minh Hồng
SVTH: Nguyễn Văn Pháp
MSV : 06064201
Lớp : ĐHĐT2B1

Tp. HCM Ngày 13 Tháng 06 Năm 2009


Lời
cảm
Ơn
Em xin chân thành cảm ơn ThS.Trần Minh Hồng cùng tồn thể q thầy cơ trong
khoa điện tử Trường Đại Học Công Nghiệp TPHCM đã giúp đỡ em trong thời gian làm đồ
án.
Do kiến thức còn nhiều hạn chế nên trong q trình làm đồ án em khơng thể tránh
khỏi thiếu sót. Rất mong được sự chỉ bảo của thầy cơ để em có hướng đi cao hơn trong học
tập.
Em xin chân thành cảm ơn!

2


Lời Nói


Đầu
Ngày nay khoa học kỹ thuật điện tử ngày càng phát triển mạnh với tốc độ ngày càng
nhanh. Trong đó kỹ thuật số đóng vai trị quan trọng trong sự phát triển của công nghệ điện
tử. Kỹ thuật số hoạt động đơn giản là chỉ dựa vào hai mức (cao và thấp) lên nó có độ chính
xác cao và ít ảnh hưởng bởi nhiễu. Do đó kỹ thuật số phát triển mạnh mẽ, đặc biệt nhờ sự ra
đời của Vi điều khiển – Vi xử lý năm 1971 đã thúc đẩy sự phát triển và ứng dụng của kỹ
thuật số lên một bước ngoặt mới. Vi xử lý ra đời đã giúp con người có thể giao tiếp được với
IC thơng qua các ngơn ngữ lập trình.
Việc nạp cho IC các phần mềm viết bằng một số ngôn ngữ đặc biệt, đã giúp con
người điều khiển các thiết bị hoạt động theo ý muốn thơng qua chúng. Vì vậy VXL được
ứng dụng rất nhiều trong cuộc sống của con người. Một số ứng dụng của VXL có thể được
liệt kê trong bảng dưới đây:
Thiết bị nội thất gia đình
Đồ điện trong nhà
Máy đàm thoại
Máy điện thoại
Các thiết bị an tồn
Các bộ mở của ga-ra xe
Máy fax
Máy tính gia đình
Ti vi
Truyền hình cáp
VRC
Máy quay camera
Điều kiển từ xa
Chị chơi điện tử
Các loại nhạc cụ điện tử
Máy khâu
Điều khiển ánh sáng


Văn phịng
Điện thoai
Máy tính
Các hệ thống an tồn
Máy Fax
Lị vi sóng
Máy sao chụp
Máy in lazer
Máy in màu
Máy tin nhắn

Ơ tơ
Máy tính hành trình
Điều khiển động cơ
Túy đệm khí
Thiết bị ABS
Đo lường
Hệ thống bảo mật
Điều khiển truyền tin
Giải trí
Điều hào nhiệt độ
Mở của tự động

Trong nhiều ứng dụng trên, ứng dụng điều khiển từ xa là một ứng dụng rất thú vị.
Thay vì phải đứng dậy bật quạt, tắt điện, bật điện….thì giờ đây chỉ với một chiếc điều khiển
từ xa trong tay ta có thể ở ngun vị trí trong nhà mà có thể điều khiển được tất cả thiết bị
điện tắt mở theo ý muốn. Xuất phát từ thực tế đó, em quyết định chọn đề tài này. Ý tưởng
3



thực hiện là sử dụng hồng ngoại để điều khiển, dùng một bộ phát hồng ngoại như Remote
TV có mã hóa với nhiều nút bấm, mỗi nút bấm với một mã hóa riêng điều khiển một thiết bị.
Việc giải mã được lập trình trên Vi xử lý 8051.

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
....................................................................................................................................
CHỮ KÝ GVHD

4



Mục Lục
Chương 1: CẤU TẠO VI XỬ LÝ 89V51RB2. ..........................................1

1.1. Tóm tắt phần cứng..........................................................................1
1.2. Sơ đồ khối, sơ đồ chân, chức năng các chân..................................1
1.2.1. Sơ đồ khối..............................................................................1
1.2.2. Sơ đồ chân..............................................................................1
1.2.3. Chức năng các chân................................................................2
1.2.4. Các Port..................................................................................2
1.2.5. Các chân tín hiệu điều khiển..................................................3
1.3. Tổ chức bộ nhớ...............................................................................4
1.3.1. Bộ nhớ trong...........................................................................5
1.3.2. Bộ nhớ ngoài..........................................................................10
1.3.3. Hoạt động Reset.....................................................................11
1.3.4. Lệnh số học............................................................................12
1.3.5. Lệnh logic...............................................................................12
1.3.6. Lệnh rẽ nhánh.........................................................................13
1.3.7. Các lệnh di chuyển dữ liệu.....................................................13
1.3.8. Các lệnh luận lý......................................................................14
1.4. Hoạt động của các Port nối tiếp.....................................................14
1.4.1. Thanh ghi điều khiển các Port nối tiếp SCON........................14
1.4.2. Khởi dộng và truy xuất thanh ghi Prot nối tiếp......................16
1.5. Hoạt động ngắt của 89V51RB2.....................................................17
1.5.1. Tổ chức ngắt...........................................................................18
1.5.2. Sự cho phép ngắt và sự cấm ngắt. ..........................................18
1.5.3. Sử lý các ngắt.........................................................................19
Chương 2: TÌM HIỂU VỀ HỒNG NGOẠI................................................21
2.1

Hồng ngoại là gì?...................................................................21
2.2
Hồng ngoại trong điện tử.......................................................21
2.3
Điều khiển TV sony...............................................................23
2.4
Thiết bị thu và phát................................................................27
Chương 3: SƠ ĐỒ VÀ NGUYÊN LÝ HOẠT ĐỘNG................................28
3.1
Sơ đồ nguyên lý.....................................................................28
3.2
Nguyên lý hoạt động..............................................................28
3.3
Lưu đồ thuật toán điều khiển ngõ ra P2.................................29
3.4
Mã chương trình....................................................................30
3.5
Sơ đồ mạch in........................................................................34
Chương 4: HƯỚNG PHÁT TRIỂN CỦA ĐỒ ÁN.....................................35
Chương 5: TÀI LIỆU THAM KHẢO........................................................36
5


CHƯƠNG 1:
CẤU TẠO VI XỬ LÝ 89V51RB2
1.1. Tóm tắt phần cứng
MCS-51 là họ IC vi điều khiển do hãng INTEL sản xuất. Các IC tiêu biểu cho họ là
8031, 8051, 8951… Những đặc điểm chính và nguyên tắc hoạt động của các bộ vi điều
khiển này khác nhau không nhiều. Khi đã sử dụng thành thạo một vi điều khiển thì ta có thể
nhanh chóng vận dụng kinh nghiệm để làm quen và làm chủ các ứng dụng của bộ vi điều

khiển khác. Vì vậy để có những hiểu biết cụ thể về các bộ vi điều khiển cũng như để phục vụ
cho đề tài này ta bắt đầu tìm hiểu một bộ vi điều khiển thơng dụng nhất, đó là họ MCS-51
1.2. Sơ đồ khối, sơ đồ chân, chức năng các chân:
1.2.1 Sơ đồ khối:

1.2.2. Sơ đồ chân:

6


1.2.3.Chức năng các chân:
89V51RB2 có 40 chân trong đó 32 chân có cơng dụng xuất/ nhập. Trong 32 chân đó
có 24 chân có tác dụng kép (nghĩa là 1 chân có 2 chức năng), mỗi một đường có thể hoạt
động xuất/ nhập, hoạt động như một đường điều khiển hoặc hoạt động như một đường địa
chỉ/ dữ liệu của bus địa chỉ/ dữ liệu đa hợp.
1.2.4. Các port:

 Port 0:
- Port 0 (P0.0 – P0.7) có số chân từ 32 – 39.
- Port 0 có chức năng xuất nhập dữ liệu (P0.0 – P0.7) trong các thiết kế cỡ nhỏ
không sử dụng bộ nhớ ngồi.
- Port 0 có chức năng là bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7)
trong các thiết kế cỡ lớn có sử dụng bộ nhớ ngồi.

 Port 1:
- Port 1 (P1.0 – P1.7) có số chân từ 1 – 8.
- Port 1 là port xuất nhập dữ liệu (P1.0 – P1.7) khi sử dụng hoặc khơng sử dụng bộ
nhớ ngồi.

 Port 2:

- Port 2 (P2.0 – P2.7) có số chân từ 21 – 28.
- Port 2 có chức năng là port xuất nhập dữ liệu (P2.0 – P2.7) khi không sử dụng bộ
nhớ ngồi.
- Port 2 có chức năng là bus địa chỉ byte cao (A8 - A15) khi sử dụng bộ nhớ ngoài.

 Port 3:
- Port 3 (P3.0 – P3.7) có số chân từ 10 – 17.
- Port 3 có chức năng xuất nhập dữ liệu (P3.0 – P3.7) khi khơng sử dụng bộ nhớ
ngồi hoặc các chức năng đặc biệt.
- Port 3 có chức năng là các tín hiệu điều khiển khi sử dụng bộ nhớ ngoài hoặc các
chức năng đặc biệt.
- Chức năng của các chân port 3:
Chức năng

Địa chỉ bit

Tên

Bit

.Chân nhận dữ liệu của port nối tiếp

B0H

RxD

P3.0

.Chân phát dữ liệu của port nối tiếp


B1H

TxD

P3.1

.Ngõ vào ngắt ngoài 0

B2H

\INT0

P3.2

.Ngõ vào ngắt ngoài 1

B3H

\INT1

P3.3

.Ngõ vào của bộ định thời/ đếm 0

B4H

T0

P3.4


7


.Ngõ vào của bộ định thời/ đếm 1

B5H

T1

P3.5

.Điều khiển ghi vào RAM ngồi

B6H

\WR

P3.6

.Điều khiển đọc từ RAM ngồi

B7H

\RD

P3.7

Bảng tóm tắt chức năng các chân của Port 3
1.2.5. Các chân tín hiệu điều khiển.


 Chân PSEN:
- PSEN (Program Store Enable): cho phép bộ nhớ chương trình, chân số 29.
- Chân PSEN\ có chức năng là tín hiệu cho phép truy xuất (đọc) bộ nhớ chương
trình (ROM) ngồi hoặc là tín hiệu truy xuất, tích cực mức thấp.
- PSEN ở mức thấp trong thời gian CPU tìm - nạp lệnh từ ROM ngoài. Khi CPU sử
dụng ROM trong, PSEN sẽ ở mức cao.
- Khi sử dụng bộ nhớ chương trình bên ngồi, chân PSEN\ thường được nối với
chân OE\ của ROM ngoài để cho phép CPU đọc mã lệnh từ ROM ngoài.

 Chân ALE:
- ALE (Address Latch Enable): cho phép chốt địa chỉ, chân số 30.
- Chân ALE có chức năng là tín hiệu cho phép chốt địa chỉ để thực hiện việc giải đa
hợp cho bus địa chỉ byte thấp và bus dữ liệu đa hợp (AD0 – AD7). Ngoài ra chân ALE cịn
là tín hiệu xuất, tích cực mức cao.
- Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chíp và có thể
được dùng làm tín hiệu clock cho các phần khác của hệ thống. Chân ALE được dùng làm
ngõ vào xung lập trình (PGM\).

 Chân EA\:
- EA ( External Access): truy xuất ngồi, chân số 31.
- Tín hiệu vào EA\ thường được mắc lên mức 1 hoặc mức 0. Nếu ở mức 1,
89V51RB2 thi hành chương trình từ ROM nội. Nếu ở mức 0, 89V51RB2 thi hành chương
trình từ ROM ngồi.
- Khi lập trình cho ROM trong chip thì chân EA đóng vai trị là ngõ vào của điện áp
lập trình (Vpp = 12V – 12,5V cho 89V51RB2).

 Chân RST:
- RST (Reset): thiết lập lại, chân số 9.
8



- Khi ngõ vào RST đưa lên cao ít nhất 2 chu kỳ máy, 89V51RB2 thiết lập lại trạng
thái ban đầu. Khi ngõ vào RST ở mức thấp IC hoạt động bình thuờng.

 Chân XTAL1, XTAL2:
- XTAL (Crystal): tinh thể thạch anh, chân số 18 – 19.
- XTAL1: ngõ vào mạch tạo xung clock trong chip.
- XTAL2: ngõ ra mạch tạo xung clock trong chip.
- Bộ dao động được tích hợp bên trong 89V51RB2, khi sử dụng 89V51RB2 người
thiết kế chỉ cần nối thêm thạch anh (tần số thạch anh thường sử dụng là 12MHZ) và tụ.

 Chân Vcc, GND:
- Vcc: chân số 40, cung cấp nguồn điện cho chip hoạt động.
Vcc = 4,5 – 5,5V.
- GND: chân số 20.
GND = 0V.
1.3 Tổ chức bộ nhớ.

PSEN\


WR\ RD\



FFFFH
FFFH

80H
7FH

00H

Bộ nhớ
chương
trình
(mã)

Bộ nhớ
chương
trình
(mã)

SFR

000H

Bộ nhớ
dữ liệu

0000H

Bộ nhớ trong chip

Bộ nhớ ngoài chip

9


Hình: Tóm tắt các vùng nhớ của 89V51RB2


Bảng tóm tắt bộ nhớ dữ liệu trên chip 89V51

( Special Function Register:
Thanh ghi chức năng đặc biệt )

1.3.1. Bộ nhớ trong:
Bộ nhớ trong 89V51RB2 bao gồm ROM và RAM. RAM trong 89V51RB2 bao gồm
nhiều thành phần: RAM đa chức năng, RAM định địa chỉ bit và các dãy thanh ghi.
1.3.1.1. Bộ nhớ ROM ( Bộ nhớ chương trình):
Bộ nhớ chương trình dùng để lưu trữ chương trình điều khiển cho chip hoạt động.
1.3.1.2. Bộ nhớ RAM (Bộ nhớ dữ liệu):
10


Bộ nhớ dữ liệu dùng để lưu trữ các dữ liệu và tham số.
1.3.1.3. RAM đa chức năng:
- Trên hình vẽ cho thấy 80 byte RAM đa chức năng chiếm địa chỉ từ 30H đến 7FH.
- Mọi địa chỉ trong vùng RAM đa chức năng đều có thể truy xuất tự do dùng kiểu
định địa chỉ trực tiếp hoặc gián tiếp.
1.3.1.4. RAM định địa chỉ bit:
- RAM định địa chỉ bit gồm 128 bit được định địa chỉ chứa các byte có địa chỉ từ
20H đến 2FH.
- RAM định địa chỉ bit có 3 kiểu truy xuất dữ liệu: trực tiếp, gián tiếp hoặc theo
từng bit.
1.3.1.5. Các dãy thanh ghi:
- 32 vị trí thấp của bộ nhớ nội chứa các dãy thanh ghi. Các lệnh của 89V51RB2 hỗ
trợ 8 thanh ghi từ R0 – R7 thuộc dãy 0 và theo mặc định sau khi Reset hệ thống các thanh
ghi này ở các địa chỉ từ 00H đến 07H.
- Các lệnh dùng các thanh ghi R0 đến R7 sẽ ngắn hơn và nhanh hơn so với các lệnh
có chức năng tương ứng dùng kiểu địa chỉ trực tiếp. Các dữ liệu được dùng thường xuyên

nên dùng một trong các thanh ghi này.
- Do có 4 dãy thanh ghi nên tại một thời điểm chỉ có một dãy thanh ghi tích cực.
Dãy thanh ghi tích cực có thể được thay đổi bằng cách thay đổi bit chọn dãy trong từ trạng
thái chương trình PSW.
1.3.1.6. Các thanh ghi chức năng đặc biệt:
- Các thanh ghi nội của hầu hết các bộ vi xử lý đều được truy xuất rõ ràng bởi một
tập lệnh.
- Các thanh ghi nội của 89V51RB2 được cấu hình thành một phần của RAM trên
chip, vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi bộ đếm chương trình và
thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp). Cũng như các thanh ghi
từ R0 đến R7, ta có 21 thanh ghi chức năng đặc biệt (SFR: Special Function Register) chiếm
phần trên của RAM nội từ địa chỉ 80H đến FFH.
- Ngoại trừ thanh ghi A có thể được truy xuất rõ ràng còn lại hầu hết các thanh ghi
chức năng đặc biệt được truy xuất bằng kiểu định địa chỉ trực tiếp.
11


 Thanh ghi từ PSW ( Program Status Word ):
Mô tả bit

Địa chỉ

Ký hiệu

Bit

Cờ nhớ

D7H


CY

PSW.7

Cờ nhớ phụ

D6H

AC

PSW.6

Cờ 0

D5H

F0

PSW.5

Chọn dãy thanh ghi (bit 1)

D4H

RS1

PSW.4

:Chọn dãy thanh ghi (bit 0)


D3H

RS0

PSW.3

Cờ tràn

D2H

OV

PSW.2

Dự trữ

D1H

-

PSW.1

Cờ kiểm tra chẵn lẻ

D0H

P

PSW.0


dãy 0: địa chỉ từ 00H đến 07H = 00
dãy 1: địa chỉ từ 08H đến 0FH = 01
dãy 2: địa chỉ từ 10H đến 17H = 10
dãy 2: địa chỉ từ 18H đến 1FH = 11

Thanh ghi PSW
 Thanh ghi A:
- Thanh ghi A là thanh ghi tích lũy có cơng dụng chứa dữ liệu của các phép tốn mà
vi điều khiển xử lý. Ví dụ lệnh MUL AB sẽ nhân những giá trị không dấu 8 bit có trong hai
thanh ghi A và B, rồi trả về kết quả 16 bit trong A (byte thấp) và B (byte cao). Lệnh DIV AB
sẽ lấy A chia B, kết quả số nguyên đặt vào A, số dư đặt vào B.
- Thanh ghi A có địa chỉ byte là E0H và địa chỉ bit từ E0H – E7H.
 Thanh ghi B:
- Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghi A cho các phép tốn
nhân chia.
- Thanh ghi B có thể được dùng như một thanh ghi đệm trung gian đa mục đích. Nó
là những bit định vị thông qua những địa chỉ từ F0H – F7H.
 Thanh ghi SP:
12


- Con trỏ ngăn xếp (SP: Stack Pointer) là một thanh ghi 8 bit ở địa chỉ byte là 81H,
dùng để lưu trữ tạm thời các dữ liệu. Đây là thanh ghi không định địa chỉ bit. Thanh ghi này
chứa địa chỉ của byte dữ liệu hiện hành trên đỉnh ngăn xếp. Các lệnh trên ngăn xếp bao gồm
lệnh cất dữ liệu vào ngăn xếp (PUSH) và lệnh lấy dữ liệu ra khỏi ngăn xếp (POP). Lệnh cất
dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu và lệnh lấy ra khỏi ngăn xếp sẽ
làm giảm SP. Đối với chip 8051 thì vùng nhớ được dùng để làm ngăn xếp được lưu giữ
trong RAM nội.
- Để sử dụng ngăn xếp thì ta phải khởi động thanh ghi SP (nghĩa là nạp giá trị cho
thanh ghi SP) => vùng nhớ của ngăn xếp có địa chỉ bắt đầu là (SP) +1 và địa chỉ kết thúc là

7FH.
- Sau khi reset IC, SP sẽ mang giá trị mặc định là 07H và dữ liệu đầu tiên sẽ được
cất vào ơ nhớ ngăn xếp có địa chỉ 08H. Nếu phần mềm ứng dụng không khởi động SP một
giá trị mới thì dãy thanh ghi 1, có thể cả 2 và 3 sẽ khơng dùng được vì vùng RAM này đã
được dùng làm ngăn xếp. Ngăn xếp được truy xuất trực tiếp bằng các lệnh PUSH và POP để
lưu trữ tạm thời và lấy lại dữ liệu, hoặc truy xuất ngầm bằng lệnh gọi chương trình con
(ACALL, LCALL) và các lệnh trở về (RET, RETI) để lưu trữ giá trị của bộ đếm chương
trình khi bắt đầu thực hiện chương trình con và lấy lại khi kết thúc chương trình con.
 Thanh ghi DPTR:
- Con trỏ dữ liệu (DPTR: Data Pointer Register) là thanh ghi 16 bit chứa địa chỉ của
ơ nhớ cần truy xuất thuộc ROM trong hoặc ngồi và RAM ngồi
- Thanh ghi DPTR có địa chỉ byte là 82H (DPL: byte thấp) và 83H (DPH: byte cao).
Thanh ghi này không định địa chỉ bit.
 Thanh ghi port xuất nhập:
- Các Port của 89V51RB2 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90H, Port
2 ở địa chỉ A0H, Port 3 ở địa chỉ B0H. Tất cả các Port này đều có thể truy xuất từng bit nên
rất thuận tiện trong khả năng giao tiếp.
 Thanh ghi port nối tiếp:
- 89V51RB2 chứa một port nối tiếp cho việc trao đổi thông tin với các thiết bị nối
tiếp như máy tính hoặc giao tiếp nối tiếp với các IC khác. Một thanh ghi đệm dữ liệu nối tiếp
(SBUF: Serial Buffer) ở địa chỉ 99H sẽ giữ cả dữ liệu truyền và dữ liệu nhận. Khi truyền dữ
13


liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF. Ngồi ra cịn có thanh ghi điều khiển
port nối tiếp (SCON: Serial Control) có địa chỉ byte 98H dùng để báo trạng thái và điều
khiển quá trình hoạt động của port nối tiếp.
 Thanh ghi định thời:
- 89V51RB2 có chứa hai bộ định thời/ bộ đếm 16 bit được dùng cho việc định thời
hoặc đếm sự kiện. Timer 0 ở địa chỉ 8AH (TL0: byte thấp) và 8CH (TH0: byte cao). Timer 1

ở địa chỉ 8BH (TL1: byte thấp) và 8DH (TH1: byte cao). Việc khởi động Timer được SET
bởi Timer Mode (TMOD) ở địa chỉ 89H và thanh ghi điều khiển Timer (TCON) ở địa chỉ
88H. Chỉ có TCON được địa chỉ hố từng bit.
 Thanh ghi ngắt:
- Thanh ghi IE (Interrupt Enable: cho phép ngắt) có địa chỉ byte A8H và địa chỉ bit
A8H – AFH có cơng dụng cho phép hoặc khơng cho phép các ngắt hoạt động (có thể từng
ngắt riêng rẽ hoặc tất cả các ngắt)
- Thanh ghi IP (Interrup Priority: ưu tiên ngắt) có địa chỉ byte B8H và địa chỉ bit
B8H – BCH có cơng dụng thiết lập mức ưu tiên cho các ngắt (ưu tiên thấp hoặc ưu tiên cao)
 Thanh ghi điều khiển nguồn:
- Thanh ghi PCON (Power Control: điều khiển nguồn) khơng có bit định vị. Nó ở
địa chỉ 87H chứa nhiều bit điều khiển. Thanh ghi PCON được tóm tắt như sau:
 Bit 7 (SMOD) => cho phép tăng gấp đôi tốc độ truyền dữ liệu nối
tiếp (tốc độ baud) khi SMOD = 1.
 Bit 6, 5, 4 => khơng có địa chỉ.
 Bit 3, 2 (GF1, GF0) => cho phép người lập trình dùng với mục
đích riêng.
 Bit 1 (PD) => dùng để quy định chế độ nguồn giảm.
 Bit 0 (IDL) => dùng để quy định chế độ nghỉ.
Các bit điều khiển Power Down và Idle có tác dụng chính trong tất cả các IC họ
MCS – 51 nhưng chỉ được thi hành trong sự biên dịch của CMOD.
1.3.2. Bộ nhớ ngồi:
- 89V51RB2 có khả năng mở rộng khơng gian bộ nhớ chương trình lên đến 64KB
và không gian bộ nhớ dữ liệu lên đến 64KB.
14


- Khi dùng bộ nhớ ngồi, Port 0 khơng cịn chức năng I/O nữa mà đó là bus địa chỉ
byte thấp và bus dữ liệu đa hợp (AD0 – AD7). Port 2 là bus địa chỉ byte cao (A8 - A15).
Port 3 là các tín hiệu điều khiển (WR\, RD\

 Kết nối và truy xuất bộ nhớ dữ liệu ngoài:

8951

RAM

AD0 –

D0 – D7
74373
EA\

D Q

A0 – A7

AL

G

CS\

A8 –

A15

WR\

A8–


WR\

RD\

OE\
Sơ đồ kết nối và truy xuất bộ nhớ dữ liệu ngoài

Bộ nhớ dữ liệu ngoài là bộ nhớ đọc/ ghi được cho phép bởi các tín hiệu RD\ và WR\
ở các chân P3.7 và P3.6. Lệnh dùng để truy xuất bộ nhớ dữ liệu ngoài là MOVX, sử dụng
con trỏ dữ liệu 16 bit DPTR hoặc R0, R1 làm thanh ghi chứa địa chỉ.
 Giải mã địa chỉ:
Nếu trường hợp ROM và RAM được kết hợp từ nhiều bộ nhớ có dung lượng nhỏ
hoặc cả hai giao tiếp với chip 89V51 thì cần phải giải mã địa chỉ. Việc giải mã này cần cho
hầu hết các bộ vi xử lý.
Ví dụ nếu các ROM và RAM có dung lượng 8KB được sử dụng thì tầm địa chỉ mà
chip 89V51 quản lý (0000H – FFFFH) cần phải được giải mã thành từng đoạn 8KB để chip
có thể chọn từng IC nhớ trên các giới hạn 8KB tương ứng: IC1: 0000H – 1FFFH, IC2:
2000H – 3FFFH,…
IC chuyên dùng cho việc tạo tín hiệu giải mã là 74HC138, các ngõ ra của IC này lần
lượt nối với các ngõ vào chọn chip CS\ tương ứng của các IC nhớ để cho các IC nhớ hoạt
15


động (tại một thời điểm chỉ có một IC nhớ được phép hoạt động). Cần lưu ý là do các đường
cho phép IC nhớ hoạt động riêng lẻ cho từng loại (PSEN\ cho bộ nhớ chương trình, RD\ và
WR\ cho bộ nhớ dữ liệu) nên 89V51 có thể quản lý không gian nhớ lên đến 64KB cho ROM
và 64KB cho RAM.
 Các khơng gian nhớ chương trình và dữ liệu gối nhau:
Vì bộ nhớ chương trình là bộ nhớ chỉ đọc, một tình huống khó xử được phát sinh
trong q trình phát triển phần mềm cho 8951. Làm thế nào phần mềm được viết cho một hệ

thống đích để gỡ rối nếu phần mềm chỉ có thể được thực thi từ khơng gian bộ nhớ chương
trình chỉ đọc.
Giải pháp tổng quát là cho các bộ nhớ chương trình và dữ liệu ngồi gối lên nhau.
Vì PSEN\ được dùng để đọc chương trình và RD\ được dùng để đọc bộ nhớ dữ liệu, một
RAM có thể chiếm khơng gian nhớ chương trình và dữ liệu bằng cách nối chân OE\ tới ngõ
ra cổng AND có các ngõ vào là PSEN\ và RD\.
1.3.3. Hoạt động Reset:
89V51RB2 có ngõ vào Reset tác động ở mức cao trong khoảng thời gian 2 chu kỳ
xung máy, sau đó xuống mức thấp để 89V51RB2 bắt đầu làm việc. RST có thể kích bằng tay
bởi một nút nhấn thường hở hoặc RST khi cấp nguồn, sơ đồ mạch Reset tổng hợp như sau:

Trạng thái của các thanh ghi sau khi Reset hệ thống:
 Bộ đếm chương trình (PC)

0000H

 Thanh ghi A

00H

 Thanh ghi B

00H

 Thanh ghi PSW

00H

 Thanh ghi SP


07H

 Thanh ghi DPTR

0000H
16


 Port 0 – Port3

FFH

 Thanh ghi IP

xxx00000B

 Thanh ghi IE

0xx00000B

 Các thanh ghi định thời

00H

 Thanh ghi SCON

00H

 Thanh ghi SBUF


00H

 Thanh ghi PCON (HMOS)

0xxxxxxxB

 Thanh ghi PCON (CMOS)

0xxx0000B

1.3.4. Các lệnh số học
ADD A, <src,byte>
SUBB A, <src, byte>
INC <byte>
DEC <byte>
MUL AB

: (A) ← LOW [(A) x (B)]; có ảnh hưởng cờ OV
: (B) ← HIGH [(A) x (B)]; cờ Carry được xoá

DIV AB

: (A) ← Integer result of [(A) / (B)]; cờ OV
: (B) ← Remainder of [(A) / (B)]; cờ Carry xoá

1.3.5. Các lệnh logic
Tất cả các lệnh logic sử dụng thanh ghi A như là một trong những tốn hạng thực thi
một chu kì máy, ngồi A mất 2 chu kì máy. Những hoạt động logic có thể được thực hiện
trên bất kì byte nào trong vị trí nhớ dữ liệu nội mà khơng thơng qua thanh ghi A.
Các hoạt động logic được tóm tắt như sau:

ANL <dest-byte>,<src-byte>
ORL <dest-byte><src-byte>
XRL <dest-byte>,<src-byte>
RL

A

: Quay thanh ghi A qua trái 1 bit

RLC A

: Quay vòng thanh ghi A qua trái 1 bit có cờ Carry

RR

: Quay thanh A ghi sang phải 1 bit

A

1.3.6. Các lệnh rẽ nhánh
JC

Rel

: Nhảy đến “Rel” nếu cờ carry C =1.
17


JNC


Rel

: Nhảy đến “Rel” nếu cờ Carry C =0

JB

bit,rel

: Nhảy đến “Rel” nếu (bit) =1

JNB

bit,rel

: Nhảy đến “rel” nếu (bit) =0

JBC

bit, rel

: Nhảy đến “rel” nếu (bit) =1 và xoá bit.

ACALL

addr 11

: Lệnh gọi tuyệt đối trong Page 2K

LCAL


Addr 16

:Lệnh gọi dài chương trình con trong 64 K

RET

: Kết thúc chương trình con trở về chương trình chính.

RETI

: Kết thúc thủ tục phục vụ ngắt quay về chương trình chính

AJMP

addr11

: Nhảy tuyệt đối không điều kiện trong 2 K

LJMP

addr16

: Nhảy dài không điều kiện trong 64 K

SJMP

rel

CJNE


A, direct, rel : so sánh và nhảy đến A nếu A ¿ direct

DJNE

Rn,rel

: Giảm Rn và nhảy nếu Rn¿ 0

DJNZ

direct, rel

: Giảm và nhảy nếu direct ¿ 0

: Nhảy ngắn không điều kiện trong (-128¿ 127) byte

1.3.7. Các lệnh dịch chuyển dữ liệu
Các lệnh dịch chuyển dữ liệu trong những vùng nhớ nội thực thi 1 hoặc 2 chu kỳ máy.
Mẫu lệnh MOV <destination>, <source> cho phép di chuyển dữ liệu bất kỳ 2 vùng nhớ nào
của RAM nội hoặc các vùng nhớ của các thanh ghi chức năng đặc biệt mà không thông qua
thanh ghi A. Vùng Stack của 8051 chỉ chứa 128 byte RAM nội, nếu con trỏ Stack SP được
tăng quá địa chỉ 7FH thì các byte được PUSH vào sẽ mất đi vào các byte POP ra thì khơng
biết rõ.
Các lệnh dịch chuyển bộ nhớ nội và bộ nhớ ngoại dùng sự định vị gián tiếp. Địa chỉ gián
tiếp có thể dùng địa chỉ 1 byte (@ Ri) hoặc địa chỉ 2 byte (@ DPTR). Tất cả các lệnh dịch
chuyển hoạt động trên toàn bộ nhớ ngoài thực thi trong 2 chu kỳ máy và dùng thanh ghi A
làm tốn hạng DESTINATION.
Việc đọc và ghi RAM ngồi (RD và WR) chỉ tích cực trong suốt q trình thực thi của
lệnh MOVX, cịn bình thường RD và WR khơng tích cực (mức 1).
1.3.8.Các lệnh luận lý

CLR C

: Xoá cờ Carry xuống 0. Có ảnh hưởng cờ Carry.

CLR BIT

: Xố bit xuống 0. Không ảnh hưởng cờ Carry.
18


SET C

: Set cờ Carry lên 1. Có ảnh hưởng cờ Carry.

SET BIT

: Set bit lên 1. Không ảnh hưởng cờ Carry.

CPL C

: Đảo bit cờ Carry. Có ảnh hưởng cờ Carry.

CPL BIT

: Đảo bit. Không ảnh hưởng cờ Carry.

ANL C, BIT : Có ảnh hưởng cờ Carry.
ANL C, BIT : Không ảnh hưởng cờ Carry.
ORL C, BIT
ORL C,


: Tác động cờ Carry.

: Tác động cờ Carry.

MOV C, BIT

: Cờ Carry bị tác động.

MOV BIT, C : Không ảnh hưởng cờ Carry.
1.4. Hoạt động của các Port nối tiếp.
Phần cứng truy xuất tới Port nối tiếp qua các chân TxD (P3.1) và RxD (P3.0). Port
nối tiếp tham dự hoạt động đầy đủ (sự phát và thu cùng lúc), và thu vào bộ đệm mà nó cho
phép 1 ký tự nhận vào và được cất ở bộ đệm trong khi ký tự thứ hai được nhận vào. Nếu
CPU đọc ký tự thứ nhất trước khi ký tự thứ hai được nhận vào hồn tồn thì dữ liệu khơng bị
mất.
Hai thanh ghi chức năng đặc biệt cung cấp cho phần mềm truy xuất đến Port nối tiếp
là SBUF và SCON. Sự đệm Port nối tiếp (SBUF) ở địa chỉ 99H là 2 sự đệm thật sự: Ghi lên
SBUF (nạp dữ liệu phát) và đọc SBUF (truy xuất dữ liệu đã nhận). Đây là hai thanh ghi
riêng biệt và rõ rệt, và thanh ghi phát chỉ ghi còn thanh ghi thu chỉ đọc
1.4.1. Thanh ghi điều khiển Port nối tiếp SCON
Mode hoạt động của Port nối tiếp được set bởi việc ghi lên thanh ghi mode của Port nối
tiếp SCON ở địa chỉ 99H. Bảng tóm tắt thanh ghi điều khiển Port nối tiếp SCON như sau:

19


Mô tả hoạt động Địa chỉ Ký hiệu
Bit 0 của mode Port nối tiếp
TỐC ĐỘ BAUD

MÔ TẢ
Bit 1 của mode Port nối tiếp

9FH
SM0
MODE SM
9EH
SM1
1
Bit 2 của mode Port nối tiếp. cho phép sự
9DH
SM2
Cố định (tần số dao động/12)
Thanh ghi dịch
0
0
truyền của bộ xử lý đa kênh ở mode 2 và 3; RI
Thay đổi (thiết lập bởi bộ định thời)
UART 8 bit
1
1
.sẽ khơng tích cực nếu bit thứ 9 đã thu vào là 0
Cố định (tần số dao động /12 hoặc /64)
UART 9 bit
2
0
REN = 1 sẽ cho phép thu ký tự
9CH
REN
Thay đổi (thiết lập bởi bộ định thời)

UART 9 bit
3
1
Phát bit 8. Bit 9 phát trong mode 2 và 3, được
9BH
TB8

Bit
SCON.7
SM0
SCON.6
SCON.5
0
0
1
SCON.4
1
SCON.3

động
của port nối tiếp
setCác
và chế
xóađộ
bởihoạt
phần
mềm

Thu bit 8. Bit thứ 9 nhận được


9AH

RB8

SCON.2

Cờ ngắt phát. Cờ này được set ngay khi kết

99H

TI

SCON.1

98H

RI

SCON.0

thúc việc phát một ký tự; được xóa bởi phần
mềm
Cờ ngắt thu. Cờ này được set ngay khi kết thúc
việc thu một ký tự; được xóa bởi phần mềm
Trước khi dùng Port nối tiếp, SCON phải được định đúng chế độ. VD: Để khởi tạo Port
Bảng Chức năng của thanh ghi SCON

nối tiếp chế độ 1 (SM0/SM1 = 0/1), cho phép thu (REN = 1), và set cờ ngắt của việc phát
sẵn sàng hoạt động (TI = 1), ta dùng lệnh sau :
MOV SCON, #01010010H.

Port nối tiếp của 8051 có 4 mode hoạt động tùy thuộc theo trạng thái của SM0/SM1.
Ba trong 4 mode cho phép truyền động bộ với mỗi ký tự thu hoặc phát sẽ được bố trí
bởi bit Start hoặc bit Stop.
1.4.2. Khởi động và truy xuất các thanh ghi Port nối tiếp
1.4.2.1. Cho phép thu
Bit cho phép thu REN trong thanh ghi SCON phải được set bởi phần mềm để cho
phép sự thu các ký tự. Điều này thường được dùng làm ở đầu chương trình khi các Port nối
tiếp và các timer được khởi động.
Ta có thể tác động bằng lệnh:
SETB REN
20



×