Tải bản đầy đủ (.doc) (33 trang)

Đồ Án Môn Vi Học Điều Khiển (Kèm File Chương Trình)

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 (280.51 KB, 33 trang )

Đờ Án Mơn Học Vi Điều Khiển

1

Nhóm 10

PHẦN I
LÝ THUYẾT
CHƯƠNG I
MỤC ĐÍCH YÊU CẦU CỦA ĐỀ TÀI
I.MỤC ĐÍCH
Trong đồn án này chúng em thực hiện mạch đếm sản phẩm bằng cảm biến hồng ngoại.Mạch đếm sản phẩm là mạch được ứng dụng rất
nhiều với trong thực tế như đếm số sản phẩm để đóng bao bì trong nhà máy ,số sản phẩm đi qua trên băng truyền sản xuất…..
Nên để bài làm sát với thực tế và có thể ứng dụng được thì đề tài phải đạt được mục đich sau
-Số đếm phải chính xác.
-Hiển thị lên máy tính rõ ràng.
-Mạch điện không quá phức tạp, bảo đảm được sự an toàn,dễ sử dụng.
-Giá thành không quá mắc
II. YÊU CẦU :
-Mạch điện tử được thiết kế trên máy tính bằng phần mềm chun dụng.
-Số sản phẩm đếm được gửi lên máy tính và hiện thị bằng phần mềm tiện ích Hyper Terminal.
-Số sản tối đa hệ thống có thể đếm là một số thập phân bao gồm 12 chữ số.
Từ mục đích yêu cầu của đề tài chúng em đưa ra sơ đồ khối tổng quát của mạch điện như sau:
III. XÂY DỰNG SƠ ĐỒ KHỐI TỔNG QUÁT:

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư



Đồ Án Môn Học Vi Điều Khiển

2

Nhóm 10

CẢM BIẾN

KHỐI XỬ LÝ

MÁY TÍNH

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


3

Đờ Án Mơn Học Vi Điều Khiển

Nhóm 10

CHƯƠNG II
LÝ THUYẾT THIẾT KẾ
I. CÁC KHỐI TRONG MẠCH ĐIỆN:
1. Cảm biến:

a. Giới thiệu sơ lược về mạch cảm biến:
Để cảm nhận mỗi lần sản phẩm đi qua thì cảm biến phải có phần phát và phần thu. Phần phát phát ra ánh sáng hồng ngoại và phần
thu hấp thụ ánh sáng hồng ngoại vì ánh sáng hồng ngoại có đặc điểm là ít bò nhiễu so với các loại ánh sáng khác. Hai bộ phận phát và thu
hoạt động với cùng tần số. Khi có sản phẩm đi qua giữa phần phát và phần thu, ánh sáng hồng ngoại bò che bộ phận thu sẽ hoạt động với
tần số khác tần số phát như thế tạo ra một xung tác động tới bộ phận xử lí. Vậy bộ phận phát và bộ phận thu phải có nguồn tạo dao động.
Bộ phận dao động tác động tới công tắc đóng ngắt của nguồn phát và nguồn thu ánh sáng. Có nhiều linh kiện phát và thu ánh sáng hồng
ngoại nhưng chúng em chọn led hồng ngoại và transitor quang là linh kiện phát và thu vì transistor quang là linh kiện rất nhạy với ánh sáng
hồng ngoại. Bộ phận tạo dao động có thể dùng mạch LC, cổng logic, hoặc IC dao động. Với việc sử dụng IC chuyên dùng tạo dao động, bộ
tạo dao động sẽ trở nên đơn giản hơn với tần số phát và thu
Vì tín hiệu ở ngõ ra trasitor quang rất nhỏ nên cần có mạch khuyếch đại trước khi đưa đến bộ tạo dao động. Chúng em chọn IC khuếch đại
để khuếch đại tín hiệu lên đủ lớn. Vậy sơ đồ khối của phần phát và phần thu là:
KHỐI
DAO
ĐỘNG

TRANSITOR
THU

KHUYẾCH
ĐẠI

KHỐI
DAO
ĐỘNG

b. Các linh kiện trong mạch cảm biến:
b1. Cấu tạo, nguyên lí hoạt động của led hồng ngoại:

Lê Văn Thanh


Nguyễn Đức Lực

Chu Đình Thư


4

Đờ Án Mơn Học Vi Điều Khiển

Nhóm 10

_Led được cấu tạo từ GaAs với vùng cấm có độ rộng là 1.43eV tương ứng bức xạ 900nm. Ngoài ra khi pha tạp Si với nguyên vật liệu
GaAlAs, độ rộng vùng cấm có thể thay đổi. Với cách này, người ta có thể tạo ra dải sóng giữa 800 - 900nm và do đó tạo ra sự điều hưởng
sao cho led hồng ngoại phát ra bước sóng thích hợp nhất cho điểm cực đại của độ nhạy các bộ thu.
_Hoạt động: khi mối nối p - n được phân cực thuận thì dòng điện qua nối lớn vì sự dẫn điện là do hạt tải đa số, còn khi mối nối được phân
cực nghòch thì chỉ có dòng rỉ do sự di chuyển của các hạt tải thiểu số. Nhưng khi chiếu sáng vào mối nối, dòng điện nghòch tăng lên gần như
tỷ lệ với quang thông trong lúc dòng thuận không tăng. Đặc tuyến volt – ampere của led hồng ngoại như sau:

