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

Bài1: Các bộ thí nghiệm vi xử lý potx

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 (501.61 KB, 22 trang )

Phòng thí nghiệm Vi xử lý Tài liệu thí nghiệm Vi xử lý
Trang 1

CÁC BỘ THÍ NGHIỆM
VỀ HỆ THỐNG VI XỬ LÝ



SƠ ĐỒ KHỐI CỦA THIẾT BỊ THÍ NGHIỆM VI
XỬ LÝ






































CÁC BÀI THÍ NGHIỆM VÀ ỨNG DỤNG
TRUYỀN SỐ
LIỆU
μ
PM
-
302
CHUYỂN ĐỔI AD
μPM-304
CHUYỂN ĐỔI DA
μPM-305
Đ/K MA TRẬN LED
VÀ BÀN PHÍM
μ

PM
-
303
TRUYỀN SỐ
LIỆU RS-232C
μ
PM
-
301
ĐIỀU KHIỂN
ĐỘNG CƠ DC
μPM-307
BỘ NẠP VÀ MÔ
PHỎNG ROM
μPM-308
ĐIỀU KHIỂN ĐỘNG
CƠ BƯỜC
μ
PM
-
306
ỨNG DỤNG QUANG BÁO
MICROCOMPUTER
PC BUS
-
2
COM2
THIẾT BỊ CHÍNH
PART A
PART B

I/O CONTROL
PART
C
PART
D
TEST BOARD
Phòng thí nghiệm Vi xử lý Tài liệu thí nghiệm Vi xử lý
Trang 2

BÀI 1: THIẾT BỊ CHÍNH μPTS-31
(MICROPROCESSOR
TRAINNING SYSTEM - 31)


 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.
Phòng thí nghiệm Vi xử lý Tài liệu thí nghiệm Vi xử lý
Trang 3

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 A
12
A
11
A
10
A
9
A
8
A
7
A
6

5
A

4
A
3
A
2
A
1
A
0
DIP SW D
7
D
6
D
5
D
4
D
3
D
2
D
1
D
0

0300h 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
031Fh 0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 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ừ A
4
tới
A
0
) sẽ là 11111b từ bảng ta có giá trị DIP SW là D
4
= D
3
= 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
Phòng thí nghiệm Vi xử lý Tài liệu thí nghiệm Vi xử lý
Trang 4
của U
1
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 A
1
tới A

8
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ừ A
0
tới A
4
đư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 (P
1
) 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 (P
1
):
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 P
1
) KHE CẮM MỞ RỘNG
CHÂN SỐ CHỨC NĂNG CHÂN SỐ CHỨC NĂNG
1 1 D0 A9 D0
2 2 D2 A7 D2

3 3 D4 A5 D4
4 4 D6 A3 D6
5 5 +5V B3,B29 +5V
6 6 +12V B9 +12V
7 7 -12V B7 -12V
8 8 RESET DRV B2 RESET
9 9 /IOW B13 /IOW
10 10 CLOCK A20 A11
11 11 A3 A28 A3
12 12 A1 A 30 A1
13 13 /CS ADD(300H-
31FH)
14 14 D1 A8 D1
15 15 D3 A6 D3
16 16 D5 A4 D5
17 17 D7 A2 D7
18 18 GND B1,B10 GND
19 19 GND B31 GND
20 20 -5V B5 -5V
21 21 AEN A11 AEN
22 22 /IOR B14 /IOR
23 23 A4 A27 A4
24 24 A2 A29 A2
25 25 A0 A31 A0




Phòng thí nghiệm Vi xử lý Tài liệu thí nghiệm Vi xử lý
Trang 5

+5V+12V-12V-5V
+5V
CAÙC CHAÂN TREÂN SLOT
CS
CAÙC CHAÂN TREÂN SLOT
CAÙC CHAÂN TREÂN SLOT
D0
D1
D2
D3
D4
D5
D7
D6
D0
D1
D2
D3
D5
D7
D4
D6
CS
A0
A1
A2
A3
A4
IOR
IOW

