Đờ Á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
Có
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