B. HỆ THỐNG ĐIỀU KHIỂN LED 7 ĐOẠN.
(Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu 7 đoạn (không dùng vi mạch
giải đa hợp bên ngoài))
Bài 8: Chương trình điều khiển hiển thị đếm số BCD từ 00000000 lên 99999999 trên tám LED (LED0 đến
LED7 được nối với Port0; tín hiệu SEL0 đến SEL7 lần lượt được nối với P1.0 đến P1.7).
Giáo trình thực hành vi xử lý. 109 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 7.
1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 00000000 -> 99999999 TREN LED 7 DOAN
;***************************************************
;KET NOI: 8 LED -> PORT0
; SEL LED -> PORT1
;CHE DO: MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG 00H
MAIN:
MOV R7,#00H ;SO HIEN THI BAN DAU
MOV R6,#00H
MOV R5,#00H ;SO HIEN THI BAN DAU
MOV R4,#00H
MP1:
LCALL BCD8TO7SEG ;GIAI MA BCD SANG MA 7 DOAN
LCALL DELAY_SCAN ;DELAY VA QUET HIEN THI
MOV A,R4 ;TANG GIA TRI (CHUC - DON VI)
ADD A,#1
DA A
MOV R4,A
CJNE A,#0,MP1 ;KIEM TRA GIA TRI HIEN THI > 99 (CHUC - DON VI)
MOV A,R5 ;TANG GIA TRI (NGAN - TRAM)
ADD A,#1
DA A
MOV R5,A
CJNE A,#0,MP1 ;KIEM TRA GIA TRI HIEN THI > 99 (NGAN - TRAM)
MOV A,R6 ;TANG GIA TRI (TR NGAN - CH NGAN)
ADD A,#1
DA A
MOV R6,A
CJNE A,#0,MP1 ;KIEM TRA GIA TRI HIEN THI > 99 (TR NGAN - CH NGAN)
MOV A,R7 ;TANG GIA TRI (CH TRIEU - TRIEU)
ADD A,#1
DA A
MOV R7,A
CJNE A,#0,MP1 ;KIEM TRA GIA TRI HIEN THI > 99 (CH TRIEU - TRIEU)
SJMP MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (8 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME: DISP7SEGMUL8.
;INPUT: 67H,66H = MA 7 DOAN (CH TRIEU - TRIEU).
; 65H,64H = MA 7 DOAN (TR NGAN - CH NGAN).
; 63H,62H = MA 7 DOAN (NGAN - TRAM).
; 61H,60H = MA 7 DOAN (CHUC - DON VI).
;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
; P2 = CHON LED - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL8:
PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV A,#7FH ;MA QUET
MOV R0,#67H ;DIA CHI VUNG MA HIEN THI
DISP:
MOV P0,@R0 ;XUAT MA HIEN THI
MOV P1,A ;XUAT MA QUET
LCALL DELAYLED
B. HỆ THỐNG ĐIỀU KHIỂN LED 7 ĐOẠN.
(Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu 7 đoạn (không dùng vi mạch
giải đa hợp bên ngoài))
Bài 8: Chương trình điều khiển hiển thị đếm số BCD từ 00000000 lên 99999999 trên tám LED (LED0 đến
LED7 được nối với Port0; tín hiệu SEL0 đến SEL7 lần lượt được nối với P1.0 đến P1.7).
Giáo trình thực hành vi xử lý. 110 Biên soạn: Phạm Quang Trí
MOV P1,#0FFH ;CHONG LEM
DEC R0 ;LAY MA HIEN THI KE TIEP
RR A ;CHUYEN SANG LED KE TIEP
CJNE R0,#5FH,DISP ;KIEM TRA DA QUET XONG CHUA
POP 00H ;PHUC HOI GIA TRI CHO CAC THANH GHI
POP ACC
RET
;****************************************************
DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 2.5MS
PUSH 00H
PUSH 01H
MOV R1,#5
DEL: MOV R0,#250
DJNZ R0,$
DJNZ R1,DEL
POP 01H
POP 00H
RET
;****************************************************
DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI
PUSH 00H
MOV R0,#50
MOV TMOD,#01H
LOOP2:
MOV TH0,#0ECH
MOV TL0,#78H
SETB TR0
SCAN: ;LIEN TUC GOI CTC QUET HIEN THI TRONG LUC TIMER DANG CHAY
LCALL DISP7SEGMUL8 ;GOI CTC QUET HIEN THI
JNB TF0,SCAN
CLR TR0
CLR TF0
DJNZ R0,LOOP2
POP 00H
RET
;***************************************************
;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (4 SO BCD NEN).
;***************************************************
;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB)
;GIA TRI GIAI MA: 0 -> 9
;***************************************************
;NAME: BCD8TO7SEG.
;INPUT: R7 = SO BCD NEN (CH TRIEU - TRIEU).
; R6 = SO BCD NEN (TR NGAN - CH NGAN).
; R5 = SO BCD NEN (NGAN - TRAM).
; R4 = SO BCD NEN (CHUC - DON VI).
;OUTPUT: 67H,66H = MA 7 DOAN (CH TRIEU - TRIEU).
; 65H,64H = MA 7 DOAN (TR NGAN - CH NGAN).
; 63H,62H = MA 7 DOAN (NGAN - TRAM).
; 61H,60H = MA 7 DOAN (CHUC - DON VI).
;***************************************************
BCD8TO7SEG:
PUSH DPH ;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH DPL
PUSH ACC
MOV DPTR,#CODE7SEG ;DIA CHI VUNG MA 7 DOAN
MOV A,R4 ;LAY SO BCD CAN GIAI MA
ANL A,#0FH ;XOA 4 BIT CAO
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
MOV 60H,A ;CAT BCD HANG DON VI VAO O NHO
MOV A,R4 ;LAY SO BCD CAN GIAI MA
ANL A,#0F0H ;XOA 4 BIT THAP
SWAP A ;HOAN CHUYEN CAO - THAP
B. HỆ THỐNG ĐIỀU KHIỂN LED 7 ĐOẠN.
(Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu 7 đoạn (không dùng vi mạch
giải đa hợp bên ngoài))
Bài 8: Chương trình điều khiển hiển thị đếm số BCD từ 00000000 lên 99999999 trên tám LED (LED0 đến
LED7 được nối với Port0; tín hiệu SEL0 đến SEL7 lần lượt được nối với P1.0 đến P1.7).
Giáo trình thực hành vi xử lý. 111 Biên soạn: Phạm Quang Trí
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
MOV 61H,A ;CAT BCD HANG CHUC VAO O NHO
MOV A,R5 ;LAY SO BCD CAN GIAI MA
ANL A,#0FH ;XOA 4 BIT CAO
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
MOV 62H,A ;CAT BCD HANG TRAM VAO O NHO
MOV A,R5 ;LAY SO BCD CAN GIAI MA
ANL A,#0F0H ;XOA 4 BIT THAP
SWAP A ;HOAN CHUYEN CAO - THAP
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
MOV 63H,A ;CAT BCD HANG NGAN VAO O NHO
MOV A,R6 ;LAY SO BCD CAN GIAI MA
ANL A,#0FH ;XOA 4 BIT CAO
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
MOV 64H,A ;CAT BCD HANG CHUC NGAN VAO O NHO
MOV A,R6 ;LAY SO BCD CAN GIAI MA
ANL A,#0F0H ;XOA 4 BIT THAP
SWAP A ;HOAN CHUYEN CAO - THAP
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
MOV 65H,A ;CAT BCD HANG TRAM NGAN VAO O NHO
MOV A,R7 ;LAY SO BCD CAN GIAI MA
ANL A,#0FH ;XOA 4 BIT CAO
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
MOV 66H,A ;CAT BCD HANG TRIEU VAO O NHO
MOV A,R7 ;LAY SO BCD CAN GIAI MA
ANL A,#0F0H ;XOA 4 BIT THAP
SWAP A ;HOAN CHUYEN CAO - THAP
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
MOV 67H,A ;CAT BCD HANG CHUC TRIEU VAO O NHO
POP ACC ;PHUC HOI GIA TRI CHO CAC THANH GHI
POP DPL
POP DPH
RET
;***************************************************
CODE7SEG: ;VUNG CHUA MA 7 DOAN (0 -> 9)
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
END
1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.
2 Bài tập:
• Bài 1: Hãy viết chương trình điều khiển hiển thị số 87654321 trên tám LED.
• Bài 2: Hãy viết chương trình điều khiển hiển thị đếm số BCD từ 00000000 lên 59999999 trên tám LED.
• Bài 3: Hãy viết chương trình điều khiển hiển thị đếm số BCD từ 59999999 xuống 00000000 trên tám LED.
• Bài 4: Hãy viết chương trình điều khiển hiển thị đếm số BCD từ 00000000 lên 12345678 trên tám LED.
• Bài 5: Hãy viết chương trình điều khiển hiển thị đếm số HEX từ 00000000 lên FFFFFFFF trên tám LED.
• Bài 6: Hãy viết chương trình điều khiển hiển thị đếm số HEX từ 00000000 lên 89ABCDEF trên tám LED.
• Bài 7: Nếu trường hợp LED của ta là loại Cathode chung thì chương trình phải thay đổi như thế nào? Tại
sao? Tiến hành mô phỏng thử xem sao?
• Bài 8: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.
B. HỆ THỐNG ĐIỀU KHIỂN LED 7 ĐOẠN.
(Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu BCD (dùng vi mạch giải đa
hợp bên ngoài))
Bài 1: Chương trình điều khiển hiển thị số 1 trên LED7 (LED7 được nối với Port0, tín hiệu SEL-ABC được nối
với P1.0 - P1.1).
Giáo trình thực hành vi xử lý. 112 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Tắt nguồn cấp cho mô hình thí nghiệm.
• Dùng dây bus 8 nối J14 (7SEG OUT 1) ở khối giải mã với J4 (7SEG IN MUL) ở khối LED 7 đoạn.
• Dùng dây bus 2 nối J64 (PORT1) ở khối vi điều khiển với J23 (DEC. 2-4) ở khối giải ma (chú ý là ta chỉ
nối 2 bit thấp của J64 và J23)õ.
• Dùng dây bus 4 nối J29 (DEC. OUT) ở khối giải mã với J1 (SEL IN1) ở khối LED 7 đoạn.
• Dùng dây bus 8 nối J63 (PORT0 / DATA) ở khối vi điều khiển với J16 (BCD IN 1-2) ở khối giải mã.
• Dùng hai dây bus 3 nối J110 (POWER) ở khối LED 7 đoạn và J36 (POWER) ở khối giải mã với nguồn
+5V ở khối nguồn.
PORT 0PORT 1PORT 3PORT 2
PORT 1PORT 3
40 PINS
20 PINS
3
BCD IN
1-2
POWER
7 SEG
OUT 1
7 SEG
OUT 2
BCD IN
3-4
7 SEG
OUT 3
7 SEG
OUT 4
DEC.
2-4
DEC.
3-8
DEC. OUT
DEC.
2-4
DEC.
OUT
DEC.
OUT
3
1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 1 TREN LED 7 DOAN
;***************************************************
;KET NOI: 1 LED -> PORT0
; SEL ABC -> PORT1
;CHE DO: MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG 00H
MAIN:
MOV P1,#00H ;CHO PHEP LED 7 SANG
MOV P0,#01H ;XUAT SO HIEN THI
SJMP $
END
1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.
2 Bài tập:
(xem thêm trong phần hướng dẫn và phần bài tập của Bài 2)
B. HỆ THỐNG ĐIỀU KHIỂN LED 7 ĐOẠN.
(Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu BCD (dùng vi mạch giải đa
hợp bên ngoài))
Bài 2: Chương trình điều khiển hiển thị đếm số BCD từ 0 lên 9 trên LED7 (LED7 được nối với Port0, tín hiệu
SEL-ABC được nối với P1.0 - P1.1).
Giáo trình thực hành vi xử lý. 113 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.
1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.
• Cách 1:
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI: 1 LED -> PORT0
; SEL ABC -> PORT1
;CHE DO: MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG 00H
MAIN:
MOV P1,#00H ;CHO PHEP LED 7 SANG
MOV P0,#00H ;SO 0
LCALL DELAY500MS
MOV P0,#01H ;SO 1
LCALL DELAY500MS
MOV P0,#02H ;SO 2
LCALL DELAY500MS
MOV P0,#03H ;SO 3
LCALL DELAY500MS
MOV P0,#04H ;SO 4
LCALL DELAY500MS
MOV P0,#05H ;SO 5
LCALL DELAY500MS
MOV P0,#06H ;SO 6
LCALL DELAY500MS
MOV P0,#07H ;SO 7
LCALL DELAY500MS
MOV P0,#08H ;SO 8
LCALL DELAY500MS
MOV P0,#09H ;SO 9
LCALL DELAY500MS
SJMP MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV R0,#100
MOV TMOD,#01H
LOOP2:
MOV TH0,#0ECH
MOV TL0,#78H
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,LOOP2
POP 00H
RET
END
• Cách 2:
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI 0 -> 9 TREN LED 7 DOAN
;***************************************************
;KET NOI: 1 LED -> PORT0
; SEL ABC -> PORT1
;CHE DO: MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG 00H
MAIN:
MOV P1,#00H ;CHO PHEP LED 7 SANG
B. HỆ THỐNG ĐIỀU KHIỂN LED 7 ĐOẠN.
(Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu BCD (dùng vi mạch giải đa
hợp bên ngoài))
Bài 2: Chương trình điều khiển hiển thị đếm số BCD từ 0 lên 9 trên LED7 (LED7 được nối với Port0, tín hiệu
SEL-ABC được nối với P1.0 - P1.1).
Giáo trình thực hành vi xử lý. 114 Biên soạn: Phạm Quang Trí
MOV A,#00H ;GIA TRI BAT DAU
LOOP:
MOV P0,A ;XUAT HIEN THI
LCALL DELAY500MS
INC A ;TANG GIA TRI
CJNE A,#10,LOOP
SJMP MAIN
;****************************************************
DELAY500MS: ;CHUONG TRINH CON TAO THOI GIAN TRE 500MS
PUSH 00H
MOV R0,#100
MOV TMOD,#01H
LOOP2:
MOV TH0,#0ECH
MOV TL0,#78H
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,LOOP2
POP 00H
RET
END
1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.
2 Bài tập:
• Bài 1: Hãy viết chương trình điều khiển hiển thị số 5 trên LED5.
• Bài 2: Hãy viết chương trình điều khiển hiển thị đếm số BCD từ 0 lên 5 trên LED4.
• Bài 3: Hãy viết chương trình điều khiển hiển thị đếm số BCD từ 5 xuống 0 trên LED4.
• Bài 4: Nếu trường hợp LED của ta là loại Cathode chung thì chương trình phải thay đổi như thế nào? Tại
sao? Tiến hành mô phỏng thử xem sao?
• Bài 5: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình.
B. HỆ THỐNG ĐIỀU KHIỂN LED 7 ĐOẠN.
(Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu BCD (dùng vi mạch giải đa
hợp bên ngoài))
Bài 3: Chương trình điều khiển hiển thị số 12 trên hai LED (LED7, LED6 được nối với Port0; tín hiệu SEL-
ABC được nối với P1.0 - P1.1).
Giáo trình thực hành vi xử lý. 115 Biên soạn: Phạm Quang Trí
1 Trình tự tiến hành thí nghiệm:
1.1 Kết nối thiết bị thí nghiệm.
• Quá trình kết nối thiết bị thí nghiệm tương tự như Bài 1.
1.2 Vẽ lưu đồ giải thuật và viết chương trình điều khiển.
• Cách 1:
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI: 2 LED -> PORT0
; SEL ABC -> PORT1
;CHE DO: MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG 00H
MAIN:
MOV P1,#00H ;CHO PHEP LED 7 SANG
MOV P0,#02H ;HIEN THI SO 2
LCALL DELAYLED
MOV P1,#01H ;CHO PHEP LED 6 SANG
MOV P0,#01H ;HIEN THI SO 1
LCALL DELAYLED
SJMP MAIN
;****************************************************
DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV R1,#10
DEL: MOV R0,#250
DJNZ R0,$
DJNZ R1,DEL
POP 01H
POP 00H
RET
END
• Cách 2:
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI: 2 LED -> PORT0
; SEL ABC -> PORT1
;CHE DO: MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG 00H
MAIN:
MOV DPTR,#100H ;NAP DIA CHI VUNG DU LIEU
DISP:
MOV R0,#02H ;SO LAN QUET (SO LED)
MOV R1,#00H ;NAP DIA CHI (OFFSET) CUA DU LIEU
MOV R2,#10H ;NAP DIA CHI (OFFSET) CUA MA QUET
DISP1:
MOV A,R1 ;LAY DU LIEU
MOVC A,@A+DPTR
MOV P0,A ;XUAT DU LIEU HIEN THI
MOV A,R2 ;LAY MA QUET
MOVC A,@A+DPTR
MOV P1,A ;XUAT MA QUET
LCALL DELAYLED
MOV P0,#0FFH ;CHONG LEM
INC R1 ;DIA CHI (OFFSET) CUA DU LIEU KE TIEP
INC R2 ;DIA CHI (OFFSET) CUA MA QUET KE TIEP
DJNZ R0,DISP1
SJMP MAIN
;****************************************************
DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
B. HỆ THỐNG ĐIỀU KHIỂN LED 7 ĐOẠN.
(Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu BCD (dùng vi mạch giải đa
hợp bên ngoài))
Bài 3: Chương trình điều khiển hiển thị số 12 trên hai LED (LED7, LED6 được nối với Port0; tín hiệu SEL-
ABC được nối với P1.0 - P1.1).
Giáo trình thực hành vi xử lý. 116 Biên soạn: Phạm Quang Trí
PUSH 00H
PUSH 01H
MOV R1,#10
DEL: MOV R0,#250
DJNZ R0,$
DJNZ R1,DEL
POP 01H
POP 00H
RET
;****************************************************
ORG 100H
CODEDISP: ;VUNG DU LIEU HIEN THI
DB 02H,01H
ORG 110H
CODESCAN: ;VUNG MA QUET
DB 00H,01H
END
• Cách 3:
;***************************************************
;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN
;***************************************************
;KET NOI: 2 LED -> PORT0
; SEL ABC -> PORT1
;CHE DO: MULTI, BCD IN, MULTI EXT 2 TO 4, CA, ACTIVE = 0
;***************************************************
ORG 00H
MAIN:
MOV 61H,#01H ;HANG CHUC
MOV 60H,#02H ;HANG DON VI
LCALL DISP7SEGMUL2EXT ;QUET HIEN THI
SJMP MAIN
;***************************************************
;CTC QUET HIEN THI LED 7 DOAN (2 LED 7 DOAN).
;***************************************************
;LED: ANODE CHUNG, KICH HOAT MUC 0, 7 DOAN: DP (MSB) -> A (LSB)
;DU LIEU HIEN THI CHUA TRONG O NHO CUA RAM.
;***************************************************
;NAME: DISP7SEGMUL2EXT.
;INPUT: 61H,60H = MA 7 DOAN (CHUC - DON VI).
;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -> A (LSB).
; P1 = EXT MULTIPLEXER - LEFT (MSD) -> RIGHT (LSD).
;***************************************************
DISP7SEGMUL2EXT:
PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI
PUSH 00H
MOV A,#01H ;MA QUET
MOV R0,#61H ;DIA CHI VUNG MA HIEN THI
DISP:
MOV P0,@R0 ;XUAT MA HIEN THI
MOV P1,A ;XUAT MA QUET
LCALL DELAYLED
MOV P0,#0FFH ;CHONG LAM
DEC R0 ;LAY MA HIEN THI KE TIEP
DEC A ;CHUYEN SANG LED KE TIEP
CJNE R0,#05FH,DISP ;KIEM TRA DA QUET XONG CHUA
POP 00H ;PHUC HOI GIA TRI CHO CAC THANH GHI
POP ACC
RET
;****************************************************
DELAYLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 5MS
PUSH 00H
PUSH 01H
MOV R1,#10
DEL: MOV R0,#250
DJNZ R0,$
DJNZ R1,DEL
B. HỆ THỐNG ĐIỀU KHIỂN LED 7 ĐOẠN.
(Bộ hiển thị LED 7 đoạn được thiết kế theo phương pháp đa hợp và ngõ vào dữ liệu kiểu BCD (dùng vi mạch giải đa
hợp bên ngoài))
Bài 3: Chương trình điều khiển hiển thị số 12 trên hai LED (LED7, LED6 được nối với Port0; tín hiệu SEL-
ABC được nối với P1.0 - P1.1).
Giáo trình thực hành vi xử lý. 117 Biên soạn: Phạm Quang Trí
POP 01H
POP 00H
RET
END
1.3 Thực hiện lần lượt các bước từ 1.3 đến 1.8 tương tự như bài trên.
2 Bài tập:
(xem thêm trong phần hướng dẫn và phần bài tập của Bài 4)