GIÁO TRÌNH QUẢNG CÁO LED – BÀI I Tìm hiểu viết số hiệu ứng viền Việc điều khiển viền không phức tạp, quan trọng thời gian delay để nhìn thấy hiệu ứng viền, hiệu ứng chữ hiệu ứng viền phụ thuộc vào hiệu ứng chữ chạy nhanh hiệu ứng viền khó nhìn thấy, ngược lại Ở có phương pháp lập trình hiệu ứng viền : - Dùng lênh SETB CLR đơn giản: - Dùng lệnh MOV kết hợp Viết hiệu ứng viền với lệnh SETB CLR Trước hết giới thiệu số hiệu ứng viền lập trình bản: www.echipkool.com – Đình Duy - UNETI Page GIÁO TRÌNH QUẢNG CÁO LED – BÀI Nhìn vào hình bên so sánh với hình ảnh bảng led phía Ta thấy nhóm led bên gồm màu Đỏ Xanh dương Xanh lục tương ứng với chân a b c màu tùy theo người thiết kế bảng led dùng led cho màu led cho màu ( theo bảng nhỏ to) Việc lập trình việc điều khiển cho chân Led a b c sáng đổi chỗ luân phiên: VD: - Hiệu ứng viền chạy qua trái tốc độ chậm: CLR P2.0 SETB P2.1 SETB P2.2 CALL DELAY_SLOW SETB P2.0 CLR P2.1 SETB P2.2 CALL DELAY_SLOW SETB P2.0 SETB P2.1 CLR P2.2 CALL DELAY_SLOW - Hiệu ứng led viền chạy qua phải tốc độ nhanh: SETB P2.0 SETB P2.1 CLR P2.2 CALL DELAY_FAST SETB P2.0 CLR P2.1 SETB P2.2 CALL DELAY_FAST CLR P2.0 SETB P2.1 SETB P2.2 CALL DELAY_FAST - Hiệu ứng nhấp nháy viền tốc độ bình thường: SETB P2.0 SETB P2.1 SETB P2.2 CALL DELAY CLR P2.0 CLR P2.1 CLR P2.2 CALL DELAY www.echipkool.com – Đình Duy - UNETI Page GIÁO TRÌNH QUẢNG CÁO LED – BÀI Viết chương trình hiệu ứng viền với lệnh MOV ( Hay dùng đỡ tốn nhớ đỡ ảnh hướng hiệu ứng led ) VD: Hiệu ứng viền nhấp nháy MOV P2,# 00000000B CALL DELAY MOV P2,#11111111B CALL DELAY - Hiệu ứng viền chạy đuổi sang phải tốc độ bình thường: MOV P2,#00000100B CALL DELAY MOV P2,#00000010B CALL DELAY MOV P2,#00000001B CALL DELAY - Hiệu ứng viền chạy đuổi sáng phải tốc độ nhanh: MOV P2,#00000100B CALL DELAY_FAST MOV P2,#00000010B CALL DELAY_FAST MOV P2,#00000001B CALL DELAY_FAST - Hiệu ứng viền chạy đuổi sáng phải tốc độ chậm: MOV P2,#00000100B CALL DELAY_SLOW MOV P2,#00000010B CALL DELAY_SLOW MOV P2,#00000001B CALL DELAY_SLOW - Hiệu ứng viền chạy đuổi sáng trái tốc độ chậm: MOV P2,#00000001B CALL DELAY_SLOW MOV P2,#00000010B CALL DELAY_SLOW MOV P2,#00000100B CALL DELAY_SLOW => Tóm lại: để có hiệu ứng viền đẹp, ta kết hợp nhiều hiệu ứng lại với nhau( Lúc viền chạy sang trái – lúc chạy sang phải) Quan trọng chương trình delay phù hợp để có hiệu ứng đẹp sau muốn viền nhanh chậm ta việc thay đổi giá trị Delay www.echipkool.com – Đình Duy - UNETI Page GIÁO TRÌNH QUẢNG CÁO LED – BÀI Viết chương trình delay dùng chung ghi R0 R1 R2 không trùng vào biến chương trình lặp lại hiệu ứng DELAY: MOV R0,#150 LOOP: MOV R1,#200 LOOP1: NOP DJNZ R1,LOOP1 DJNZ R0,LOOP RET DELAY_SLOW: MOV R0,#250 LOOP: MOV R1,#255 LOOP1: NOP NOP NOP NOP DJNZ R1,LOOP1 DJNZ R0,LOOP RET DELAY_FAST: MOV R0,#50 LOOP: MOV R1,#100 LOOP1: NOP DJNZ R1,LOOP1 DJNZ R0,LOOP RET II Viết chương trình hiệu ứng chữ, kết hợp chương trình hiệu ứng viền www.echipkool.com – Đình Duy - UNETI Page GIÁO TRÌNH QUẢNG CÁO LED – BÀI Theo sơ đồ nguyên lý mạch mô trên, bình thường muốn dòng chữ CHIPKOOL sáng chạy đuổi từ trái sáng phải viết là: CHIPKOOL1: MOV P2,#00000001B CALL DELAY MOV P2,#00000010B CALL DELAY MOV P2,#00000100B CALL DELAY MOV P2,#00001000B CALL DELAY MOV P2,#00010000B CALL DELAY MOV P2,#00100000B CALL DELAY MOV P2,#01000000B CALL DELAY MOV P2,#10000000B CALL DELAY RET www.echipkool.com – Đình Duy - UNETI Page GIÁO TRÌNH QUẢNG CÁO LED – BÀI Nếu cho viền chạy phải thay dòng CALL DELAY thành chương trình hiệu ứng viền sau: CHIPKOOL1: MOV P2,#00000001B CALL VIEN1 MOV P2,#00000010B CALL VIEN1 MOV P2,#00000100B CALL VIEN1 MOV P2,#00001000B CALL VIEN1 MOV P2,#00010000B CALL VIEN1 MOV P2,#00100000B CALL VIEN1 MOV P2,#01000000B CALL VIEN1 MOV P2,#10000000B CALL VIEN1 RET VIEN1:// Hieu ung sang duoi sang phai toc binh thuong MOV P3,#00000100B CALL DELAY MOV P3,#00000010B CALL DELAY MOV P3,#00000001B CALL DELAY RET DELAY:// Chuong trinh delay toc binh thuong MOV R0,#150 LOOP: MOV R1,#200 LOOP1: NOP DJNZ R1,LOOP1 DJNZ R0,LOOP RET Tại lại phải làm vậy, chương trình viền chứa delay rồi, ta thêm CALL VIEN1 sau lệnh hiệu ứng chữ CHIPKOOL đồng thời có hiệu ứng viền có www.echipkool.com – Đình Duy - UNETI Page GIÁO TRÌNH QUẢNG CÁO LED – BÀI delay nằm trong, muốn viền nhanh chậm hay chữ nhanh chậm ta việc thay đổi giá trị chương trình delay xong Giờ viết thêm hiệu ứng chữ CHIPKOOL sáng dần từ phải sang trái chạy hiệu ứng viền tổng hợp delay tốc độ nhanh CHIPKOOL2: MOV P2,#00000001B CALL VIEN1_2 MOV P2,#00000010B CALL VIEN1_2 MOV P2,#00000100B CALL VIEN1_2 MOV P2,#00001000B CALL VIEN1_2 MOV P2,#00010000B CALL VIEN1_2 MOV P2,#00100000B CALL VIEN1_2 MOV P2,#01000000B CALL VIEN1_2 MOV P2,#10000000B CALL VIEN1_2 RET VIEN1_2:// Hieu ung sang duoi sang phai toc binh thuong MOV P3,#00000100B CALL DELAY_FAST MOV P3,#00000010B CALL DELAY_FAST MOV P3,#00000001B CALL DELAY_FAST MOV P3,#00000001B CALL DELAY_FAST MOV P3,#00000010B CALL DELAY_FAST MOV P3,#00000100B CALL DELAY_FAST RET DELAY_FAST: MOV R0,#50 LOOP: www.echipkool.com – Đình Duy - UNETI Page GIÁO TRÌNH QUẢNG CÁO LED – BÀI MOV R1,#150 LOOP1: NOP DJNZ R1,LOOP1 DJNZ R0,LOOP RET Tương tự cho hiêu ứng khác, lại quay lại Mạch mô ta thấy dòng chữ QUANG CAO nối PORT Hiệu ứng dòng chữ viết chạy hiệu ứng sáng dần, sáng nhấp nháy, đuổi,… VD: Hiệu ứng sáng dần từ PORT nhấp nháy PORT CHIPKOOL3: MOV P2,#00000000B// chipkool MOV P0,#00000000B// quang cao CALL VIEN1 MOV P2,#00011000B MOV P0,#11111111B CALL VIEN1 MOV P2,#00111100B MOV P0,#00000000B CALL VIEN1 MOV P2,#01111110B MOV P0,#11111111B CALL VIEN1 MOV P2,#11111111B MOV P0,#00000000B CALL VIEN1 MOV P0,#11111111B RET VIEN1:// Hieu ung sang duoi sang phai toc binh thuong MOV P3,#00000100B CALL DELAY MOV P3,#00000010B CALL DELAY MOV P3,#00000001B CALL DELAY RET DELAY:// Chuong trinh delay toc binh thuong MOV R0,#150 www.echipkool.com – Đình Duy - UNETI Page GIÁO TRÌNH QUẢNG CÁO LED – BÀI LOOP: MOV R1,#200 LOOP1: NOP DJNZ R1,LOOP1 DJNZ R0,LOOP RET Nhưng làm thực tế không mắc tốn chân Chip (IC) hiệu ứng cho dòng chữ thường chớp chớp đẹp ta việc nối dòng chữ quảng cáo thành chân VĐK VD; Nối dòng chữ Quảng cáo mắc Mô led màu xanh Lá chân P3.3 Khi lập trình ta việc chỉnh chương trình viền ok: CHIPKOOL4: MOV P2,#00000001B CALL VIEN1 MOV P2,#00000010B CALL VIEN1 MOV P2,#00000100B CALL VIEN1 MOV P2,#00001000B CALL VIEN1 MOV P2,#00010000B CALL VIEN1 MOV P2,#00100000B CALL VIEN1 MOV P2,#01000000B CALL VIEN1 MOV P2,#10000000B CALL VIEN1 RET VIEN1_QC:// Vien se tao cho dong chu Quang Cao mac tai chan P3.3 nhap nhay MOV P3,#00001100B CALL DELAY MOV P3,#00000010B CALL DELAY MOV P3,#00001001B CALL DELAY RET www.echipkool.com – Đình Duy - UNETI Page GIÁO TRÌNH QUẢNG CÁO LED – BÀI VIEN1_QC1:// Vien se tao cho dong chu Quang Cao mac tai chan P3.3 sang MOV P3,#00001100B CALL DELAY MOV P3,#00001010B CALL DELAY MOV P3,#00001001B CALL DELAY RET DELAY:// Chuong trinh delay toc binh thuong MOV R0,#150 LOOP: MOV R1,#200 LOOP1: NOP DJNZ R1,LOOP1 DJNZ R0,LOOP RET BÀI TẬP YÊU CẦU: Lập trình cho dòng chữ QUẢNG CÁO CHIPKOOL nhấp nháy đổi chỗ luân phiên lần – Viền chạy tốc độ bình thường sang phải Lập trình dòng chữ QUẢNG CÁO sáng ( nghĩa bật sáng ) Dòng chữ CHIPKOOL sáng dần từ trái qua phải – Viền chạy tốc độ nhanh Lập trình dòng Chữ QUẢNG CÁO nhấp nháy sau sáng cho dòng chữ CHIPKOOL nhấp nháy sáng – viền chạy tốc độ bình thường sang trái Lập trình dòng chữ QUẢNG CÁO sáng dần từ trái qua phải dòng chữ CHIPKOOL sáng dần từ phải qua trái – viền chạy tốc độ chậm Lập trình dòng chữ QUẢNG CÁO sáng dồn từ phải qua trái, dòng chữ CHIPKOOL sáng dồn từ trái qua phải – viền tốc độ nhanh Lập trình dòng chữ QUẢNG CÁO sáng đứng yên, dòng chữ CHIPKOOL sáng dần từ ra, sau sáng dần từ bên vào, sau nhấp nháy Lập trình dòng chữ QUẢNG CÁO nhấp nháy, dòng chữ CHIPKOOL sáng dồn từ bên vào giữa, nhấp nháy Lập trình dòng chữ QUẢNG CÁO sáng đứng yên, dòng chữ CHIPKOOL sáng đuổi qua lại lần Lập trình dòng chữ QUẢNG CÁO sáng đứng yên, dòng chữ CHIPKOOL sáng led dồn bên 10 Lập trình dòng chữ QUẢNG CÁO nhấp nháy, dòng chữ CHIKOOL sáng tráo đồi chữ CHIP chữ KOOL www.echipkool.com – Đình Duy - UNETI Page 10 GIÁO TRÌNH QUẢNG CÁO LED – BÀI BÀI TẬP THAM KHẢO: $mod51 ORG 0000H MAIN: CALL CHIPKOOL1 CALL CHIPKOOL2 CALL CHIPKOOL3 CALL CHIPKOOL4 JMP MAIN CHIPKOOL1: MOV P2,#00000001B CALL VIEN1 MOV P2,#00000010B CALL VIEN1 MOV P2,#00000100B CALL VIEN1 MOV P2,#00001000B CALL VIEN1 MOV P2,#00010000B CALL VIEN1 MOV P2,#00100000B CALL VIEN1 MOV P2,#01000000B CALL VIEN1 MOV P2,#10000000B CALL VIEN1 RET CHIPKOOL2: MOV P2,#00000001B CALL VIEN1_2 MOV P2,#00000010B CALL VIEN1_2 MOV P2,#00000100B CALL VIEN1_2 MOV P2,#00001000B CALL VIEN1_2 MOV P2,#00010000B CALL VIEN1_2 MOV P2,#00100000B CALL VIEN1_2 www.echipkool.com – Đình Duy - UNETI Page 11 GIÁO TRÌNH QUẢNG CÁO LED – BÀI MOV P2,#01000000B CALL VIEN1_2 MOV P2,#10000000B CALL VIEN1_2 RET CHIPKOOL3: MOV P2,#00000000B// chipkool MOV P0,#00000000B// quang cao CALL VIEN1 MOV P2,#00011000B MOV P0,#11111111B CALL VIEN1 MOV P2,#00111100B MOV P0,#00000000B CALL VIEN1 MOV P2,#01111110B MOV P0,#11111111B CALL VIEN1 MOV P2,#11111111B MOV P0,#00000000B CALL VIEN1 MOV P0,#11111111B RET CHIPKOOL4: MOV P2,#00000001B CALL VIEN1_QC MOV P2,#00000010B CALL VIEN1_QC MOV P2,#00000100B CALL VIEN1_QC MOV P2,#00001000B CALL VIEN1_QC MOV P2,#00010000B CALL VIEN1_QC MOV P2,#00100000B CALL VIEN1_QC MOV P2,#01000000B CALL VIEN1_QC MOV P2,#10000000B www.echipkool.com – Đình Duy - UNETI Page 12 GIÁO TRÌNH QUẢNG CÁO LED – BÀI CALL VIEN1_QC RET VIEN1:// Hieu ung sang duoi sang phai toc binh thuong MOV P3,#00000100B CALL DELAY MOV P3,#00000010B CALL DELAY MOV P3,#00000001B CALL DELAY RET VIEN1_2:// Hieu ung sang duoi sang phai toc binh thuong MOV P3,#00000100B CALL DELAY_FAST MOV P3,#00000010B CALL DELAY_FAST MOV P3,#00000001B CALL DELAY_FAST MOV P3,#00000001B CALL DELAY_FAST MOV P3,#00000010B CALL DELAY_FAST MOV P3,#00000100B CALL DELAY_FAST RET VIEN1_QC:// Hieu ung sang duoi sang phai toc binh thuong MOV P3,#00001100B CALL DELAY MOV P3,#00000010B CALL DELAY MOV P3,#00001001B CALL DELAY RET DELAY:// Chuong trinh delay toc binh thuong MOV R0,#150 LOOP: MOV R1,#200 LOOP1: www.echipkool.com – Đình Duy - UNETI Page 13 GIÁO TRÌNH QUẢNG CÁO LED – BÀI NOP DJNZ R1,LOOP1 DJNZ R0,LOOP RET DELAY_FAST: MOV R0,#50 LOOP2: MOV R1,#150 LOOP3: NOP DJNZ R1,LOOP3 DJNZ R0,LOOP2 RET END www.echipkool.com – Đình Duy - UNETI Page 14 [...]... CALL VIEN1 RET CHIPKOOL2: MOV P2,#00000001B CALL VIEN1 _2 MOV P2,#00000010B CALL VIEN1 _2 MOV P2,#00000100B CALL VIEN1 _2 MOV P2,#00001000B CALL VIEN1 _2 MOV P2,#00010000B CALL VIEN1 _2 MOV P2,#00100000B CALL VIEN1 _2 www.echipkool.com – Đình Duy - UNETI Page 11 GIÁO TRÌNH QUẢNG CÁO LED – BÀI 5 MOV P2,#01000000B CALL VIEN1 _2 MOV P2,#10000000B CALL VIEN1 _2 RET CHIPKOOL3: MOV P2,#00000000B// chipkool MOV P0,#00000000B//...GIÁO TRÌNH QUẢNG CÁO LED – BÀI 5 BÀI TẬP THAM KHẢO: $mod51 ORG 0000H MAIN: CALL CHIPKOOL1 CALL CHIPKOOL2 CALL CHIPKOOL3 CALL CHIPKOOL4 JMP MAIN CHIPKOOL1: MOV P2,#00000001B CALL VIEN1 MOV P2,#00000010B CALL VIEN1 MOV P2,#00000100B CALL VIEN1 MOV P2,#00001000B CALL VIEN1 MOV P2,#00010000B CALL VIEN1 MOV P2,#00100000B CALL VIEN1 MOV P2,#01000000B CALL VIEN1 MOV P2,#10000000B CALL VIEN1 RET CHIPKOOL2: MOV... DELAY MOV P3,#00001001B CALL DELAY RET DELAY:// Chuong trinh delay toc do binh thuong MOV R0,# 150 LOOP: MOV R1, #20 0 LOOP1: www.echipkool.com – Đình Duy - UNETI Page 13 GIÁO TRÌNH QUẢNG CÁO LED – BÀI 5 NOP DJNZ R1,LOOP1 DJNZ R0,LOOP RET DELAY_FAST: MOV R0, #50 LOOP2: MOV R1,# 150 LOOP3: NOP DJNZ R1,LOOP3 DJNZ R0,LOOP2 RET END www.echipkool.com – Đình Duy - UNETI Page 14 ... P2,#00010000B CALL VIEN1_QC MOV P2,#00100000B CALL VIEN1_QC MOV P2,#01000000B CALL VIEN1_QC MOV P2,#10000000B www.echipkool.com – Đình Duy - UNETI Page 12 GIÁO TRÌNH QUẢNG CÁO LED – BÀI 5 CALL VIEN1_QC RET VIEN1:// Hieu ung sang duoi sang phai toc do binh thuong MOV P3,#00000100B CALL DELAY MOV P3,#00000010B CALL DELAY MOV P3,#00000001B CALL DELAY RET VIEN1 _2: // Hieu ung sang duoi sang phai toc do binh thuong... VIEN1 MOV P2,#00011000B MOV P0,#11111111B CALL VIEN1 MOV P2,#00111100B MOV P0,#00000000B CALL VIEN1 MOV P2,#01111110B MOV P0,#11111111B CALL VIEN1 MOV P2,#11111111B MOV P0,#00000000B CALL VIEN1 MOV P0,#11111111B RET CHIPKOOL4: MOV P2,#00000001B CALL VIEN1_QC MOV P2,#00000010B CALL VIEN1_QC MOV P2,#00000100B CALL VIEN1_QC MOV P2,#00001000B CALL VIEN1_QC MOV P2,#00010000B CALL VIEN1_QC MOV P2,#00100000B ... DJNZ R1,LOOP1 DJNZ R0,LOOP RET DELAY_SLOW: MOV R0,# 250 LOOP: MOV R1,# 255 LOOP1: NOP NOP NOP NOP DJNZ R1,LOOP1 DJNZ R0,LOOP RET DELAY_FAST: MOV R0, #50 LOOP: MOV R1,#100 LOOP1: NOP DJNZ R1,LOOP1 DJNZ... dong chu Quang Cao mac tai chan P3.3 sang MOV P3,#00001100B CALL DELAY MOV P3,#00001010B CALL DELAY MOV P3,#00001001B CALL DELAY RET DELAY:// Chuong trinh delay toc binh thuong MOV R0,# 150 LOOP:... P3,#00000010B CALL DELAY MOV P3,#00000001B CALL DELAY RET DELAY:// Chuong trinh delay toc binh thuong MOV R0,# 150 www.echipkool.com – Đình Duy - UNETI Page GIÁO TRÌNH QUẢNG CÁO LED – BÀI LOOP: MOV R1,#200