I(A)

ϕ=4
ϕ=3
ϕ=2
ϕ=1
ϕ=0

U(V)
b2. Photon transistor.
Photon Transistor cũng tương tự như transistor thông thường nhưng chỉ khác ở chỗ nó không có cực bazơ, thay cho tác dụng khống chế
của dòng vào cực bazơ là sự khống chế của chùm sáng đối với dòng colector của transitor hoặc có cực bazơ, nhưng khống chế tín hiệu là

ánh sáng.
Cấu tạo của transistor quang
_ Ký hiệu và cấu tạo:

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


5

Đờ Án Mơn Học Vi Điều Khiển

Nhóm 10

C Cực thu (colecter)
Cực nền B
N
(base)
E
Cực phát
(emiter)
E
Ký hiệu

P

C


N
B

Cấu tạo

_Hình thức bên ngoài của nó khác với transistor thông thường ở chỗ trên vỏ của có cửa sổ trong suốt cho ánh sáng chiếu vào. Ánh sáng qua
cửa sổ này chiếu lên miền bazơ của transistor. Chuyển tiếp PN emitor được chế tạo như các transistor thông thường, nhưng chuyển tiếp PN
colector, thì do miền bazơ cần được chiếu sáng, cho nên nó có nhiều hình dạng khác nhau, cũng có dạng hình tròn nằm giữa tâm miền bazơ.
Khi sử dụng transistor quang mắc mạch tương tự như transistor mắc chung emitor (CE). Chuyển tiếp emitor được phân cực thuận còn
chuyển tiếp colector được phân cực nghòch. Có nghóa là transistor quang được phân cực ở chế độ khuyếch đại.
Dòng điện trong transistor:
Vì nối thu được phân cực nghòch nên có dòng rỉ Ico chạy giữa thu – nền và vì nối nền - phát được phân cực thuận nên dòng thu là ( β +
1)Ico đây là dòng tối của quang transistor. Khi chiếu ánh sáng vào miền bazơ, trong miền bazơ có sự phát xạ cặp điện tử lỗ trống làm xuất
hiện dòng IL. Do ánh sáng khiến dòng thu trở thành:
Ic = (β + 1) .(Ico + IL)
H=9

I(A)

H=7
Đặc tuyến của transistor quang

8

H=5

6
Trong đó H là mật độ chiếu sáng (mW/cm2 )


H=4

4

H=1

2

Lê Văn Thanh

0

5

10

15
20
1
Nguyễn Đức Lực

U(V)

Chu Đình Thư


6

Đờ Án Mơn Học Vi Điều Khiển


Nhóm 10

Đặc tuyến của transistor quang cũng giống như đặc tuyến Volt- ampere của transistor thông thường mắc EC. Điều khác nhau ở đây là
các tham số không phải là dòng Ib mà là lượng chiếu sáng
Đặc tuyến Volt ampere của transistor quang ứng với khoảng Uce nhỏ cũng có thể gọi là miền bão hòa vì khi ấy do sự tích tụ điện tích
có thể coi như chuyển tiếp colector được phân cực thuận. Cũng tương tự như trong trường hợp transistor thông thøng, độ dốc đặc tuyến
trong miền khuyếch đại.
b3. IC dao động 555
Sơ đồ chân:
GND
TRI
OUT
RES

8

VCC

6

4

7

DIS
THR
CN

5


FLIP
FLOP

Sơ đồ khối bên trong IC 555 2

OUTPUT

3

1

Chức năng của các chân
Đây là vi mạch đònh thời chuyên dùng, có thể mắc thành dạng mạch đơn ổn hay bất ổn.
Điện áp cung cấp từ 3V đến 18V.
Dòng điện ra đến 200mA (loại vi mạch BJT) hay 100mA (loại CMOS).
Chân 1: Nối với masse.

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


7

Đờ Án Mơn Học Vi Điều Khiển

Nhóm 10


Chân 2: Nhận tín hiệu kích thích (trigger).
Chân 3: Tín hiệu ra (output).
Chân 4: Phục nguyên về trạng thái ban đầu (preset).
Chân 5: Nhận điện áp điều khiển (control voltag).
Chân 6: Mức ngưỡng ( threshold ).
Chân 7: Tạo đường phóng điện cho tụ.
Chân 8: Cấp nguồn Vcc.
* IC khuyếch đại LM 324 ( QUAD OPERATIONAL AMPLIFIER).
14 13

12 11 10

4

GND

+3 - 30V
2

3

4

8

+3

+

1+


1

9

5

+2

6

7

LM 324 IC có 4 tầng khuếch đại thuật toán, IC làm việc với loại nguồn đơn.
Độ lợi trên 100dB, tuy nhiên băng thông hẹp hơn LM 3900.
Chú ý: không để ngã ra chạm vào nguồn V+ hay chạm thẳng vào masse, điều này sẽ làm hư IC.
• IC 567 (TONE DECODER):
IC 567 Bộ giải mã âm sắc.
IC chứa một vòng khóa pha. Khi tần số phù hợp với tần số trung tâm thì chân 8 có mức áp thấp. Do đó tín hiệu từ transistor qua tầng
khuyếch đại đưa đến ngõ vào của IC 567. Tần số hiện nay được xác lập theo mạch đònh thời R và C hay 1,1 /(RC). R lấy khoảng 2K đến
20K. 567 có thể tách dò tần số ngã vào từ 0,01Hz đến 500KHz.

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


