Chào tất cả các thành viên của diễn đàn điện tử việt nam.Tôi đang tìm hiểu về VDK 8051,học cách lập trình bằng hợp ngữ.Tôi có một số vướng mắc mong được các anh em trong diễn đàn chỉ giáo thêm cho. Tôi làm bài tập dùng nút nhấn để điều khiển các led nháy theo các chế độ khác nhau(Không sử dụng ngắt), nhưng hình như code có vấn đề gì đó mà chương trình không chạy được. Mong các huynh đệ chỉ giáo thêm.
Đây là code của chương trình
Đây là code của chương trình
ORG #0000H;
MAIN:
CLR P2;
JNB P1.0,DK1;nhay neu nut P1.0 bang 0
JNB P1.1,DK2;nhay neu nut p1.1 bang 0
SJMP MAIN;tiep tuc kiem tra nut nhan
DELAY:;ham tao tre
MOV R3,#255;
HERE:MOV R4,#255;
HERE1:
DJNZ R4,HERE1;
DJNZ R3,HERE;
RET;
DK1:
MOV A,#0AAH; nap AAh vao thanh ghi A
MOV P2,A; chuyen noi dung thanh ghi A ra cong P2
ACALL DELAY; goi ham tre
CPL P2; Dao cong P2
ACALL DELAY;
RET;
DK2:
MOV P1,#0FFH;
ACALL DELAY;
CPL P2;
ACALL DELAY;
RET
END
MAIN:
CLR P2;
JNB P1.0,DK1;nhay neu nut P1.0 bang 0
JNB P1.1,DK2;nhay neu nut p1.1 bang 0
SJMP MAIN;tiep tuc kiem tra nut nhan
DELAY:;ham tao tre
MOV R3,#255;
HERE:MOV R4,#255;
HERE1:
DJNZ R4,HERE1;
DJNZ R3,HERE;
RET;
DK1:
MOV A,#0AAH; nap AAh vao thanh ghi A
MOV P2,A; chuyen noi dung thanh ghi A ra cong P2
ACALL DELAY; goi ham tre
CPL P2; Dao cong P2
ACALL DELAY;
RET;
DK2:
MOV P1,#0FFH;
ACALL DELAY;
CPL P2;
ACALL DELAY;
RET
END
Comment