HƯỚNG DẪN THÍ NGHIỆM VI XỬ LÍ VÀ PLC - Pdf 15

TRƯỜNG CAO ĐẲNG KINH TẾ - CÔNG NGHỆ TP. HCM
KHOA ĐIỆN – ĐIỆN TỬ
HƯỚNG DẪN THÍ NGHIỆM
VI XỬ LÝ & PLC
Biên soạn: Nguyễn Ngọc Tùng
LƯU HÀNH NỘI BỘ
MỤC LỤC
Hướng dẫn thí nghiệm VXL & PLC Bài mở đầu
Bài mở đầu
NỘI QUY & MỘT SỐ KIẾN THỨC CƠ BẢN
I. Nội quy phòng thí nghiệm
1. Giờ giấc
- Sinh viên có mặt trước giờ thí nghiệm 5 phút, tập trung trước cửa PTN Điện tử. Giờ bắt
đầu vào lớp:
• Buổi sáng: 7h30’
• Buổi chiều: 13h30’
- Đúng giờ thí nghiệm, được sự cho phép của giáo viên hướng dẫn, các sinh viên trật tự
bước vào phòng thí nghiệm. Cứ sau mỗi 5 phút đi trễ, các sinh viên sẽ bị trừ 1 điểm tương ứng
vào điểm bài thí nghiệm của ngày hôm đó. Sau 30 phút, các sinh viên đi trễ sẽ không được vào
phòng thí nghiệm và xem như vắng mặt ngày hôm đó.
- Trước giờ ra về 30 phút, các nhóm sinh viên hoàn tất (hoặc chưa hoàn tất bài thí
nghiệm) phải dừng thí nghiệm và nộp báo cáo thí nghiệm cho giáo viên hướng dẫn. Riêng những
nhóm sinh viên hoàn tất bài thí nghiệm sớm, sau khi nộp báo cáo, nếu có nguyện vọng có thể xin
phép giáo viên hướng dẫn cho về sớm. Giờ ra về:
• Buổi sáng: 11h00’
• Buổi chiều: 17h00’
2. Tổ chức lớp học và cách đánh giá sinh viên
- Lớp học được chia thành tối đa 8 nhóm sinh viên, tùy sĩ số lớp mà số lượng SV mỗi
nhóm sẽ dao động từ 3 đến 5 sinh viên.
- Các bài thí nghiệm được chia làm 2 phần chính: phần thí nghiệm VXL gồm 4 bài được
thực hiện song song bởi 4 nhóm trong mỗi buổi học; phần thí nghiệm PLC gồm 4 bài được thực

nhóm nào làm sai (hoặc cố tình làm sai) các hướng dẫn trong bài thí nghiệm dẫn đến hư hỏng
linh kiện, dụng cụ, thiết bị của phòng thí nghiệm, cả nhóm của nhóm đó có nghĩa vụ bồi
thường (bằng hiện vật) linh kiện, dụng cụ, thiết bị đã bị hư hỏng. Cuối giờ, nhóm phải hoàn
trả lại phòng thí nghiệm các thiết bị, linh kiện thí nghiệm đã được cấp theo đúng chất lượng và
đủ số lượng.
- Tuyệt đối không được đem các linh kiện, dụng cụ, thiết bị của phòng thí nghiệm ra khỏi
phòng mà không được sự cho phép của giáo viên hướng dẫn.
- Tuyệt đối không hút thuốc lá và thực hiện các hành vi làm phát sinh ra lửa trong phòng
thí nghiệm.
- Không tụ tập nói chuyện hoặc ăn uống trong phòng thí nghiệm.
4. Dụng cụ học tập
- Mỗi nhóm thí nghiệm phải tự trang bị cho nhóm các dụng cụ học tập sau:
Trang 2
Hướng dẫn thí nghiệm VXL & PLC Bài mở đầu
• Giấy A4 báo cáo thí nghiệm.
• Bút, viết, máy tính.
• Quyển Hướng dẫn thí nghiệm Vi xử lý và PLC.
5. Lịch thí nghiệm
Buổi
Nhóm
1 2 3 4 5 6 7 8 9 10 11 12
Nhóm 1Bài
mở
đầu
B1 B2 B3 B4
B5 B6 B7 B8
Dự
trữ
Kiểm
tra cuối