AEN
RESET-DRV
SL0
SL0
SL0
SL1
SL2
SL3
SL5
SL7
SL6
SL4
SL1
SL2
SL4
SL6
SL7
SL5
SL3
SL1
SL3
SL5
SL7
SL4
SL2
SL6
A19
A20
A21
A22

A23
A24
A25
A26
A2
A3
A4
A5
A6
A7
A8
A9
B14
A31
A30
A29
A28
A27
B14
B13
A11
B2
CS
A0
A1
A2
A3
A4
IOR
AEN

IOW
RESET-DRV


A11
P1
PC INTERFACE
13
25
12
24
11
23
10
22
9
21
8
20
7
19
6
18
5
17
4
16
3
15
2

14
1
U2
74LS688
P0
2
P1
4
P2
6
P3
8
P4
11
P5
13
P6
15
P7
17
Q0
3
Q1
5
Q2
7
Q3
9
Q4
12

Q5
14
Q6
16
Q7
18
G
1
P=Q
19
U1
74LS245
A1
2
A2
3
A3
4
A4
5
A5
6
A6
7
A7
8
A8
9
G
19

DIR
1
B1
18
B2
17
B3
16
B4
15
B5
14
B6
13
B7
12
B8
11
U3F
7407
1312
U3A
7407
12
U3B
7407
34
U3C
7407
56

U3D
7407
98
U3E
7407
1110
U4A
7407
12
U4B
7407
34
U4C
7407
56
U4D
7407
98
S1
SW DIP-8
1
2
3
4
5
6
7
8
16
15

14
13
12
11
10
9
R1
10K x 8
RESET-DRVAENIOWIORA4A3A2A1A0
D0D1D2D3D4D5D6D7 IOR
A5A6A7A8A9A10A11A12 AEN
Card giao tiếp PC BUS-2.


















































Phòng thí nghiệm Vi xử lý Tài liệu thí nghiệm Vi xử lý
Trang 6
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 (P
1
) 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ỉ :

1CS
= 300h → 307h

2CS = 308h → 30Fh

3CS
= 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
1CS
khi A2, A1, A0 đều bằng 0 và địa chỉ cuối
cùng của
1CS là 307h.
Bảng 1.3: Giải mã địa chỉ chân
1CS


A15 A14 A13 A12 A11 A10A9A8A7A6A5A4 A3 A2 A1 A0
0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 300h
0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 307h
Tuỳ ý
CS = 0
Cổng OR
Tuỳ ý

Tương tự chân
2CS là 0 khi A3 = 1, CS = 0 và A4 = 0. Khi đó ta có địa chỉ đầu
và địa chỉ cuối của
2CS là 308h và 30Fh.




+5V
-5V
-12V
+12V
+5V
310H ->31FH
308H ->30FH
300H ->307H
D3
D4
D5
D6
D7
D0
D1
D2
D0
D1
D2
D3
D4
D5
D6
D7
D0
D1
D2
D3

D4
D5
D6
D7
RS
AEN
IOW
IOR
CLOCK
A2
A4
A3
A1
A0
CS
RS
AEN
IOW
IOR
CLOCK
A4
A3
A2
A1
A0
CS
A4
RS
A0
A1

A2
CS
A3
AEN
CLOCK
IOW
IOR
CLK
AEN
A3
CS
A2
A1
A0
RS
CS
CS
CS
A3
A3
/A3
/A4
A4



P1
COMPUTER INTERFACE
13
25

12
24
11
23
10
22
9
21
8
20
7
19
6
18
5
17
4
16
3
15
2
14
1
R2 560
R4
220
R5
220
R3 220
R7

560
R11
560
R10 560
R9
560
R8
560
R1
560
R6 560
U3
74LS245
A1
2
A2
3
A3
4
A4
5
A5
6
A6
7
A7
8
A8
9
G