Đờ Án Mơn Học Vi Điều Khiển


8

Nhóm 10

Tụ ngõ ra 1
8 Ngõ ra
567
Tụ lọc thôngthấp
7 GND
Ngõvào 2
6 Tụ đònh thời
+4,75-9,0V
5 Điện trở đònh thời
3
4
Ghi chú: các ngã vào trong mạch lọc thấp qua tính theo µF sẽ được xác đònh bởi n/F . Trong đó n trong khoảng 1300 đến 62000. Tụ ngã ra
0

lấy trò số gấp đôi tụ trong mạch lọc thấp qua ở ngã vào.
2. Khối xử lí:
Trong đồ án này chúng em sử dụng vi điều khiển 8051. 8051 cũng là vi xử lí 8 bit nhưng có chứa bộ nhớ bên trong và có thêm 2 bộ
đònh thời ngoài ra nó có thể giao tiếp nối tiếp trực tiếp với máy tính mà vi xử lí 8 bit như 8085 cũng giao tiếp được với máy tính nhưng là
giao tiếp song song nên cần có IC chuyển đổi dữ liệu từ song song sang nối tiếp để giao tiếp với máy tính. Với bộ nhớ trong 8051 thích hợp
cho những chương trình có quy mô nhỏ,tuy nhiên 8051 có thể kết hợp được với bộ nhớ ngoài cho chương trình có quy mô lớn. Sau đây là
giới thiệu của chúng em về vi điều khiển 8051:
a. Giới thiệu cấu trúc phần cứng 8051
a1. Sơ đồ chân 8051
8051 là IC vi điều khiển (Microcontroller) do hãng Intel sản xuất. IC này có đặc điểm như sau:
- 4k byte ROM,128 byte RAM

- 4 Port I/O 8 bit.
- 2 bộ đếm/ đònh thời 16 bit.
- Giao tiếp nối tiếp.
- 64k byte không gian bộ nhớ chương trình mở rộng.
- 64k byte 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 bít đơn).
- 210 bit được đòa chỉ hóa.
- Bộ nhân / chia 4.

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


9

Đờ Án Mơn Học Vi Điều Khiển

Nhóm 10

Sơ lược về các chân của 8051:
1
2
3
4
5
6
7

8
9
1
1
1
1
1
1
1
1

0
1
2
3
4
5
6
7

18
19
20

P
P
P
P
P
P

P
P

1
1
1
1
1
1
1
1

.0
.1
.2
.3
.4
.5
.6
.7

R ESET
P
P
P
P
P
P
P
P


3
3
3
3
3
3
3
3

.0
.1
.2
.3
.4
.5
.6
.7

X2
X1
VSS

VC
P0
P0
P0
P0
P0
P0

P0
P0

C
.0
.1
.2
.3
.4
.5
.6
.7

E A /V P
A L E /P
PSEN
P
P
P
P
P
P
P
P

2
2
2
2
2

2
2
2

.7
.6
.5
.4
.3
.2
.1
.0

4
3
3
3
3
3
3
3
3

0
9
8
7
6
5
4

3
2

31
30
29
2
2
2
2
2
2
2
2

8
7
6
5
4
3
2
1

8031

a2. Chức năng của các chân 8051:
Port 0: từ chân 32 đến chân 39 (P0.0 _P0.7). Port 0 có 2 chức năng: 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 thiết kế lớùn có bộ nhớ mở rộng nó được kết hợp giữa bus đòa chỉ và bus dữ liệu.
Port 1: từ chân 1 đến chân 9 (P1.0 _ P1.7). Port 1 là port IO dùng cho giao tiếp với thiết bò ngoài nếu cần.

Port 2: từ chân 21 đến chân 28 (P2.0 _P2.7). Port 2 là một port có tác dụng kép 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: từ chân 10 đến chân 17 (P3.0 _ P3.7). Port 3 là port có tác dụng kép. Các chân của port này có nhiều chức năng, có công dụng
chuyển đổi có liên hệ đến các đặc tính đặc biệt của 8051 như ở bảng sau :

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


Đờ Án Mơn Học Vi Điều Khiển
Bit

10

Nhóm 10

Chức n
ăng chuyển đổi
P3.0
RXD Ngõ vào dữ liệu nối tiếp.
P3.1
TXD Ngõ xuất dữ liệu nối tiếp.
P3.2
INT0\ Ngõ vào ngắt cứng thứ 0.
P3.3
INT1\ Ngõ vào ngắt cứng thứ 1.
P3.4