NHÓM LỆNH CHUYỂN DỮ LIỆU
No CÚ PHÁP GIẢI THÍCH
B/
MC
No CÚ PHÁP GIẢI THÍCH
B/
MC
MOV A, Rn (A)  (Rn) 1/1 15 MOV @Ri, #data ((Ri))  #data 2/1
MOV A, direct (A)  (direct) 2/1 16 MOV DPTR, #data16
(DPTR)  #data
15-0

(DPH)  #data
15-8
(DPL)  #data
7-0
3/2
MOV A, @Ri (A)  ((Ri)) 1/1 17 MOVC A, @A+DPTR (A)  ((A) + (DPTR)) 1/2
MOV A, #data (A)  #data 2/1 18 MOVC A, @A+PC (A)  ((A) + (PC)) 1/2
MOV Rn, A (Rn)  (A) 1/1 19 MOVX A, @Ri (A)  ((Ri)) RAM ngoài1/2
MOV Rn, direct (Rn)  (direct) 2/1 20 MOVX A, @DPTR (A)  ((DPTR)) RAM ngoài1/2
MOV Rn, #data (Rn)  #data 2/1 21 MOVX @Ri, A ((Ri))  (A) RAM ngoài1/2
MOV direct, A (direct)  (A) 2/1 22 MOVX @DPTR, A
((DPTR))  (A) RAM
ngoài
1/2
MOV direct, Rn (direct)  (Rn) 2/2 23 PUSH direct
(SP)  (SP) + 1
((SP))  (direct)
2/2

10 SUBB A, direct (A)  (A) – (C) – (direct)2/1 22 MUL AB (B
15-8
), (A
7-0
)  (A) x (B) 1/4
11 SUBB A, @Ri (A)  (A) – (C) – ((Ri))1/1 23 DIV AB (B

), (A
nguyên
)  (A) / (B)1/4
12 SUBB A, #data (A)  (A) – (C) – #data 2/1 24 DA A
Sửa (A) sang dạng đúng của
số BCD (vd: nếu (A) = 5AH
thì được sửa thành 60H)
1/1
NHÓM LỆNH LOGIC
Trang 4
Hướng dẫn thí nghiệm VXL & PLC Bài mở đầu
No CÚ PHÁP GIẢI THÍCH
B/
MC
No CÚ PHÁP GIẢI THÍCH
B/
MC
1 ANL A, Rn (A)  (A) AND (Rn) 1/1 14 XRL A, direct (A)  (A) XOR (direct) 2/1
2 ANL A, direct (A)  (A) AND (direct) 2/1 15 XRL A, @Ri (A)  (A) XOR ((Ri)) 1/1
3 ANL A, @Ri (A)  (A) AND ((Ri)) 1/1 16 XRL A, #data (A)  (A) XOR #data 2/1
4 ANL A, #data (A)  (A) AND #data 2/1 17 XRL direct, A (direct)  (direct) XOR (A) 2/1
5 ANL direct, A (direct)  (direct) AND (A) 2/1 18 XRL direct, #data (direct)  (direct) XOR #data 3/2
6 ANL direct, #data (direct)  (direct) AND #data 3/2 19 CLR A (A)  0 1/1

)  add
10-0
2/2 7 LCALL add16
(PC)  (PC) + 3
(SP)  (SP) + 1
((SP))  (PC
7-0
)
(SP)  (SP) + 1
((SP))  (PC
15-8
)
(PC)  add
15-0
3/2
2 SJMP rel
(PC)  (PC) + 2
(PC)  (PC) + rel
2/2 8 JMP @A+DPTR (PC)  (A) + (DPTR) 1/2
3 RET
(PC
15-8
)  ((SP))
(SP)  (SP) – 1
(PC
7-0
)  ((SP))
(SP)  (SP) – 1
1/2 9 JZ rel
(PC)  (PC) + 2

