
Vũ Duy Khang - Điện A - CĐ 44 Page 1
Câu hỏi: Lập trình điề u khiể n đèn nháy: “VI ĐIỀ U KHIỂ N 89C51”
Dùng đèn led điề u khiể n đấ u anốt chung, tại cổng p1,p2 theo yêu cầu sau:
1)Hiện từng chữtừtrái sang phải với tố c độ 1s/ chữ.
2)Sáng dần từng kí tựtừtrái sang phải với tố c độ 0,1s/ 1 kí tự.
3)Sáng dồn từtrái sang phải với tố c độ 0,1s /1 kí tự.
4)Chớp tắt dòng chữtrên 3 lần với tố c độ 0,5 s/1 lần.
1) Hiện dần từng chữtừtrái sang phải với tố c độ 1 giây/1 chữ:
org 0h
mov tmod,#1
mov p1,#1
mov p2,#1
yeucau1:
mov p1,#11111100b
call delay1
mov p1,#11000000b
call delay1
mov p1,#00000000b
mov p2,#11111000b
lcall delay1
mov p2,#00000000b

Vũ Duy Khang - Điện A - CĐ 44 Page 2
call delay1
mov p1,#11111111b
mov p2,#11111111b
call delay1
jmp yeucau1
delay1: ;tao tre 1 giay
mov r7,#20
kt:
mov th0,#3ch
mov tl0,#0b0h
setb tr0
loop:
jnb tf0,loop
clr tr0
clr tf0
djnz r7,kt
ret
end
2) Hiện dần từng kí tựtừtrái sang phải với tố c độ 0,1 giây/1 kí tự:
org 0h
mov tmod,#1

Vũ Duy Khang - Điện A - CĐ 44 Page 3
mov p2,#1
mov p1,#1
yeucau2:
mov p1,#11111110b
call delay01
mov p1,#11111100b
call delay01
mov p1,#11111000b
call delay01
mov p1,#11110000b
call delay01
mov p1,#11100000b
call delay01
mov p1,#11000000b
call delay01
mov p1,#10000000b
call delay01
mov p1,#00000000b
call delay01
mov p2,#11111110b

Vũ Duy Khang - Điện A - CĐ 44 Page 4
call delay01
mov p2,#11111100b
call delay01
mov p2,#11111000b
call delay01
mov p2,#11110000b
call delay01
mov p2,#11100000b
call delay01
mov p2,#11000000b
call delay01
mov p2,#10000000b
call delay01
mov p2,#00000000b
call delay01
mov p2,#11111111b
call delay01
mov p1,#1
jmp yeucau2
delay01:
mov r7,#2

Vũ Duy Khang - Điện A - CĐ 44 Page 5
kt:
mov th0,#3ch
mov tl0,#0b0h
setb tr0
loop:
jnb tf0,loop
clr tr0
clr tf0
djnz r7,kt
ret
end
3)Sáng dồn từtrái sang phải với tố c độ 0,1s /1 kí tự:
org 0h
mov p1,#1
mov p2,#1
mov tmod,#1
sangdon:
clr p2.7
call delay