T0
Ngõ vào TIMER/ COUNTER thứ 0.
P3.5
T1
Ngõ vào của TIMER/ COUNTER thứ 1.
P3.6
WR\
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.
PSEN (Program store enable):
PSEN là tín hiệu ngõ ra có tác dụng cho phép đọc bộ nhớ chương trình mở rộng và thường được nối đến chân OE\ của Eprom cho
phép đọc các byte mã lệnh.
PSEN ở mức thấp trong thời gian 8051 lấy lệnh. Các mã lệnh của chương trình được đọc từ Eprom qua bus dữ liệu, được chốt vào
thanh ghi lệnh bên trong 8051 để giải mã lệnh. Khi 8051 thi hành chương trình trong ROM nội PSEN ở mức cao.
ALE (Address Latch Enable):
Khi 8051 truy xuất bộ nhớ bên ngoài, Port 0 có chức năng là bus đòa chỉ và 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 ở 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.
EA\ (External Access): Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức 1 hoặc mức 0. Nếu ở mức 1, 8051 thi hành chương
trình từ ROM nội. Nếu ở mức 0, 8051 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 8051.
RST (Reset): Khi ngõ vào tín hiệu này đưa lên mức cao ít nhất 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 phải tự động reset.
Các ngõ vào bộ dao động X1, X2:
Bộ tạo dao động được tích hợp bên trong 8051. Khi sử dụng 8051, người ta chỉ cần nối thêm tụ thạch anh và các tụ. Tần số tụ thạch anh
thường là 12 Mh

Lê Văn Thanh


Tên

Nguyễn Đức Lực

Chu Đình Thư


11

Đờ Án Mơn Học Vi Điều Khiển

Nhóm 10

b. Cấu trúc bên trong của 8051
b1. Sơ đồ khối bên trong 8051:
INT1
INT0
Timer 2
Timer 1
Timer 0
Port nối tiếp

Điều khiển
ngắt

Các thanh

ghi khác


128
byte RAM

Timer
2Timer
1Timer 0

MRO nội

T2
T1
EX
TE
T0
RN
AL

CPU

Oscillator

Điều khiển bus

Các port I/O

Port nối tiếp

EA
RST


P0 P2

PSEN

P1 P3

TxD

RxD

ALE

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


Đờ Án Mơn Học Vi Điều Khiển

12

Nhóm 10

b2. Khảo sát các khối nhớ bên trong 8051:
*Tổ chức bộ nhớ:
Bộ nhớ bên trong 8051 bao gồm ROM và RAM. RAM bao gồm nhiều thành phần: phần lưu trữ đa dụng, phần lưu trữ đòa chỉ hóa từng bit,
các bank thanh ghi và các thanh ghi chức năng đặc biệt.
8051 có bộ nhớ theo cấu trúc Harvard: có những vùng nhớ riêng biệt cho chương trình và dữ liệu. Chương trình và dữ liệu có thể

chứa bên trong 8051 nhưng 8051 vẫn có thể kết nối với 64 k byte bộ nhớ chương trình và 64 k byte bộ nhớ dữ liệu mở rộng.
Ram bên trong 8051 được phân chia như sau:
- Các bank thanh ghi có đòa chỉ từ 00H đến 1Fh.
- Ram đòa chỉ hóa từng bit có đòa chỉ từ 20H đến 2FH.
- Ram đa dụng từ 30H đến 7FH.
Các thanh ghi chức năng đặc biệt từ 80H đến FFH.

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


7F
RAM
ĐA
NGKhiển
Đờ Án Mơn
Học
ViDỤ
Điều

30
2F

7F

7E


7D

7C

7B

7A

79

78

2E
2D
2C
2B
2A
29
28
27
26
25
24
23
22
21
20
1F

77

6F
67
5F
57
4F
47
3F
37
2F
27
1F
17
0F
07

76
6E
66
5E
56
4E
46
3E
36
2E
26
1E
16
0E
06


75
6D
65
5D
55
4D
45
3D
35
2D
25
1D
15
0D
05

74
6C
64
5C
54
4C
44
3C
34
2C
24
1C
14

0C
04

73
6B
63
5B
53
4B
43
3B
33
2B
23
1B
13
0B
03

72
6A
62
5A
52
4A
42
3A
32
2A
22

1A
12
0A
02

71
69
61
59
51
49
41
39
31
29
21
19
11
09
01

70
68
60
58
50
48
40
38
30

28
20
18
10
08
00

BANK 3
18
17

BANK 2

10

F0

F7

F6

F5

F4

F3

F2

F1


F0

E0

E7

E6

E5

E413 E3

E2

E1

E0

D0 D7

D6

6D

6C

6B

6A


69

68

B8

-

-

-

BC

BB

BA B9

B8

B0

B7

B6

B5

B4


B3

B2

B1

B0

A8 AF

AE

AD AC AB AA A9

A8

A0 A7

A6

A5

A2

A1

A0

99

98

Không có đòa chỉ hóa từng bit
9F 9E 9D 9C 9B 9A

99

98

90

97

91

90

8D
8C
8B
8A
89
88

Không được đòa chỉ hóa từng bit
Không được đòa chỉ hóa từng bit
Không được đòa chỉ hóa từng bit
Không được đòa chỉ hóa từng bit
Không được đòa chỉ hóa từng bit
8F

8 8D 8C 8B 8A 89
E
Không được đòa chỉ hóa từng bit

0F
BANK 1

87

96 95

A4

94

A3

93

92

Nhóm 10

88

08
07
Bank thanh ghi 0 ( mặc đònh cho R0-R7)
00


Lê Văn Thanh

CẤU TRÚC RAM NỘI

83
82
81
80