3/2 12 JNC rel
(PC)  (PC) + 2
IF (C) = 0 THEN
(PC)  (PC) + rel
2/2
13 JB bit, rel (PC)  (PC) + 3
IF (bit) = 1 THEN
(PC)  (PC) + rel
3/2 18 CJNE Rn, #data, rel (PC)  (PC) + 3
IF #data < (Rn) THEN
(PC)  (PC) + rel
(C)0
3/2
Trang 5
Hướng dẫn thí nghiệm VXL & PLC Bài mở đầu
IF #data > (Rn) THEN
(PC)  (PC) + rel
(C)1
14 JNB bit, rel
(PC)  (PC) + 3
IF (bit) = 0 THEN
(PC)  (PC) + rel
3/2 19 CJNE @Ri, #data, rel
(PC)  (PC) + 3
IF #data < ((Ri)) THEN
(PC)  (PC) + rel
(C)0
IF #data > ((Ri)) THEN
(PC)  (PC) + rel
(C)1

IF #data > (A) THEN
(PC)  (PC) + rel
(C)1
3/2 22 NOP (PC)  (PC) + 1 1/1
NHÓM LỆNH LIÊN QUAN ĐẾN BIT
No CÚ PHÁP GIẢI THÍCH
B/
MC
No CÚ PHÁP GIẢI THÍCH
B/
MC
1 CLR C (C)  0 1/1 7 ANL C, bit (C)  (C) AND (bit) 2/2
2 CLR bit (bit)  0 2/1 8 ANL C, /bit (C)  (C) AND (NOT bit) 2/2
3 SETB C (C)  1 1/1 9 ORL C, bit (C)  (C) OR (bit) 2/2
4 SETB bit (bit)  1 2/1 10 ORL C, /bit (C)  (C) OR (NOT bit) 2/2
5 CPL C (C)  (NOT C) 1/1 11 MOV C, bit (C)  (bit) 2/1
6 CPL bit (bit)  (NOT bit) 2/1 12 MOV bit, C (bit)  (C) 2/2
Ghi chú: (X) : nội dung của X
((X)) : nội dung của ô nhớ có địa chỉ là nội dung của X (X là con trỏ)
direct : địa chỉ trực tiếp; Rn : n = 0 ÷ 7; Ri : i = 1,2
rel: địa chỉ tương đối (trình biên dịch sẽ tính rel từ địa chỉ cần nhảy đến)
B/MC : Bytes / Machine Cycles
 Các vùng nhớ dữ liệu
Trang 6
Hướng dẫn thí nghiệm VXL & PLC Bài mở đầu
Địa chỉ byte Địa chỉ bit (Hex) Địa chỉ byte Địa chỉ bit (Hex) Tên
Trang 7
Hướng dẫn thí nghiệm VXL & PLC Bài mở đầu
7FH
Vùng RAM đa dụng

1FH Bank 3 89H không được địa chỉ hóa bit TMOD
GATE C/T M1 M0 GATE C/T M1 M0
18H 88H
8F 8E 8D 8C 8B 8A 89 88
TCON
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
17H
Bank 2
87H
không được địa chỉ hóa bit
PCON
SMOD – – – GF1 GF0 PD IDL
10H
0FH Bank 1 83H không được địa chỉ hóa bit DPH
DP
TR
08H 82H không được địa chỉ hóa bit DPL
07H Bank thanh ghi 0
(Mặc định cho R0 - R7)
81H không được địa chỉ hóa bit SP
00H 80H 87 86 85 84 83 82 81 80 P0
RAM nội Các thanh ghi chức năng đặc biệt (SFR)
 Sơ đồ chân IC
Trang 8
Hướng dẫn thí nghiệm VXL & PLC Bài mở đầu
0
V C C
1 0 u F
V C C = 5 V
0

2 4
2 5
2 6
2 7
2 8
1 0
1 1
1 2
1 3
1 4
1 5
1 6
1 7
P S E N
A L E
V C CG N D
E A
X 1
X 2
R S T
P 0 . 0 / A D 0
P 0 . 1 / A D 1
P 0 . 2 / A D 2
P 0 . 3 / A D 3
P 0 . 4 / A D 4
P 0 . 5 / A D 5
P 0 . 6 / A D 6
P 0 . 7 / A D 7
P 1 . 0
P 1 . 1

