PHÍM NHẤN, NÚT NHẤN, BÀN PHÍM DÙNG ĐỂ GIAO TIẾP GIỮA CON NGƯỜI VÀ THIẾT
BỊ ĐIỀU KHIỂN.
VÍ DỤ: BÀN PHÍM MÁY TÍNH, BÀN PHÍM ĐIỆN THOẠI, BÀN PHÍM MÁY BÁN XĂNG DẦU
DÙNG NHẬP SỐ TIỀN CẦN BÁN, SỐ LÍT CẦN BÁN, MÁY GIẶT TỰ ĐỘNG CÓ BÀN
PHÍM ĐỂ CHỈNH CHẾ ĐỘ GIẶT, CHỌN MỰC NƯỚC,
CÓ 2 DẠNG GIAO TIẾP:
HỆ THỐNG ÍT PHÍM: VÍ DỤ ĐK ĐỘNG CƠ BẰNG 3 PHÍM: START, STOP, INV, ĐỒNG HỒ
CÓ 3 ĐẾN 4 PHÍM ĐỂ CHỈNH THỜI GIAN.
HỆ THỐNG NHIỀU PHÍM: HỆ THỐNG BÁN XĂNG DẦU, , MÁY TÍNH, ĐIỆN THOẠI,
MAÏCH ÑIEÄN GIAO TIEÁP – HỆ THỐNG ÍT PHÍM
34 trang |
Chia sẻ: ngtr9097 | Lượt xem: 2307 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Bài giảng vi xử lý, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 19
VI ÑIEÀU KHIEÅN GIAO TIẾP LED 7 ÑOAÏN
CHÖÙC NAÊNG LED 7 ÑOAÏN LAØ HIEÅN THÒ SOÁ THAÄP PHAÂN
COÙ 2 CAÙCH: GIAO TIEÁP TRÖÏC TIEÁP VAØ GIAO TIEÁP THEO PP QUEÙT
CAÙCH 1: GIAO TIEÁP TRÖÏC TIEÁP – DUØNG PORT ÑIEÀU KHIEÅN
MOÃI PORT ÑIEÀU KHIEÅN 1 LED 7 ÑOAÏN LOAÏI ANODE CHUNG
MOÃI PORT ÑIEÀU KHIEÅN TRÖÏC TIEÁP 1 LED
HÌNH AÛNH LED – (LINK ÑÓA F TRONG MUÏC GT CPLD – WEB HAY)
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 20
LED SÖÛ DUÏNG LAØ LED ANODE CHUNG: 0 THÌ LED SAÙNG, 1 THÌ LED TAÉT
MAÕ 7 ÑOAÏN
TP SOÁ NHÒ PHAÂN HEX
7 6 5 4 3 2 1 0
DP G F E D C B A
1 1 0 0 0 0 0 0 C0
1 1 1 1 1 0 0 1 F9
A4
B0
4 99
5 92
6 82
7 F8
8 80
9 90
BAØI SOÁ 2-1: CTDK LED 7 ÑOAÏN SAÙNG SOÁ 0 – DUØNG PORT0 0979 507 754
VIEÁT CHÖÔNG TRÌNH
;CHTR DK 1 LED 7 DOAN SANG SO 0
ORG 0H
MOV P0,#0C0H ;MA SO 0
JMP $ ;NHẢY TẠI CHỖ
END
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 21
BAØI SOÁ 2-2: CTDK LED 7 ÑOAÏN ÑEÁM THÔØI GIAN TÖØ 0 ÑEÁN 9 – CAÙCH 1 – DUØNG PORT0
LÖU ÑOÀ ÑIEÀU KHIEÅN
BEGIN
SÁNG SỐ ‘0’, DELAY
SÁNG SỐ ‘1’, DELAY
SÁNG SỐ ‘2’, DELAY
SÁNG SỐ ‘9’, DELAY
END
VIEÁT CHÖÔNG TRÌNH
;CHTR DK 1 LED 7 DOAN DEM TU 0 DEN 9
ORG 0000H
LB: MOV P0,#0C0H ;SANG SO 0
CALL DELAY1S
MOV P0,#0F9H ;SANG SO 1
CALL DELAY1S
MOV P0,#0A4H ;SANG SO 2
CALL DELAY1S
MOV P0,#0B0H ;SANG SO 3
CALL DELAY1S
MOV P0,#099H ;SANG SO 4
CALL DELAY1S
MOV P0,#092H ;SANG SO 5
CALL DELAY1S
MOV P0,#082H ;SANG SO 6
CALL DELAY1S
MOV P0,#0F8H ;SANG SO 7
CALL DELAY1S
MOV P0,#080H ;SANG SO 8
CALL DELAY1S
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 22
MOV P0,#090H ;SANG SO 9
CALL DELAY1S
JMP LB
$INCLUDE(TV_DELAY.ASM)
END
LÖU ÑOÀ – CAÙCH 2
CAÙC MAÕ 7 ÑOAÏN CUÛA 10 SOÁ TÖØ 0 ÑEÁN 9 ÑÖÔÏC LÖU VAØO BOÄ NHÔÙ CHÖÔNG TRÌNH.
CHÖÔNG TRÌNH COÙ NHIEÄM VUÏ LAÁY LAÀN LÖÔÏT CAÙC MAÕ ÑEM GÔÛI RA PORT ÑIEÀU
KHIEÅN LED ÑEÅ HIEÅN THÒ.
BEGIN
LẤY MÃ (DEM) GỞI RA LED
DELAY
END
DEM:=DEM+1
DEM=10
Đ
S
LƯU 10 MÃ VÀO BN
DEM:=0
VIEÁT CHÖÔNG TRÌNH – CAÙCH 2
;CHTR DK 1 LED 7 DOAN DEM TU 0 DEN 9
(H1) DEM EQU R4
(H2) ORG 0H
(H3)LB: MOV DPTR,#MA7DOAN
(H4) MOV DEM,#0
(H5)LB1: MOV A,DEM
(H6) MOVC A,@A+DPTR ;LẤY MÃ
(H7) MOV P0,A ;HIỂN THỊ
(H8) CALL DELAY1S
(H9) INC DEM
(H10) CJNE DEM,#10,LB1
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 23
(H11) JMP LB
(H13)MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
$INCLUDE(TV_DELAY.ASM)
END
GIAÛI THÍCH CHÖÔNG TRÌNH
(H13)MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
LƯU 10 MÃ 7 ĐOẠN CỦA 10 SỐ TỪ 0 ĐẾN 9 VÀO VÙNG NHỚ CHƯƠNG TRÌNH BẮT ĐẦU
TẠI ĐỊA CHỈ MA7DOAN
(H13) LIỆT KÊ CÁC MÃ 7 ĐOẠN BẮT ĐẦU BẰNG KÍ HIỆU DB – DEFINE BYTE: ĐỊNH
NGHĨA 1 VÙNG DỮ LIỆU DẠNG BYTE.
(H3)LB: MOV DPTR,#MA7DOAN
NẠP ĐỊA CHỈ MA7DOAN VÀO TG DPTR ĐỂ QUẢN LÝ VÙNG NHỚ CHỨA MÃ 7 ĐOẠN
(H13)MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
GIAÛ SÖÛ ĐỊA CHỈ MA7DOAN COÙ GIAÙ TRÒ LAØ 1000H
THÌ C0H SEÕ LÖU VAØO ON COÙ ÑÒA CHÆ 1000H = 1000H + 0H – MAÕ SOÁ 0
COØN F9H SEÕ LÖU VAØO ON COÙ ÑÒA CHÆ 1001H = 1000H + 1H - MAÕ SOÁ 1
COØN A4H SEÕ LÖU VAØO ON COÙ ÑÒA CHÆ 1002H = 1000H + 2H - MAÕ SOÁ 2
COØN B0H SEÕ LÖU VAØO ON COÙ ÑÒA CHÆ 1003H = 1000H + 3H - MAÕ SOÁ 3
…
COØN 90H SEÕ LÖU VAØO ON COÙ ÑÒA CHÆ 1009H = 1000H + 9H - MAÕ SOÁ 9
1000H THÌ LÖU TRONG DPTR, COØN CAÙC CON SOÁ 0, 1, 2, … THÌ LÖU TRONG A
LEÄNH MOVC A,@A+DPTR COPY NDON (COÙ ÑC BAÈNG DPTR + A) SANG TGA
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 24
+2
+3
+4
+5
+6
+7
+8
+9
+1
90
80
F8
82
92
99
B0
A4
F9
(DPTR+A)=(1000) + 0 C0
ADDR CODE
(H4) MOV DEM,#0
(H5)LB1: MOV A,DEM
(H6) MOVC A,@A+DPTR
LẤY NỘI DUNG Ô NHỚ (CÓ ĐỊA CHỈ TRONG TG DPTR CỘNG VỚI TG A) SANG TG A
TRƯỚC KHI THỰC HIỆN THÌ DPTR=1000H, A = 00 – TẠO RA ĐỊA CHỈ
DPTR + A = 1000H + 00H = 1000H – LẤY ND ON CÓ DC 1000H ĐƯA SANG A
SAU KHI THỰC HIỆN THÌ A = C0H – LÀ MÃ CỦA SỐ 0 – GỞI RA PORT 0 ĐỂ HIỂN THỊ
;CHTR DEM TU 0 DEN 9 - TREN 1 LED 7 DOAN NOI VOI P0 - CACH 2
DEM EQU R4
ORG 0H
MOV DPTR,#MA7DOAN ;CHO MA7DOAN=1000H
LB: MOV DEM,#0 ;DEM=0
LB1: MOV A,DEM ;A=0,1,2
MOVC A,@A+DPTR ;,1000H,1001H,1002H (MA7DOAN, MA7DOAN+1)
MOV P0,A ;P0=C0H,F9H,A4H
CALL DELAY1S
INC DEM ;DEM=1,2
CJNE DEM,#10,LB1
JMP LB ;LAM LAI
;LUU CAC MA 7 DOAN VAO BO NHO CHTR
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 092H,082H,0F8H,080H,090H
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 25
$INCLUDE(TV_DELAY.ASM)
END
TOÙM TAÉT GIAÛI MAÕ:
MOV DPTR,#MA7DOAN ;KHOI TAO DIA CHI QL MA7DOAN
MOV A,DEM ;DUA BIEN CAN GIAI MA SANG A
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
;LUU CAC MA 7 DOAN VAO BO NHO CHTR
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,99H
DB 092H,082H,0F8H,080H,090H
GIÔÙI HAÏN CUÛA BIEÁN ÑEÁM LAØ TÖØ 0 ÑEÁN 9 – CHÆ 1 SOÁ
NEÁU COÙ NHIEÀU SOÁ THÌ TAÙCH TÖØNG CON SOÁ ROÀI TIEÁN HAØNH GIAÛI MAÕ.
GIAÛI MAÕ SOÁ HEX ÑÖÔÏC KHOÂNG?
BAØI SOÁ 2-4: CTDK LED 7 ÑOAÏN ÑEÁM THÔØI GIAN TÖØ 9 ÑEÁN 0 – DUØNG PORT0
DÖÕ LIEÄU ÑIEÀU KHIEÅN
LÖU ÑOÀ ÑIEÀU KHIEÅN
BEGIN
LẤY MÃ (DEM) GỞI RA LED
DELAY
END
DEM:=DEM-1
DEM=-1
Đ
S
LƯU 10 MÃ VÀO BN
DEM:=9
VIEÁT CHÖÔNG TRÌNH
;CHTR DK 1 LED 7 DOAN DEM TU 0 DEN 9
DEM EQU R2
ORG 0000H
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 26
LB: MOV DPTR,#1000H
MOV DEM,#9
LB1: MOV A,DEM
MOVC A,@A+DPTR
MOV P0,A
CALL DELAY1S
DEC DEM
CJNE DEM,#-1,LB1
JMP LB
ORG 1000H
DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
$INCLUDE(TV_DELAY.ASM)
END
BAØI SOÁ 2-5: CTDK LED 7 ÑOAÏN ÑEÁM THÔØI GIAN TÖØ 00 ÑEÁN 99 – DUØNG P0 VAØ P2
LÖU ÑOÀ ÑIEÀU KHIEÅN
BEGIN
DELAY
DEM:=DEM+1
END
DEM=100
Đ
S
LƯU 10 MÃ VÀO BN
DEM:=0000 0000B
HEX(DEM) => BCD
BCD => MA7DOAN => LED
;CHTR DK 2 LED 7 DOAN DEM TU 00 LEN 99
DEM EQU R2
ORG 0H
MOV DPTR,#MA7DOAN
LB: MOV DEM,#00H
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 27
LB1: CALL HEXTOBCD_GIAIMA ;MOI THEM VAO
CALL DELAY100MS
INC DEM
CJNE DEM,#100,LB1
JMP LB
HEXTOBCD_GIAIMA:
MOV A,DEM
MOV B,#10
DIV AB ;(A) = BCD_CHUC, (B)=BCD_DONVI
MOVC A,@A+DPTR ;LAY MA CHUC
MOV P2,A ;HIEN THI HANG CHUC
MOV A,B ;BCD DONVI => A
MOVC A,@A+DPTR ;LAY MA DONVI
MOV P0,A ;HIEN THI HANG DON VI
RET
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
$INCLUDE(TV_DELAY.ASM)
END
TAÏI SAO CHUYEÅN SOÁ HEX SANG SOÁ BCD?
NHÒ PHAÂN HAY HEX
DEM
(00H -FFH)
BCD
CHUC – DONVI
(00H – 99H)
MA7DOAN HIEÅN THÒ
GIOÁNG
0000 0000 = 00H 0000 0000=00H C0H C0H
GIOÁNG
0000 0001 = 01H 0000 0001=01H C0H F9H
GIOÁNG
…
GIOÁNG
0000 1001 = 09H 0000 1001=09H C0H 90H
KHAÙC 0000 1010 = 0AH 0001 0000=10H F9H C0H
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 28
KHAÙC 0000 1011=0BH 0001 0001=11H
KHAÙC 0000 1100=0CH 0001 0010=12H
KHAÙC
KHAÙC 0110 0011=63H 1001 1001=99H
0110 0100=64H 0001 0000 0000
3 SOÁ BCD
0100 0101 0001 0000 0001 101
GIAÛI THUAÄT:
NEÁU SOÁ HEX NAÈM GIÔÙI HAÏN TÖØ 10 ÑEÁN 99 THÌ SOÁ BCD GOÀM CHUÏC VAØ ÑÔN VÒ.
LAÁY SOÁ HEX CHIA CHO 10: ÑÖÔÏC KEÁT QUAÛ LAØ SOÁ BCD HAØNG CHUÏC, SOÁ DÖ LAØ
SOÁ BCD HAØNG ÑÔN VÒ.
NEÁU SOÁ HEX NAÈM GIÔÙI HAÏN TÖØ 100 ÑEÁN 999 THÌ SOÁ BCD GOÀM TRĂM, CHUÏC VAØ
ÑÔN VÒ. LAÁY SOÁ HEX CHIA CHO 10 LAÀN THÖÙ NHAÁT: ÑÖÔÏC KEÁT QUAÛ LAÀN 1, SOÁ
DÖ LAØ BCD HAØNG ÑÔN VÒ. LAÁY KEÁT QUAÛ LAÀN 1 CHIA TIEÁP CHO 10 LAÀN THÖÙ 2:
SOÁ DÖ LAÀN HAI LAØ BCD CHUÏC, KEÁT QUAÛ LAØ BCD TRAÊM.
LEÄNH CHIA DIV AB LAØ CHIA A(8 BIT) CHO B(8 BIT THÖÔØNG LAØ SOÁ 10)
SAU KHI CHIA: A LÖU KEÁT QUAÛ, B LÖU SOÁ DÖ.
VÍ DUÏ1: CHUYEÅN SOÁ HEX 3FH = 0011 1111B SANG SOÁ BCD:
HEX BCD
32+16+8+4+2+1=63
BCD = 0110 0011B
0 0 1 1 1 1 1 1 1010
- 1 0 1 0 0110=BCD_CHUC
0 1 0 1 1
- 1 0 1 0
0 0 0 1 1 0011=BCD_DVI
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 29
TP
KQ
;CHTR DK 2 LED 7 DOAN DEM TU 00 LEN 99 ROI DEM XUONG 00
DEM EQU R2
ORG 0000H
MOV DPTR,#MA7DOAN
LB: MOV DEM,#00H
LB1: CALL HEXTOBCD_GIAIMA ;MOI THEM VAO
CALL DELAY100MS
INC DEM
CJNE DEM,#100,LB1
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
LB2: DEC DEM
CALL HEXTOBCD_GIAIMA ;MOI THEM VAO
CALL DELAY100MS
CJNE DEM,#-1,LB2
JMP LB1
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HEXTOBCD_GIAIMA:
MOV A,DEM
MOV B,#10
DIV AB ;(A) = BCD CHUC, (B)=BCD DONVI
MOVC A,@A+DPTR ;LAY MA CHUC
MOV P2,A ;HIEN THI HANG CHUC
MOV A,B ;BCD DONVI => A
MOVC A,@A+DPTR ;LAY MA DONVI
MOV P0,A ;HIEN THI HANG DON VI
RET
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
$INCLUDE(TV_DELAY.ASM)
END
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 30
BAØI SOÁ 2-6: CTDK LED 7 ÑOAÏN ÑEÁM THÔØI GIAN TÖØ 000 ÑEÁN 250 – DUØNG P0 – LED ÑÔN
VÒ, P1 – LED CHUÏC VAØ P2 – LED TRAÊM.
LÖU ÑOÀ ÑIEÀU KHIEÅN
BEGIN
DELAY
DEM:=DEM+1
END
DEM=251
Đ
S
LƯU 10 MÃ VÀO BN
DEM:=0000 0000B
HEX(DEM) => BCD
BCD => MA7DOAN => LED
;CHTR DK 2 LED 7 DOAN DEM TU 000 LEN 250
DEM EQU R2
ORG 0H
MOV DPTR,#MA7DOAN
LB: MOV DEM,#00H
LB1: CALL HEXTOBCD_GIAIMA ;MOI THEM VAO
CALL DELAY100MS
INC DEM
CJNE DEM,#251,LB1
JMP LB
HEXTOBCD_GIAIMA:
MOV A,DEM
MOV B,#10
DIV AB ;(A) = KQ1, (B)=BCD_DONVI
MOV 20H,B ;LUU BCD_DVI VAO ON CO ÑC 20H
MOV B,#10
DIV AB ; (A) = BCD_TRAM, (B)=BCD_CHUC
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 31
;xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MOVC A,@A+DPTR ;LAY MA TRAM
MOV P2,A ;HIEN THI HANG TRAM
MOV A,B ;BCD_CHUC => A
MOVC A,@A+DPTR ;LAY MA CHUC
MOV P1,A ;HIEN THI HANG CHUC
MOV A,20H ;BCD_DVI => A
MOVC A,@A+DPTR ;LAY MA DVI
MOV P0,A ;HIEN THI HANG DVI
RET
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
$INCLUDE(TV_DELAY.ASM)
END
CAÙC CHÖÔNG TRÌNH CON TOÅNG QUAÙT
CHUYEÅN SOÁ HEX 8 BIT SANG 3 SOÁ BCD LÖU VAØO 3 ON 20H, 21H, 22H:
HEXTOBCD: MOV A,HEX8BIT
MOV B,#10
DIV AB
MOV 20H,B ;LUU BCD_DVI
MOV B, #10
DIV AB
MOV 21H,B ;LUU BCD_CHUC
MOV 22H,A ;LUU BCD_TRAM
RET
GIAIMA: MOV DPTR,#MA7DOAN
MOV A,20H
MOVC A,@A+DPTR
MOV 30H,A ;LUU MA_DVI
MOV A,21H
MOVC A,@A+DPTR
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 32
MOV 31H,A ;LUU MA_CHUC
MOV A,22H
MOVC A,@A+DPTR
MOV 32H,A ; LUU MA_TRAM
RET
HIENTHI_TT: MOV P0,30H
MOV P1,31H
MOV P2,32H
RET
CAÙCH 2: DUØNG IC GIAÛI MAÕ 74247 – MOÃI 1 LED CHÆ CAÀN 4 ÑÖÔØNG TÍN HIEÄU – 1 PORT
DK ÑÖÔÏC 2 LED, KHOÂNG CAÀN GIAÛI MAÕ 7 ÑOAÏN VÌ IC GIAÛI MAÕ ÑAÕ THÖÏC HIEÄN, TA CHÆ
CAÀN GÔÛI MAÕ BCD 4 BIT CHO 1 LED, 8 BIT CHO 2 LED.
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 33
BAØI SOÁ 2-6: CTDK 2 LED 7 ÑOAÏN ÑEÁM THÔØI GIAN TÖØ 00 ÑEÁN 99 – DUØNG P0 KEÁT NOÁI
VÔÙI 2 IC GIAÛI MAÕ 74247
LÖU ÑOÀ ÑIEÀU KHIEÅN
CHÖÔNG TRÌNH
DEM EQU R2
ORG 0H
LB: MOV DEM,#00H
LB1: CALL HEXTOBCD_HTHI ;MOI THEM VAO
CALL DELAY100MS
INC DEM
CJNE DEM,#100,LB1
JMP LB
HEXTOBCD_HTHI:
MOV A,DEM
MOV B,#10
DIV AB ;(A) = BCD_CHUC, (B)=BCD_DONVI
SWAP A ;CHUYEN HANG CHUC LEN 4 BIT CAO
ORL A,B
MOV P0,A ;GOI RA 2 IC GIAI MA DE HIEN THI
RET
$INCLUDE(TV_DELAY.ASM)
END
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 34
ÑIEÀU KHIEÅN LED 7 ÑOAÏN DUØNG VDK
CAÙCH 2: DUØNG PHÖÔNG PHAÙP QUEÙT
CAÙC ÑOAÏN: A, B, C, D, E, F, G, DP NOÁI SONG - SONG, QUA ÑIEÄN TRÔÛ HAÏN DOØNG NOÁI
VÔÙI PORT0.
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 35
CAÙC CHAÂN ANODE CHUNG THÌ ÑIEÀU KHIEÅN BAÈNG TRANSISTOR PNP,
8 LED NEÂN DUØNG 8 TRANSISTOR. DUØNG PORT2 ÑIEÀU KHIEÅN 8 TRANS.
CÖÏC B BAÈNG 0 THÌ TRANS DAÃN – CÖÏC B BAÈNG 1 THÌ TRANS TAÉT
MOÃI 1 THÔØI ÑIEÅM CHÆ CHO 1 TRANS DAÃN.
DUØNG 2 PORT 0 VAØ 2 ÑIEÀU KHIEÅN ÑÖÔÏC 8 LED 7 ÑOAÏN
ƯU ĐIỂM: TIEÁT KIEÄM TÍN HIEÄU ÑIEÀU KHIEÅN
KHUYẾT ĐIỂM: TOÁN TRANSISTOR, CHÖÔNG TRÌNH ÑIEÀU KHIEÅN PHÖÙC TAÏP – CHÖÔNG
TRÌNH QUEÙT 8 LED PHAÛI THÖÏC HIEÄN LIEÂN TUÏC THÌ LED MÔÙI SAÙNG.
BAØI SOÁ 3-1: CTDK 1 LED 7 ÑOAÏN SAÙNG SOÁ 0 – DUØNG P0, P2
VIEÁT CHÖÔNG TRÌNH
;CHTR DK 1 LED 7 DOAN (L7D0) SANG SO 0
ORG 0H
MOV P0,#0C0H ;GOI MA SO 0
MOV P2,#11111110B ;CHO 1 TRANSISTOR DAN
JMP $
END
THỬ
;CHTR DK 1 LED 7 DOAN (L7D1) SANG SO 0
ORG 0H
MOV P0,#0C0H ;GOI MA SO 0
MOV P2,#11111101B ;CHO 1 TRANSISTOR DAN
JMP $
END
THỬ
;CHTR DK 1 LED 7 DOAN (L7D1) SANG SO 1
ORG 0H
MOV P0,#0F9H ;GOI MA SO 1
MOV P2,#11111101B ;CHO 1 TRANSISTOR DAN
JMP $
END
BAØI SOÁ 3-2: CTDK 8 LED 7 ÑOAÏN QUEÙT SAÙNG SOÁ 0 ÑEÁN SOÁ 7 DUØNG P0, P2
VIEÁT CHÖÔNG TRÌNH
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 36
;CHTR DK 8 LED 7 DOAN QUET SANG SO 0 DEN SO 7
ORG 0H
LB: MOV P0,#0C0H ;0
MOV P2,#11111110B
CALL DELAYX
MOV P0,#0F9H ;1
MOV P2,#11111101B
CALL DELAYX
MOV P0,#0A4H ;2
MOV P2,#11111011B
CALL DELAYX
MOV P0,#0B0H ;3
MOV P2,#11110111B
CALL DELAYX
MOV P0,#099H ;4
MOV P2,#11101111B
CALL DELAYX
MOV P0,#092H ;5
MOV P2,#11011111B
CALL DELAYX
MOV P0,#082H ;6
MOV P2,#10111111B
CALL DELAYX
MOV P0,#0F8H ;7
MOV P2,#01111111B
CALL DELAYX
JMP LB
DELAYX: CALL DELAY1MS
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 37
RET
$INCLUDE(TV_DELAY.ASM)
END
CAÙCH VIEÁT TREÂN SÖÛ DUÏNG HEÁT 8LED – TA COÙ CAÙCH THÖÙ 2
;CHTR DK 8 LED 7 DOAN QUET SANG SO 0 DEN SO 7
ORG 0H
LB: MOV P0,#0C0H ;0
CLR P2.0 ;TRANSISTOR T0 DAN
CALL DELAYX
SETB P2.0 ;TRANSISTOR T0 TAT
MOV P0,#0F9H ;1
CLR P2.1 ;TRANSISTOR T1 DAN
CALL DELAYX
SETB P2.1 ;TRANSISTOR T1 TAT
…
JMP LB
DELAYX: CALL DELAY1MS
RET
$INCLUDE(TV_DELAY.ASM)
END
BAØI SOÁ 3-3: CT ÑEÁM GIAÂY TÖØ 00 ÑEÁN 59 – HIEÅN THÒ TREÂN 2 LED 7 ÑOAÏN QUEÙT
LÖU ÑOÀ ÑIEÀU KHIEÅN
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 38
BEGIN
HEX(GIÂY) => BCD
GIẢI MÃ 7 ĐOẠN
DELAY – HIỂN THỊ
GIÂY:= GIÂY +1
END
GIAY=60
Đ
S
LƯU 10 MÃ VÀO BN
GIÂY:=00 (HEX)
VIEÁT CHÖÔNG TRÌNH
;CHTR DK DEM GIAY
GIAY EQU R1
ORG 0H
MOV DPTR,#MA7DOAN
LB: MOV GIAY,#00
LB1: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD
CALL GIAIMA ;CHUYEN SO BCD SANG MA 7 DOAN
CALL DELAY_HTHI ;VUA DELAY VA VUA HIEN THI
INC GIAY ;01H,02
CJNE GIAY,#60,LB1
JMP LB
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HEXTOBCD: MOV A,GIAY
MOV B,#10 ;KHI BIEN DICH THANH 0000 1010B
DIV AB ;(A)=BCD CHUC, (B)=BCD DONVI
RET ;TRO LAI CH TR CHINH
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
GIAIMA: MOVC A,@A+DPTR ;GIAI MA HANG CHUC
MOV 31H,A ;CAT TAM MA 7 DOAN CUA CHUC VAO 31H
MOV A,B ;CHUYEN BCD DONVI SANG A
MOVC A,@A+DPTR ;GIAI MA HANG DON VI
MOV 30H,A
RET
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 39
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
DELAY_HTHI: MOV 78H,#200
DELHT: CALL HIENTHI
DJNZ 78H,DELHT
RET
HIENTHI: MOV P0,30H
CLR P2.0
CALL DELAY1MS
SETB P2.0
MOV P0,31H
CLR P2.1
CALL DELAY1MS
SETB P2.1
RET
$INCLUDE(TV_DELAY.ASM)
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
END
BAØI SOÁ 3-3: CT ÑEÁM TÖØ 00 ÑEÁN 99 – HIEÅN THÒ TREÂN 2 LED 7 ÑOAÏN QUEÙT
LÖU ÑOÀ ÑIEÀU KHIEÅN
BEGIN
HEX(DEM) => BCD
GIẢI MÃ 7 ĐOẠN
ELAY – HIỂN THỊ
DEM:= DEM +1
END
DEM=100
Đ
S
LƯU 10 MÃ VÀO BN
DEM:=00 (HEX)
BEGIN
DELAY
DEM:=DEM+1
END
DEM=100
Đ
S
LƯU 10 MÃ VÀO BN
DEM:=0000 0000B
HEX(DEM) => BCD
BCD => MA7DOAN => LED
VIEÁT CHÖÔNG TRÌNH
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 40
;CHTR DK DEM GIAY
DEM EQU R1
ORG 0H
MOV DPTR,#MA7DOAN
LB: MOV DEM,#00
LB1: CALL HEXTOBCD ;CHUYEN HEX SANG SO BCD
CALL GIAIMA ;CHUYEN SO BCD SANG MA 7 DOAN
CALL DELAY_HTHI ;VUA DELAY VA VUA HIEN THI
INC DEM ;01H,02
CJNE DEM,#100,LB1
JMP LB
;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
HEXTOBCD: MOV A,DEM
MOV B,#10 ;KHI BIEN DICH THANH 0000 1010B
DIV AB ;(A)=BCD CHUC, (B)=BCD DONVI
RET ;TRO LAI CH TR CHINH
GIAIMA: MOVC A,@A+DPTR ;GIAI MA HANG CHUC
MOV 31H,A ;CAT TAM MA 7 DOAN CUA CHUC VAO 36H
MOV A,B ;CHUYEN BCD DONVI SANG A
MOVC A,@A+DPTR ;GIAI MA HANG DON VI
MOV 30H,A
RET
DELAY_HTHI: MOV 78H,#200
DELHT: CALL HIENTHI
DJNZ 78H,DELHT
RET
HIENTHI: MOV P0,30H
CLR P2.0
CALL DELAY1MS
SETB P2.0
MOV P0,31H
CLR P2.1
CALL DELAY1MS
SETB P2.1
RET
$INCLUDE(TV_DELAY.ASM)
Ñaïi hoïc sö phaïm kyõ thuaät tp HCM khoa ñieän – ñieän töû Nguyeãn Ñình Phuù
Boä moân ñieän töû coâng nghieäp baøi giaûng vi ñieàu khieån: giao tieáp led 7 ñoaïn 41
MA7DOAN: DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H
END
GIAÛI THÍCH CHÖÔNG TRÌNH CON DELAY:
- MOÃI LEÄNH CAÀN 1 HOAËC 2 CHU KYØ MAÙY ÑEÅ THÖÏC HIEÄN – CHO 1 CHU KYØ MAÙY LAØ
1µS NẾU SỬ DỤNG THẠCH ANH 12MHZ.
- MUOÁN DELAY 1MS = 1000µS – CHO VI ÑIEÀU KHIEÅN THÖÏC HIEÄN 1000 LEÄNH NAØO
ÑOÙ – MOÃI LEÄNH 1 CHU KYØ.
- VÍ DUÏ LEÄNH NOP
NOP ;THỨ 1
NOP ;THỨ 2
…
NOP ;THỨ 1000
CAÙCH VIEÁT DUØNG VOØNG LAËP:
DELAY204µS: MOV 70H,#100 ;2T
DJNZ 70H,$ ;2T × 100
RET ;2T
DELAY500µS: MOV 70H,#248 ;2T
DJNZ 70H,$ ;2T × 248
RET ;2T
DELAY1000µS: MOV 70H,#249 ;2T
XX: NOP ;1T× 249
NOP ;1T× 249
DJNZ 70H,XX ;2T × 249
RET ;2T
1. Leänh chuyeån döõ lieäu vaøo oâ nhôù tröïc tieáp :
Cuù phaùp : MOV direct, #data
Maõ leänh :
0 1 1 1 0 1 0 1
a7 a6 a5 a4 a3 a2 a1 a0
d7 d6 d5 d4 d3 d2 d1 d0
Leänh naøy chieám