Không được đòa chỉ hóa từng bit
Không được đòa chỉ hóa từng bit
Không được đòa chỉ hóa từng bit
87
86
8 84 83 82 81 80
5
THANH GHINguyễn
CHỨC Đức
NĂNLực
G ĐẶC BIỆT

Chu Đình Thư


Đờ Án Mơn Học Vi Điều Khiển

14

Nhóm 10


-Ram đa dụng:
Mọi đòa chỉ trong vùng ram đa dụng đều có thể được truy xuất tự do dùng kiểu đòa chỉ trực tiếp hay gián tiếp,hoặc truy xuất dùng
cách đòa chỉ gián tiếp qua R0 hay R1.
-Ram có thể truy xuất từng bit:
8051 chứa 210 bit được đòa chỉ hóa từng bit, trong đó 128 bit chứa ở các byte có đòa chỉ từ 20H đến 2FH, các bit còn lại chứa trong
nhóm thanh ghi chức năng đặc biệt.
Ýtưởng truy xuất từng bit bằng phần mềm là một đặc tính mạnh của vi điều khiển nói chung. Các bit có thể được đặt, xóa, and, or,…
với 1 lệnh đơn. Ngoài ra các port cũng có thể truy xuất được từng bít làm đơn giản phần mềm xuất nhập từng bit.
-Các bank thanh ghi:
Bộ lệnh 8051 hỗ trợ 8 thanh ghi có tên là R0 đến R7 và theo mặc đònh (sau khi reset hệ thống), các thanh ghi nàû các đòa chỉ 00H
đến 07H.
Bank thanh ghi tích cực bằng cách thay đổi các bit trong từ trạng thái chương trình (PSW).
* Các thanh ghi có chức năng đặc biệt:
8051 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ú ý: tất cả 128 đòa chỉ từ 80H đến FFH không được đònh nghóa, chỉ có 21 thanh ghi chức năng đặc biệt được đònh nghóa sẵn các đòa chỉ.
-Thanh ghi trạng thái chương trình:
Thanh ghi trạng thái chương trình PSW (Program Status Word ) ở đòa chỉ DOH chứa các bít trạng thái như bảng sau:
Bit
Ký hiệu Đòa chỉ
Ý nghóa

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


15


Đờ Án Mơn Học Vi Điều Khiển
PSW.7
PSW.6
PSW.5
PSW.4
PSW.3

CY
AC
F0
RS1
RS0

D7H
D6H
D5H
D4H
D3H

PSW.2
PSW.1
PSW.0

0V
_
P

D2H
D1H
D0H


Nhóm 10

Cờ nhớ
Cờ nhớ phụ
Cờ 0
Bit 1 chọn bank thanh ghi
Bit 0 chọn bank thanh ghi
00=bank 0: đòa chỉ 00H – 07H
01=bank 1: đòa chỉ 08H – 0FH
10=bank 2: đòa chỉ 10H – 1FH
11=bank 3: đòa chỉ 18H –1FH
Cờ tràn
Dự trữ
Cờ parity chẵn lẽ.

+ Cờ nhớ:
C = 1 nếu phép toán cộng có tràn hoặc phép toán trừ có mượn và ngược lại C = 0.
+ Cớ nhớ phụ:
Khi cộng các số BCD, cờ nhớ phụ AC = 1 nếu kết quả 4 bit thấp trong khoảng 0AH đến 0FH. Ngược lại AC = 0.
+ Cờ 0:
Cờ 0 là một bit cờ đa dụng dành cho các ứng dụng của người dùng.
+ Các bit chọn bankthanh ghi truy xuất:
Các bit chọn bank thanh ghi (RS0 và RS1) xác đònh bank thanh ghi được truy xuất. 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.
-Thanh ghi B:
Thanh ghi B ở đòa chỉ F0H được dùng cùng với thanh ghi tích lũy A cho các phép toán nhân và chia.
-Con trỏ ngăn xếp:

Lê Văn Thanh


Nguyễn Đức Lực

Chu Đình Thư


Đờ Án Mơn Học Vi Điều Khiển

16

Nhóm 10

Con trỏ ngăn xếp SP là một thanh ghi 8 bit ở đòa chỉ 18H. Nó chứa đòa chỉ của byte dữ liệu hiện hành trên đỉnh của ngăn xếp. Các
lệnh trên ngăn xếp bao gồm các lệnh cất dữ liệu vào ngăn xếp và lấy dữ liệu ra khỏi ngăn xếp. 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 dữ liệu ra khỏi ngăn xếp sẽ làm giảm SP. Ngăn xếp của 8051 được giữ trong ram nội và giới hạn các
đòa chỉ có thế truy xuất bằng đòa chỉ gián tiếp, chúng là 128 byte đầu của 8051
Khi reset 8051, 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ỉ là 08 H.
-Con trỏ dữ liệu
Con trỏ dữ liệu DPTR được dùng để truy xuất bộ nhớ ngoài là một thanh ghi 16 bit ở đòa chỉ 82H (DPL: byte thấp) và 83H (DPH:
byte cao).
-Các thanh ghi port xuất nhập:
Các port của 8051 bao gồm port 0 ở đòa chỉ 80H, port 1 ở đòa chỉ 90H, port 2 ở đòa chỉ A0H, và port3 ở đò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.
-Các thanh ghi timer:
8051 có chứa 2 bộ đònh thời/ đế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óa từng bit.
-Các thanh ghi port nối tiếp:
8051 chứa một port nối tiếp dành cho việc trao đổi thông tin với các thiết bò nối tiếp như máy tính, modem hoặc giao tiếp nối tiếp
với các IC khác. Một thanh ghi gọi là bộ đệm dữ liệu nối tiếp (SBUF) ở đòa chỉ 99H sẽ giữ cả 2 dữ liệu truyền và dữ liệu nhận. Khi truyền