vào/ra để giao tiếp ngoại vi thì phải mở rộng port. PPI 8255 là một IC chuyên dùng cho mục đích
này.
Trang 9
Hướng dẫn thí nghiệm VXL & PLC Bài mở đầu
- PPI 8255 bao gồm 3 port có thể đóng vai trò như port xuất hoặc port nhập. Khi ở chế độ
xuất, dữ liệu từ data bus được đưa tới và chốt ở port cần xuất. Khi ở chế độ nhập, dữ liệu từ port
đang kích hoạt sẽ được đọc và đưa ngược lại vào data bus. Ngoài ra, 8255 còn có một thanh ghi
điều khiển để xác lập chế độ hoạt động (xuất hoặc nhập) cho các port. Khi cần mở rộng port cho
8051/8951 thì data bus được nối với P0, các port A,B và C được nối với ngoại vi.
Các ngõ vào điều khiển:
• /CS: tín hiệu chọn chip (tích cực thấp)
• /WR: tín hiệu cho phép xuất (nối vào chân /WR của 8051/8951)
• /RD: tín hiệu cho phép nhập (nối vào chân /RD của 8051/8951)
• RESET: reset 8255 (nối với chân RST của 8051/8951)
• A1, A0: chọn port làm việc
A1 A0 Chọn
0 0 Port A
0 1 Port B
1 0 Port C
1 1 Thanh ghi điều khiển
- Trước khi sử dụng 8255 thì phải xác lập chế độ hoạt động cho nó thông qua việc xác lập
giá trị của thanh ghi điều khiển. Thanh ghi điều khiển gồm 8 bit:
Trang 10
Hướng dẫn thí nghiệm VXL & PLC Bài mở đầu
D7 D6 D5 D4 D3 D2 D1 D0
1
Mode nhóm A:
- 00: mode 0
- 01: mode 1
- 1X: mode 2


Hướng dẫn Thí nghiệm Vi xử lý & PLC Bài 1
Bài 1
MÔ PHỎNG HỌ VI XỬ LÝ 8051
TRÊN MÁY VI TÍNH
I. Kiến thức cơ bản
1. Phần mềm Simulator 2003
Thông thường, sau khi viết xong một chương trình bằng Assembler cho vi xử lý, trước
khi nạp chương trình vào ROM/RAM để thực thi trên thực tế thì chương trình đó cần phải được
kiểm tra, đánh giá tính đúng đắn, độ tin cậy thông qua hình thức mô phỏng trên máy vi tính. Một
trong những phần mềm mô phỏng vi xử lý thông dụng phải kể đến Simulator 2003.
Simulator 2003 là phần mềm chuyên dùng để mô phỏng cho các họ vi xử lý
8031/8032/87C51/87C52/89C51/89C52/8051/8052. Simulator 2003 có cách sử dụng rất dễ dàng
và thân thiện. Một số đặc tính nổi bật của Simulator 2003 như sau:
- Cho phép giám sát động và thiết lập động nội dung bất kỳ một vùng nhớ nào ở RAM
trong, RAM ngoài và các thanh ghi chức năng đặc biệt dưới dạng số hex, nhị phân và
thập phân.
- Cho phép giả lập đầy đủ các ngắt.
- Dễ dàng dò lỗi chương trình thông qua các chức năng như mô phỏng theo từng bước,
theo từng khối, theo thời gian…
- Tốc độ mô phỏng có thể điều chỉnh được.
- Cho phép biên dịch ngược từ mã hex hoặc bin (mã máy) sang mã Assembler.
Trang 14
Hướng dẫn Thí nghiệm Vi xử lý & PLC Bài 1
Giao diện chương trình Simulator 2003
2. Phần mềm Crimson Editor
Trước khi mô phỏng, chương trình vi xử lý phải được lập trình thông qua phần mềm
Crimson Editor. Đây là phần mềm tạo các file văn bản hỗ trợ rất nhiều các ngôn ngữ lập trình
khác nhau như Assembler, Pascal, C, C++, Visual Basic, MatLAB,… Khi viết chương trình
Assembler với Crimson Editor, tập tin chương trình phải được lưu dưới dạng ‘*.a51’. Đây là một