19
DIR
1
B1
18
B2
17
B3
16
B4
15
B5
14
B6
13
B7
12
B8
11
U4
74LS245
A1
2
A2
3
A3
4
A4
5
A5

6
A6
7
A7
8
A8
9
G
19
DIR
1
B1
18
B2
17
B3
16
B4
15
B5
14
B6
13
B7
12
B8
11
U3C
7404
5 6

U3B
7404
3 4
U3D
7404
9 8
U3E
7404
11 10
U3A
7404
1 2
U3F
7404
13 12
U2A
74LS32
1
2
3
U2D
74LS32
12
13
11
U2C
74LS32
9
10
8

U2B
74LS32
4
5
6
A0
A1
A2
A3
CLK
RS
AEN
IOR
IOW
CS1
CS2
CS3
D0
D1
D2
D3
D4
D5
D6
D7
CS
IOR

BỘ ĐỆM SỐ LIỆU VÀ GIẢI MÃ
Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý

Trang 7
Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
Trang 8
Bảng 1.4: Giải mã địa chỉ chân 2CS
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
0 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 308h
0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 30Fh
Tuỳ ý
CS = 0
Cổng OR
Tuỳ ý

Chân
3CS = 0 khi CS = 0 và A4 =1. Khi đó ta có địa chỉ đầu của 3CS là 310h và
địa chỉ cuối là 31Fh.
Bảng 1.5: Giải mã địa chỉ chân
3CS
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A
3
A2 A1 A0
0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0310H
0 0 0 0 0 0 1 1 0 0 0 1 1 1 1 1 31FH
Tuỳ ý
CS = 0
Cổng
OR
Tuỳ ý

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

1CS đ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.

2CS đ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.

3CS 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 đọc
IOR , đường tín hiệu điều khiển ghi IOW .
– Đường chọn linh kiện
1CS 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

2CS 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.


+5V +5V +5V
+5V
+5V
+5V
D0
D1
D2
D3
D4
D5
D6
D7
IOR
IOW
A0
A1
RESE
300H-
308H-
IOR
IOW
A0
A1
RESE

CS2
D0
D1
D2
D3
D4
D5
D6
D7
IOR
IOW
A0
A1
RESE
CS1
D0
D1
D2
D3
D4
D5
D6
D7
PA0
PA1
PA2
PA3
PA4
PA5
PA6

PA7
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
JP1
PORT
JP1
PORT
JP1
PORT
76 5
43210
PA7 PA6 PA5
PA4 PA3
PA2 PA1 PA0
COM
NC1

NO1
NO2
NC2
COM COM
NC3
NO3
COM
NC1
NO1
COM
NC2
NO2
COM
NC3
NO3
RELA
Y
CON2
STEP
MOTOR
GND
+5V
COM
COM
A
B
C
D
PC0 PC1
PC2 PC3

PC5 PC7
PC6
PB7 PB4
PB5 PB6
U5
8255
D0
34
D1
33
D2
32
D3
31
D4
30
D5
29
D6
28
D7
27
RD
5
WR
36
A
0
9
A

1
8
RESE
T
35
CS
6
PA0
4
PA1
3
PA2
2
PA3
1
PA4
40
PA5
39
PA6
38
PA7
37
PB0
18
PB1
19
PB2
20
PB3

21
PB4
22
PB5
23
PB6
24
PB7
25
PC0
14
PC1
15
PC2
16
PC3
17
PC4
13
PC5
12
PC6
11
PC7
10
U7B
7406
3
4
U7C

7406
5
6
U7E
7406
11
10
U7D
7406
9
8
U8C
7407
56
U8F
7407
1312
U8E
7407
1110
U8D
7407
98
U9
8255
D0
34
D1
33
D2

32
D3
31
D4
30
D5
29
D6
28
D7
27
RD
5
WR
36
A
0
9
A
1
8
RESE
T
35
CS
6
PA0
4
PA1
3