dữ liệu thì ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF. Các mode vận hành khác nhau được lập trình qua thanh ghi điều khiển port nối
tiếp SCON ở đòa chỉ 98H.
-Các thanh ghi ngắt:
8051 có cấu trúc 5 nguồn ngắt, 2 mức ưu tiên. Các ngắt bò cấm sau khi 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ỉ A8H, cả 2 thanh ghi được đòa chỉ hóa từng bit.
-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 các bit điều khiển.
-Tín hiệu Reset:

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


Đờ Án Mơn Học Vi Điều Khiển

17

Nhóm 10

8051 có ngõ vào reset RST tác động ở mức cao trong khoảng thời gian 2 chu kỳ, sau đó xuống mức thấp để 8051 bắt đầu làm việc.
RST có thể kích bằng tay bằng một phím nhấn thường mở, sơ đồ mạch reset như hình trên (hình a)
sau khi reset hệ thống được tóm tắt như sau:
Thanh ghi
Nội dung
Đếm chương trình PC
0000H
Thanhghi tích lũy A

00H
Thanh ghi B
00H
Thanh ghi trạng thái
00H
SP
07H
DPTR
0000H
Port 0 đến Port 3
FFH
IP
XXX0000 B
IE
0XX00000 B
Các thanh ghi đònh thời
00H

Thanh ghi quan trọng nhất là thanh ghi bộ đếm chương trình PC được Reset tại đòa chỉ 0000H. Khi ngõ vào RST xuống mức thấp,
chương trình luôn bắt đầu tại đòa chỉ 0000H của bộ nhớ chương trình. Nội dung của Ram trong chip không bò hay đổi bởi tác động của ngõ
vào Reset
c.Hoạt động thanh ghi TIMER
8051 có hai timer 16 bit, mỗi timer có bốn cách làm việc. Người ta sử dụng các timer để:
-

Đònh khoảng thời gian.

-

Đếm sự kiện.


-

Tạo tốc độ baud cho port nối tiếp trong 8051.

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


18

Đờ Án Mơn Học Vi Điều Khiển

Nhóm 10

Trong các ứng dụng đònh khoảng thời gian, người ta lập trình timer ở những khoảng đều đặn và đặt cờ tràn timer. Cờ được dùng để đồng bộ
hóa chương trình để thực hiện một tác động như kiểm tra trạng thái của các ngõ vào hoặc gửi sự kiện ra các ngõra. Các ứng dụng khác có
thể sử dụng việc tạo xung nhòp đều đặn của timer để đo thời gian trôi qua giữa hai sự kiện (ví dụ đo độ rộng xung ).
Truy xuất các timer của 8051 dùng sáu thanh ghi chức năng đặc biệt cho trong bảng sau:

SFR

Mục Đích

Đòa chỉ

Đòa chỉ hóa từng bit


TCON

Điều khiển Timer

88H



TMOD

Chế độ Timer

89H

Không

TL0

Byte thấp của Timer 0

90H

Không

TL1

Byte thấp của Timer 1

91H


Không

TH0

Byte cao của Timer 0

92H

Không

TH1

Byte cao của Timer 1

93H

Không

Các thanh ghi chức năng của timer trong 8031.
Thanh ghi chế độ timer (TMOD):

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


19


Đờ Án Mơn Học Vi Điều Khiển

Nhóm 10

Thanh ghi TMOD chứa hai nhóm 4 bit dùng để đặt chế độ làm việc cho Timer 0, và Timer 1.
Bit

Tên

Timer

Mô tả

7

GATE

1

Bit mở cổng, khi lên 1 timer chỉ chạy khi INT1 ở mức cao

6

C/T

1

Bit chọn chế độ Count/Timer
1 = bộ đếm sự kiện

0 = bộ đònh khoảng thời gian

5

M1

1

Bit 1 của chế độ mode

4

M0

1

Bit 0 của chế độ mode

3

GATE

0

Bit mở cổng, khi lên 1 timer chỉ chạy khi INT0 ở mức cao

2

C/T


0

Bit chọn chế độ Count/Timer

1

M1

0

Bit 1 của chế độ mode

0

M0

0

Bit 0 của chế độ mode
Tóm tắt thanh ghi chức năng TMOD.

Thanh ghi điều khiển timer(TCON)
Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho Timer 1, Timer 0.
Bit

Lê Văn Thanh

Ký hiệu

Đòa chỉ


Mô tả

Nguyễn Đức Lực

Chu Đình Thư


20

Đờ Án Mơn Học Vi Điều Khiển
TCON.7

TF1

8FH

Cờ báo tràn timer 1. Đặt bởi phần cứng khi tràn,
được xóa bởi phần mềm, hoặc phần cứng khi bộ
xử lý chỉ đến chương trình phục vụ ngắt.