dưới cửa sổ soạn thảo), nếu nhìn thấy dòng “ASSEMBLY COMPLETE, NO ERRORS
FOUND” chứng tỏ việc biên dịch đã thành công.
b. Sử dụng Simulator 2003
- (Nếu đang tồn tại một tập tin đang mở thì vào File → Close File để đóng tập tin).
- Vào File → Open File và chọn mở tập tin Bai11ab.bin ở Desktop.
- Vào Micsellaneous → General Write, trong danh sách Type chọn SFR Registers, trong
danh sách Name/Address chọn P0 (hoặc cũng có thể double click vào giá trị P0 trên cửa
sổ SFRs window), nhập giá trị 99 vào ô Decimal để thiết lập giá trị 99 thập phân cho P0.
- Vào Execution → Start/Stop Execution (hoặc nhấn nút lệnh lệnh Start Execution ) để
bắt đầu mô phỏng chương trình.
-
[1]
Vào Miscellaneous → General Read (hoặc double click vào giá trị P1 trên cửa số
SFRs window), cho biết giá trị xuất ra ở P1 (dưới dạng thập phân) là bao nhiêu?
- Vào Execution → Start/Stop Execution để dừng mô phỏng. Vào Execution → Reset
Execution (hoặc nhấn nút lệnh ) để reset vi xử lý.
- Thiết lập lại giá trị 99 thập phân cho P0.
- Vào Debugging → Single Step (hoặc nhấn F2) để thực thi chương trình theo từng dòng
lệnh một. Quan sát cửa sổ Execution Status để biết dòng lệnh kế tiếp sẽ được thực thi.
- Trên cửa sổ Active Watch, click nút lệnh Add items để mở cửa sổ Add to Active
Watch, chọn và click nút Add để bổ sung các vùng nhớ sau vào cửa sổ Active Watch: P0,
P1, ACC, B (SFR Registers) - 20H, 21H, R1(Internal RAM)
-
[2]
Điền giá trị (thập phân) các vùng nhớ sau khi từng dòng lệnh một được thực hiện xong
vào bảng sau:
Trang 17
Hướng dẫn Thí nghiệm Vi xử lý & PLC Bài 1
Lệnh PC (Hex) P0 P1 20H 21H ACC B R1
(1)

MOV TMOD , #01H ; (1)
MOV A, #10000000B ; (2)
LOOP: RL A ; (3)
MOV P1, A ; (4)
MOV R1, P0 ; (5)
ACALL DELAY ; (6)
SJMP LOOP ; (7)
Trang 18
Hướng dẫn Thí nghiệm Vi xử lý & PLC Bài 1
DELAY: MOV TH0, #HIGH(-1000) ; (8)
MOV TL0, #LOW(-1000) ; (9)
SETB TR0 ; (10)
JNB TF0, $ ; (11)
CLR TR0 ; (12)
CLR TF0 ; (13)
DJNZ R1, DELAY ; (14)
RET ; (15)
END
- Biên dịch chương trình trên sang mã máy. Mở file bai12a.bin với Simulator 2003.
- Vào Options → Simulation Settings. Trong cửa sổ Simulator2003 Settings, chọn Tab
Simulation. Thay đổi giá trị Batch Instructions Count thành 100, trong danh sách Refresh
Type chọn Refresh after each tick để tăng tốc độ mô phỏng và hiển thị.
- Chạy mô phỏng chương trình.
-
[1]
Thay đổi giá trị đặt cho P0 (chẳng hạn như 10, 50, 100, 200) và quan sát kết quả ở P1,
từ đó giải thích ngắn gọn mục đích của chương trình trên.
-
[2]
Giải thích dòng lệnh (1).

