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 (không dùng vi mạch giải đa hợp bên ngoài)) Bài 7: Chương trình điều khiển hiển thị số 12345678 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ý. 91 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 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 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 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 8 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 12345678 TREN LED 7 DOAN ;*************************************************** ;KET NOI: 8 LED -> PORT0 ; SEL LED -> PORT1 ;CHE DO: MULTI, BCD IN, MULTI INT, CA, ACTIVE = 0 ;*************************************************** ORG 00H MAIN: MOV P1,#0FEH ;CHO PHEP LED 7 SANG MOV P0,#08H ;HIEN THI SO 8 LCALL DELAYLED MOV P1,#0FDH ;CHO PHEP LED 6 SANG MOV P0,#07H ;HIEN THI SO 7 LCALL DELAYLED MOV P1,#0FBH ;CHO PHEP LED 5 SANG MOV P0,#06H ;HIEN THI SO 6 LCALL DELAYLED MOV P1,#0F7H ;CHO PHEP LED 4 SANG MOV P0,#05H ;HIEN THI SO 5 LCALL DELAYLED MOV P1,#0EFH ;CHO PHEP LED 3 SANG MOV P0,#04H ;HIEN THI SO 4 LCALL DELAYLED MOV P1,#0DFH ;CHO PHEP LED 2 SANG MOV P0,#03H ;HIEN THI SO 3 LCALL DELAYLED MOV P1,#0BFH ;CHO PHEP LED 1 SANG MOV P0,#02H ;HIEN THI SO 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 (không dùng vi mạch giải đa hợp bên ngoài)) Bài 7: Chương trình điều khiển hiển thị số 12345678 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ý. 92 Biên soạn: Phạm Quang Trí LCALL DELAYLED MOV P1,#07FH ;CHO PHEP LED 0 SANG MOV P0,#01H ;HIEN THI SO 1 LCALL DELAYLED SJMP MAIN ;**************************************************** 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 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 8) 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 (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ý. 93 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, BCD IN, MULTI INT, CA, ACTIVE = 0 ;*************************************************** ORG 00H MAIN: MOV 67H,#00H ;HANG CH TRIEU MOV 66H,#00H ;HANG TRIEU MOV 65H,#00H ;HANG TR NGAN MOV 64H,#00H ;HANG CH NGAN MOV 63H,#00H ;HANG NGAN MOV 62H,#00H ;HANG TRAM MOV 61H,#00H ;HANG CHUC MOV 60H,#00H ;HANG DON VI MP1: LCALL DELAY_SCAN ;DELAY VA QUET HIEN THI INC 60H ;TANG HANG DON VI MOV A,60H CJNE A,#10,MP1 ;KIEM TRA HANG DON VI > 9 MOV 60H,#00H ;XOA HANG DON VI (DON VI = 0) INC 61H ;TANG HANG CHUC MOV A,61H CJNE A,#10,MP1 ;KIEM TRA HANG CHUC > 9 MOV 61H,#00H ;XOA HANG CHUC (CHUC = 0) INC 62H ;TANG HANG TRAM MOV A,62H CJNE A,#10,MP1 ;KIEM TRA HANG TRAM > 9 MOV 62H,#00H ;XOA HANG TRAM (TRAM = 0) INC 63H ;TANG HANG NGAN MOV A,63H CJNE A,#10,MP1 ;KIEM TRA HANG NGAN > 9 MOV 63H,#00H ;XOA HANG NGAN (NGAN = 0) INC 64H ;TANG HANG CH NGAN MOV A,64H CJNE A,#10,MP1 ;KIEM TRA HANG CH NGAN > 9 MOV 64H,#00H ;XOA HANG CH NGAN (CH NGAN = 0) INC 65H ;TANG HANG TR NGAN MOV A,65H CJNE A,#10,MP1 ;KIEM TRA HANG TR NGAN > 9 MOV 65H,#00H ;XOA HANG TR NGAN (TR NGAN = 0) INC 66H ;TANG HANG TRIEU MOV A,66H CJNE A,#10,MP1 ;KIEM TRA HANG TRIEU > 9 MOV 66H,#00H ;XOA HANG TRIEU (TRIEU = 0) INC 67H ;TANG HANG CH TRIEU MOV A,67H CJNE A,#10,MP1 ;KIEM TRA HANG CH TRIEU > 9 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). 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 (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ý. 94 Biên soạn: Phạm Quang Trí ; 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 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 ;*************************************************** 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 ;**************************************************** 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 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: 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 6: 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 7 đoạn (không 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 SEL7 được nối với P1.0). Giáo trình thực hành vi xử lý. 95 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 J63 (PORT0 / DATA) ở khối vi điều khiển với J4 (7SEG IN MUL) ở khối giải mã. • Dùng dây bus 4 nối J64 (PORT1) ở khối vi điều khiển với J1 (SEL IN1) ở khối LED 7 đoạn (chú ý là ta chỉ nối 4 bit thấp của J64 và J1 với nhau). • 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. PORT 0PORT 1PORT 3PORT 2 PORT 1PORT 3 40 PINS 20 PINS 3 4 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 LED -> PORT1 ;CHE DO: MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0 ;*************************************************** ORG 00H MAIN: MOV P1,#0FEH ;CHO PHEP LED 7 SANG MOV P0,#0F9H ;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 7 đoạn (không 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 SEL7 được nối với P1.0). Giáo trình thực hành vi xử lý. 96 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 LED -> PORT1 ;CHE DO: MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0 ;*************************************************** ORG 00H MAIN: MOV P1,#0FEH ;CHO PHEP LED 7 SANG MOV P0,#0C0H ;SO 0 LCALL DELAY500MS MOV P0,#0F9H ;SO 1 LCALL DELAY500MS MOV P0,#0A4H ;SO 2 LCALL DELAY500MS MOV P0,#0B0H ;SO 3 LCALL DELAY500MS MOV P0,#99H ;SO 4 LCALL DELAY500MS MOV P0,#92H ;SO 5 LCALL DELAY500MS MOV P0,#82H ;SO 6 LCALL DELAY500MS MOV P0,#0F8H ;SO 7 LCALL DELAY500MS MOV P0,#80H ;SO 8 LCALL DELAY500MS MOV P0,#90H ;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 LED -> PORT1 ;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 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 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 SEL7 được nối với P1.0). Giáo trình thực hành vi xử lý. 97 Biên soạn: Phạm Quang Trí MOV R0,#00H ;VI TRI DU LIEU HIEN THI TRONG VUNG MA MOV P1,#0FEH ;CHO PHEP LED 7 SANG DISP: MOV A,R0 ;NAP VI TRI DU LIEU MOVC A,@A+DPTR ;LAY MA HIEN THI MOV P0,A ;XUAT HIEN THI LCALL DELAY500MS INC R0 CJNE R0,#10,DISP ;KIEM TRA VI TRI DU LIEU > 9 (DEM XONG) 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 ;**************************************************** CODEDISP: ;VUNG DU LIEU HIEN THI 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ố 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: Hãy viết chương trình điều khiển hiển thị đếm số HEX từ 0 lên F trên LED4. • Bài 5: Hãy viết chương trình điều khiển hiển thị đếm số HEX từ F xuống 0 trên LED4. • Bài 6: 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 7: 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 7 đoạn (không 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 SEL7 và SEL6 lần lượt được nối với P1.0 và P1.1). Giáo trình thực hành vi xử lý. 98 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 LED -> PORT1 ;CHE DO: MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0 ;*************************************************** ORG 00H MAIN: MOV P1,#0FEH ;CHO PHEP LED 7 SANG MOV P0,#0A4H ;HIEN THI SO 2 LCALL DELAYLED MOV P1,#0FDH ;CHO PHEP LED 6 SANG MOV P0,#0F9H ;HIEN THI SO 1 LCALL DELAYLED SJMP MAIN ;**************************************************** 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 END • Cách 2: ;*************************************************** ;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN ;*************************************************** ;KET NOI: 2 LED -> PORT0 ; SEL LED -> PORT1 ;CHE DO: MULTI, 7SEG IN (DP -> A), MULTI INT, 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 P2,#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 2.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 7 đoạn (không 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 SEL7 và SEL6 lần lượt được nối với P1.0 và P1.1). Giáo trình thực hành vi xử lý. 99 Biên soạn: Phạm Quang Trí PUSH 00H PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL POP 01H POP 00H RET ;**************************************************** ORG 100H CODEDISP: ;VUNG DU LIEU HIEN THI DB 0A4H,0F9H ORG 110H CODESCAN: ;VUNG MA QUET DB 0FEH,0FDH END • Cách 3: ;*************************************************** ;CHUONG TRINH DIEU KHIEN HIEN THI SO 12 TREN LED 7 DOAN ;*************************************************** ;KET NOI: 2 LED -> PORT0 ; SEL LED -> PORT1 ;CHE DO: MULTI, 7SEG IN (DP -> A), MULTI INT, CA, ACTIVE = 0 ;*************************************************** ORG 00H MAIN: MOV R7,#12H ;SO HIEN THI LCALL BCD2TO7SEG ;GIAI MA BCD SANG MA 7 DOAN LCALL DISP7SEGMUL2 ;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: DISP7SEGMUL2. ;INPUT: 61H,60H = MA 7 DOAN (CHUC - DON VI). ;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -> A (LSB). ; P1 = CHON LED - LEFT (MSD) -> RIGHT (LSD). ;*************************************************** DISP7SEGMUL2: PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH 00H MOV A,#0FDH ;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 P1,#0FFH ;CHONG LAM DEC R0 ;LAY MA HIEN THI KE TIEP RR 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 2.5MS PUSH 00H PUSH 01H MOV R1,#5 DEL: MOV R0,#250 DJNZ R0,$ DJNZ R1,DEL . P1.7). Giáo trình thực hành vi xử lý. 94 Biên soạn: Phạm Quang Trí ; 63H,62H = MA 7 DOAN (NGAN - TRAM). ; 61H,60H = MA 7 DOAN (CHUC - DON VI) . ;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -& gt; A (LSB) 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 8 1.2 Vẽ lưu đồ giải thuật và vi t chương trình. ;HANG DON VI MP1: LCALL DELAY_SCAN ;DELAY VA QUET HIEN THI INC 60H ;TANG HANG DON VI MOV A,60H CJNE A,#10,MP1 ;KIEM TRA HANG DON VI > 9 MOV 60H,#00H ;XOA HANG DON VI (DON VI = 0)