PA2
2
PA3
1
PA4
40
PA5
39
PA6
38
PA7
37
PB0
18
PB1
19
PB2
20
PB3
21
PB4
22
PB5
23
PB6
24
PB7
25
PC0
14

PC1
15
PC2
16
PC3
17
PC4
13
PC5
12
PC6
11
PC7
10
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8

1
2
3
4
5
6
7
8
R21g
10K
R21h
10K
R21e
10K
R21f
10K
R21c
10K
R21d
10K
R21a
10K
R21b
10K
SW4 SW3
SW2
SW1
1
2
3

4
5
6
7
8
1
2
3
4
5
6
7
8
9
10
RL1 RL2 RL3
D3
1N414
8
D2
1N414
8
D1
1N414
8
Q1
D560
Q2
D560
Q3

D560
Q4
D560
R22
2K2
R23
2K2
R24
2K2
R25
2K2
R19
220
U7A
7406
1
2
R18
220
U7F
7406
13
12
R17
220
U6C
7406
5
6
R16

220
U6A
7406
1
2
R15
220
U6F
7406
13
12
R14
220
U6B
7406
3
4
R13
220
U6E
7406
11
10
R12
220
CS2
CS1
RS
A
1

A
0
IOW
IOR
D7
D6
D5
D4
D3
D2
D1
D0
BỘ ĐIỀU KHIỂN NHẬP / XUẤT (I/O CONTROL)
Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
Trang 9
Phoứng thớ nghieọm Vi xửỷ lyự Baứi thớ nghieọm Vi xửỷ lyự
Trang 10
V.1. B iu khin nhp/xut 1

B iu khin Nhp / Xut 1 (I/O Control) c xõy dng trờn IC 8255A (U5).
Cỏc ng tớn hiu ca nú c ni nh sau: D0 D7 ni vo cỏc ng d liu D0
D7 ca h thng. ng
RD ni vo IOR , WR ni vo IOW . Cỏc ng a ch A0,
A1 ni vo A0 v A1 ca h thng. RESET ni vo RESET chung nh ú 8255A ny s
c RESET chung vi h thng.
CS ni vo 1CS cú a ch t 300h 307h. Do ú
vựng a ch ca b iu khin nhp xut ny l t 300h 307h. Thanh ghi iu khin
c chn khi A1 = A0 = 1 tc tng ng vi a ch ca h thng l 303h hay 307h.

Bng 1.6: Gii mó a ch cho cỏc PORT ca U5 (8255A)


a ch
A15 ữ A13 A12

A5
A4 A3 A2 A1 A0 A CH

CS = 0
1CS

PA 000 00011000 0 0 0 0 0 300H
000 00011000 0 0 1 0 0 304H
PB 000 00011000 0 0 0 0 1 301H
000 00011000 0 0 1 0 1 305H
PC 000 00011000 0 0 0 1 0 302H
000 00011000 0 0 1 1 0 306H
THANH GHI 000 00011000 0 0 0 1 1 303H
IU KHIN 000 00011000 0 0 1 1 1 307H

T ú ta cú PA cú a ch iu khin i vi h thng l 300h hoc 304h c s
dng iu khin 8 LED d liu.
Cỏc cng m o cụng sut 74LS06 (U6, U7) c s dng tng dũng ti kộo
Led cho cỏc ng Port ra ca 8255A khi mc cao.

Tng t Port PB cú a ch iu khin i vi h thng l 301h hay 305h s dng
nhn d liu t cỏc cụng tc nhn tng ng nh sau:
PB6 ng vi SW1
PB5 ng vi SW2
PB4 ng vi SW3
PB7 ng vi SW4

Tng t cỏc b m khụng o (74LS07/U8) l loi cc thu h c dựng
m d liu trc khi a n cỏc ngừ vo ca Port thụng qua cỏc in tr kộo lờn (Pull
up).

