Em đang gặp khó khăn trong trong vấn đề nay, nhờ các cao thủ chỉ giáo... Em đang làm một hiển thị chữ trên ma trận LED 8x8, và dưới đây là chương trình khiển thi chữ BK50 từ phải qua trai, nhưng vấn đề đặt ra là cần phải có một nút điều chỉnh và viết lại chương trình với yêu cầu mới. Bấm vào nút thì chữ BK sẽ chạy theo hướng khác (VD: tù trên xuống dưới, từ dưới lên trê, cuốn ngang màn hình, nói chung thẻ hiện tất cả các trạng thái của một cái biển quảng cáo.)
Trang 1Lập trình cho ma trận LED 8x8 2 màu xanh đỏ
Em đang gặp khó khăn trong trong vấn đề nay, nhờ các cao thủ chỉ giáo
Em đang làm một hiển thị chữ trên ma trận LED 8x8, và dưới đây là chương trình khiển thi
chữ BK50 từ phải qua trai, nhưng vấn đề đặt ra là cần phải có một nút điều chỉnh và viết lại
chương trình với yêu cầu mới Bấm vào nút thì chữ BK sẽ chạy theo hướng khác (VD: tù
trên xuống dưới, từ dưới lên trê, cuốn ngang màn hình, nói chung thẻ hiện tất cả các trạng thái của
một cái biển quảng cáo.)
;******************************************************************************
; Chuong trinh hien thi chu BK bang led 2 mau xanh do
; p3 dieu khien quet, p2 dieu khien cot xanh, p1 dieu khien cot do
;******************************************************************************
ORG 00H
MAIN: MOV R3,#00H ;Bat dau chuong trinh voi dia chi 00h
MOV R2,#01H ;chuoi bit quet
MOV DPTR,#MANG ;Lay dia chi bat dau doc bo nho la tu bang
;*************************************
CHUB: MOV R5,#50 ;Hien thi chu D 50 lan
DD1: MOV R3,#00H ;Bien dem so cot cua mot ki tu
DDD1: MOV A,R3 ;Xoa thanh ghi da nang
MOVC A,@A+DPTR ;Lay gia tri tai vi tri con tro
MOV 90h,A ;p1 = A
MOV 0b0h,R2 ;p3 = r2
ACALL DELAY1 ;Tre 250x5 chu ky may
MOV 0b0h,#00H ;p3 = 00 xoa quet
ACALL DELAY2 ;Tre 4 chu ky may
MOV A,R2
INC R3 ;Tang bien dem ky tu
RL A ;Quay chuoi quet
MOV R2,A
CJNE R3,#08H,DDD1 ;neu r3 = 8 thi thoi
DJNZ R5,DD1 ;r5 = 0 thi thoi
;************************************
CHUK: MOV R5,#50 ;Bat dau bien dem lap la 50
xx1: MOV R3,#08H ;Bien dem ky tu bat dau la 8
xxx1: MOV A,R3 ;Xao thanh ghi da nang A
MOVC A,@A+DPTR ;Lay gia tri cua ngan nho vao A
MOV 0a0h,A ;p2 = a
MOV 0b0h,R2 ;p3 = r2
ACALL DELAY1 ;Goi tre 250X5 chu ky may
MOV 0b0h,#00H ;Xao cong quet
ACALL DELAY2 ;Goi tre 4 chu ky may
MOV A,R2
INC R3 ;Tang bien dem ky tu
RL A ;Quay tin hieu quet
MOV R2,A
CJNE R3,#16,xxx1 ;neu r3 = 16 thi thoi
DJNZ R5,xx1 ;neu r5 = 0 thi thoi
;*************************************
CHU5: MOV R5,#50 ;So luong lan lap la 50
DD2: MOV R3,#16 ;Bien dem ky tu bat dau la 16
DDD2: MOV A,R3 ;Xao A
MOVC A,@A+DPTR
MOV 090h,A ;p1 = a
MOV 0b0h,R2 ;p3 = r2
ACALL DELAY1
Trang 2MOV 0b0h,#00H ;Xoa xung quet
ACALL DELAY2
MOV A,R2
INC R3
RL A
MOV R2,A
CJNE R3,#24,DDD2 ;Neu bien dem r3 = 24 thi thoi
DJNZ R5,DD2
RET
;************************************
CHU0: MOV R5,#50 ;Bat dau bien dem lap la 50
xx2: MOV R3,#24H ;Bien dem ky tu bat dau la 8
xxx2: MOV A,R3 ;Xao thanh ghi da nang A
MOVC A,@A+DPTR ;Lay gia tri cua ngan nho vao A
MOV 0a0h,A ;p2 = a
MOV 0b0h,R2 ;p3 = r2
ACALL DELAY1 ;Goi tre 250X5 chu ky may
MOV 0b0h,#00H ;Xao cong quet
ACALL DELAY2 ;Goi tre 4 chu ky may
MOV A,R2
INC R3 ;Tang bien dem ky tu
RL A ;Quay tin hieu quet
MOV R2,A
CJNE R3,#32,xxx2 ;neu r3 = 32 thi thoi
DJNZ R5,xx2 ;neu r5 = 0 thi thoi
SJMP main
;***********************************
DELAY1: MOV R6,#5
LAP1: MOV R7,#250
DJNZ R7,$
DJNZ R6,LAP1
RET
;************************************
DELAY2: MOV R7,#4
DJNZ R7,$
RET
;********************************************************
org 0800h
MANG: DB 0ffh,41h,91h,0aah,44h,00h,00h,00h
DB 0ffh,10h,28h,44h,00h,00h,00h,00h
DB 0efh,91h,91h,1eh,00h,00h,00h,00h
DB 3ch,42h,81h,81h,42h,3ch,00h,00h
END
Em định post sơ đồ nguyên lý lên cho các bác tham khảo, đóng góp ý khiến
:Rất mong đựoc chỉ giáo
-
nguyenly2.jpg (85145 bytes) (Số lần tải về: 1416) (Đây là sơ đồ nguyên lí của nó )
Trang 5Re: Lập trình cho ma trận LED 8x8 2 màu xanh đỏ
chao cac ban day la chuong trinh toi lam roi, no chay ngon, moi toi cai hình khong duoc dep
$mod51
ORG 00H
MAIN: MOV R3,#00H
MOV R2,#10000000B
CHUBK: MOV DPTR,#BK
LCALL CHU1
JNB P0.4,CHU05
SJMP CHUBK
CHU05: LCALL DELAY1
MOV DPTR,#S50
LCALL CHU1
JNB P0.4,HINHT
SJMP CHU05
HINHT: MOV DPTR,#HINH
LCALL CHU1
JNB P0.4,CHUBK
SJMP HINHT
;*************************************
CHU1: MOV R5,#50
CHU11: MOV R3,#00H
CHU111: MOV A,R3
MOVC A,@A+DPTR
MOV P3,A
MOV P1,R2
LCALL DELAY1
MOV P1,#00H
LCALL DELAY2
MOV A,R2
INC R3
RR A
MOV R2,A
CJNE R3,#08H,CHU111
DJNZ R5,CHU11
;************************************
CHU2: MOV R5,#50
CHU21: MOV R3,#02H
CHU211: MOV A,R3
MOVC A,@A+DPTR
MOV P3,A
MOV P1,R2
LCALL DELAY1
Trang 6MOV P1,#00H
LCALL DELAY2
MOV A,R2
INC R3
RR A
MOV R2,A
CJNE R3,#10,CHU211
DJNZ R5,CHU21
;************************************* CHU3: MOV R5,#50
CHU31: MOV R3,#03
CHU311: MOV A,R3
MOVC A,@A+DPTR
MOV P3,A
MOV P1,R2
LCALL DELAY1
MOV P1,#00H
LCALL DELAY2
MOV A,R2
INC R3
RR A
MOV R2,A
CJNE R3,#11,CHU311
DJNZ R5,CHU31
;************************************* CHU4: MOV R5,#50
CHU41: MOV R3,#04
CHU411: MOV A,R3
MOVC A,@A+DPTR
MOV P3,A
MOV P1,R2
LCALL DELAY1
MOV P1,#00H
LCALL DELAY2
MOV A,R2
INC R3
RR A
MOV R2,A
CJNE R3,#12,CHU411
DJNZ R5,CHU41
;************************************* CHU5: MOV R5,#50
CHU51: MOV R3,#05
CHU511: MOV A,R3
MOVC A,@A+DPTR
MOV P3,A
MOV P1,R2
LCALL DELAY1
MOV P1,#00H
Trang 7LCALL DELAY2
MOV A,R2
INC R3
RR A
MOV R2,A
CJNE R3,#13,CHU511
DJNZ R5,CHU51
;************************************* CHU6: MOV R5,#50
CHU61: MOV R3,#06
CHU611: MOV A,R3
MOVC A,@A+DPTR
MOV P3,A
MOV P1,R2
LCALL DELAY1
MOV P1,#00H
LCALL DELAY2
MOV A,R2
INC R3
RR A
MOV R2,A
CJNE R3,#14,CHU611
DJNZ R5,CHU61
;************************************* CHU7: MOV R5,#50
CHU71: MOV R3,#07
CHU711: MOV A,R3
MOVC A,@A+DPTR
MOV P3,A
MOV P1,R2
LCALL DELAY1
MOV P1,#00H
LCALL DELAY2
MOV A,R2
INC R3
RR A
MOV R2,A
CJNE R3,#15,CHU711
DJNZ R5,CHU71
;************************************* CHU8: MOV R5,#50
CHU81: MOV R3,#08
CHU811: MOV A,R3
MOVC A,@A+DPTR
MOV P3,A
MOV P1,R2
LCALL DELAY1
MOV P1,#00H
LCALL DELAY2
Trang 8MOV A,R2
INC R3
RR A
MOV R2,A
CJNE R3,#16,CHU811
DJNZ R5,CHU81
;************************************* CHU9: MOV R5,#50
CHU91: MOV R3,#09
CHU911: MOV A,R3
MOVC A,@A+DPTR
MOV P3,A
MOV P1,R2
LCALL DELAY1
MOV P1,#00H
LCALL DELAY2
MOV A,R2
INC R3
RR A
MOV R2,A
CJNE R3,#17,CHU911
DJNZ R5,CHU91
;************************************* CHU10: MOV R5,#50
CHU101: MOV R3,#10
CHU1011:MOV A,R3
MOVC A,@A+DPTR
MOV P3,A
MOV P1,R2
LCALL DELAY1
MOV P1,#00H
LCALL DELAY2
MOV A,R2
INC R3
RR A
MOV R2,A
CJNE R3,#18,CHU1011
DJNZ R5,CHU101
RET
;*********************************** DELAY1: MOV R6,#5
LAP1: MOV R7,#255
DJNZ R7,$
DJNZ R6,LAP1
RET
;*********************************** DELAY2: MOV R7,#4
DJNZ R7,$
RET
Trang 9;**********************************
BK: DB
00H,0BEH,7EH,6DH,93H,0FFH,0FFH,0FFH,00H,0EFH,0D7H,0BBH,7DH,0FFH,0FFH,0FFH,0FFH,0FFH S50: DB
0C3H,0BDH,7EH,7EH,0BDH,0C3H,0FFH,0FFH,0FFH,0FFH,1EH,6EH,6EH,0F1H,0FFH,0FFH,0FFH,0FF
H
HINH: DB
0F3H,0E1H,0C1H,83H,0C1H,0E1H,0F3H,0FFH,0FFH,0F3H,0E1H,0C1H,83H,0C1H,0E1H,0F3H,0FFH,0 FFH
END