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  
T
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  
8
1N414  
8
1N414  
8
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  
T
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 đủ
pdf 22 trang myanh 21081 Free
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:

  • pdftai_lieu_thi_nghiem_vi_xu_ly_bai_1_thiet_bi_chinh_pts_31_mic.pdf