Tải bản đầy đủ (.pdf) (38 trang)

ĐỒ án thiết kế mạch đo nhiệt độ

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 (1.18 MB, 38 trang )

TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN
---------------o0o---------------

ĐỒ ÁN I
ĐỀ TÀI: Thiết kế mạch đo và hiển thị nhiệt độ

Giáo viên hƣớng dẫn :

Nguyễn Anh Tuấn

Sinh viên thực hiện

:

Lê Văn Công

Lớp

:

KT ĐK & TĐH 04

Khóa

:

K58

MSSV


:

20130450

HÀ NỘI – 6/2016


GV hướng dẫn: Nguyễn Anh Tuấn
Nhận xét của giáo viên hƣớng dẫn
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

ĐH Bách khoa Hà Nội


Page 1


GV hướng dẫn: Nguyễn Anh Tuấn

MỤC LỤC
LỜI MỞ ĐẦU ...................................................................................................... 3
PHẦN I: LÝ THUYẾT CƠ SỞ ........................................................................... 4
CHƢƠNG 1: GIỚI THIỆU MẠCH ĐO NHIỆT ĐỘ VÀ HIỂN THỊ LCD . 4
I. Chức năng của mạch .................................................................................. 4
II.

Các thành phần chính của mạch ............................................................... 4

III. Yêu cầu thiết kế .......................................................................................... 4
CHƢƠNG 2: GIỚI THIỆU LINH KIỆN CHỦ CHỐT TRONG MẠCH ........ 4
I.

Giới thiệu về LCD TC16C2A: ................................................................. 4

II. Giới thiệu IC ADC0809: ........................................................................... 6
III. IC 7805 : ....................................................................................................... 9
IV. Cảm biến LM335: ..................................................................................... 11
CHƢƠNG 3: TỔNG QUAN VI ĐIỀU KHIỂN 8051 .................................... 12
I.

Giới thiệu phần cứng họ MCS – 51(8051) ........................................... 12

II. Khảo sát đồ chân, chức năng từng chân ............................................... 13

III. Cấu trúc bên trong vi điều khiển ............................................................ 17
PHẦN II: THỰC HIỆN ĐỀ TÀI ........................................................................ 26
CHƢƠNG 1: TIẾN TRÌNH THỰC HIỆN .................................................... 26
I.

Các giai đoạn thực hiện ........................................................................... 26

II.

Quá trình thiết kế và lắp ráp ................................................................... 26

III. Các khó khăn gặp phải ............................................................................. 26
CHƢƠNG 2: THIẾT KẾ KHỐI MẠCH ........................................................ 26
I.

Sơ đồ nguyên lý các khối .......................................................................... 27

II.

Lập trình cho vi điều khiển ....................................................................... 29

III. Thi công mạch thật và test ........................................................................ 34
CHƢƠNG III: KẾT LUẬN - TÀI LIỆU THAM KHẢO ............................ 35
I. Kết luận ...................................................................................................... 35
II.

Tài liệu tham khảo ..................................................................................... 36

ĐH Bách khoa Hà Nội


Page 2


GV hướng dẫn: Nguyễn Anh Tuấn

LỜI MỞ ĐẦU
Với sự tiến bộ không ngừng của khoa học kỹ thuật, đặc biệt là ngành
điện tử đã ứng dụng rất nhiều trong công nghiệp. Trong lĩnh vực điều khiển,
từ khi công nghệ chế tạo loại vi mạch lập trình phát triển đã đem đến các kỹ
thuật điều khiển hiện đại có nhiều ƣu điểm so với việc sử dụng các mạch điều
khiển đƣợc lắp ráp từ các linh kiện rời nhƣ kích thƣớc mạch nhỏ, gọn, giá
thành rẻ, độ làm việc tin cậy và công suất tiêu thụ thấp ...
Ngày nay lĩnh vực điều khiển đã đƣợc ứng dụng rộng rãi trong các thiết
bị, sản phẩm phục vụ cho nhu cầu sinh hoạt hằng ngày của con ngƣời nhƣ
máy giặt, đồng hồ điện tử, ti vi ... nhằm giúp cho đời sống ngày càng hiện đại
và tiện lợi hơn.
Đề tài ứng dụng vi điều khiển trong đời sống thực tế rất phong phú và đa
dạng nhằm đáp ứng cho cuộc sống tiện nghi của con ngƣời.Với mục đích tìm
hiểu và đáp ứng những yêu cầu trên em đã lựa chọn một đề tài có tính ứng
dụng trong thực tế, nhƣng không quá xa lạ đối với mọi ngƣời, đó là “Mạch
đo và hiển thị nhiệt độ”.
Đề tài đƣợc chia làm 2 phần lớn:


Phần 1: Giới thiệu.



Phần 2: Thực hiện đề tài.
Trong mỗi phần có nhiều chƣơng nhỏ trải rộng từ hệ thống, phần cứng,


phần mềm .
Em đã cố gắng vận dụng những kiến thức đã học ở trƣờng cùng với sự
tìm tòi học hỏi để có thể hoàn thành tốt đồ án này. Mặc dù em đã rất cố gắng
để hoàn thiện đề tài này nhƣng vẫn không tránh khỏi sai sót, kính mong các
thầy cô thông cảm. Em xin chân thành cảm ơn.

ĐH Bách khoa Hà Nội

Page 3


GV hướng dẫn: Nguyễn Anh Tuấn

PHẦN I: LÝ THUYẾT CƠ SỞ
CHƢƠNG 1: GIỚI THIỆU MẠCH ĐO NHIỆT ĐỘ VÀ HIỂN THỊ LCD
I. Chức năng của mạch
“Mạch điều khiển và đo nhiệt độ”có các chức năng sau:
 Đo nhiệt độ và hiển thị nhiệt độ đo đƣợc lên màn hình LCD
II. Các thành phần chính của mạch
1. LCD TC1602A.
2. ADC 0809.
3. Cảm biến nhiệt LM35.
4. Vi điều khiển AT 89S52.
III. Yêu cầu thiết kế
1. Mạch phải hoạt động đúng chức năng của đề tài.
2. Mạch hoạt động phải có độ ổn định và chính xác cao.
3. Thiết kế gọn nhẹ.
4. Giá thành thấp.
----------------o0o----------------


CHƢƠNG 2: GIỚI THIỆU LINH KIỆN CHỦ CHỐT TRONG MẠCH
I. Giới thiệu về LCD TC16C2A:
 LCD (Liquid crystal direct) TC16C2 là màn hình tinh thể lỏng gồm có:
+ LCD
ĐH Bách khoa Hà Nội

Page 4


GV hướng dẫn: Nguyễn Anh Tuấn

+ Bộ Driver ( mạch điều khiển)
Màn hình LCD và bộ Driver đã đƣợc kết nối sẵn với nhau bởi nhà sản
xuất, khi sử dụng chỉ cần giao tiếp với bộ driver. LCD TC16C2 là loại màn
hình hiển thị đƣợc 16 kí tự ×2 dòng, bao gồm tất cả các kí tự chuẩn ngoài ra
còn có một số kí tự đặc biệt nhƣng không có kí tự dấu tiếng Việt.
1. Sơ đồ chân của LCD:

Hình 1.2.1: Hình dáng và sơ đồ chân LCD
2. Chức năng và nhiệm vụ các chân:
Số TT
Chân

Kí Hiệu

Chức Năng

1


Vss

GND

2

Vdd

Vcc

3

Vo

Chỉnh độ tƣơng phản của màn hình
Lựa chọn mức điều khiển:
- mức 1 là mã hiển thị
- mức 0 là lệnh điều khiển

4

RS

5

R/W

Báo hiệu đọc hoặc ghi

6


E

Nhận tín hiệu cạnh xuống để nhận dữ liệu

7

DB0

