MỤC ĐÍCH Giúp sinh viên khảo sát các vấn đềsau: Sửdụng phần mềm Proteus đểmô phỏng mạch điện. Tìm hiểu các phương pháp hiển thịdữliệu ra Led 7 đoạn dùng VĐK 8051. THIẾT BỊSỬDỤNG Máy vi tính. Phần mềm Proteus đểmô phỏng IDE 8051 hoặc KEIL C đểdịch chương trình nguồn NỘI DUNG
Trang 1* MỤC ĐÍCH
Giúp sinh viên khảo sát các vấn đề sau:
- Sử dụng phần mềm Proteus để mô phỏng mạch điện
- Tìm hiểu các phương pháp hiển thị dữ liệu ra Led 7 đoạn dùng VĐK 8051
* THIẾT BỊ SỬ DỤNG
- Máy vi tính
- Phần mềm Proteus để mô phỏng
- IDE 8051 hoặc KEIL C để dịch chương trình nguồn
* NỘI DUNG
1 Cơ sở lý thuyết
Cấu trúc và mã hiển thị dữ liệu trên Led 7 đoạn
Đối với dạng Led anode chung, chân COM phải có mức logic 1 và muốn sáng Led thì tương ứng các chân a - f, dp sẽ ở mức logic 0
Bảng mã cho Led Anode chung:
Trang 2Ứng dụng Vi điều khiển 8051 – Giao tiếp LED 7 thanh
Dương Quốc Hưng – BM Kỹ thuật Điện - Khoa Điện – ĐHKTCN TN - 2 -
Đối với dạng Led anode chung, chân COM phải có mức logic 0 và muốn sáng Led thì tương ứng các chân a - f, dp sẽ ở mức logic 1
Bảng mã cho Led Cathode chung:
2 Giao tiếp
a Giao tiếp 1 led 7 đoạn
-Giao tiếp trực tiếp: kiểu này sẽ dùng 1 port (như hình 7-3) Kiểu này dùng 8 đường
IO
Trang 3- Giao tiếp gián tiếp: kiểu này chỉ dùng 4 đường kết nối với IC giải mã led 7 đoạn như hình 7-4 Kiểu này dùng 4 đường IO
VÍ DỤ 1: HÃY DÙNG SƠ ĐỒ HÌNH 7-3, VIẾT CHƯƠNG TRÌNH ĐIỀU KHIỂN 1 LED 7 ĐOẠN ĐẾM LÊN TỪ 0 ĐẾN 9
MAIN1 MOV A,R2
LCALL DELAY
; -CHUONG TRINH CON DELAY
DELAY: MOV R5,##0FFH
LOOP1: MOV R6,#0FFH
DJNZ R5,LOOP1
RET
; -KHAI BAO MA 7 DOAN TU SO '0' DEN SO '9'
MA7DOAN:
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
VÍ DỤ 2: HÃY DÙNG SƠ ĐỒ HÌNH 7-4, VIẾT CHƯƠNG TRÌNH ĐIỀU KHIỂN 2 LED 7 ĐOẠN ĐẾM LÊN TỪ 00 ĐẾN 99
Trang 4P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7
E2 F2 G2
A2 B2 C2 D2
A1 B1 C1 D1 E1 F1 G1
P2.0 P2.1 P2.2 P2.3
A1 B1 C1 D1 E1 F1 G1
A2 B2 C2 P2.7
G2
P2.4 P2.5 P2.6
D2 E2 F2
XTAL2 18
XTAL1 19
ALE 30 EA 31 PSEN 29
RST 9
P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32
P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8
P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WR 16 P3.5/T1 15 P2.7/A15 28
P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1
AT89C51
A
B
C
D
BI/RBO
RBI
LT
U4
74247
A
B
C
D
BI/RBO
RBI
LT
U2
74247
X1
CRYSTAL
C1
1nF
C2
1nF
C3
10u
R9
0.5K
D1
DIODE
Trang 5ORG 0H
START:
MOV R1,#00H
LAP: MOV A,R1
ACALL CHUYENBCD
MOV P2,A
ACALL DELAY
INC R1
CJNE R1,#100,LAP
CHUYENBCD:
MOV B,#10
DIV AB
SWAP A
ADD A,B
RET
DELAY:
CLR TR1 ;TAT TIMER 1
RET
END
b Giao tiếp nhiều led 7 đoạn
* Sử dụng phương pháp quét
Để làm quen với cách thức giao tiếp điều khiển nhiều led 7 đoạn thì nên kết nối theo phương pháp quét Sơ đồ nguyên lý của led 7 đoạn hình 7-5
Tại mỗi một thời điểm ta chỉ cho 1 transistor dẫn và 7 transistor còn lại tắt, dữ liệu gửi
ra sẽ sáng trên led tương ứng với transistor dẫn Sau đó cho 1 transistor khác dẫn và gửi dữ liệu hiển thị cho led đó, quá trình điều khiển này diễn ra lần lượt cho đến khi hết 8 led
Với tốc độ gửi dữ liệu nhanh và do mắt ta có lưu ảnh nên ta nhìn thấy 8 led sáng cùng 1 lúc
Trang 6Ứng dụng Vi điều khiển 8051 – Giao tiếp LED 7 thanh
Dương Quốc Hưng – BM Kỹ thuật Điện - Khoa Điện – ĐHKTCN TN - 6 - Trong sơ đồ hình 7-5 ta có thể giảm bớt số lượng đường điều khiển bằng cách dùng thêm IC số đóng vai trò quét và giải mã như hình 7-6
Trang 7Trong sơ đồ hình 7-6 ta dùng IC 7447 (74LS247) đóng vai trò giải mã số BCD sang mã 7 đoạn, IC 74138 có chức năng giải mã 3 đường sang 8 đường điều khiển 8 transistor Số lượng đường điều khiển cần dùng là 7 đường
Trong 7 đường điều khiển của port1 thì vi điều khiển sẽ dùng 4 bit thấp để gửi mã BCD ra IC giải mã điều khiển led 7 đoạn, 3 bit tiếp theo dùng để điều khiển IC giải mã cho phép 1 transistor dẫn Đường tín hiệu P1.7 điều khiển chân cho phép của IC 74138: khi muốn cho phép hiển thị thì P1.7 phải ở mức 0, khi cấm thì P1.7 phải ở mức
H
Trong phương pháp quét sử dụng 8 led thì thời gian được phép sáng của 1 led bằng 1/8 chu kỳ quét, thời gian tắt bằng 7/8 chu kỳ quét Do thời gian led tắt khá dài so với thời gian led sáng nên phải quét nhanh thì ta mới nhìn thấy tất cả các led đều sáng
Với led đơn sáng ½ chu kỳ và tắt ½ chu kỳ thì tần số để mắt ta nhìn thấy led sáng liên tục (sáng luôn do mắt lưu ảnh) đo được trong thực tế phải > 40Hz
Với 8 led 7 đoạn dùng phương pháp quét thì tần số quét đo được trong thực tế phải lớn hớn >60Hz
Ví dụ: Với sơ đồ như hình vẽ Thực hiện đoạn chương trình để hiển thị số 26 ra 2 Led
7 đoạn:
Trang 8Ứng dụng Vi điều khiển 8051 – Giao tiếp LED 7 thanh
Dương Quốc Hưng – BM Kỹ thuật Điện - Khoa Điện – ĐHKTCN TN - 8 -
ORG 0H
MAIN:
CALL Delay
SETB P1.0
CLR P1.1
CALL Delay
SETB P1.1
SJMP MAIN
Delay:
PUSH 07H
MOV R7,#100
DJNZ R7,$
POP 07H
RET
END
(Lưu ý khi mô phỏng trên Proteus phương pháp quét ko được hỗ trợ, tuy nhiên làm mạch thực hoàn toàn chạy đúng)
* Sử dụng phương pháp chốt
Khi thực hiện tách riêng các đường dữ liệu của Led, ta có thể cho phép các Led sáng đồng thời mà sẽ không có hiện tượng ảnh hưởng giữa các Led IC chốt cho phép lưu trữ dữ liệu cho các Led có thể sử dụng là 74LS373, 74LS374
Trang 9P2.0 P2.0 P2.1 P2.1 P2.2 P2.2 P2.3 P2.3 P2.4 P2.4 P2.5 P2.5 P2.6 P2.6
P3.0 P3.1 P3.1
P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6
P3.0
A1
G2
B1 C1 D1 E1 F1 G1
A2 B2 C2 D2 E2 F2
A1 B1 C1 D1 E1 F1 G1
A2 B2 C2 D2 E2 F2 G2
XTAL2 18
XTAL1 19
ALE 30 EA 31 PSEN 29
RST 9
P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32
P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8
P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WRP3.5/T1 16
15 P2.7/A15 28
P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1
AT89C51
D0
D1
D2
D3
D4
D5
D6
D7
OE 1 LE 11 U2
74LS373
D0
D1
D2
D3
D4
D5
D6
D7
OE 1 LE 11 U3
74LS373
X1
CRYSTAL
C1
1nF
C2
1nF
C3
10u
R9
0.5K
D1
DIODE
Trang 10Ứng dụng Vi điều khiển 8051 – Giao tiếp LED 7 thanh
Dương Quốc Hưng – BM Kỹ thuật Điện - Khoa Điện – ĐHKTCN TN - 10 -
org 0h
main:
lap:
MOV A,30H
MOV DPTR,#Maled7
MOVC A,@A+DPTR ;Lay mã Led 7 doan
MOV P2,A
CLR P3.1
MOV A,B
MOVC A,@A+DPTR
MOV P2,A
CLR P3.0
CALL Delay
MOV A,30H
; -
Maled7: DB 0C0h,0F9h,0A4h,0B0h,99h,92h,82h,0F8h,80h,90h
; -
Delay:
PUSH 07
PUSH 06
MOV R6,#255
Delay1:
MOV R7,#255
DJNZ R7,$
DJNZ R6,Delay1
POP 06
POP 07
RET
END
Bài tập:
Bài 1: Vẽ và mô phỏng mạch điều khiển 4 LED 7 thanh bằng phương pháp chốt Điều khiển LED 7 thanh đếm PHÚT, GIÂY (dùng Timer tạo trễ) từ 00:00 đến 59:59
Trang 11a1
g1
a2
g2
b1 c1 d1 e1 f1
b2 c2 d2 e2 f2
a b c d e f g
a
a
a
b c d e f g
b c d e f g
b c d e f g
b c d e f g
a2
a3
a4
a3
g3
a4
g4
b3 c3 d3 e3
d4 c4 b4
b1 c1 d1 e1 f1 g1
b2 c2 d2 e2 f2 g2
b3 c3 d3 e3 f3 g3
b4 c4 d4 e4 f4 g4
LE1 LE2 LE3 LE4
LE1
LE2
LE3
LE4
XTAL2 18
XTAL1 19
ALE 30 EA 31 PSEN 29
RST 9
P0.0/AD0 39 P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36 P0.4/AD4 35 P0.5/AD5 34 P0.6/AD6 33 P0.7/AD7 32
P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8
P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WRP3.5/T1 16 15 P2.7/A15 28
P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27
U1
AT89C51
D0
D1
D2
D3
D4
D5
D6
D7
OE 1 LE 11
U2
74LS373 D0
D1
D2
D3
D4
D5
D6
D7
OE 1 LE 11
U3
74LS373
D0
D1
D2
D3
D4
D5
D6
D7
OE 1 LE 11
U4
74LS373
D0 Q0 D1
D2
D3
D4
D5
D6
D7
OE 1 LE 11 74LS373
X1
CRYSTAL
C1
1nF
C2
1nF
C3
10u
R9
0.5K
D1
DIODE
Trang 12P2.0 P2.2 P2.4 P0.0 P2.5 P0.1 P2.6 P0.2
P0.2
P2.0 P2.5 P2.1 P2.6 P2.2 P2.3 P2.5
P0.1
A1
G2
B1 C1 E1 G1
A2 B2 C2 D2 E2 F2
A1 C1 E1 G1
A2 C2 E2 G2
P2.0 P2.1 P2.3
P2.0 P2.1 P2.3 P2.5
P0.0
G3
A3 B3 C3 D3 E3 F3
A3 C3 E3 G3
XTAL2 18 XTAL1 19
ALE 30 EA 31 PSEN 29
RST 9
P1.0 1 P1.1 2 P1.2 3 P1.3 4 P1.4 5 P1.5 6 P1.6 7 P1.7 8
P3.2/INT0 12 P3.3/INT1 13 P3.4/T0 14 P3.7/RD 17 P3.6/WRP3.5/T1 16 15 P2.7/A15 28
P2.0/A8 21 P2.1/A9 22 P2.2/A10 23 P2.3/A11 24 P2.4/A12 25 P2.5/A13 26 P2.6/A14 27 U1
AT89C51
X1
12MH
C1
33p
C2
33p
C3
100u
R23
0.5k
Digital Clock Input
D0
D1
D2
D3
D4
D5
D6
D7
OE 1 LE 11 U2
74LS373
D0
D1
D2
D3
D4
D5
D6
D7
OE 1 LE 11 U3
74LS373
D0
D1
D2
D3
D4
D5
D6
D7
OE 1 LE 11 U4
74LS373
A B C D
DISPLAY BLOCK