Port C cú a ch iu khin
i vi h thng l 302h hay 306h c dựng iu
khin ng c bc, loa v cỏc Relay nh sau:
PC0 ng vi chõn A ( Step Motor ) CON2
PC1 ng vi chõn B ( Step Motor ) CON2
PC2 ng vi chõn C ( Step Motor ) CON2
PC3 ng vi chõn D ( Step Motor ) CON2
PC4 ng vi loa.
PC5 ng vi Relay 1
Phoứng thớ nghieọm Vi xửỷ lyự Baứi thớ nghieọm Vi xửỷ lyự
Trang 11
PC7 ng vi Relay 2
PC6 ng vi Relay 3

Cỏc ngừ ra relay cú th dựng trong cỏc ng dng, cỏc thớ nghim iu khin cụng
sut ln hay iu khin cỏc thit b xoay chiu tng t nh khi iu khin Led. Ta cng
phi lm sao khi xut mc 1 ra Port C thỡ Relay tng ng hay ng iu khin ng c
bc tng ng s tỏc ng. dũng kộo cho cỏc Relay ta cng dựng b
m o
74LS06 (U7) kộo dũng mc thp (I
shink
) do dũng kộo khi ngừ ra mc thp ln hn rt
nhiu dũng mc cao. Mt u ca Relay s c ni lờn ngun +5V, mt u ni vi
ngừ ra 74LS06 khi ngừ ra U7 mc thp s lm cho Relay tỏc ng. Dũng I
shink
ca

74LS06 sc kộo Relay. Cỏc Diode mc song song vi cun dõy v phõn cc ngc
chng in ỏp ngc phỏt sinh khi Relay ngt cú th lm h hng 74LS06.
Khi iu khin ng c bc, do dũng kộo ng c bc cn rt ln cho nờn ta
khụng th dựng 74LS06 m phi dựng Transistor Darlington D560 kộo.
T ú a ra cỏc trm ra relay ni sn cỏc tip im chung (COM) thng úng
(NC: Normal Contact ) v thng h (NO: Normal Open ) cho cỏc Relay 1, 2, 3 ra nh
b
ng sau:

Bng 1.7 : Cỏc tip im trờn Relay

Relay Tip im thng úng / NC Tip im thng h / NO Tip im chung / COM
1 NC1 NO1 COM1
2 NC2 NO2 COM2
3 NC3 NO3 COM3

Cỏc ngừ ra cụng sut iu khin ng c bc gm :
Cỏc chõn chung 1 v 2 (COM1 v COM2), ng ngun +5V ni vo ngun
+5V ca h thng.
Chõn GND.
4 ng iu khin A, B , C , D.
Tt c cỏc ng ny c a ra mt u ni CON2 phc v cho thớ nghim iu
khin ng c bc.
V.2. B iu khin nhp/xut 2
B
iu khin nhp/xut 2 c xõy dng trờn IC 8255A (U9) c dựng thc
hin cỏc cụng vic iu khin v nhp xut trong cỏc ng dng.
Cỏc ng d liu v iu khin ca nú c kt ni ging nh b iu khin
nhp xut th nht ngoi tr ng chn linh kin
CS ca nú c ni vo 2CS 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 iu khin cng tng t nh xỏc nh
cho b iu khin nhp/xut 1.






Phoứng thớ nghieọm Vi xửỷ lyự Baứi thớ nghieọm Vi xửỷ lyự
Trang 12
Bng 1.8: Gii mó a ch cỏc PORT trờn b iu khin nhp xut 2 (U9)

a ch
A15 ữ A13 A12

A5
A4 A3 A2 A1 A0 A CH

CS = 0
2CS

PA 000 00011000 0 1 0 0 0 308H
000 00011000 0 1 1 0 0 30CH
PB 000 00011000 0 1 0 0 1 309H
000 00011000 0 1 1 0 1 30DH
PC 000 00011000 0 1 0 1 0 30AH
000 00011000 0 1 1 1 0 30EH
THANH GHI 000 00011000 0 1 0 1 1 30BH
IU KHIN 000 00011000 0 1 1 1 1 30FH