chân P1.7, nếu P1.7 = 1 thì xuất ra ở P1.0 xung vuông có tần số 2Hz; nếu P1.7 = 0 thì
thiết lập mức 0 cho P1.0
- Biên dịch chương trình trên sang mã máy và mô phỏng với Simulator 2003.
3. Mô phỏng với ngắt
a. Thí nghiệm
- Sử dụng Crimson Editor soạn thảo chương trình sau với tên Bai13a.a51 ở Desktop:
ORG 0000H
LJMP MAIN ; (1)
ORG 0003H
LJMP ISR_EX0 ; (2)
ORG 000BH
LJMP ISR_T0 ; (3)
ORG 0030H
MAIN: MOV TMOD, #01H ; (4)
MOV IE, #81H ; (5)
SETB IT0 ; (6)
MOV A, #01H ; (7)
MOV P1, #0 ; (8)
SJMP $ ; (9)
ISR_EX0: CPL C ; (10)
CPL ET0 ; (11)
JNC EXIT_EX0 ; (12)
MOV R7, #5 ; (13)
Trang 20
Hướng dẫn Thí nghiệm Vi xử lý & PLC Bài 1
SETB TF0 ; (14)
EXIT_EX0:RETI ; (15)
ISR_T0: CLR TR0 ; (16)
MOV TH0, #HIGH(-50000) ; (17)
MOV TL0, #LOW(-50000) ; (18)

Trang 21
Hướng dẫn Thí nghiệm Vi xử lý & PLC Bài 1
-
[5]
Viết chương trình Bai13b.a51 dùng ngắt ngoài 1 và ngắt timer 1 thực hiện nhiệm vụ
của một mạch delay_on như sau: nếu có cạnh xuống ở P3.3 thì delay 10ms và đặt giá trị
P1.0 lên 1; nếu gặp cạnh xuống ở P3.3 một lần nữa thì ngay lập tức đưa P1.0 về 0.
- Biên dịch chương trình trên sang mã máy và mô phỏng với Simulator 2003.
Trang 22
Hướng dẫn thí nghiệm VXL & PLC Bài 2
Bài 2
GIAO TIẾP NGOẠI VI VỚI LED 7 ĐOẠN
I. Kiến thức cơ bản
Sơ đồ nguyên lý mạch giao tiếp giữa 89C51 với LED 7 đoạn trên kit thí nghiệm MPE-
300:
D A T A B U S
0
A
D 7
/ Y 2
D 3
U 1 0
7 4 L S 2 5 9
1 3
1
2
3
1 4
4
5

7
1
2
6
4
1 0
9
3
5
8
A
E
D
B
C
G
F
C K
O P
C K
A 2
Q 3
D 6
W R 2
U 6
7 4 L S 1 3 8
1
2
3
1 5

d
e
f
g
O P
L E D 7 _ C K 3
7
1
2
6
4
1 0
9
3
5
8
A
E
D
B
C
G
F
C K
O P
C K
D
G
Q 2
A 2

O P
C K
W R 3
D 2
Q 0
D 1
D 6
B J T
0
A 1
A 6
A 5
O P
0
D 0
/ W R
D 0
/ W R
E
D 5
Q 1
U 9
7 4 L S 3 7 4
3
4
7
8
1 3
1 4
1 7

V C C
0
A 1 3
D 4
B J T
D 5
A 1 5
a
b
c
d
e
f
g
O P
L E D 7 _ C K 4
7
1
2
6
4
1 0
9
3
5
8
A
E
D
B

1 9
1 8
1 7
1 6
1 5
1 4
1 3
1 2
D 0
D 1
D 2
D 3
D 4
D 5
D 6
D 7
L E
O E
Q 0
Q 1
Q 2
Q 3
Q 4
Q 5
Q 6
Q 7
U 1
8 9 C 5 1
3 0
3 9

P 2 . 4 / A 1 2
P 2 . 5 / A 1 3
P 2 . 6 / A 1 4
P 2 . 7 / A 1 5
P 3 . 6 / W R
V C CG N D
W R 3
F
D 4
B J T
A 3
A 1
A 7
/ W R
A D D R E S S B U S
D 3
W R 2
6
5
4
Q 0
Q 1
C
0
Q 3
D 7
Trong đó:
- 74LS573 (U2): IC chốt địa chỉ. Do Port 0 hoạt động ở chế độ địa chỉ / dữ liệu (nửa chu
kỳ đầu là 8 bit địa chỉ thấp và nửa chu kỳ sau là dữ liệu) nên U2 được dùng để chốt và
giữ lại byte địa chỉ thấp này trên address bus.


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status