Bạn thử code này xem có đúng với yêu cầu không !
Ngồi hì hục cả tối mới viết được đoạn code này, bác tải về chạy thử xem !
Mình đã mô phỏng code trên thành công nhưng không biết nó có như yêu cầu của bác hay không. Có gì cần trao đổi về code trên bác cứ hỏi nhé !
Ngồi hì hục cả tối mới viết được đoạn code này, bác tải về chạy thử xem !
Code:
MODE EQU P1.0 START EQU P1.1 STOP EQU P1.2 ORG 00H ;**************************** BEGIN: acall MAIN sjmp BEGIN ;**************************** MAIN: acall KT_START sjmp MODE0 ret KT_START: mov a, #0h mov p2, #0h jb START, $ ;Cho den khi phim START duoc an jnb START, $ ;Lenh nay de chong giu phim START jb STOP, BACK ;STOP khong dc an thi thuc hien tiep jnb STOP, $ ;Lenh nay de chong giu phim STOP jb STOP, KT_START ;STOP duoc an nen quay lai tu dau BACK: ret ;--------- Chuong trinh con DELAY va KT phim MODE, STOP --------------- ; Neu can thoi gian tre khac thi ban thay doi cac gia tri nap vao thanh gi. DELAY: push 5 push 6 push 7 mov r7, #124 L2: mov r6, #150 L1: mov r5, #2 KT_PHIM: jb STOP, SKIP jnb STOP, $ acall MAIN SKIP: jb MODE, LOOP jnb MODE, $ inc a cjne a, #0h, NEXT SJMP MODE0 NEXT: cjne a, #1h, NEXT_1 SJMP MODE1 NEXT_1: cjne a, #2h, NEXT_2 SJMP MODE2 NEXT_2: cjne a, #3h, NEXT_3 SJMP MODE3 NEXT_3: mov a, #0h sjmp MODE0 LOOP: djnz r5, $ djnz r6, L1 djnz r7, L2 pop 7 pop 6 pop 5 ret ;............................ ;------------ CAC CHUONG TRINH CON ------------- MODE0: MOV P2,#00001111B CALL DELAY MOV P2,#11110000B CALL DELAY SJMP MODE0 ;------------------------ MODE1: MOV P2,#00000000B CALL DELAY MOV P2,#00000001B CALL DELAY MOV P2,#00000011B CALL DELAY MOV P2,#00000111B CALL DELAY MOV P2,#00001111B CALL DELAY MOV P2,#00011111B CALL DELAY MOV P2,#00111111B CALL DELAY MOV P2,#01111111B CALL DELAY MOV P2,#11111111B CALL DELAY SJMP MODE1 ;------------------------ MODE2: MOV P2,#00000000B CALL DELAY MOV P2,#10000000B CALL DELAY MOV P2,#11000000B CALL DELAY MOV P2,#11100000B CALL DELAY MOV P2,#11110000B CALL DELAY MOV P2,#11111000B CALL DELAY MOV P2,#11111100B CALL DELAY MOV P2,#11111110B CALL DELAY MOV P2,#11111111B CALL DELAY SJMP MODE2 ;------------------------ MODE3: MOV P2,#00000000B CALL DELAY MOV P2,#11000000B CALL DELAY MOV P2,#11110000B CALL DELAY MOV P2,#11111100B CALL DELAY MOV P2,#11111111B CALL DELAY SJMP MODE3 ;===================================== END
Comment