Thanh ghi iu khin (Control Register) ca U9 cú a ch i vi h thng l
30Bh hoc 30Fh.
Port PA (PA0 PA7) cú a ch iu khin i vi h thng 308h hay 30Ch
c ni vi cht cm PORT A trờn thit b chớnh PTS-31.
Port PB (PB0 PB7 ) cú a ch iu khin i vi h thng l 309h hay
30Dh ni vi cht cm PORT B trờn thit b
chớnh PTS-31.
Port PC (PC0 PC7 ) cú a ch iu khin i vi h thng l 30Ah hay
30Eh v c ni vi cht cm PORT C trờn thit b chớnh.
Cỏc Port A,B,C ca thit b chớnh PTS-31 c thit k sn s dng trong cỏc
bi thớ nghim cng nh trong cỏc ng dng phỏt trin m rng sau ny.

VI. THIT B TNG T

iu khi
n thit b tng t t mỏy tớnh õy s dng mt b khuch i loa.
Trong mch dựng OP-AMP LM 386 to thnh mch khuch i. Ngừ vo o (V-) ni
xung GND, ngừ vo khụng o (V+) ni trc tip vo PC4 / U5 thụng qua R18 v C2.
Do ch cú 2 mc ỏp ra chõn PC4 l 0V hay 5V, ta dựng xung vuụng to tớn hiu õm
thanh ra loa.
Mch tng t cú a ch l Port PC4 / U9.




CON6
RS-232C
5
9

4
8
3
7
2
6
1
CON7
1
2
3
4
5

Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
Trang 13
+5V
SƠ ĐỒ PART D VÀ KHỐI TƯƠNG TỰ
C2
10uF
R18
10K
R19
10K
LM386
+
-
3
2
5

6 1
4 8
7
R20
22
C5
220uF
C3
0.1 uF
SPEAKER
PC4/U5



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ào
IOR
.
- Đườ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ừ ngồ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 ngồ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).










Phoứng thớ nghieọm Vi xửỷ lyự Baứi thớ nghieọm Vi xửỷ lyự
Trang 14

+5V +5V
A
3
A
2
/IOW
D7
/CS
/IOR
D6
D5
D4

D3
D2
D1
D0
U13
74155
A
13
B
3
1G
2
1C
1
2G
14
2C
15
1Y0
7
1Y1
6
1Y2
5
1Y3
4
2Y0
9
2Y1
10

2Y2
11
2Y3
12
U11
74LS245
A
1
2
A
2
3
A
3
4
A
4
5
A
5
6
A
6
7
A
7
8
A
8
9

G
19
DIR
1
B1
18
B2
17
B3
16
B4
15
B5
14
B6
13
B7
12
B8
11
U12D
7404
9 8
CON4
1
2
3
4
CON5
1

2
3
4
CON3
1
2
3
4
5
6
7
8
C2
.01
C1
.01

B M D LIU V GII M (PART C)
















3
Phoứng thớ nghieọm Vi xửỷ lyự Baứi thớ nghieọm Vi xửỷ lyự
Trang 15
Bng 1.9: a ch cỏc ngừ ra gii mó v d liu trờn b gii mó v m d liu

NGế RA A15-A13 A12-A4 A3 A2 A1 A0 A CH
0 0 0 0 310h
1Y0,2Y0 000 000110001 0 0 0 1 311h
0 0 1 0 312h
0 0 1 1 313h
0 1 0 0 314h
1Y1,2Y1 000 000110001 0 1 0 1 315h
0 1 1 0 316h
0 1 1 1 317h
1 0 0 0 318h
1Y2,2Y2 000 000110001 1 0 0 1 319h
1 0 1 0 31Ah
1 0 1 1 31Bh
1 1 0 0 31Ch
1Y3,2Y3 000 000110001 1 1 0 1 31Dh
1 1 1 0 31Eh
1 1 1 1 31Fh