Trao đổi dữ liệu theo bye(phƣơng thức //)

8

DB1

Trao đổi dữ liệu theo bye(phƣơng thức //)

ĐH Bách khoa Hà Nội

Page 5


GV hướng dẫn: Nguyễn Anh Tuấn

9

DB2

Trao đổi dữ liệu theo bye(phƣơng thức //)


10

DB3

Trao đổi dữ liệu theo bye(phƣơng thức //)

11

DB4

Trao đổi dữ liệu theo bye(phƣơng thức //)

12

DB5

Trao đổi dữ liệu theo bye(phƣơng thức //)

13

DB6

Trao đổi dữ liệu theo bye(phƣơng thức //)

14

DB7

Trao đổi dữ liệu theo bye(phƣơng thức //)


15

A/Vee

Cực anod của đèn nền

16

K

Cực katod của đèn nền

Bảng 1.1: Chức năng các chân LCD
3. Giá trị điện áp:
Tên

Điện áp
vào
Dòng cung
cấp hiện
thời
Điện áp ở
nhiệt độ
bình
thƣờng
Điện áp
LED màn
hình của
LCD


Kí hiệu

VDD

IDD

Điều kiện

Giá trị chuẩn

Đơn vị

Min

typ

Max

VDD=+5V

4.7

5.0

5.3

VDD=+3V

2.7


3.0

5.3

VDD=5V

-

1.2

3.0

-200C

-

-

-

00 C

4.2

4.8

5.1

250C


3.8

4.2

4.6

500C

3.6

4.0

4.4

700C

-

-

-

250C

-

4.2

4.6


VDD-V0

VF

V

mA

V

V

Bảng 1.2: Giá trị điện áp của LCD
II. Giới thiệu IC ADC0809:
ĐH Bách khoa Hà Nội

Page 6


GV hướng dẫn: Nguyễn Anh Tuấn

IC ADC0809 dùng để chuyển đổi từ một tín hiệu tuong tu (Analog) sang
tín hiệu số (Digital) nhằm mục đích thuận lợi trong việc xử lý và điều
khiển và thực tế trong đề tài này là dùng để chuyển từ một mức áp thành
một con số để đƣa về bộ xử lý trung tâm là vi điều khiển AT89C51 .ADC
0809 có thành phần thu thập dữ liệu là một thiết bị CMOS nguyên khối với
bộ chuyển đổi tƣơng tự ra số 8 bit ,gồm 8 logic điều khiển tích hợp và bộ vi
xử lý kênh,những đặc tính của bộ chuyển đổi phối hợp với trở kháng cao
làm ổn định sự so sánh giữa các mức áp .Chia áp đầu vào ra 256 mức từ mức
0÷255 ,8 bộ dồn kênh có thể trực tiếp truy nhập bất kì 8 tín hiệu tƣơng tự nào

đƣợc gửi tới
- ADC 0809 dễ dàng kết nối với các bộ vi xử lý
- 8 kênh Analog ngõ vào làm việc độc lập
- Độ phân giải 8 bit
- Dải tín hiệu ngõ vào từ 0 ÷ 5V
- Thời gian biến đổi 100 µs
Dòng tiêu thụ 0,3 mA
1. Sơ đồ chân và chức năng các chân ADC 0809:

Hình 1.2.2 :Sơ đồ chân ADC 0809

ĐH Bách khoa Hà Nội

Page 7


GV hướng dẫn: Nguyễn Anh Tuấn

a) Chức năng các chân :
+ Chân (1÷5, 26, 27, 28 ) IN0÷IN7:Là các tín hiệu Analog ở ngõ vào
các chân này có chung mass với IC
+ Chân (22) ALE : Chốt địa chỉ chọn kênh
+ Chân (6) START: Yêu cầu bắt đầu chuyển đổi
+ Chân (10) CLOCK :Cấp xung clock định tốc độ chuyển đổi
+ Chân (7) EOC :Báo kết thúc quá trình chuyển đổi
+ Chân (11) VCC
+ Chân (13) GND
+ Chân (9) OE(output enable):cho phép/không cho phép chuyển đổi
• Cho phép nối Vcc
• Không cho phép nối GND

+ Chân (12,16) Vref (+) ,Vref (-) : Vmax (+10V),Vmin (-10V) cho tín
hiệu vào
+ Chân (17÷21,15,8,14) DB0 ÷:Ngõ ra
+ Chân ( 25÷23) ADD A,ADD B ,ADD C :Tạo tổ hợp chọn kênh

Lựa chọn kênh

Tổ hợp chọn kênh

Analog

ADD C ADD B ADD A

IN0

ĐH Bách khoa Hà Nội

L

L

L

Page 8


GV hướng dẫn: Nguyễn Anh Tuấn

IN1
IN2

IN3
IN4
IN5
IN6
IN7

L
L
L
H
H
H
H

L
H
H
L
L
H
H

H
L
H
L
H
L
H


Bảng 1.3: Tổ hợp chọn kênh Analog
2. Giá trị điện áp của ADC 0809:

Bảng 1.4: Giá trị điện áp của ADC 0809
III. IC 7805 :
IC 7805 là IC tạo điện áp chuẩn nguồn dƣơng có điện áp ngõ ra là 5V
nhƣng trong thực tế thì dòng ngõ ra của IC này biến thiên 5% tức là áp ngõ ra
khoảng 4.85V. Dòng qua IC 7805 khoảng 100mA.
1. Hình Dáng Và Sơ Đồ Chân:

ĐH Bách khoa Hà Nội

Page 9


GV hướng dẫn: Nguyễn Anh Tuấn

Hình 1.2.3: Sơ đồ chân của IC7805
05 – Giá trị điện áp ra.
1: In (Vào)
2: GND (Mass)
3: OUT (Ra)

IOUT = 1A

2. Một Số đặc trƣng về điện:
Tham số Ký hiệu

Điều kiện


Giá trị điện áp

Đơn vị

Áp Ra

VO

5mA÷1A,P0≤15W
VI = 7V÷20V

4.75

5

5.25

Dòng
Tĩnh

IQ

TJ=+25V

-

5

8


I0=5mA÷1A

-

0.03

0.5

Độ Biến
Thiên
Dòng
Tĩnh

IQ

Điện Áp
Rơi Ngõ
Ra

VDrop

ĐH Bách khoa Hà Nội

V

mA

mA
VI=7V÷25V


-

0.3

1.3

I0=1A

-

2

-

V

Page 10


GV hướng dẫn: Nguyễn Anh Tuấn

Dòng
Ngắn
Mạch

ISC

VI=35V

-


230

-

mA

Bảng 1.5: Đặc trƣng về điện của IC LM7805
IV. Cảm biến LM335:
LM35 thuộc vào họ cảm biến nhiệt mạch tích hợp chính xác cao có điện
áp ra tỉ lệ tuyến tính với nhiệt độ theo thang do Celsius. Họ này cho ra điện
áp 10mV ứng với thay đổi nhiệt độ là 1 0C
1. Hình dáng, cấu tạo của LM35:

Hình 1.2.4: Sơ đồ chân của IC LM335
Mã sản phẩm
Dải nhiệt độ
Độ chính xác
Ngõ ra
LM35A
-550C đến +1500C
+1.0 0C
10mV/F
LM35
-550C đến +1500C
+ 1.5 0C
10mV/F
0
0
0

LM35CA
-40 C đến +110 C
+ 1.0 C
10mV/F
0
0
0
LM35C
-40 C đến +110 C
+ 1.5 C
10mV/F
LM35D
00C đến +1000C
+ 2.0 0C
10mV/F
Bảng 1.6: Thông số kỹ thuật chính của cảm biến nhiệt họ LM33

ĐH Bách khoa Hà Nội

Page 11


GV hướng dẫn: Nguyễn Anh Tuấn

2. Một số giá trị của LM335:
Tham số
Nhiệt độ nhỏ nhất (0C)
Nhiệt độ lớn nhất ( 0C)
Độ chính xác (+/-)(0C)
Nguồn nhỏ nhất (Volt)

Dòng không có tín hiệu vào (mA)
Bộ cảm biến có hệ số khuếch đại
Trở kháng ngõ ra (ohm)

Giá trị
-40
100
3.6
5
1.40
10mV/DegK
60

Bảng 1.7: Bảng tham số của IC LM335
----------------o0o----------------

CHƢƠNG 3: TỔNG QUAN VI ĐIỀU KHIỂN 8051
I. Giới thiệu phần cứng họ MCS – 51(8051)
Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn
tƣơng tự nhƣ nhau. Ở đây giới thiệu IC89S52 là một họ IC vi điều khiển do
hãng Intel của Mỹ sản xuất. Chúng có các đặc điểm chung nhƣ sau:
Các đặc điểm của 8051 đƣợc tóm tắt nhƣ sau :
o

4 KB EPROM bên trong.

o

128 Byte RAM nội.


o

4 Port xuất /nhập I/O 8 bit.

o

Giao tiếp nối tiếp.

ĐH Bách khoa Hà Nội

Page 12


GV hướng dẫn: Nguyễn Anh Tuấn
o

64 KB vùng nhớ mã ngoài

o

64 KB vùng nhớ dữ liệu ngoại.

o

Xử lí Boolean (hoạt động trên bit đơn).

o

210 vị trí nhớ có thể định vị bit.


o

4 ms cho hoạt động nhân hoặc chia.

Hình 1.3.1: Sơ đồ khối 8051
II. Khảo sát đồ chân, chức năng từng chân
1. Sơ đồ chân 8951:

ĐH Bách khoa Hà Nội

Page 13


GV hướng dẫn: Nguyễn Anh Tuấn

Hình 1.3.2: Sơ đồ chân IC 8951
2. Chức năng các chân của 8051:
8051 có tất cả 40 chân có chức năng nhƣ các đƣờng xuất nhập. Trong đó
có 24 chân có tác dụng kép (có nghĩa 1 chân có 2 chức năng), mỗi đƣờng có
thể hoạt động nhƣ đƣờng xuất nhập hoặc nhƣ đƣờng điều khiển hoặc là thành
phần của các bus dữ liệu và bus địa chỉ.
a .Các Port:
Port 0:
- Port 0 là port có 2 chức năng ở các chân 32 – 39 của 8951. Trong các
thiết kế cỡ nhỏ không dùng bộ nhớ mở rộng nó có chức năng nhƣ các đƣờng
IO. Đối với các thiết kế cỡ lớn có bộ nhớ mở rộng, nó đƣợc kết hợp giữa bus
địa chỉ và bus dữ liệu.
ĐH Bách khoa Hà Nội

Page 14



GV hướng dẫn: Nguyễn Anh Tuấn

Port 1:
- Port 1 là port IO trên các chân 1-8. Các chân đƣợc ký hiệu P1.0, P1.1,
P1.2, … có thể dùng cho giao tiếp với các thiết bị ngoài nếu cần. Port 1
không có chức năng khác, vì vậy chúng chỉ đƣợc dùng cho giao tiếp với các
thiết bị bên ngoài.
Port 2:
- Là 1 port có tác 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 bị dùng
bộ nhớ mở rộng.
Port 3:
- Port 3 là port có tác 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 8951 nhƣ ở bảng sau:
Bit
P3.0
P3.1
P3.2
P3.3
P3.4
P3.5
P3.6

Tên
RXT
TXD
INT0\

INT1\
T0
T1
WR\

Chức năng chuyển đổi
Ngõ vào dữ liệu nối tiếp
Ngõ xuất dữ liệu nối tiếp
Ngõ vào ngắt cứng thứ 0
Ngõ vào ngắt cứng thứ 1
Ngõ vào của TIMER/COUNTER thứ 0
Ngõ vào của TIMER/COUNTER thứ 1
Tín hiệu ghi dữ liệu lên bộ nhớ ngoài

P3.7

RD\

Tín hiệu đọc bộ nhớ dữ liệu ngoài

Bảng 1.8. Chức năng cổng P3
b. Các ngõ tín hiệu điều khiển:
 Ngõ tín hiệu PSEN (Program store enable):

ĐH Bách khoa Hà Nội

Page 15


GV hướng dẫn: Nguyễn Anh Tuấn


- PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ
chƣơng trình mở rộng thƣờng đƣợc nói đến chân 0E\ (output enable) của
Eprom cho phép đọc các byte mã lệnh.
- PSEN ở mức thấp trong thời gian Microcontroller 89C51 lấy lệnh.
Các mã lệnh của chƣơng trình đƣợc đọc từ Eprom qua bus dữ liệu và đƣợc
chốt vào thanh ghi lệnh bên trong 89C51 để giải mã lệnh. Khi 89C51 thi hành
chƣơng trình trong ROM nội PSEN sẽ ở mức logic 1.
 Ngõ tín hiệu điều khiển ALE (Address Latch Enable ) :
- Khi 8951 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa
chỉ và bus dữ liệu do đó phải tách các đƣờng dữ liệu và địa chỉ.Tín hiệu ra
ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đƣờng
địa chỉ và dữ liệu khi kết nối chúng với IC chốt.
- Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian
port 0 đóng vai trò là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động.
- Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên
chip 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 cho Eprom trong 89C51.
 Ngõ tín hiệu EA\ (External Access):
- Tín hiệu vào EA ở chân 31 thƣờng đƣợc mắc lên mức1 hoặc mức 0,
Nếu ở mức, 89C51 thi hành chƣơng trình từ ROM nội trong khoảng địa chỉ
thấp 8 Kbyte. Nếu ở mức 0, 89C51 sẽ thi hành chƣơng trình từ bộ nhớ mở
rộng. Chân EA đƣợc lấy làm chân cấp nguồn 21V khi lập trình cho Eprom
trong 89C51.
 Ngõ tín hiệu RST (Reset):

ĐH Bách khoa Hà Nội

Page 16



GV hướng dẫn: Nguyễn Anh Tuấn

- Ngõ vào RST ở chân 9 là ngõ vào Reset của 89C51. Khi ngõ vào tín
hiệu này đƣa lên cao ít nhất là 2 chu kỳ máy, các thanh ghi bên trong đƣợc
nạp những giá trị thích hợp để khởi động hệ thống. Khi cấp điện mạch tự
động Reset.
 Các ngõ vào bộ dao động X1, X2:
Bộ dao động đƣợc tích hợp bên trong 89C51, khi sử dụng 89C51 ngƣời
thiết kế chỉ cần kết nối thêm thạch anh và các tụ nhƣ hình vẽ trong sơ đồ
chân đã nêu ở trên. Tần số thạch anh thƣờng sử dụng cho 89C51 là 12 Mhz.
 Chân 40 (Vcc) đƣợc nối lên nguồn 5V.
III. Cấu trúc bên trong vi điều khiển
1. Tổ chức bộ nhớ
Bộ nhớ chƣơng trình (ROM, EPROM) là bộ nhớ chỉ đọc, có thể mở rộng
tối đa 64Kbyte. Vói họ vi điều khiển 89xx, bộ nhớ chƣơng trình đƣợc tích hợp
sẵn trong chip có kích thƣớc nhỏ nhất là 4kByte. Với các vi điều khiển không
tích hợp sẵn bộ nhớ chƣơng trình trên chip, buộc phải thiết kế bộ nhớ chƣơng
trình bên ngoài. Ví dụ sử dụng EPROM: 2764 (64Kbyte), khi đó chân PSEN
phải ở mức tích cực (5V).
Bộ nhớ dữ liệu (RAM) tồn tại độc lập so với bộ nhớ chƣơng trình. Họ vi
điều khiển 8051 có bộ nhớ dữ liệu tích hợp trên chip nhỏ nhất là 128byte và có
thể mở rộng với bộ nhớ dữ liệu ngoài lên tới 64kByte. Với những vi điều khiển
không tích hợp ROM trên chip thì vẫn có RAM trên chip là 128byte. Khi sử
dụng RAM ngoài, CPU đọc và ghi dữ liệu nhờ tín hiệu trên các chân RD và
WR. Khi sử dụng cả bộ nhớ chƣơng trình và bộ nhớ dữ liệu bên ngoài thì buộc
phải kết hợp chân RD và PSEN bởi cổng logic AND để phân biệt tín hiệu truy
xuất dữ liệu trên ROM hay RAM ngoài.

ĐH Bách khoa Hà Nội


Page 17


GV hướng dẫn: Nguyễn Anh Tuấn

Bộ nhớ chƣơng trình:

Hình 1.3.3 Cấu trúc bộ nhớ chƣơng trình

Hình 1.3.4 Địa chỉ các ngắt trên bộ nhớ chƣơng trình
Hình 1.1.2 mô tả cấu trúc bộ nhớ chƣơng trình. Sau khi khởi động, CPU
bắt đầu thực hiện chƣơng trình ở vị trí 0000H. Hình 1.1.3 mô tả địa chỉ ngắt
mặc định trên bộ nhớ chƣơng trình. Mối khi xảy ra ngắt, con trỏ của CPU sẽ
nhảy đến đúng địa chỉ ngắt tƣơng ứng và thực thi chƣơng trình tại đó. Ví dụ
ngắt ngoài 0 sẽ có địa chỉ là 0003H, khi xảy ra ngắt ngoài 0 thì con trỏ chƣơng
trình sẽ nhảy đến đúng địa chỉ 0003H để thực thi chƣơng trình tại đó. Nếu trong
chƣơng trình ứng dụng không xử dụng đến ngắt ngoài 0 thì địa chỉ 0003H vẫn
có thể dùng cho mục đích khác (sử dụng cho bộ nhớ chƣơng trình). Bởi vậy khi
lập trình bằng ngôn ngữ Assembly, phần đầu chƣơng trình bao giờ cũng phải
ĐH Bách khoa Hà Nội

Page 18


GV hướng dẫn: Nguyễn Anh Tuấn

cho chƣơng trình nhảy đến địa chỉ cao hơn địa chỉ chứa các ngắt và mã lệnh viết
cho các ngắt thì phải viết đúng địa chỉ của các ngắt tƣơng ứng.
Bộ nhớ dữ liệu:


Hình 1.3.5 Cấu trúc bộ nhớ dữ liệu
Hình 1.1.4 mô tả cấu trúc bộ nhớ dữ liệu trong và bộ nhớ dữ liệu ngoài
của họ vi điều khiển 8051. CPU sẽ dùng đến các chân RD và WR khi truy cập
đến bộ nhớ dữ liệu ngoài.
Hình 1.1.5 mô tả cấu trúc bộ nhớ dữ liệu trong chip, đƣợc chia thành 3
khối là 128 byte thấp, 128 byte cao và 128 byte đặc biệt.

Hình 1.3.6 Cấu trúc bộ nhớ trong
ĐH Bách khoa Hà Nội

Page 19


GV hướng dẫn: Nguyễn Anh Tuấn

Hình 1.1.6 mô tả cấu trúc 128 byte thấp của bộ nhớ dữ liệu của họ vi điều
khiển 8051. 32 byte đầu tiên (00H-1FH) đƣợc sử dụng cho 4 bộ 8 thanh ghi R0R7. Hai bit của thanh ghi đặc biệt PSW sẽ lựa chọn 1 trong 4 bộ thanh ghi mà vi
điều khiển sẽ dùng trong khi thực thi chƣơng trình.

Hình 1.3.7 Cấu trúc 128 byte thấp của bộ nhớ dữ liệu trong
8051 chứa 210 vị trí bit đƣợc định địa chỉ trong đó 128 bit chứa trong
các byte ở địa chỉ từ 20H đến 2FH (16 byte x 8 bit = 128 bit) và phần còn lại
chứa trong các thanh ghi đặc biệt. Ngoài ra 8051 còn có các port xuất/nhập có
thể định địa chỉ từng bit, điều này làm đơn giản việc giao tiếp bằng phần mềm
với các thiết bị xuất/nhập đơn bit.
Vùng RAM đa mục đích có 80 byte đặt ở địa chỉ từ 30H đến 7FH, bên
dƣới vùng này từ địa chỉ 00H đến 2FH là vùng nhớ có thể đƣợc sử dụng tƣơng
tự. Bất kỳ vị trí nhớ nào trong vùng RAM đa mục đích đều có thể đƣợc truy
xuất tự do bằng cách sử dụng các kiểu định địa chỉ trực tiếp hoặc gián tiếp.

Bất kỳ vị trí nhớ nào trong vùng RAM đa mục đích đều có thể đƣợc truy
xuất tự do bằng cách sử dụng các kiểu định địa chỉ trực tiếp hoặc gián 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 chiếm phần trên của Ram nội từ địa chỉ 80H đến FFH. Cần lƣu ý là
ĐH Bách khoa Hà Nội

Page 20


GV hướng dẫn: Nguyễn Anh Tuấn

không phải tất cả 128 địa chỉ từ 80H đến FFH đều đƣợc định nghĩa mà chỉ có 21
địa chỉ đƣợc định nghĩa.

Hình 1.3.8. 128 byte cao của bộ nhớ dữ liệu.
3. Các thanh ghi đặc biệt
8051 có 21 thanh ghi chức năng đặc biệt SFR chiếm phần trên của Ram
nội từ địa chỉ 80H đến FFH. Cần lƣu ý là không phải tất cả 128 địa chỉ từ 80H
đến FFH đều đƣợc định nghĩa mà chỉ có 21 địa chỉ đƣợc định nghĩa. Hình 1.2.1
mô tả các thanh ghi đặc biệt trong vùng nhớ dữ liệu 80H đến FFH.

Hình 1.3.9. Các thanh ghi đặc biệt

ĐH Bách khoa Hà Nội

Page 21


GV hướng dẫn: Nguyễn Anh Tuấn


Thanh ghi chính
Thanh ghi tính toán chính của vi điều khiển 8051 ACC (Accumulator).
Là thanh ghi đặc biệt của 8051 dùng để thực hiện các phép toán của CPU,
thƣờng kí hiệu là A.
Thanh ghi phụ
Thanh ghi tính toán phụ của vi điều khiển 8051 là B. Thanh ghi B ở địa
chỉ F0H đƣợc dùng chung với thanh chứa A trong các phép toán nhân, chia.
Lệnh MUL AB nhân 2 số 8 bit không dấu chứa trong A và B và chứa kết quả
16 bit vào cặp thanh ghi B, A (thanh chứa A cất byte thấp và thanh ghi B cất
byte cao).
Lệnh chia DIV AB chia A bởi B, thƣơng số cất trong thanh chứa A và dƣ
số cất trong thanh ghi B. Thanh ghi B còn đƣợc xử lý nhƣ một thanh ghi nháp.
Các bit đƣợc định địa chỉ của thanh ghi B có địa chỉ từ F0H đến F7H.
Thanh ghi trạng thái chƣơng trình (PSW)
Thanh ghi trạng thái chƣơng trình PSW là thanh ghi mô tả toàn bộ trạng
thái chƣơng trình đang hoạt động của hệ thống. Hình 1.2.2 và 1.2.2 sẽ mô tả
thanh ghi này.

Hình 1.3.10. Thanh ghi trạng thái chƣơng trình PSW

ĐH Bách khoa Hà Nội

Page 22


GV hướng dẫn: Nguyễn Anh Tuấn

Hình 1.3.11 Chi tiết các bit trong thanh ghi PSW
Thanh ghi ngăn xếp (Stack Pointer)
Con trỏ stack SP (stack pointer) là 1 thanh ghi 8 bit ở địa chỉ 81H. SP

chứa địa chỉ của dữ liệu hiện đang ở đỉnh của stack. Các lệnh liên quan đến
satck bao gồm lệnh cất dữ liệu vào stack và lệnh lấy dữ liệu ra khỏi stack. Việc
cất vào stack làm tăng SP trƣớc khi ghi dữ liệu và việc lấy dữ liệu ra khỏi stack
sẽ giảm SP. Vùng stack của 8051 đƣợc giữ trong RAM nội và đƣợc giới hạn
đến các địa chỉ truy xuất đƣợc bởi kiểu định địa chỉ gián tiếp. Các lệnh PUSH
và POP sẽ cất dữ liệu vào stack và lấy dữ liệu từ stack, các lệnh gọi chƣơng
trình con (ACALL, LCALL) và lệnh trở về (RET, RETI) cũng cất và phục hồi
nội dung của bộ đếm chƣơng trình PC (Program counter)
Con trỏ dữ liệu DPTR

ĐH Bách khoa Hà Nội

Page 23


GV hướng dẫn: Nguyễn Anh Tuấn

Con trỏ dữ liệu DPTR (data pointer) đƣợc dùng để truy xuất bộ nhớ
chƣơng trình ngoài hoặc bộ nhớ dữ liệu ngoài. DPTR là một thanh ghi 16 bit có
địa chỉ là 82H (DPL, byte thấp) và 83H (DPH, byte cao).
Thanh ghi các cổng P0-P3
Các port xuất/nhập của 8051 bao gồm Port 0 tại địa chỉ 80H, Port 1 tại
địa chỉ 90H, Port 2 tại địa chỉ A0H và Port 3 tại địa chỉ B0H. Tất cả các port
đều đƣợc định địa chỉ từng bit nhằm cung cấp các khả năng giao tiếp mạnh.
Thanh ghi bộ đệm truyền thông nối tiếp (Serial Data Buffer)
Bộ đệm truyền thông đƣợc chia thành hai bộ đệm, bộ đệm truyền dữ liệu
và bộ đệm nhận dữ liệu. Khi dữ liệu đƣợc chuyển vào thanh ghi SBUF, dữ liệu
sẽ đƣợc chuyển vào bộ đệm truyền dữ liệu và sẽ đƣợc lƣu giữ ở đó cho đến khi
quá trình truyền dữ liệu qua truyền thông nối tiếp kết thúc. Khi thực hiện việc
chuyển dữ liệu từ SBUF ra ngoài, dữ liệu sẽ đƣợc lấy từ bộ đệm nhận dữ liệu

của truyền thông nối tiếp.
Thanh ghi của bộ định thời/bộ đếm
8051 có 2 bộ đếm/định thời (counter/timer) 16 bit để định các khoảng
thời gian hoặc để đếm các sự kiện. Các cặp thanh ghi (TH0, TL0) và (TH1,
TL1) là các thanh ghi của bộ đếm thời gian. Bộ định thời 0 có địa chỉ 8AH
(TL0, byte thấp) và 8CH (TH0, byte cao). Bộ định thời 1 có địa chỉ 8BH (TL1,
byte thấp) và 8DH (TH1, byte cao).
Hoạt động của bộ định thời đƣợc thiết lập bởi thanh ghi chế độ định thời
TMOD (Timer Mode Register) ở địa chỉ 88H. Chỉ có TCON đƣợc định địa chỉ
từng bit.
Các thanh ghi điều khiển

ĐH Bách khoa Hà Nội

Page 24


×