Ứng dụng điều khiển LED 7 đoạn tổng hợp Bài 2: Chương trình điều khiển hiển thị chuỗi ký tự “-HA-NOI-“ trên tám LED.. Ứng dụng điều khiển LED 7 đoạn tổng hợp Bài 2: Chương trình điều khi
Trang 1(Ứng dụng điều khiển LED 7 đoạn tổng hợp)
Bài 1: Chương trình điều khiển hiển thị đếm GIỜ – PHÚT – GIÂY trên sáu LED (LED6,7: đếm GIÂY;
LED4,5: đếm PHÚT; LED2,3: đếm GIỜ)
;GIA TRI GIAI MA: 0 -> 9
;***************************************************
;INPUT: R7 = SO BCD NEN (TR NGAN - CH NGAN)
;OUTPUT: 65H,64H = MA 7 DOAN (TR NGAN - CH NGAN)
;***************************************************
BCD6TO7SEG:
PUSH DPL
PUSH ACC
MOV DPTR,#CODE7SEG ;DIA CHI VUNG MA 7 DOAN
ANL A,#0FH ;XOA 4 BIT CAO
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
ANL A,#0F0H ;XOA 4 BIT THAP
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
ANL A,#0FH ;XOA 4 BIT CAO
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
ANL A,#0F0H ;XOA 4 BIT THAP
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
ANL A,#0FH ;XOA 4 BIT CAO
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
ANL A,#0F0H ;XOA 4 BIT THAP
MOVC A,@A+DPTR ;LAY MA 7 DOAN TUONG UNG
POP DPL
POP DPH
RET
CODE7SEG: ;VUNG CHUA MA 7 DOAN (0 -> 9)
Trang 2(Ứng dụng điều khiển LED 7 đoạn tổng hợp)
Bài 1: Chương trình điều khiển hiển thị đếm GIỜ – PHÚT – GIÂY trên sáu LED (LED6,7: đếm GIÂY;
LED4,5: đếm PHÚT; LED2,3: đếm GIỜ)
; P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD)
;***************************************************
DISP7SEGMUL6:
PUSH 00H
MOV A,#0DFH ;MA QUET
MOV R0,#65H ;DIA CHI VUNG MA HIEN THI
DISP:
LCALL DELAYLED
MOV P1,#0FFH ;CHONG LAM
CJNE R0,#5FH,DISP ;KIEM TRA DA QUET XONG CHUA
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 DISP7SEGMUL6 ;GOI CTC QUET HIEN THI
JNB TF0,SCAN
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 tập: Hãy viết chương trình điều khiển hiển thị đếm NGÀY – THÁNG – NĂM trên tám LED (LED7,6: đếm NGÀY; LED5,4: đếm THÁNG; LED3,2,1,0: đếm NĂM) Giả sử các tháng đều có 30 ngày Tự chọn lựa phương pháp kết nối các LED 7 đoạn
Trang 3(Ứng dụng điều khiển LED 7 đoạn tổng hợp)
Bài 2: Chương trình điều khiển hiển thị chuỗi ký tự “-HA-NOI-“ trên tám LED
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 J63 (PORT0 / DATA) ở khối vi điều khiển với J4 (7SEG IN MUL) ở khối giải mã
• Dùng bốn dây bus 8 nối J5 (7SEG7 IN), J6 (7SEG6 IN), J7 (7SEG5 IN) và J8 (7SEG4 IN) ở khối LED 7 đoạn với J4 (7SEG IN MUL) ở khối LED 7 đoạn (ta nối chung các bus này lại với nhau thông qua khối
mở rộng)
• Dùng dây bus 8 nối J64 (PORT1) ở khối vi điều khiển với J2 (SEL LED IN) ở khối LED 7 đoạn
• Dùng dây bus 3 nối J110 (POWER) ở khối LED 7 đoạn với nguồn +5V ở khối nguồn
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 CHUOI "-HA-NOI- TREN LED 7 DOAN
;***************************************************
;KET NOI: 8 LED -> PORT0
;CHE DO: MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG 00H
MAIN:
MOV DPTR,#CODEDISP ;NAP DIA CHI VUNG MA HIEN THI
LCALL DISP7SEGMUL ;HIEN THI CHUOI KY TU
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 ROM (TRONG CHUONG TRINH)
;***************************************************
;INPUT: DPTR = VUNG NHO CHUA DU LIEU HIEN THI
;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -> A (LSB)
; P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD)
;***************************************************
DISP7SEGMUL:
Trang 4(Ứng dụng điều khiển LED 7 đoạn tổng hợp)
Bài 2: Chương trình điều khiển hiển thị chuỗi ký tự “-HA-NOI-“ trên tám LED
MOV R0,A
JC DISP ;KIEM TRA QUET XONG (C = 0)
POP 01H
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
;***************************************************
CODEDISP: ;VUNG CHUA MA CHU HIEN THI
DB 0BFH,89H,88H,0BFH,0C8H,0C0H,0F9H,0BFH
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ị chuỗi ký tự “-PEP-SI-“ trên tám LED Tự chọn lựa phương pháp kết nối LED 7 đoạn
• Bài 2: Hãy viết chương trình điều khiển hiển thị chuỗi ký tự “COCACOLA“ trên tám LED Tự chọn lựa phương pháp kết nối LED 7 đoạn
• Bài 3: Hãy viết chương trình điều khiển hiển thị chuỗi ký tự “ DHCN “ trên tám LED Tự chọn lựa phương pháp kết nối LED 7 đoạn
• Bài 4: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình
Trang 5(Ứng dụng điều khiển LED 7 đoạn tổng hợp)
Bài 3: Chương trình điều khiển hiển thị và chớp tắt chuỗi ký tự “-HA-NOI-“ trên tám LED
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 2
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 CHUOI "-HA-NOI-“ CHOP TAT TREN LED 7 DOAN
;***************************************************
;KET NOI: 8 LED -> PORT0
;CHE DO: MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG 00H
MAIN:
MOV DPTR,#CODEDISP ;NAP DIA CHI VUNG MA HIEN THI
MOV R0,#50 ;BIEN LAP - THOI GIAN CUA 1 TRANG THAI MAN HINH
MP1:
LCALL DISP7SEGMUL ;HIEN THI CHUOI KY TU
DJNZ R0,MP1
LCALL TATLED ;TAT HIEN THI CHUOI
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 ROM (TRONG CHUONG TRINH)
;***************************************************
;INPUT: DPTR = VUNG NHO CHUA DU LIEU HIEN THI
;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -> A (LSB)
; P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD)
;***************************************************
DISP7SEGMUL:
PUSH 00H
PUSH 01H
MOV R0,#7FH ;MA QUET
MOV R1,#00H ;VI TRI CUA DU LIEU TRONG VUNG NHO DPTR
SETB C
DISP:
MOV A,R1
MOVC A,@A+DPTR ;LAY MA HIEN THI
LCALL DELAYLED
MOV P1,#0FFH ;CHONG LEM
MOV R0,A
JC DISP ;KIEM TRA QUET XONG (C = 0)
POP 01H
POP ACC
RET
Trang 6(Ứng dụng điều khiển LED 7 đoạn tổng hợp)
Bài 3: Chương trình điều khiển hiển thị và chớp tắt chuỗi ký tự “-HA-NOI-“ trên tám LED
TATLED: ;CHUONG TRINH CON TAO THOI GIAN TRE 1S
PUSH 00H
MOV R0,#100
MOV TMOD,#01H
TAT:
MOV TH0,#0D8H
MOV TL0,#0F0H
SETB TR0
JNB TF0,$
CLR TR0
CLR TF0
DJNZ R0,TAT
POP 00H
RET
;***************************************************
CODEDISP: ;VUNG CHUA MA CHU HIEN THI
DB 0BFH,89H,88H,0BFH,0C8H,0C0H,0F9H,0BFH
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)
Trang 7(Ứng dụng điều khiển LED 7 đoạn tổng hợp)
Bài 4: Chương trình điều khiển hiển thị lần lượt các chuỗi ký tự “-HA-NOI“, “-DA-LAT-“, “-SAIGON-“ trên
tám LED Mỗi chuỗi hiển thị cách nhau 1 giây
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 2
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 CHUOI "-HA-NOI-","-DA-LAT-","-SAIGON-" TREN LED 7 DOAN
;***************************************************
;KET NOI: 8 LED -> PORT0
;CHE DO: MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG 00H
MAIN:
MOV DPTR,#CODEDISP ;NAP DIA CHI VUNG MA HIEN THI
MP1:
MOV R0,#100 ;BIEN LAP - THOI GIAN CUA 1 TRANG THAI MAN HINH
STATICDISP:
LCALL DISP7SEGMUL ;HIEN THI CHUOI KY TU
DJNZ R0,STATICDISP ;GIAM BIEN LAP
MOV A,DPL ;DICH DEN DIA CHI CUA CHUOI KE TIEP
MOV DPL,A
CJNE A,#LOW(CODEDISP+24),MP1 ;KIEM TRA HIEN THI XONG TAT CA CAC CHUOI
;***************************************************
;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 ROM (TRONG CHUONG TRINH)
;***************************************************
;INPUT: DPTR = VUNG NHO CHUA DU LIEU HIEN THI
;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -> A (LSB)
; P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD)
;***************************************************
DISP7SEGMUL:
PUSH 00H
PUSH 01H
MOV R0,#7FH ;MA QUET
MOV R1,#00H ;VI TRI CUA DU LIEU TRONG VUNG NHO DPTR
SETB C
DISP:
MOV A,R1
MOVC A,@A+DPTR ;LAY MA HIEN THI
LCALL DELAYLED
MOV P1,#0FFH ;CHONG LEM
MOV R0,A
Trang 8(Ứng dụng điều khiển LED 7 đoạn tổng hợp)
Bài 4: Chương trình điều khiển hiển thị lần lượt các chuỗi ký tự “-HA-NOI“, “-DA-LAT-“, “-SAIGON-“ trên
tám LED Mỗi chuỗi hiển thị cách nhau 1 giây
DJNZ R0,$
DJNZ R1,DEL
POP 01H
POP 00H
RET
;***************************************************
CODEDISP: ;VUNG CHUA MA CHU HIEN THI
DB 0BFH,89H,88H,0BFH,0C8H,0C0H,0F9H,0BFH ;MA CHUOI "-HA-NOI-"
DB 0BFH,0A1H,88H,0BFH,0C7H,88H,0F8H,0BFH ;MA CHUOI "-DA-LAT-"
DB 0BFH,92H,88H,0F9H,90H,0C0H,0C8H,0BFH ;MA CHUOI "-SAIGON-"
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ị và chớp tắt chuỗi ký tự “-PEP-SI-“ trên tám LED Tự chọn lựa phương pháp kết nối LED 7 đoạn
• Bài 2: Hãy viết chương trình điều khiển hiển thị và chớp tắt 10 lần chuỗi ký tự “COCACOLA“ trên tám LED Tự chọn lựa phương pháp kết nối LED 7 đoạn
• Bài 3: Hãy viết chương trình điều khiển hiển thị lần lượt các chuỗi ký tự “COCACOLA“, PEP-SI-“, “-FANTA-“ trên tám LED Mỗi chuỗi hiển thị cách nhau 1 giây Tự chọn lựa phương pháp kết nối LED 7 đoạn
• Bài 4: Sinh viên tự mình suy nghĩ và phát triển thêm chương trình
Trang 9(Ứng dụng điều khiển LED 7 đoạn tổng hợp)
Bài 5: Chương trình điều khiển hiển thị và dịch chuyển chuỗi ký tự “-HA-NOI-SAI-GON-“ trên tám LED từ
phải sang trái
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 2
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 CHUOI "-HA-NOI-SAIGON-" DICH CHUYEN TREN LED 7 DOAN
;***************************************************
;KET NOI: 8 LED -> PORT0
;CHE DO: MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0
;***************************************************
ORG 00H
MAIN:
MOV DPTR,#CODEDISP ;NAP DIA CHI VUNG MA HIEN THI
MP1:
MOV R0,#20 ;BIEN LAP - THOI GIAN CUA 1 TRANG THAI MAN HINH
STATICDISP:
LCALL DISP7SEGMUL ;HIEN THI CHUOI KY TU
DJNZ R0,STATICDISP ;GIAM BIEN LAP
INC DPTR ;DICH CHUOI DI MOT MA KY TU
MOV A,DPL
CJNE A,#LOW(CODEDISP+16),MP1 ;KIEM TRA HIEN THI XONG CHUOI
SJMP MAIN ;SO KY TU CUA CHUOI = 24 MA KY TU
;***************************************************
;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 ROM (TRONG CHUONG TRINH)
;***************************************************
;INPUT: DPTR = VUNG NHO CHUA DU LIEU HIEN THI
;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -> A (LSB)
; P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD)
;***************************************************
DISP7SEGMUL:
PUSH 00H
PUSH 01H
MOV R0,#7FH ;MA QUET
MOV R1,#00H ;VI TRI CUA DU LIEU TRONG VUNG NHO DPTR
SETB C
DISP:
MOV A,R1
MOVC A,@A+DPTR ;LAY MA HIEN THI
LCALL DELAYLED
MOV P1,#0FFH ;CHONG LEM
MOV R0,A
JC DISP ;KIEM TRA QUET XONG (C = 0)