Cht ra 1Y0, 2Y0 cú a ch t 310h ti 313Hh.
Cht ra 1Y1, 2Y1 cú a ch t 314h ti 317h.
Cht ra 1Y2, 2Y2 cú a ch t 318h ti 31Bh.
Cht ra 1Y3, 2Y3 cú a ch t 31Ch ti 31Fh.


PHN II : TIN TRèNH TH NGHIM

I. KHO ST LED
8 Led d liu c kt ni vi Port A ca U5 (cú a ch l 300h), nh vy nu
mun xut d liu ra Led, ta dựng lnh OUT DX,AL trong ú DX cha a ch ca Led
(300h) v AL cha d liu mun xut ra Led.

- Vo th mc: C:\TNVXL\TASM
- Dựng NCEdit to on chng trỡnh sau, lu li vi 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 mn hỡnh

mov al,82h ;PA: XUT, PB: NHP, PC: XUT
mov dx,303h ;
a ch CR ca U5
out dx,al ;nh cu hỡnh cho U5
Phoứng thớ nghieọm Vi xửỷ lyự Baứi thớ nghieọm Vi xửỷ lyự
Trang 16

mov dx,300h ;a ch Port A (ni vi Led)
mov al,0Fh
out dx,al


exit:
mov ah,4Ch ;Kt thỳc chng trỡnh
int 21h
main endp
END main

- Ti du nhc DOS gừ lnh: tasm Led_uPTS.asm
- Nu chng trỡnh khụng cú li s to thnh file Led_uPTS.obj, tip tc gừ
lnh: tlink Led_uPTS.obj
-
Ta cú th to mt file .bat thc hin 2 quỏ trỡnh trờn (vớ d nh compiler.bat):
Ni dung file .bat nh sau (gi s dựng file compiler.bat):
tasm %1.asm
tlink /v %1.obj
Gừ lnh compiler.bat Led_uPTS thc hi
n dch chng trỡnh
- Chng trỡnh s to thnh file Led_uPTS.exe
- Ti du nhc DOS, gừ lnh Led_uPTS thc thi chng trỡnh va to.

Sa li chng trỡnh thc hin sỏng Led tun t t trỏi sang phi:

.model small
.stack 100h
.data
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 mn hỡnh

mov al,82h ;PA: XUT, PB: NHP, PC: XUT
mov dx,303h ;a ch CR ca U5
out dx,al ;nh cu hỡnh cho U5

mov bx,0
mov dx,300h ; a ch Led
next1:
mov al,pa[bx]
out dx,al

Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
Trang 17
mov cx,0FFh
next2: call delay; Tạo thời gian trễ
loop next2

inc bx
cmp bx,8 ; Led có 8 trạng thái
jne next1

exit:
mov ah,4Ch ; Kết thúc chương trình
int 21h
main ENDP
;
delay proc

push cx
mov cx,0FFFFh
loop $
pop cx
ret
delay endp
END main

Ngồ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:





0
1
Phoứng thớ nghieọm Vi xửỷ lyự Baứi thớ nghieọm Vi xửỷ lyự
Trang 18
Loa ni vi PC4 ca U5 nờn mun to 2 mc logic 0 v 1 loa, ta phi to 2 mc
logic 0 v 1 PC4. Hai mc logic ny cú th to nh ch BSR (Bit Set/Reset) ca U5.

Set bit PC4 = 1 : t iu khin = 0000 1001b (09h)
Reset bit PC4 = 0 : t iu khin = 0000 1000b (08h)

Lu ý rng: ch BSR tỏc ng lờn Port C nhng phi gi d liu ra thanh
ghi iu khin.

Ta cú chng trỡnh phỏt õm thanh ra loa nh sau:
.model small
.stack 100h
.data
.code
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 ax ; Lu li giỏ tr cỏc thanh ghi
push cx
push dx
mov cx,30 ; To 30 xung
speak:
mov dx,303h ; a ch CR
mov al,09h ; Set bit PC4 = 1
out dx,al
call delay

mov dx,303h
mov al,08h ; Reset bit PC4 = 0
out dx,al
call delay
loop speak

