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ý. 100 Biên soạn: Phạm Quang Trí POP 01H POP 00H RET ;*************************************************** ;CTC GIAI MA TU SO BCD NEN SANG MA 7 DOAN (1 SO BCD NEN). ;*************************************************** ;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB) ;GIA TRI GIAI MA: 0 -> 9 ;*************************************************** ;NAME: BCD2TO7SEG. ;INPUT: R7 = SO BCD NEN (CHUC - DON VI). ;OUTPUT: 61H,60H = MA 7 DOAN (CHUC - DON VI). ;*************************************************** BCD2TO7SEG: 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,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 60H,A ;CAT BCD HANG DON VI 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 61H,A ;CAT BCD HANG CHUC 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: (xem thêm trong phần hướng dẫn và phần bài tập của Bài 4) 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 4: Chương trình điều khiển hiển thị đếm số BCD từ 00 lên 99 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ý. 101 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. ;*************************************************** ;CHUONG TRINH DIEU KHIEN HIEN THI 00 -> 99 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,#00H ;SO HIEN THI BAN DAU MP1: LCALL BCD2TO7SEG ;GIAI MA BCD SANG MA 7 DOAN LCALL DELAY_SCAN ;DELAY VA QUET HIEN THI MOV A,R7 ;TANG GIA TRI ADD A,#1 DA A MOV R7,A CJNE A,#00,MP1 ;KIEM TRA GIA TRI HIEN THI > 99 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 POP 01H POP 00H RET ;**************************************************** DELAY_SCAN: ;CHUONG TRINH CON TAO THOI GIAN TRE 250MS CO GOI CTC QUET HIEN THI PUSH 00H 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 4: Chương trình điều khiển hiển thị đếm số BCD từ 00 lên 99 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ý. 102 Biên soạn: Phạm Quang Trí 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 DISP7SEGMUL2 ;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 (1 SO BCD NEN). ;*************************************************** ;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB) ;GIA TRI GIAI MA: 0 -> 9 ;*************************************************** ;NAME: BCD2TO7SEG. ;INPUT: R7 = SO BCD NEN (CHUC - DON VI). ;OUTPUT: 61H,60H = MA 7 DOAN (CHUC - DON VI). ;*************************************************** BCD2TO7SEG: 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,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 60H,A ;CAT BCD HANG DON VI 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 61H,A ;CAT BCD HANG CHUC 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ố 34 trên hai LED. • Bài 2: Hãy viết chương trình điều khiển hiển thị đếm số BCD từ 00 lên 59 trên hai LED. • Bài 3: Hãy viết chương trình điều khiển hiển thị đếm số BCD từ 59 xuống 00 trên hai LED. • Bài 4: Hãy viết chương trình điều khiển hiển thị đếm số BCD từ 00 lên 23 trên hai LED. • Bài 5: Hãy viết chương trình điều khiển hiển thị đếm số HEX từ 00 lên FF trên hai LED. • Bài 6: Hãy viết chương trình điều khiển hiển thị đếm số HEX từ FF xuống 00 trên hai LED. • Bài 7: Hãy viết chương trình điều khiển hiển thị đếm số HEX từ 00 lên AB trên hai LED. • Bài 8: 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 9: 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 5: Chương trình điều khiển hiển thị số 1234 trên bốn LED (LED7, LED6, LED5 và LED4 được nối với Port0; tín hiệu SEL7, SEL6, SEL5 và SEL4 lần lượt được nối với P1.0, P1.1, P1.2 và P1.3). Giáo trình thực hành vi xử lý. 103 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. ;*************************************************** ;CHUONG TRINH DIEU KHIEN HIEN THI SO 1234 TREN LED 7 DOAN ;*************************************************** ;KET NOI: 4 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,#99H ;HIEN THI SO 4 LCALL DELAYLED MOV P1,#0FDH ;CHO PHEP LED 6 SANG MOV P0,#0B0H ;HIEN THI SO 3 LCALL DELAYLED MOV P1,#0FBH ;CHO PHEP LED 5 SANG MOV P0,#0A4H ;HIEN THI SO 2 LCALL DELAYLED MOV P1,#0F7H ;CHO PHEP LED 4 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 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 6) 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 6: Chương trình điều khiển hiển thị đếm số BCD từ 0000 lên 9999 trên bốn LED (LED7, LED6, LED5 và LED4 được nối với Port0; tín hiệu SEL7, SEL6, SEL5 và SEL4 lần lượt được nối với P1.0, P1.1, P1.2 và P1.3). Giáo trình thực hành vi xử lý. 104 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. ;*************************************************** ;CHUONG TRINH DIEU KHIEN HIEN THI 0000 -> 9999 TREN LED 7 DOAN ;*************************************************** ;KET NOI: 4 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 MP1: LCALL BCD4TO7SEG ;GIAI MA BCD SANG MA 7 DOAN LCALL DELAY_SCAN ;DELAY VA QUET HIEN THI MOV A,R6 ;TANG GIA TRI (CHUC - DON VI) ADD A,#1 DA A MOV R6,A CJNE A,#0,MP1 ;KIEM TRA GIA TRI HIEN THI > 99 (CHUC - DON VI) MOV A,R7 ;TANG GIA TRI (NGAN - TRAM) ADD A,#1 DA A MOV R7,A CJNE A,#0,MP1 ;KIEM TRA GIA TRI HIEN THI > 99 (NGAN - TRAM) SJMP MAIN ;*************************************************** ;CTC QUET HIEN THI LED 7 DOAN (4 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: DISP7SEGMUL4. ;INPUT: 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). ;*************************************************** DISP7SEGMUL4: PUSH ACC ;CAT TAM THOI GIA TRI CAC THANH GHI PUSH 00H MOV A,#0F7H ;MA QUET MOV R0,#63H ;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,#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 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 6: Chương trình điều khiển hiển thị đếm số BCD từ 0000 lên 9999 trên bốn LED (LED7, LED6, LED5 và LED4 được nối với Port0; tín hiệu SEL7, SEL6, SEL5 và SEL4 lần lượt được nối với P1.0, P1.1, P1.2 và P1.3). Giáo trình thực hành vi xử lý. 105 Biên soạn: Phạm Quang Trí 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 DISP7SEGMUL4 ;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 (2 SO BCD NEN). ;*************************************************** ;LED: ANODE CHUNG, 7 DOAN: DP (MSB) -> A (LSB) ;GIA TRI GIAI MA: 0 -> 9 ;*************************************************** ;NAME: BCD4TO7SEG. ;INPUT: R7 = SO BCD NEN (NGAN - TRAM). ; R6 = SO BCD NEN (CHUC - DON VI). ;OUTPUT: 63H,62H = MA 7 DOAN (NGAN - TRAM). ; 61H,60H = MA 7 DOAN (CHUC - DON VI). ;*************************************************** BCD4TO7SEG: 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,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 60H,A ;CAT BCD HANG DON VI 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 61H,A ;CAT BCD HANG CHUC 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 62H,A ;CAT BCD HANG TRAM 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 63H,A ;CAT BCD HANG NGAN VAO O NHO POP ACC ;PHUC HOI GIA TRI CHO CAC THANH GHI POP DPL 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 6: Chương trình điều khiển hiển thị đếm số BCD từ 0000 lên 9999 trên bốn LED (LED7, LED6, LED5 và LED4 được nối với Port0; tín hiệu SEL7, SEL6, SEL5 và SEL4 lần lượt được nối với P1.0, P1.1, P1.2 và P1.3). Giáo trình thực hành vi xử lý. 106 Biên soạn: Phạm Quang Trí 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ố 5678 trên bốn LED (LED4, LED5, LED6 và LED7 được nối với Port0; tín hiệu SEL4, SEL5, SEL6 và SEL7 lần lượt được nối với P1.0, P1.1, P1.2 và P1.3). • Bài 2: Hãy viết chương trình điều khiển hiển thị đếm số BCD từ 0000 lên 9999 trên bốn LED (LED4, LED5, LED6 và LED7 được nối với Port0; tín hiệu SEL4, SEL5, SEL6 và SEL7 lần lượt được nối với P1.0, P1.1, P1.2 và P1.3). • Bài 3: Hãy viết chương trình điều khiển hiển thị đếm số BCD từ 9999 xuống 0000 trên bốn LED (LED4, LED5, LED6 và LED7 được nối với Port0; tín hiệu SEL4, SEL5, SEL6 và SEL7 lần lượt được nối với P1.0, P1.1, P1.2 và P1.3). • Bài 4: Hãy viết chương trình điều khiển hiển thị đếm số BCD từ 0000 lên 1234 trên bốn LED (LED4, LED5, LED6 và LED7 được nối với Port0; tín hiệu SEL4, SEL5, SEL6 và SEL7 lần lượt được nối với P1.0, P1.1, P1.2 và P1.3). • Bài 5: Hãy viết chương trình điều khiển hiển thị đếm số HEX từ 0000 lên FFFF trên bốn LED (LED4, LED5, LED6 và LED7 được nối với Port0; tín hiệu SEL4, SEL5, SEL6 và SEL7 lần lượt được nối với P1.0, P1.1, P1.2 và P1.3). • Bài 6: Hãy viết chương trình điều khiển hiển thị đếm số HEX từ FFFF xuống 0000 trên bốn LED (LED4, LED5, LED6 và LED7 được nối với Port0; tín hiệu SEL4, SEL5, SEL6 và SEL7 lần lượt được nối với P1.0, P1.1, P1.2 và P1.3). • Bài 7: Hãy viết chương trình điều khiển hiển thị đếm số HEX từ 0000 lên ABCD trên bốn LED (LED4, LED5, LED6 và LED7 được nối với Port0; tín hiệu SEL4, SEL5, SEL6 và SEL7 lần lượt được nối với P1.0, P1.1, P1.2 và P1.3). • Bài 8: 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 9: 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 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ý. 107 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 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. PORT 0PORT 1PORT 3PORT 2 PORT 1PORT 3 40 PINS 20 PINS 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,#80H ;HIEN THI SO 8 LCALL DELAYLED MOV P1,#0FDH ;CHO PHEP LED 6 SANG MOV P0,#0F8H ;HIEN THI SO 7 LCALL DELAYLED MOV P1,#0FBH ;CHO PHEP LED 5 SANG MOV P0,#82H ;HIEN THI SO 6 LCALL DELAYLED MOV P1,#0F7H ;CHO PHEP LED 4 SANG MOV P0,#92H ;HIEN THI SO 5 LCALL DELAYLED MOV P1,#0EFH ;CHO PHEP LED 3 SANG MOV P0,#99H ;HIEN THI SO 4 LCALL DELAYLED MOV P1,#0DFH ;CHO PHEP LED 2 SANG MOV P0,#0B0H ;HIEN THI SO 3 LCALL DELAYLED MOV P1,#0BFH ;CHO PHEP LED 1 SANG MOV P0,#0A4H ;HIEN THI SO 2 LCALL DELAYLED MOV P1,#07FH ;CHO PHEP LED 0 SANG MOV P0,#0F9H ;HIEN THI SO 1 LCALL DELAYLED SJMP MAIN ;**************************************************** 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 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ý. 108 Biên soạn: Phạm Quang Trí 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) . DOAN (NGAN - TRAM). ; 61H,60H = MA 7 DOAN (CHUC - DON VI) . ;OUTPUT: P0 = 7 DOAN LED - DP (MSB) -& gt; A (LSB). ; P2 = CHON LED - LEFT (MSD) -& gt; RIGHT (LSD). ;***************************************************. MOV A,R6 ;TANG GIA TRI (CHUC - DON VI) ADD A,#1 DA A MOV R6,A CJNE A,#0,MP1 ;KIEM TRA GIA TRI HIEN THI > 99 (CHUC - DON VI) MOV A,R7 ;TANG GIA TRI (NGAN - TRAM) ADD A,#1 DA A . (MSB) -& gt; A (LSB) ;GIA TRI GIAI MA: 0 -& gt; 9 ;*************************************************** ;NAME: BCD4TO7SEG. ;INPUT: R7 = SO BCD NEN (NGAN - TRAM). ; R6 = SO BCD NEN (CHUC - DON VI) .