BÀI 1: THIẾT BỊ CHÍNH μPTS-31 MICROPROCESSOR TRAINNING SYSTEM - 31 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
Trang 1Phòng thí nghiệm Vi xử lý Tài liệu thí nghiệm Vi xử lý
Trang 2BÀI 1: THIẾT BỊ CHÍNH μPTS-31
(MICROPROCESSOR TRAINNING SYSTEM - 31)
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
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
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
Trang 3Phò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 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ừ A4 tới A 0) sẽ là 00000b và tại địa chỉ cuối tức là (từ A4tớ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 4củ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
Trang 5Phòng thí nghiệm Vi xử lý Tài liệu thí nghiệm Vi xử lý
U3A 7407
U3B 7407
U3C 7407
U3D 7407
U3E 7407
U4A 7407
U4B 7407
U4C 7407
U4D 7407
RESET-DRV AEN
IOW IOR
A4 A3 A2
A1 A0 D0D1D2D3D4D5D6D7 IOR
A5A6A7A8A9A10 A11 A12 AEN
Card giao tiếp PC BUS-2
Trang 6IV 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ỉ :
Bảng 1.3: Giải mã địa chỉ chân CS 1
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 0 0 0 0 300h
0 0 0 0 0 0 1 1 0 0 0 0 0 1 1 1 307h
Tương tự chân CS 2 là 0 khi A3 = 1, CS = 0 và A4 = 0 Khi đó ta có địa chỉ đầu
và địa chỉ cuối của CS 2 là 308h và 30Fh
Trang 7-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
IOR CLOCK A2
A4 A3 A1 A0 CS
RS
AEN IOR CLOCK A4 A2 A1 A0 CS
A4 RS A0 A1 A2
CSA3AEN CLOCK
IOW
IOR
CLK AEN A3 A2 A1 A0 RS
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
B1 18B2 17B3 16B4 15B5 14B6 13B7 12B8 11
U4
74LS245
A1 2A2 3A3 4A4 5A5 6A6 7A7 8A8 9
G 19DIR 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
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 D2 D4 D5 D6 D7 CS
Trang 8Bảng 1.4: Giải mã địa chỉ chân CS 2
A15 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
Bảng 1.5: Giải mã địa chỉ chân CS 3
3 A2 A1 A0
ngõ ra công suất cho động cơ bước
các thí nghiệm và ứng dụng
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ơ
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
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
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 9IOR IOW A0 RESE 300H-
IOR IOW A0 RESE CS2
D0 D2 D4 D6
IOR IOW A0 RESE CS1
D0 D2 D4 D6
PA0 PA2 PA4 PA6 PB0 PB2 PB4 PB6 PC0 PC2 PC4 PC6
JP1 PORT
JP1 PORT
JP1 PORT
COM NC1
NC2
NC3 NO3
COM NC1 COM NC2 COM NC3
RELA Y
CON2
STEP MOTOR
GND +5V COM A C D
RD 5 WR 36 A0 9 A1 8 RESE T 35 CS 6
PA04PA13PA22PA31PA440PA539PA638PA737PB018PB119PB220PB321PB422PB523PB624PB725PC014PC115PC216PC317PC413PC512PC611PC710
U7B 7406 3 4
U7C 7406 5
6
U7E 7406 11
10
U7D 7406 9 8
U8C 7407 5 6
U8F 7407 13 12
U8E 7407 11 10
U8D 7407 9 8
U9 D0 34 D1 33 D2 32 D3 31 D4 30 D5 29 D6 28 D7 27
RD 5 WR 36 A0 9 A1 8 RESE T 35 CS 6
PA0 4PA1 3PA2 2PA3 1PA4 40PA5 39PA6 38PA7 37PB0 18PB1 19PB2 20PB3 21PB4 22PB5 23PB6 24PB7 25PC0 14PC1 15PC2 16PC3 17PC4 13PC5 1211
1 3 5 7
1 3 5 7
1 3 5
R21g 10K
R21h 10K
R21e 10K
R21f 10K
R21c 10K
R21d 10K
R21a 10K
R21b 10K
1 3 5 7
1 3 5 7 9 10
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
Trang 10V.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 →
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ẽ
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ỉ A15 ÷ A13 A12 ÷ A5 A4 A3 A2 A1 A0 ĐỊA CHỈ
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:
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
Trang 11Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
– 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
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
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
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
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 12Bả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ỉ A15 ÷ A13 A12 ÷ A5 A4 A3 A2 A1 A0 ĐỊA CHỈ
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
RS-232C 5 9 4 8 3 7 2 6 1
CON7 1 2 3 4 5
Trang 13Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
3 2
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:
từ B → A (hướng từ ngồi vào thiết bị chính)
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)
Trang 141G 2 1C 1
2G 14 2C 15
1Y0 71Y1 61Y2 51Y3 42Y0 92Y1 102Y2 112Y3 12
U11
74LS245 A1
19 DIR1
B1 18B2 17B3 16B4 15B5 14B6 13B7 12B8 11
U12D 7404
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Ữ LIỆU VÀ GIẢI MÃ (PART C)
3
Trang 15Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
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
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
– 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:
Trang 16mov dx,300h ;Địa chỉ Port A (nối với Led)
- 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
- 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:
Trang 17Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
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
Trang 18Loa 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
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:
Trang 19Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
- 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:
Trang 21Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
IV KHẢO SÁT CƠNG TẮC NHẤN SW
Cơng tắc nhấn được nối với Port B của U5, khi nhấn SW thi bit tương ứng của Port B sẽ = 0 cịn nếu khơng nhấn thì bằng 1 Như vậy, muốn kiểm tra cơng tắc nào được nhấn, ta phải kiểm tra bit tương ứng của Port B
Đoạn chương trình kiểm tra cơng tắc nhấn như sau:
start:
and al,11110000b ; Che 4 bit thấp
Trang 22- Viết chương trình kiểm tra các công tắc:
Nhấn SW1: đóng RL1, phát âm thanh ra loa
Nhấn SW2: đóng RL2, phát âm thanh ra loa
Nhấn SW3: nhấp nháy đồng thời 2 Led 0 và 7 5 lần
Nhấn SW4: tắt các Led, ngắt RL1, RL2 và kết thúc chương trình
Trang 23Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
BÀI 02:
TRUYỀN SỐ LIỆU SONG SONG
Giúp sinh viên bằng thực nghiệm khảo sát các vấn đề chính sau đây :
- Truyền số liệu từ máy tính ra ngoài và từ ngoài vào máy tính
số liệu và giải mã lệnh (PART A + PART C) trên thiết bị chính μPTS-31
Khi tiến hành thí nghiệm cần nối cáp từ ổ ra của PCBUS-2 với ổ CON1 của thiết bị chính μPTS-31
Sơ đồ mạch của khối thí nghiệm ở trang bên, trong đó vi mạch U1 (74LS374)
có nhiệm vụ chốt số liệu truyền ra từ máy tính Các đèn LED nối với các ngõ ra U1 cho phép hiển thị số liệu xuất ra trên U1 chính là số liệu xuất ra từ máy tính
Vi mạch U2 (74LS245) là bộ đệm dữ liệu cho phép chuyển dữ liệu từ ngoài vào máy tính Dữ liệu được xác lập đặt trước bằng các công tắc DIP - SWITCH ở vị trí ON hoặc OFF tương ứng
Trang 24* Lưu đồ chương trình cho bài thí nghiệm truyền số liệu :
Nhập dữ liệu từ bàn phím (máy tính)
Xuất dữ liệu vừa nhập ra Led (μPM–302)
Nhấn phím 'N'?
N
N
Trang 25Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
Sơ đồ mạch khối thí nghiệm truyền số liệu
Các Led trên board thí nghiệm kết nối với 74LS374 có địa chỉ là 310h (do nối với 2Y0) nên sử dụng các lệnh sau để xuất dữ liệu ra Led:
mov dx,310h
out dx,al
PHẦN II : TIẾN TRÌNH THÍ NGHIỆM
1 Nối cáp liên lạc giữa ổ nối CON1 (DB25M ) của thiết bị chính μPTS-31 với
ổ nối DB25M của Card PCBUS-2 gắn sau máy tính
2 Sử dụng dây có chốt cắm hai đầu để nối mạch:
+5V
1 2 3 4 5 6 7 8
16 15 14 13 12 11 10 9
CS1
74LS374 3
4 7 8 13 14 17 18 1 11
2 5 6 9 12 15 16 19
D0 D1 D2 D3 D4 D5 D6 D7 OC CLK
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
74LS245 2
3 4 5 6 7 8 9 19 1
18 17 16 15 14 13 12 11
A1 A2 A3 A4 A5 A6 A7 A8 G DIR
B1 B2 B3 B4 B5 B6 B7 B8
Trang 26- Nối các chốt nguồn +5V và GND (POWER INPUT) của khối μPM-302 với ngõ ra nguồn nuôi +5V và GND của thiết bị chính μPTS31 Chú ý cắm đúng cực tính của nguồn
3 Nối cáp liên lạc giữa ổ nối CON3 của thiết bị chính μPTS-31 (PART C) với
ổ CON1 của khối thí nghiệm μPM-302
- Nối CS1 của μPM-302 với chốt 2Y0 /CON 5 của thiết bị chính μPTS31 (PART C)
- Nối CS2 của μPM-302 với chốt 1Y0 / CON 4 thiết bị chính μPTS31 (PART C)
II CÁC BƯỚC THÍ NGHIỆM
Trang 27Phòng thí nghiệm Vi xử lý Bài thí nghiệm Vi xử lý
- Thực hiện xuất dữ liệu ra Led:
Ví dụ cần xuất số liệu 139, đầu tiên nhấn ‘X’, con trỏ nhảy về hàng mã xuất , nhập số 139 từ bàn phím
Sau khi xuất mã từ máy tính, quan sát trạng thái các đèn LED hiển thị trên khối μPM-302 Ghi nhận kết quả với LED sáng D =1, LED tắt D = 0
- Truyền số liệu từ khối μPM-302 vào máy tính
Số liệu từ bên ngoài được chọn từ công tắc DIP-SW trên khối μPM-302 Gạt các công tắc để xác lập số liệu ngoài Chú ý : Công tắc đẩy lên ở “ON” D = 0, ngược lại D = 1 Nhấn ‘N’ và ghi nhận giá trị đặt
STT SW-7 D7 SW-6 D6 SW-5 D5 SW-4 D4 SW-3 D3 SW-2 D2 SW-1 D1 SW-0 D0
Giá trị đặt trên
SW
Máy tính nhận được
- Thay đổi địa chỉ của CS1 (Led) và CS2 (SW), thực hiện đọc dữ liệu từ SW
và sau đó xuất dữ liệu vừa đọc ra Led
- Thay đổi chương trình để xuất giá trị ra màn hình ở dạng số nhị phân
- Thay đổi chương trình để xuất giá trị ra màn hình ở dạng số thập lục phân
- Thay đổi chương trình để Led của board thí nghiệm µPM-302 và bộ thí nghiệm chính µPTS-31 sáng theo dữ liệu nhập từ SW (không nhập từ bàn