Phoứng thớ nghieọm Vi xửỷ lyự Baứi thớ nghieọm Vi xửỷ lyự
Trang 19
pop dx ; Ly li ni dung cỏc thanh ghi
pop cx
pop ax
ret

speaker endp

;
delay proc
push cx
mov cx,0FFFFh
loop $
pop cx
ret
delay endp

END main

- Thay i chng trỡnh loa kờu liờn tc cho n khi nhn mt phớm bt k thỡ
kt thỳc.
- Thay i chng trỡnh loa kờu 10 ln thỡ kt thỳc (gi ý: to vũng lp gi
chng trỡnh speaker 10 ln, gia mi ln to chng trỡnh to tr ging nh
on chng trỡnh in nghiờng trong phn I).
-
Vit chng trỡnh iu khin Led sao cho mi ln Led sỏng thỡ phỏt õm thanh
ra loa.

III. KHO ST RELAY

Cỏc Relay c ni vi Port C ca U5. Do ú, nu mun úng Relay no, ta s
cho bit tng ng ca Port C = 1 cũn nu mun ngt Relay thỡ s cho bit tng ng = 0.
VD: úng RL1 (PC5 = 1): t iu khin 0000 1011b = 0Bh
Ngt RL1 (PC5 = 0): t iu khin 0000 1010b = 0Ah
Chng trỡnh úng ln lt cỏc Relay 1, 2, 3 v sau ú ngt cỏc Relay ny theo
th t 3, 2, 1:


.model small
.stack 100h
.data
.code
main proc
mov ax,@data
mov ds,ax

mov al,82h
mov dx,303h
out dx,al


Phoứng thớ nghieọm Vi xửỷ lyự Baứi thớ nghieọm Vi xửỷ lyự
Trang 20
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 proc
push cx
mov cx,0FFFFh
loop $
pop cx
ret
delay endp


;
delay1 proc
push cx
Phoứng thớ nghieọm Vi xửỷ lyự Baứi thớ nghieọm Vi xửỷ lyự
Trang 21
mov cx,0FFh
dlay1:
call delay
loop dlay1
pop cx
ret
delay1 endp

END main

- Vit chng trỡnh úng v ngt ln lt cỏc Relay 2,3, mi ln úng hay ngt
thỡ phỏt õm thanh ra loa.

IV. KHO ST CễNG TC NHN SW

Cụng tc nhn c ni vi Port B ca U5, khi nhn SW thi bit tng ng ca
Port B s = 0 cũn nu khụng nhn thỡ bng 1. Nh vy, mun kim tra cụng tc no c
nhn, ta phi kim tra bit tng ng ca Port B.
on chng trỡnh kim tra cụng tc nhn nh sau:

start:
mov dx,301h ; a ch Port B
in al,dx
and al,11110000b ; Che 4 bit thp

cmp al,10110000b ; Kim tra cụng tc 1
je SW1 ; Nu nhn SW1
cmp al,11010000b ; Kim tra cụng tc 2
je SW2
cmp al,11100000b ; Kim tra cụng t
c 3
je SW3
cmp al,01110000b ; Kim tra cụng tc 4
je SW4
jmp start
;
SW1: ; tựy yờu cu
jmp start

SW2: ; tựy yờu cu
jmp start

SW3: ; tựy yờu cu
jmp start

SW4: ; tựy yờu cu
jmp start
;
END main
Phoứng thớ nghieọm Vi xửỷ lyự Baứi thớ nghieọm Vi xửỷ lyự
Trang 22

- Vit chng trỡnh kim tra cỏc cụng tc:
Nhn SW1: úng RL1, phỏt õm thanh ra loa
Nhn SW2: úng RL2, phỏt õm thanh ra loa

Nhn SW3: nhp nhỏy ng thi 2 Led 0 v 7 5 ln
Nhn SW4: tt cỏc Led, ngt RL1, RL2 v kt thỳc chng trỡnh.



×