TCON.6

TR1

8EH

Bit điều khiển timer 1 chạy đặt xóa bằng phần
mềm để cho timer chạy ngưng.


TCON.5

TF0

8DH

Cờ báo tràn Timer 0.

TCON.4

TR0

8CH

Bit điều khiển Timer 0 chạy

TCON.3

IE1

8BH

Cờ cạnh ngắt 1 bên ngoài. Đặt bởi phần cứng khi
phát hiện một cạnh xuống ở INT1 xóa bằng phần
mềm họăc phần cứng khi CPU chỉ đến chương
trình phục vụ ngắt.

TCON.2

IT1


8AH

Cờ kiểu ngắt 1 bên ngoài. Đặt xóa bằng phần
mềm để ngắt ngoài tích cực cạnh xuống /mức
thấp.

TCON.1

IE0

89H

Cờ cạnh ngắt 0 bên ngòai

TCON.0

IT0

88h

Cờ kiểu ngắt 0 bên ngoài

Nhóm 10

Tóm tắt thanh ghi chức năng TCON
Khởi động và truy xuất thanh ghi timer:

Lê Văn Thanh


Nguyễn Đức Lực

Chu Đình Thư


21

Đờ Án Mơn Học Vi Điều Khiển

Nhóm 10

Thông thường các thanh ghi được khởi động một lần đầu ở chương trình để đặt ở chế độ làm việc đúng. Sau đó, trong thân chương
trình, các thanh ghi timer được cho chạy, dừng, các bit được kiểm tra và xóa, các thanh ghi timer được đọc và cập nhật…. theo đòi hỏi các
ứng dụng.
TMOD là thanh ghi thứ nhất được khởi động vì nó đặt chế độ hoạt động.
d. Ngắt ( INTERRUPT)
Một ngắt là sự xảy ra một điều kiện, một sự kiện mà nó gây ra treo tạm thời thời chương trình chính trong khi điều kiện đó được phục
vụ bởi một chương trình khác.
Các ngắt đóng một vai trò quan trọng trong thiết kế và cài đặt các ứng dụng vi điều khiển. Chúng cho phép hệ thống đáp ứng bất
đồng bộ với một sự kiện và giải quyết sự kiện đó trong khi một chương trình khác đang thực thi.
Tổ chức ngắt của 8051:
Có 5 nguồn ngắt ở 8031: 2 ngắt ngoài, 2 ngắt từ timer và 1 ngắt port nối tiếp. Tất cả các ngắt theo mặc nhiên đều bò cấm sau khi
reset hệ thống và được cho phép từng cái một bằng phần mềm.
Khi có hai hoặc nhiều ngắt đồng thời, hoặc một ngắt xảy ra khi một ngắt khác đang được phục vụ, có cả hai sự tuần tự hỏi vòng và
sơ đồ ưu tiên hai mức dùng để xác đònh việc thực hiện các ngắt. Việc hỏi vòng tuần tự thì cố đònh nhưng ưu tiên ngắt thì có thể lập trình
được.
- Cho phép và cấm ngắt :
Mỗi nguồn ngắt được cho phép hoặc cấm ngắt qua một thanh ghi chức năng đặt biệt có đònh đòa chỉ bit IE ( Interrupt Enable : cho
phép ngắt ) ở đòa chỉ A8H.
Bit


Ký hiệu

Đòa chỉ bit

Mô tả

IE.7

EA

AFH

Cho phép / Cấm toàn bộ

IE.6

_

AEH

Không được mô tả

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư



22

Đờ Án Mơn Học Vi Điều Khiển
IE.5

ET2

ADH

Cho phép ngắt từ Timer 2 (8052)

IE.4

ES

ACH

Cho phép ngắt port nối tiếp

IE.3

ET1

ABH

Cho phép ngắt từ Timer 1

IE.2

EX1


AAH

Cho phép ngắt ngoài 1

IE.1

ET0

A9H

Cho phép ngắt từ Timer 0

IE.0

EX0

A8H

Cho phép ngắt ngoài 0

Nhóm 10

Tóm tắt thanh ghi IE
- Các cờ ngắt :
Khi điều kiện ngắt xảy ra thì ứng với từng loại ngắt mà loại cờ đó được đặt lên một để xác nhận ngắt.
Ngắt

Cờ


Thanh ghi SFR và vò trí bit

Bên ngoài 0

IE0

TCON.1

Bên ngoài 1

IE1

TCON.3

Timer 1

TF1

TCON.7

Timer 0

TF0

TCON.5

Port nối tiếp

TI


SCON.1

Port nối tiếp

RI

SCON.0
Các lọai cờ ngắt

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


23

Đờ Án Mơn Học Vi Điều Khiển

Nhóm 10

- Các vectơ ngắt :
Khi chấp nhận ngắt, giá trò được nạp vào PC được gọi là vector ngắt. Nó là đòa chỉ bắt đầu của ISR cho nguồn tạo ngắt, các vector
ngắt được cho ở bảng sau
Ngắt

Cờ

Đòa chỉ vector


Reset hệ thống

RST

0000H

Bên ngoài 0

IE0

0003H

Timer 0

TF0

000BH

Bên ngoài 1

IE1

0013H

