Tài liệu Thí nghiệm vi xử lý - Bài 1: Thiết bị chính μPTS-31 (Microprocessor trainning system-31)
Phòng thí nghiệm Vi xử lý
Tài liệu thí nghiệm Vi xử lý
SƠ ĐỒ KHỐI CỦA THIẾT BỊ THÍ NGHIỆM VI
XỬ LÝ
Trang 1
Phòng thí nghiệm Vi xử lý
Tài liệu thí nghiệm Vi xử lý
MỤC ĐÍCH THÍ NGHIỆM
Giúp sinh viên bằng thực nghiệm khảo sát các vấn đề chính sau đây :
- Giao tiếp với máy tính thông qua khe cắm mở rộng (open slot).
- Dùng 8255A điều khiển nhập / xuất dữ liệu.
-
THIẾT BỊ SỬ DỤNG
1. Bộ thí nghiệm μPTS-31.
2. Máy vi tính.
PHẦN I :
CƠ SỞ LÝ THUYẾT
I.
GIỚI THIỆU
Máy vi tính chính là một hệ thống vi xử lý lớn và hoàn hảo, trong máy tính đã
cung cấp các khe cắm mở rộng trên đó có đầy đủ các bus địa chỉ (address bus), bus dữ
liệu (data bus) và bus điều khiển (control bus) như một hệ thống vi xử lý thông
thường. Ngoài ra các hệ thống giao tiếp của máy tính như màn hình, bàn phím, chuột
và các phần mềm giúp ta dễ dàng ghi và thử giải thuật cho một đoạn chương trình
mong muốn. Sau đó từ giải thuật này ta chuyển sang ngôn ngữ cho từng loại vi xử lý
riêng. Ngoài ra nó còn dễ dàng giúp cho người nghiên cứu về Vi xử lý thấy được bằng
thực tế các vấn đề khi xây dựng và thiết kế các hệ thống vi xử lý.
Đặc điểm của thiết bị chính μPTS-31 nó tương thích với các máy tính IBM PC.
Ngôn ngữ lập trình có thể dùng các ngôn ngữ thông dụng, dễ học như Pascal,
Assembly, QBasic, C++... Ngoài ra các bộ đệm, bộ phối hợp cho phép điều khiển trực
tiếp Relay, Led, ma trận LED, bàn phím, loa, động cơ, ...
Các thiết bị có trong bộ thí nghiệm vi xử lý:
– Các mạch giao tiếp I/O độc lập cho phép nối với các hệ thống khác.
– Trên thiết bị chính có 1 TEST BOARD để dễ dàng trong khi thí nghiệm và
thiết kế.
– Sử dụng các khối Module đi kèm để thực hành và thí nghiệm.
– Các phần chương trình đi kèm viết bằng hợp ngữ (Assembly) cho một số
ứng dụng minh họa như truyền dữ liệu, quang báo....
II.
ĐẶC TÍNH KỸ THUẬT CỦA BỘ THIẾT BỊ CHÍNH
1. Hệ thống μPTS-31 tương thích được với các hệ thống máy tính IBM PC .
2. Cho phép ghép nối với cổng RS-232C của máy để thực hiện các bài thí
nghiệm về truyền số liệu qua cổng COM.
3. Có bộ đệm dữ liệu và giải mã địa chỉ để có thể giao tiếp với máy tính qua
khe cắm mở rộng.
Trang 2
Phòng thí nghiệm Vi xử lý
Tài liệu thí nghiệm Vi xử lý
4. Có các bộ đệm Nhập / Xuất (I/O) để có thể cho phép điều khiển trực tiếp
relay, LED, loa....
– Cho phép xuất ra các Port A, B, C của 8255A để cho phép nối μPTS-31
với các thiết bị ngoài trong các bài thí nghiệm và ứng dụng.
– Có các ngõ ra relay.
– Có ngõ ra loa để thí nghiệm điều khiển tương tự hay cảnh báo.
– LED 8 bit để hiển thị dữ liệu khi xuất từ máy tính ra thiết bị chính μPTS-31.
5. Có các linh kiện I/O lập trình được, đưa ra các chốt cắm giúp cho người sử
dụng có thể kết nối với các thiết bị ngoài khác.
6. Ngoài ra để phục vụ cho các bài thí nghiệm trên bộ μPTS-31 còn có các
chốt nguồn cung cấp có các mức như sau:
♦ +5V/ 2A: Do đa số các bài thí nghiệm và linh kiện sử dụng là TTL cho nên
cần nguồn +5V có dòng lớn.
♦ -5V/0,5A: Ta chỉ cần 0,5A bởi vì nó chỉ sử dụng trong 1 số ít trường hợp.
♦ +12V/0,5A.
♦ -12V/0,5A.
III. CARD GIAO TIẾP PCBUS-2
Để giao tiếp và điều khiển từ máy tính tới các thiết bị khác mà cụ thể trong bộ
thí nghiệm này là một CARD giao tiếp lập trình được để điều khiển thiết bị chính như
màn hình, ổ đĩa, chuột... và để điều khiển được 1 số lượng lớn thiết bị, đồng thời đáp
ứng được các chương trình ứng dụng của phần thí nghiệm, thiết bị μPTS-31 dùng
phương pháp ghép nối qua khe cắm mở rộng của máy tính. Do chỉ cần sử dụng
đường dữ liệu 8 bit cho nên bộ μPTS-31 dùng khe cắm ISA 8 bit. Thiết bị μPTS-31
chọn vùng địa chỉ còn trống từ 300h tới 31Fh sử dụng cho không gian địa chỉ của Port
I/O. Nếu trong một số máy tính có sự trùng lắp địa chỉ thì ta vẫn có thể dùng các
chuyển mạch DIP SW để dời sang vùng địa chỉ khác.
CARD PCBUS – 2 được thiết kế như sau:
– Đầu tiên để giải mã địa chỉ cho Card hay nói khác đi là cho thiết bị μPTS-
31, ta dùng phương pháp giải mã bằng cách dùng công tắc để chọn. Trong
mạch dùng một bộ so sánh 8 bit 74 LS688, khi các địa chỉ từ A5 tới A12
tương ứng với giá trị trên các đường của DIP SW thì ở chân 19 của U2 sẽ
tạo ra mức THẤP. Chân này sẽ là đường tín hiệu chọn thiết bị chính (CS).
vị trí cho các công tắc trên DIP SW được ghi trên bảng sau:
Bảng 1.1:
Địa chỉ A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 Ạ 5 A4 A3 A2 A1 A0
DIP SW
0300h
031Fh
D7 D6 D5 D4 D3 D2 D1 D0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
Từ đó ta thấy với địa chỉ đầu là 300h tức khi đó các giá trị của các đường địa
chỉ không dùng để chọn (từ A 4 tới A 0) sẽ là 00000b và tại địa chỉ cuối tức là (từ A4 tới
A 0) sẽ là 11111b từ bảng ta có giá trị DIP SW là D4 = D3 = 1 còn các giá trị còn lại
bằng 0.
Các đường dữ liệu được đệm nhờ 74LS245 để bảo vệ các đường dữ liệu của
máy tính và tránh các trường hợp xung đột. Chân DIR của 74LS245 cho phép chọn
hướng truyền dữ liệu: dữ liệu sẽ đi từ A qua B khi DIR = 1 và từ B qua A khi DIR = 0.
Đường IOR được dùng để điều khiển hướng truyền dữ liệu. Trong mạch đường DIR
Trang 3
Phòng thí nghiệm Vi xử lý
Tài liệu thí nghiệm Vi xử lý
của U1 sẽ được nối vào đường IOR của bus hệ thống. Các đường dữ liệu từ bus dữ
liệu sẽ nối vào A1 tới A8 của 74LS245. Các đường dữ liệu ra sẽ đưa ra ổ nối DB25M
(P1) gắn trên vỏ CPU của máy tính. Nhờ đó trong chu kỳ đọc I/O Port thì IOR xuống
0 do đó dữ liệu sẽ truyền từ ngoài vào máy tính và ngược lại.
Các đường địa chỉ thấp từ A0 tới A4 đưa vào thiết bị chính để giải mã xác định
chính xác linh kiện nào được chọn trên thiết bị chính. Đồng thời các đường tín hiệu
điều khiển IOR , IOW , AEN, CLK và RESET DRV là các tín hiệu cần thiết cho thí
nghiệm sẽ được đưa ra ổ nối DB25M (P1) gắn trên vỏ CPU để khi thao tác ta không
phải tháo lắp vỏ máy.
Việc kết nối các đường Bus hệ thống với ổ DB25M (P1) thông qua bộ đệm
công suất lớn (dùng họ TTL 74LS07) nhằm tránh trường hợp quá tải cho đường bus
hệ thống.
Các đường trên khe cắm mở rộng tương ứng với các đường trên ổ DP25M (P1):
Bảng 1.2: Bảng chân ổ ra DB-25 tương ứng trên khe cắm mở rộng
SỐ THỨ TỰ
Ổ RA 25 PIN (DB25M P1)
KHE CẮM MỞ RỘNG
CHÂN SỐ CHỨC NĂNG
CHÂN SỐ
CHỨC NĂNG
1
2
1
2
D0
D2
A9
A7
D0
D2
3
3
D4
A5
D4
4
4
D6
A3
D6
5
6
7
8
5
6
7
8
+5V
B3,B29
B9
B7
+5V
+12V
-12V
RESET
/IOW
A11
A3
+12V
-12V
RESET DRV
/IOW
CLOCK
A3
B2
9
9
B13
A20
A28
A 30
10
11
12
13
10
11
12
13
A1
/CS
A1
ADD(300H-
31FH)
D1
D3
D5
14
15
16
17
18
19
20
21
22
23
24
25
14
15
16
17
18
19
20
21
22
23
24
25
D1
D3
D5
D7
GND
GND
-5V
AEN
/IOR
A4
A8
A6
A4
A2
B1,B10
B31
B5
A11
B14
A27
A29
A31
D7
GND
GND
-5V
AEN
/IOR
A4
A2
A0
A2
A0
Trang 4
Phòng thí nghiệm Vi xử lý
Tài liệu thí nghiệm Vi xử lý
P1
PC INTERFACE
+5V+12V-12-V5V
U1
74LS245
U3A
U3B
U3C
U3D
U3E
U3F
U4A
U4B
U4C
U4D
7407
7407
7407
7407
7407
7407
7407
7407
7407
7407
1
A 1
A0
A1
A2
A3
A4
IOR
IOW
AEN
RESET-DRV
D0D1D2D3D4D5D6D7
IOR
U2
74LS688
S1
SW DIP-8
R1
10K x 8
A5A6A7A8A9A1A01A112
AEN
+5V
Card giao tiếp PC BUS-2.
Trang 5
Phòng thí nghiệm Vi xử lý
Tài liệu thí nghiệm Vi xử lý
IV. BỘ ĐỆM DỮ LIỆU VÀ GIẢI MÃ LỆNH
Phần này dùng để đệm dữ liệu cho các linh kiện, các Port và đặc biệt dùng để
giải mã địa chỉ ra thành từng đường địa chỉ riêng biệt để có thể chọn chính xác địa chỉ
từng Port I/O và cho từng linh kiện.
Một ổ DB25M (CON1) có các chân tương ứng với ổ P1 được dùng để kết nối ổ
DB25M (P1) từ Card PCBUS-2 đến thiết bị μPTS 31.
Vi mạch đệm dữ liệu I/O (74LS245 - U5) dùng đệm các đường dữ liệu D0 –
D7 thông qua chân điều khiển CS (tức là nó có địa chỉ từ 300h tới 31Fh).
Chân điều khiển IOR điều khiển hướng truyền dữ liệu A → B hay B → A
nghĩa là trong chu kỳ bus đọc Port I/O thì IOR sẽ xuống 0 làm cho tín hiệu đi từ B →
A và khi ghi thì IOR sẽ lên 1 làm cho dữ liệu sẽ đi từ A → B.
Vi mạch 74LS07 là loại cực thu để hở dùng các điện trở nối lên +5V làm điện
trở kéo lên (Pull up) tại ngõ ra U3 và U4 cho các đường địa chỉ A0 – A4, CLK và các
đường điều khiển.
Các đường này qua bộ đệm lệnh và địa chỉ U6 (74LS245). Do các đường địa
chỉ và lệnh chỉ có thể xuất ra từ máy tính do đó DIR của U6 được chọn cố định hướng
dữ liệu từ B → A (DIR = 0) ta cũng có thể chọn hướng dữ liệu là từ A → B. Tuy nhiên
để dễ dàng trong công việc thiết kế mạch in ta chọn từ B → A và DIR = GND = 0.
Các đường A3 ,A4 và CS được dùng giải mã địa chỉ cho các giá trị địa chỉ :
CS1 = 300h → 307h
CS2 = 308h → 30Fh
CS3 = 310h → 31Fh
Ở đây ta dùng cổng OR tức là ngõ ra chỉ bằng 0 khi cả 2 ngõ vào bằng 0 cho
nên ngõ ra U8C = 0 khi A3 = 0 và chân 10 của nó bằng 0 tức là ngõ ra U8A = 0 mà
ngõ ra U8A = 0 khi CS = 0 và A4 = 0 . CS = 0 khi địa chỉ nằm trong vùng 300h →
31Fh. Từ đó ta có địa chỉ đầu tiên cho CS1 khi A2, A1, A0 đều bằng 0 và địa chỉ cuối
cùng của CS1 là 307h.
Bảng 1.3: Giải mã địa chỉ chân CS1
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
300h
307h
Tuỳ ý
Cổng OR
Tuỳ ý
CS= 0
Tương tự chân CS2 là 0 khi A3 = 1, CS = 0 và A4 = 0. Khi đó ta có địa chỉ đầu
và địa chỉ cuối của CS2 là 308h và 30Fh.
Trang 6
U3
2
3
4
5
6
7
8
9
18
17
16
15
14
13
12
11
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
A1
A2
A3
A4
A5
A6
A7
A8
B1
B2
B3
B4
B5
B6
B7
B8
D0
D1
D2
D3
D4
D5
D6
D7
19
1
CS
IOR
G
DIR
74LS245
U3C
U3B
5
9
6
8
3
4
IOW
IOR
7404
7404
IOW
IOR
U3D
U3E
11
10
7404
7404
P1
1
D0
D1
D2
D3
D4
D5
D6
D7
14
2
A0
A1
15
3
A2
U4
A3
16
4
18
17
16
15
14
13
12
11
2
3
4
5
6
7
8
9
CLOCK
CLK
B1
B2
B3
B4
B5
B6
B7
B8
A1
A2
A3
A4
A5
A6
A7
A8
CLK
RS
AEN
AEN
AEN
17
5
A3
CS
A2
A1
A0
RS
A3
CS
+5V
18
6
A2
A1
A0
RS
+5V
+12V
19
7
-12V
-5V
20
8
19
1
RS
RS
A4
A3
R1
560
G
DIR
21
9
AEN
AEN
IOW
IOR
CLOCK
A4
R2 560
R3 220
IOW
IOR
22
10
23
11
24
12
25
13
R4
R5
74LS245
220
220
CS
CLOCK
A4
U2C
9
A3
R6 560
300H ->307H
8
A3
A3
R7
R8
R9
560
560
560
CS1
10
A2
A2
U3A
A1
A1
1
2
A0
A0
74LS32
U2D
R10 560
CS
CS
560
R11
7404
COMPUTER INTERFACE
12
13
U2A
/A3
308H ->30FH
310H ->31FH
1
2
11
CS
A4
CS2
CS3
3
6
74LS32
74LS32
U2B
4
5
CS
U3F
13
12
/A4
BỘ ĐỆM SỐ LIỆU VÀ GIẢI MÃ
74LS32
7404
Phòng thí nghiệm Vi xử lý
Bài thí nghiệm Vi xử lý
Bảng 1.4: Giải mã địa chỉ chân CS2
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3
A2 A1 A0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
1
308h
30Fh
Tuỳ ý
Cổng OR
Tuỳ ý
CS= 0
Chân CS3 = 0 khi CS = 0 và A4 =1. Khi đó ta có địa chỉ đầu của CS3 là 310h và
địa chỉ cuối là 31Fh.
Bảng 1.5: Giải mã địa chỉ chân CS3
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4
A
3
A2 A1 A0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
310H
31FH
Tuỳ ý
Cổng
OR
Tuỳ ý
CS= 0
Các đường A0, A1, A2, A3, CLK, RS, AEN lấy trực tiếp trên các chân ngõ ra của
U6. 4 cổng đảo của 74LS04 còn dư trong mạch được tận dụng để đệm và khuếch đại cho
các đường IOR , IOW như trên mạch. Tụ C1 chống nhiễu tần số cao cho các IC số trong
mạch.s
– CS1 điều khiển Nhập / Xuất cho bộ LED chỉ thị, relay, công tắc nhấn và các
ngõ ra công suất cho động cơ bước.
– CS2 điều khiển Nhập / Xuất cho các Port A, B, C của 8255a để sử dụng trong
các thí nghiệm và ứng dụng.
– CS3 dùng trong thực tập giao tiếp với thiết bị ngoại vi không thông qua
8255A.
V.
BỘ ĐIỀU KHIỂN NHẬP /XUẤT (I/O CONTROL)
Trên thiết bị chính có thiết kế 2 bộ điều khiển nhập xuất cho phép tổ chức trao đổi
thông tin với máy tính và giữa μPTS-31 và các bộ thí nghiệm hay có thể dùng trong các
ứng dụng điều khiển mở rộng của người sử dụng như quang báo, điều khiển động cơ...
Ngõ P1 của bộ μPTS 31 được nối với ổ ra P1 của khối giao diện PCBUS-2 gắn trong
máy tính. Các đường dữ liệu, địa chỉ và điều khiển sẽ đưa từ Part A sang Part B để thực
hiện điều khiển như sau:
– Các đường dữ liệu từ D0 → D7.
– Các đường tín hiệu điều khiển đọcIOR , đường tín hiệu điều khiển ghi IOW .
– Đường chọn linh kiện CS1 có địa chỉ từ 300h → 307h để chọn cho bộ điều
khiển nhập xuất 1 để điều khiển LED dữ liệu, 3 relay và các ngõ ra công suất
để điều khiển động cơ bước, công tắc phím nhấn.
– Đường chọn linh kiện CS2 có địa chỉ từ 308h → 30Fh sử dụng để điều khiển
nhập / xuất cho các Port A , B, C của 8255A cho các ứng dụng và điều khiển
khác.
– Đường RESET để khởi tạo lại các kinh kiện nhập / xuất lập trình được.
Trang 8
+5V
7
6
5
4
3
2
1
0
BỘ ĐIỀU KHIỂN NHẬP / XUẤT (I/O CONTROL)
R19
220
R18
220
R17
220
R16
220
R15
220
R14
220
R13
220
R12
220
U5
D0
34
33
32
31
30
29
28
27
4
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
D0
D1
D2
D3
D4
D5
D6
D7
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
3
D1
D2
D3
D4
D5
D6
D7
2
1
40
39
38
37
12
12
10
4
2
6
2
4
U7B
U7A
U7F
U6C
U6A
U6F
U6B
U6E
5
36
9
18
19
20
21
22
23
24
25
IOR
IOW
A0
7406
7406
7406
7406
7406
7406
7406
7406
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
RD
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
WR
A0
3
1
13
5
1
13
3
11
8
A1
A1
35
6
RESE
CS1
RESE
PA4
PA3
PA7
PA6
PA5
PA2
PA1
PA0
CS
RELA
COM
NC1
NO1
COM
NC2
NO2
COM
NC3
NO3
1
14
15
16
17
13
12
11
10
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
2
COM
NC1
NO1
+5V
COM
COM
3
4
NC2
NO2
NC3
NO3
5
6
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
7
8
+5V
+5V
9
10
8255
CON2
GND
D1
1
2
3
4
5
6
7
8
D2
D3
+5V
COM
COM
A
RL1
RL2
RL3
+5V
B
1N414
1N414
1N414
C
D
10
6
8
Q1
D560
Q2
D560
Q3
D560
IOR
IOW
A0
STEP
IOR
IOW
A0
U7D
7406
U7C
U7E
7406
Q4
D560
7406
A1
A1
R24
2K2
R25
2K2
5
11
9
R23
2K2
RESE
300H-
308H-
R22
2K2
RS
CS1
CS2
+5V
PC6
PC5
PC7
PC0
PC1
PC2
PC3
R21a
10K
R21c
10K
R21e
10K
R21g
U9
34
33
32
31
30
29
28
27
4
10K
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3
D4
D5
D6
D7
PA0
PA1
PA2
PA3
PA4
PA5
PA6
PA7
1
2
3
4
5
6
7
8
3
SW4
SW3
SW2
2
1
40
39
38
37
SW1
JP1
PORT
R21d
10K
R21f
10K
R21b
10K
R21h
10K
6
5
12
13
10
11
8
9
5
36
9
18
19
20
21
22
23
24
25
U8C
7407
U8F
U8E
IOR
U8D
7407
RD
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
1
2
3
4
5
6
7
8
7407
7407
IOW
A0
WR
A0
8
A1
A1
35
6
RESE
CS2
JP1
RESE
PB5
PB6
PORT
PB7
PB4
CS
14
15
16
17
13
12
11
10
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
1
2
3
4
5
6
7
8
JP1
PORT
8255
Phoøng thí nghieäm Vi xöû lyù
Baøi thí nghieäm Vi xöû lyù
V.1. Bộ điều khiển nhập/xuất 1
Bộ điều khiển Nhập / Xuất 1 (I/O Control) được xây dựng trên IC 8255A (U5).
Các đường tín hiệu của nó được nối như sau: D0 → D7 nối vào các đường dữ liệu D0 →
D7 của hệ thống. Đường RD nối vào IOR , WR nối vào IOW . Các đường địa chỉ A0,
A1 nối vào A0 và A1 của hệ thống. RESET nối vào RESET chung nhờ đó 8255A này sẽ
được RESET chung với hệ thống. CS nối vào CS1 có địa chỉ từ 300h → 307h. Do đó
vùng địa chỉ của bộ điều khiển nhập xuất này là từ 300h → 307h. Thanh ghi điều khiển
được chọn khi A1 = A0 = 1 tức tương ứng với địa chỉ của hệ thống là 303h hay 307h.
Bảng 1.6: Giải mã địa chỉ cho các PORT của U5 (8255A)
Địa chỉ
PA
A4 A3 A2 A1 A0 ĐỊA CHỈ
A15 ÷ A13 A12 ÷ A5
CS = 0
CS1
000
000
000
000
000
000
000
000
00011000
00011000
00011000
00011000
00011000
00011000
00011000
00011000
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
300H
304H
301H
305H
302H
306H
303H
307H
PB
PC
THANH GHI
ĐIỀU KHIỂN
Từ đó ta có PA có địa chỉ điều khiển đối với hệ thống là 300h hoặc 304h được sử
dụng để điều khiển 8 LED dữ liệu.
Các cổng đệm đảo công suất 74LS06 (U6, U7) được sử dụng để tăng dòng tải kéo
Led cho các đường Port ra của 8255A khi ở mức cao.
Tương tự Port PB có địa chỉ điều khiển đối với hệ thống là 301h hay 305h sử dụng
để nhận dữ liệu từ các công tắc nhấn tương ứng như sau:
– PB6 ứng với SW1
– PB5 ứng với SW2
– PB4 ứng với SW3
– PB7 ứng với SW4
Tương tự các bộ đệm không đảo (74LS07/U8) là loại cực thu hở được dùng để
đệm dữ liệu trước khi đưa đến các ngõ vào của Port thông qua các điện trở kéo lên (Pull
up).
Port C có địa chỉ điều khiển đối với hệ thống là 302h hay 306h được dùng để điều
khiển động cơ bước, loa và các Relay như sau:
– PC0 ứng với chân A ( Step Motor ) CON2
– PC1 ứng với chân B ( Step Motor ) CON2
– PC2 ứng với chân C ( Step Motor ) CON2
– PC3 ứng với chân D ( Step Motor ) CON2
– PC4 ứng với loa.
– PC5 ứng với Relay 1
Trang 10
Phoøng thí nghieäm Vi xöû lyù
Baøi thí nghieäm Vi xöû lyù
– PC7 ứng với Relay 2
– PC6 ứng với Relay 3
Các ngõ ra relay có thể dùng trong các ứng dụng, các thí nghiệm điều khiển công
suất lớn hay điều khiển các thiết bị xoay chiều tương tự như khi điều khiển Led. Ta cũng
phải làm sao khi xuất mức 1 ra Port C thì Relay tương ứng hay đường điều khiển động cơ
bước tương ứng sẽ tác động. Để đủ dòng kéo cho các Relay ta cũng dùng bộ đệm đảo
74LS06 (U7) kéo dòng ở mức thấp (Ishink) do dòng kéo khi ngõ ra ở mức thấp lớn hơn rất
nhiều dòng ở mức cao. Một đầu của Relay sẽ được nối lên nguồn +5V, một đầu nối với
ngõ ra 74LS06 để khi ngõ ra U7 ở mức thấp sẽ làm cho Relay tác động. Dòng Ishink của
74LS06 đủ sức kéo Relay. Các Diode mắc song song với cuộn dây và phân cực ngược để
chống điện áp ngược phát sinh khi Relay ngắt có thể làm hư hỏng 74LS06.
Khi điều khiển động cơ bước, do dòng kéo động cơ bước cần rất lớn cho nên ta
không thể dùng 74LS06 mà phải dùng Transistor Darlington D560 để kéo.
Từ đó đưa ra các trạm ra relay nối sẵn các tiếp điểm chung (COM) thường đóng
(NC: Normal Contact ) và thường hở (NO: Normal Open ) cho các Relay 1, 2, 3 ra như
bảng sau:
Bảng 1.7 : Các tiếp điểm trên Relay
Relay Tiếp điểm thường đóng / NC Tiếp điểm thường hở / NO Tiếp điểm chung / COM
1
2
3
NC1
NC2
NC3
NO1
NO2
NO3
COM1
COM2
COM3
Các ngõ ra công suất điều khiển động cơ bước gồm :
– Các chân chung 1 và 2 (COM1 và COM2), đường nguồn +5V nối vào nguồn
+5V của hệ thống.
– Chân GND.
– 4 đường điều khiển A, B , C , D.
Tất cả các đường này được đưa ra một đầu nối CON2 phục vụ cho thí nghiệm điều
khiển động cơ bước.
V.2. Bộ điều khiển nhập/xuất 2
Bộ điều khiển nhập/xuất 2 được xây dựng trên IC 8255A (U9) được dùng để thực
hiện các công việc điều khiển và nhập xuất trong các ứng dụng.
Các đường dữ liệu và điều khiển của nó được kết nối giống như bộ điều khiển
nhập xuất thứ nhất ngoại trừ đường chọn linh kiện CS của nó được nối vào CS2 do đó nó
có vùng không gian địa chỉ là từ 308h → 30Fh.
Ta xác định các địa chỉ Port A ,B ,C và từ điều khiển cũng tương tự như xác định
cho bộ điều khiển nhập/xuất 1.
Trang 11
Phoøng thí nghieäm Vi xöû lyù
Baøi thí nghieäm Vi xöû lyù
Bảng 1.8: Giải mã địa chỉ các PORT trên bộ điều khiển nhập xuất 2 (U9)
Địa chỉ
PA
A4 A3 A2 A1 A0 ĐỊA CHỈ
A15 ÷ A13 A12 ÷ A5
CS = 0
CS2
000
000
000
000
000
000
000
000
00011000
00011000
00011000
00011000
00011000
00011000
00011000
00011000
0
1
1
1
1
1
1
1
1
0
1
0
1
0
1
0
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
308H
30CH
309H
30DH
30AH
30EH
30BH
30FH
0
0
0
0
0
0
0
PB
PC
THANH GHI
ĐIỀU KHIỂN
– Thanh ghi điều khiển (Control Register) của U9 có địa chỉ đối với hệ thống là
30Bh hoặc 30Fh.
– Port PA (PA0 →PA7) có địa chỉ điều khiển đối với hệ thống 308h hay 30Ch
được nối với chốt cắm PORT A trên thiết bị chính μPTS-31.
– Port PB (PB0 → PB7 ) có địa chỉ điều khiển đối với hệ thống là 309h hay
30Dh nối với chốt cắm PORT B trên thiết bị chính μPTS-31.
– Port PC (PC0 → PC7 ) có địa chỉ điều khiển đối với hệ thống là 30Ah hay
30Eh và được nối với chốt cắm PORT C trên thiết bị chính.
Các Port A,B,C của thiết bị chính μPTS-31 được thiết kế sẵn để sử dụng trong các
bài thí nghiệm cũng như trong các ứng dụng phát triển mở rộng sau này.
VI. THIẾT BỊ TƯƠNG TỰ
Để điều khiển thiết bị tương tự từ máy tính ở đây sử dụng một bộ khuếch đại loa.
Trong mạch dùng OP-AMP LM 386 để tạo thành mạch khuếch đại. Ngõ vào đảo (V-) nối
xuống GND, ngõ vào không đảo (V+) nối trực tiếp vào PC4 / U5 thông qua R18 và C2.
Do chỉ có 2 mức áp ra ở chân PC4 là 0V hay 5V, ta dùng xung vuông để tạo tín hiệu âm
thanh ra loa.
Mạch tương tự có địa chỉ là Port PC4 / U9.
CON6
1
6
2
7
3
8
4
9
5
CON7
1
2
3
4
5
RS-232C
Trang 12
Phoøng thí nghieäm Vi xöû lyù
PC4/U5
Baøi thí nghieäm Vi xöû lyù
C2
10uF
+5V
R18
10K
6
1
C5
3
7
2
+
5
LM386
-
220uF
R19
10K
R20
22
SPEAKER
4
8
C3
0.1 uF
SÔ ÑOÀ PART D VAØ KHOÁI TÖÔNG TÖÏ
VII. BỘ ĐỆM DỮ LIỆU VÀ ĐỆM GIẢI MÃ
Dùng để đưa dữ liệu và các tín hiệu điều khiển ra cho các bài thí nghiệm. Lối vào
của Part C được nối tới ngõ ra của bộ đệm dữ liệu Part A trên thiết bị chính. Các kết nối
như sau:
- Đường chọn hướng truyền dữ liệu DIR nối vàoIOR .
- Đường chọn linh kiện nối vào CS.
Do đó khi đọc thì IOR = 0 và CS= 0 cho phép linh kiện và hướng truyền dữ liệu
từ B → A (hướng từ ngoài vào thiết bị chính) .
Ngược lại khi ghi thì CS = 0 và IOR = 1 nên hướng dữ liệu là từ A → B (hướng
từ thiết bị chính ra ngoài).
Vì 74LS155 có 2 bộ đệm ta sử dụng nó để đưa ra 2 đầu nối CON4 và CON5 để
làm 2 ngõ ra các tín hiệu điều khiển với:
♦ CON 4 là ngõ ra tín hiệu điều khiển Đọc.
♦ CON 5 là tín hiệu điều khiển Ghi.
Cả hai ngõ ra này có cùng một địa chỉ so với máy tính (từ 310h tới 31Fh).
Trang 13
Phoøng thí nghieäm Vi xöû lyù
Baøi thí nghieäm Vi xöû lyù
1
2
3
4
U13
13
3
7
A2
A3
A
B
1Y0
1Y1
1Y2
1Y3
2Y0
2Y1
2Y2
2Y3
6
5
9
8
2
1
4
U12D
7404
CON4
1G
1C
9
10
11
12
14
15
/IOW
2G
2C
1
2
3
4
/CS
3
/IOR
74155
CON5
U11
1
19
DIR
G
9
8
7
6
5
4
3
2
11
12
13
14
15
16
17
18
D7
D6
D5
D4
D3
D2
D1
D0
A8
A7
A6
A5
A4
A3
A2
A1
B8
1
2
3
4
5
6
7
8
B7
B6
B5
B4
B3
B2
B1
CON3
74LS245
+5V
+5V
C2
.01
C1
.01
BỘ ĐỆM DỮ LIỆU VÀ GIẢI MÃ (PART C)
Trang 14
Phoøng thí nghieäm Vi xöû lyù
Baøi thí nghieäm Vi xöû lyù
Bảng 1.9: Địa chỉ các ngõ ra giải mã và dữ liệu trên bộ giải mã và đệm dữ liệu
NGÕ RA A15-A13
A12-A4
A3 A2 A1 A0 ĐỊA CHỈ
0
0
0
0
0
0
0
1
310h
311h
1Y0,2Y0
000
000110001
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
312h
313h
314h
315h
316h
317h
318h
319h
31Ah
31Bh
31Ch
31Dh
31Eh
31Fh
1Y1,2Y1
1Y2,2Y2
1Y3,2Y3
000
000
000
000110001
000110001
000110001
– Chốt ra 1Y0, 2Y0 có địa chỉ từ 310h tới 313Hh.
– Chốt ra 1Y1, 2Y1 có địa chỉ từ 314h tới 317h.
– Chốt ra 1Y2, 2Y2 có địa chỉ từ 318h tới 31Bh.
– Chốt ra 1Y3, 2Y3 có địa chỉ từ 31Ch tới 31Fh.
PHẦN II :
TIẾN TRÌNH THÍ NGHIỆM
I.
KHẢO SÁT LED
8 Led dữ liệu được kết nối với Port A của U5 (có địa chỉ là 300h), như vậy nếu
muốn xuất dữ liệu ra Led, ta dùng lệnh OUT DX,AL trong đó DX chứa địa chỉ của Led
(300h) và AL chứa dữ liệu muốn xuất ra Led.
- Vào thư mục: C:\TNVXL\TASM
- Dùng NCEdit tạo đoạn chương trình sau, lưu lại với tên Led_uPTS.asm:
.model small
.stack 100h
.data
.code
main proc
mov ax,@data
mov ds,ax
mov ax,02h
int 10h
;Xóa màn hình
mov al,82h
;PA: XUẤT, PB: NHẬP, PC: XUẤT
mov dx,303h ;Địa chỉ CR của U5
out dx,al ;Định cấu hình cho U5
Trang 15
Phoøng thí nghieäm Vi xöû lyù
Baøi thí nghieäm Vi xöû lyù
mov dx,300h ;Địa chỉ Port A (nối với Led)
mov al,0Fh
out dx,al
exit:
mov ah,4Ch
int 21h
main endp
END main
;Kết thúc chương trình
- Tại dấu nhắc DOS gõ lệnh: tasm Led_uPTS.asm
- Nếu chương trình không có lỗi sẽ tạo thành file Led_uPTS.obj, tiếp tục gõ
lệnh: tlink Led_uPTS.obj
-
Ta có thể tạo một file .bat để thực hiện 2 quá trình trên (ví dụ như compiler.bat):
Nội dung file .bat như sau (giả sử dùng file compiler.bat):
tasm %1.asm
tlink /v %1.obj
Gõ lệnh compiler.bat Led_uPTS để thực hiện dịch chương trình
- Chương trình sẽ tạo thành file Led_uPTS.exe
- Tại dấu nhắc DOS, gõ lệnh Led_uPTS để thực thi chương trình vừa tạo.
Sửa lại chương trình để thực hiện sáng Led tuần tự từ trái sang phải:
.model
.stack
.data
small
100h
pa db 01h,02h,04h,08h,10h,20h,40h,80h
.code
main proc
mov ax,@data
mov ds,ax
mov ax,02h
int 10h
;Xóa màn hình
mov al,82h
;PA: XUẤT, PB: NHẬP, PC: XUẤT
mov dx,303h ;Địa chỉ CR của U5
out dx,al
;Định cấu hình cho U5
mov bx,0
mov dx,300h ; Địa chỉ Led
next1:
mov al,pa[bx]
out dx,al
Trang 16
Phoøng thí nghieäm Vi xöû lyù
Baøi thí nghieäm Vi xöû lyù
mov cx,0FFh
next2:
call
loop
delay; Tạo thời gian trễ
next2
inc bx
cmp bx,8
jne next1
; Led có 8 trạng thái
; Kết thúc chương trình
exit:
mov ah,4Ch
int 21h
main ENDP
;---------------------------------------------
delay
proc
push
mov
cx
cx,0FFFFh
loop
pop
$
cx
ret
endp
delay
END main
Ngoài ra, ta có thể dùng hàm 0Bh của ngắt 21h để tạo vòng lặp vô tận, chờ cho
đến khi nhấn phím bất kỳ sẽ kết thúc chương trình.
start:
mov ah,0Bh
int 21h
cmp al,0FFh
je
exit
………
exit:
mov ah,4Ch
int 21h
Sinh viên thực hiện thay đổi dữ liệu để Led chạy theo một kiểu tùy ý: nhấp nháy 2
Led giữa 10 lần, sáng dần các Led từ trái sang phải, …
II.
KHẢO SÁT LOA
Loa nối với Port C của U5, để phát âm thanh ra Loa, ta phải gởi một chuỗi xung ra
loa có dạng như sau:
1
0
Trang 17
Phoøng thí nghieäm Vi xöû lyù
Baøi thí nghieäm Vi xöû lyù
Loa nối với PC4 của U5 nên muốn tạo 2 mức logic 0 và 1 ở loa, ta phải tạo 2 mức
logic 0 và 1 ở PC4. Hai mức logic này có thể tạo nhờ chế độ BSR (Bit Set/Reset) của U5.
Set bit PC4 = 1
: từ điều khiển = 0000 1001b (09h)
Reset bit PC4 = 0 : từ điều khiển = 0000 1000b (08h)
Lưu ý rằng: chế độ BSR tác động lên Port C nhưng phải gởi dữ liệu ra thanh
ghi điều khiển.
Ta có chương trình phát âm thanh ra loa như sau:
.model
.stack
.data
.code
small
100h
main proc
mov ax,@data
mov ds,ax
mov al,82h
mov dx,303h
out dx,al
call speaker
exit:
mov ah,4Ch
int 21h
main endp
;---------------------------------------------
speaker proc
push
push
push
mov
ax
cx
dx
; Lưu lại giá trị các thanh ghi
cx,30
; Tạo 30 xung
speak:
mov
mov
out
call
dx,303h ; Địa chỉ CR
al,09h
dx,al
delay
; Set bit PC4 = 1
mov
mov
out
dx,303h
al,08h
dx,al
; Reset bit PC4 = 0
call
loop
delay
speak
Trang 18
Phoøng thí nghieäm Vi xöû lyù
Baøi thí nghieäm Vi xöû lyù
pop
pop
pop
ret
dx
cx
ax
; Lấy lại nội dung các thanh ghi
speaker endp
;---------------------------------------------
delay
push
proc
endp
cx
mov
loop
pop
ret
cx,0FFFFh
$
cx
delay
END main
- Thay đổi chương trình để loa kêu liên tục cho đến khi nhấn một phím bất kỳ thì
kết thúc.
- Thay đổi chương trình để loa kêu 10 lần thì kết thúc (gợi ý: tạo vòng lặp gọi
chương trình speaker 10 lần, giữa mỗi lần tạo chương trình tạo trễ giống như
đoạn chương trình in nghiêng trong phần I).
- Viết chương trình điều khiển Led sao cho mỗi lần Led sáng thì phát âm thanh
ra loa.
III. KHẢO SÁT RELAY
Các Relay được nối với Port C của U5. Do đó, nếu muốn đóng Relay nào, ta sẽ
cho bit tương ứng của Port C = 1 còn nếu muốn ngắt Relay thì sẽ cho bit tương ứng = 0.
VD: Đóng RL1 (PC5 = 1): từ điều khiển 0000 1011b = 0Bh
Ngắt RL1 (PC5 = 0): từ điều khiển 0000 1010b = 0Ah
Chương trình đóng lần lượt các Relay 1, 2, 3 và sau đó ngắt các Relay này theo
thứ tự 3, 2, 1:
.model
.stack
.data
.code
small
100h
main proc
mov ax,@data
mov ds,ax
mov al,82h
mov dx,303h
out dx,al
Trang 19
Phoøng thí nghieäm Vi xöû lyù
Baøi thí nghieäm Vi xöû lyù
mov al,0Bh
mov dx,303h
out dx,al
call delay1
mov al,0Fh
mov dx,303h
out dx,al
call delay1
mov al,0Dh
mov dx,303h
out dx,al
call delay1
mov al,0Ch
mov dx,303h
out dx,al
call delay1
mov al,0Eh
mov dx,303h
out dx,al
call delay1
mov al,0Ah
mov dx,303h
out dx,al
call delay1
exit:
mov ah,4Ch
int 21h
main endp
;---------------------------------------------
delay
push
proc
cx
mov
loop
pop
ret
cx,0FFFFh
$
cx
delay
endp
;---------------------------------------------
delay1 proc
push cx
Trang 20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Tài liệu Thí nghiệm vi xử lý - Bài 1: Thiết bị chính μPTS-31 (Microprocessor trainning system-31)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
tai_lieu_thi_nghiem_vi_xu_ly_bai_1_thiet_bi_chinh_pts_31_mic.pdf

