Part 3: Dùng vi điều khiển 89C52 để tạo sóng vuông có độ rộng xung ở mức cao là 1s và độ rộng xung ở mức thấp là 2s ở Port 1.0.
Vì vi điều khiển 89C52 sử dụng tín hiệu tích mực ở mức thấp nên có thể hiểu là đèn LED sẽ sáng 2s và tắt 1s, quá trình sáng LED và tắt diễn ra liên tiếp nhau.
ORG 0000H
MAIN:
MOV R2, #20
MOV R3, #10
MOV TMOD, #01H
MOV TL0, #0AFH
MOV TH0, #3CH
SETB P1.0
SETB TR0
AGAIN:
JNB TF0, AGAIN
CLR TF0
CLR TR0
MOV TL0, #0AFH
MOV TH0, #3CH
SETB TR0
DJNZ R2, AGAIN
CPL P1.0
CLR TR0
MOV TL0, #0AFH
MOV TH0, #3CH
SETB TR0
AGAIN1:
JNB TF0, AGAIN1
CLR TF0
CLR TR0
MOV TL0, #0AFH
MOV TH0, #3CH
SETB TR0
DJNZ R3, AGAIN1
CLR TR0
SJMP MAIN
END
;======================
Vì vi điều khiển 89C52 sử dụng tín hiệu tích mực ở mức thấp nên có thể hiểu là đèn LED sẽ sáng 2s và tắt 1s, quá trình sáng LED và tắt diễn ra liên tiếp nhau.
ORG 0000H
MAIN:
MOV R2, #20
MOV R3, #10
MOV TMOD, #01H
MOV TL0, #0AFH
MOV TH0, #3CH
SETB P1.0
SETB TR0
AGAIN:
JNB TF0, AGAIN
CLR TF0
CLR TR0
MOV TL0, #0AFH
MOV TH0, #3CH
SETB TR0
DJNZ R2, AGAIN
CPL P1.0
CLR TR0
MOV TL0, #0AFH
MOV TH0, #3CH
SETB TR0
AGAIN1:
JNB TF0, AGAIN1
CLR TF0
CLR TR0
MOV TL0, #0AFH
MOV TH0, #3CH
SETB TR0
DJNZ R3, AGAIN1
CLR TR0
SJMP MAIN
END
;======================