Timer 1

TF1

001BH


TI và RI

0023H

Port nối tiếp
Timer 2

002BH

Vector reset hệ thống (RST ở đòa chỉ 0000H) được để trong bảng này vì theo nghóa này, nó giống ngắt : nó ngắt chương trình chính và nạp
cho PC giá trò mới.

Lê Văn Thanh

Nguyễn Đức Lực

Chu Đình Thư


Đờ Án Mơn Học Vi Điều Khiển
Nhóm 10

1

PHẦN II
THIẾT KẾ,THI CÔNGVÀ CHƯƠNG TRÌNH
CHƯƠNG I THIẾT KẾ, THI CÔNG PHẦN CỨNG

Sau khi đã phân tích một mô hình hệ thống vi xử lý bây giờ chúng em bắt đầu đi

vào tính toán các giá trò thực tế để cho hệ thống hoạt động được. Việc tính toán lựa
chọn phải dựa trên lý thuyết và các linh kiện thông dụng trên thò trường.
Mặc dù phần cứng hệ thống không thể thay đổi được nhưng phần mềm có thể
thay đổi làm cho hệ thống có khả năng hoạt động một cách linh hoạt vì vậy thiết kế
phần cứng phải cân đối sao cho phần mềm không quá phức tạp.
I. KẾT NỐI 8051 VỚI BỘ NHỚ VÀ CÁC IC NGOẠI VI :
1. Kết nối bộ nhớ chương trình bên ngoài:
Bộ xử lý chính là IC 8051 với tần số làm việc là 12 MHz. Chân 18, 19 của 8051
được nối với thạch anh (cũng có thể thay thế thạch anh bằng tín hiệu xung clock).
Bộ nhớ ROM được cho phép bởi tín hiệu PSEN\. Hình sau mô tả cách nối bộ nhớ
Eprom với 8051:

Port 0
EA
8051
ALE

Port2

D7 - D0
D
74373
Q
G

EPROM
A7- A0

A15 -A8
0E\


2. KếtPSEN
nối bộ nhớ dữ liệu ngoài:
Bộ nhớ Ram được cho phép ghi/ đọc bằng các tín hiệu điều khiển WR\ và RD\.
8051 có 1 lệnh duy nhất truy xuất dữ liệu của bộ nhớ dữ liệu ngoài là MOVX dùng con
trỏ 16 bit (DPTR) 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 cũng giống như EPROM .
Ngoài ra, RD của 8051 đượ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.

Lê Văn Thanh
Chu Đình Thư

Nguyễn Đức Lực


2

Đờ Án Mơn Học Vi Điều Khiển
Nhóm 10

D7 - D0
Port 0

RAM
A7- A0

D
EA


8051
ALE

A15 -A8
0E
WR

Q

Port2

74373
G

3.Kết nốiRD
mạch giải mã:
*Hình thành mạch giải mã đòa chỉ dựa trên bảng đồ bộ nhớ sau:
WR
IC
Rom
8K
Ram
8K
8255
1
8255
2

A
15

0
0
0
0
0
0
0
0

A
14
0
0
0
0
1
1
1
1

A
13
0
0
1
1
0
0
1
1


A
12
0
1
0
1
0
0
0
0

A
11
0
1
0
1
0
0
0
0

A
10
0
1
0
1
0

0
0
0

A
9
0
1
0
1
0
0
0
0

A
8
0
1
0
1
0
0
0
0

A
7
0
1

0
1
0
0
0
0

A
6
0
1
0
1
0
0
0
0

A
5
0
1
0
1
0
0
0
0

A

4
0
1
0
1
0
0
0
0

A
3
0
1
0
1
0
0
0
0

A
2
0
1
0
1
0
0
0

0

A
1
0
1
0
1
0
1
0
1

A
0
0
1
0
1
0
1
0
1

hex
0000 H
1FFFH
2000 H
3FFFH
4000 H

4003 H

Tuy nhiên tại một thời điểm chỉ có 1 IC nhớ được truy xuất nên dùng các đường
đòa chỉ A13, A14, A15 để phân biệt. Lấy A15, A13, A14 nối tới 3 đầu vào IC giải mã
74138 (A,B,C). Các ngõ ra Y0, Y1,Y2, Y3 lần lượt được nối tới CE của Rom,Ram, CS
của 8255. Khi Yi = 0 thì IC đó được chọn:
A13, A14, A15 = 0 chọn Rom
.
A13 = 1, A14, A15 = 0 chọn Ram
]
A13 = 0, A14 = 1, A15 = 0 chọn 82551
A13 =1, A14 = 1, A15 = 0 chọn 82552
4. Kết nối mạch chốt:
-Chân ALE (chân 30) của 8051 kết nối với chân G của 74373. Các đường của
Port0 nối với các đường từ Do đến D7 của 74373. Các đường tín hiệu (Q 0→Q7 ) của
74373 và các đường port 2 (P 2.0 →P2.7) được nối tới các đường đòa chỉ của ROM và
RAM (A0 →A12 ) còn các đường dữ liệu từ port 0 được nối tới các đường dữ liệu của
uhhdsaufy
ROM và RAM,
8255 (D0 →D 7 ).
Lê Văn Thanh
Chu Đình Thư

Nguyễn Đức Lực


×