
BÀI T P VI ĐI U KHI N 89C51Ậ Ề Ể
Ch ng Iươ
1. V minh h a và đi n đ y đ thông tin các bít trong các thanh ghi có ch c năngẽ ọ ề ầ ủ ứ
đ c bi t c a 89C51(TMOD, TCON, IE, IP)ặ ệ ủ
Nói rõ ch c năng c a t ng thanh ghi, ch c năng c a t ng bít trong các thanh ghiứ ủ ừ ứ ủ ừ
đ c bi tặ ệ
2. V hình minh h a, phân tích ch c năng và các ch đ ho t đ ng c a thanh ghiẽ ọ ứ ế ộ ạ ộ ủ
Timer, phân tích các thanh ghi có liên quan
N u mu n vi t ch ng trình tr 25000 chu kỳ máy thì n i dung trong Tmod b ngế ố ế ươ ễ ộ ằ
bao nhiêu, phân tích ?
3. Cho m t đo n ch ng trình x lý d li u trong RAM n i nh sau:ộ ạ ươ ử ữ ệ ộ ư
Org 0000h ;
X0: Mov 50h, # 30 ;
Mov 01h, #
50h
;
Mov a, # 20 ;
Add a, @ r1 ;
X1: Mov @R1, a ;
Inc a ;
Inc r1 ;
Cjne a,# 81,
x1
;
Jmp $ ;
End ;
- Gi i thích ý nghĩa c a t ng câu l nh trong ch ng trình trên và t ng th i gianả ủ ừ ệ ươ ổ ờ
th c hi nự ệ
- Cho bi t n i dung c a t ng ngăn nh trong RAM n i(ế ộ ủ ừ ớ ộ sau khi th c hi n xongự ệ
ch ng trìnhươ ) đ a ch b t đ u t 50h – 60hở ị ỉ ắ ầ ừ
4. Cho m t đo n ch ng trình x lý d li u trong RAM n i nh sau:ộ ạ ươ ử ữ ệ ộ ư
Org 0000h ;
K0: Mov 45h, # 30 ;
Mov 00h, #
45h
;
Mov a, # 20 ;
Add a, @ R0 ;
K1: Mov @R0, a ;
Inc a ;
Inc R0 ;
Cjne a,# 81,
K1
;

Jmp $ ;
End ;
- Gi i thích ý nghĩa c a t ng câu l nh trong ch ng trình trên và t ng th i gianả ủ ừ ệ ươ ổ ờ
th c hi nự ệ
- Cho bi t n i dung c a t ng ngăn nh trong RAM n i (sau khi th c hi n xongế ộ ủ ừ ớ ộ ự ệ
ch ng trình) đ a ch b t đ u t 45h – 60hươ ở ị ỉ ắ ầ ừ
5. Cho m t đo n ch ng trình x lý d li u trong RAM n i nh sau:ộ ạ ươ ử ữ ệ ộ ư
Org 0000h ;
K0: Mov A, # 20 ;
Mov 01h, #
30h
;
K1: Mov @R1, a ;
Inc a ;
Inc R1 ;
Cjne a, # 99,
K1
;
Jmp $ ;
End ;
- Gi i thích ý nghĩa c a t ng câu l nh trong ch ng trình trên và t ng th i gianả ủ ừ ệ ươ ổ ờ
th c hi nự ệ
- Cho bi t n i dung c a t ng ngăn nh trong RAM n i (sau khi th c hi n xongế ộ ủ ừ ớ ộ ự ệ
ch ng trình) đ a ch b t đ u t 30h – 75hươ ở ị ỉ ắ ầ ừ
6. Cho m t đo n ch ng trình x lý d li u RAM ngo i nh sau:ộ ạ ươ ử ữ ệ ở ạ ư
Org 0000h ;
M0: Mov A, # 100 ;
Mov Dptr , # 100h ;
M1: MovX @Dptr, a ;
Inc a ;
Inc Dptr ;
Cjne a, # 200, M1 ;
Jmp $ ;
End ;
- Gi i thích ý nghĩa c a t ng câu l nh và t ng th i gian th c hi n trong ch ngả ủ ừ ệ ổ ờ ự ệ ươ
trình trên?
- Cho bi t n i dung c a t ng ngăn nh RAM ngo i (sau khi th c hi n xongế ộ ủ ừ ớ ở ạ ự ệ
ch ng trình) đ a ch b t đ u t 100h – 150hươ ở ị ỉ ắ ầ ừ
7. Cho m t đo n ch ng trình x lý d li u RAM ngo i nh sau:ộ ạ ươ ử ữ ệ ở ạ ư
Org 0000h ;

Mov A, # 50h ;
Mov Dptr , #
2000h
;
X1: MovX @Dptr, a ;
Inc a ;
Inc Dptr ;
Cjne a, # 96h, X1 ;
Jmp $ ;
End ;
- Gi i thích ý nghĩa c a t ng câu l nh và t ng th i gian th c hi n trong ch ngả ủ ừ ệ ổ ờ ự ệ ươ
trình trên?
- Cho bi t n i dung c a t ng ngăn nh RAM ngo i (sau khi th c hi n xongế ộ ủ ừ ớ ở ạ ự ệ
ch ng trình) đ a ch b t đ u t 2000h – 2045hươ ở ị ỉ ắ ầ ừ
8. Vi t ch ng trình chuy n d li u có giá tr tăng d n b t đ u t 10h đ n 40hế ươ ể ữ ệ ị ầ ắ ầ ừ ế
vào vùng nh c a RAM n i có đ a ch b t đ u t 20h đ n 50h. Sau đó vi tớ ủ ộ ị ỉ ắ ầ ừ ế ế
ch ng trình chuy n n i dung vùng nh này sang vùng nh m i có đ a ch b tươ ể ộ ớ ớ ớ ị ỉ ắ
đ u t 30hầ ừ
9. Vi t ch ng trình chuy n giá tr 50h vào b nh trong có đ a ch t 30h đ nế ươ ể ị ộ ớ ị ỉ ừ ế
45h, sau đó vi t ch ng trình chuy n n i dung vùng nh này sang vùng nh c aế ươ ể ộ ớ ớ ủ
Ram ngoài có đ a ch b t đ u t 3000h.ị ỉ ắ ầ ừ
10. Vi t ch ng trình chuy n d li u có giá tr tăng d n b t đ u t 10h đ n 50hế ươ ể ữ ệ ị ầ ắ ầ ừ ế
vào vùng nh c a RAM n i có đ a ch b t đ u t 20h đ n 60h. Sau đó vi tớ ủ ộ ị ỉ ắ ầ ừ ế ế
ch ng trình chuy n n i dung vùng nh này sang vùng nh m i có đ a ch b tươ ể ộ ớ ớ ớ ị ỉ ắ
đ u t 30hầ ừ
Ch ng IIươ
Vi t ch ng trình chuy n d li u ế ươ ể ữ ệ AAh vào vùng nh có đ a ch b t đ u t ớ ị ỉ ắ ầ ừ 10h đ n ế15h
Vi t ch ng trình chuy n d li u ế ươ ể ữ ệ BBh vào vùng nh có đ a ch b t đ u t ớ ị ỉ ắ ầ ừ 20h đ n ế25h
Vi t ch ng trình chuy n d li u ế ươ ể ữ ệ CCh vào vùng nh có đ a ch b t đ u t ớ ị ỉ ắ ầ ừ 30h đ n ế35h
Vi t ch ng trình chuy n d li u ế ươ ể ữ ệ DDh vào vùng nh có đ a ch b t đ u t ớ ị ỉ ắ ầ ừ 40h đ n ế45h
Vi t ch ng trình chuy n d li u ế ươ ể ữ ệ EEh vào vùng nh có đ a ch b t đ u t ớ ị ỉ ắ ầ ừ 50h đ n ế55h
Vi t ch ng trình chuy n d li u ế ươ ể ữ ệ FFh vào vùng nh có đ a ch b t đ u t ớ ị ỉ ắ ầ ừ 60h đ n ế65h
Vi t ch ng trình chuy n d li u ế ươ ể ữ ệ FAh vào vùng nh có đ a ch b t đ u t ớ ị ỉ ắ ầ ừ 70h đ n ế75h
Vi t ch ng trình chuy n n i dung vùng nh có đ a ch b t đ u t ế ươ ể ộ ớ ị ỉ ắ ầ ừ 10h đ n ế25h sang vùng
nh m i có đ a ch b t đ u t ớ ớ ị ỉ ắ ầ ừ 30h
Vi t ch ng trình chuy n n i dung vùng nh có đ a ch b t đ u t ế ươ ể ộ ớ ị ỉ ắ ầ ừ 20h đ n ế45h sang vùng
nh m i có đ a ch b t đ u t ớ ớ ị ỉ ắ ầ ừ 50h
Vi t ch ng trình chuy n n i dung vùng nh có đ a ch b t đ u t ế ươ ể ộ ớ ị ỉ ắ ầ ừ 40h đ n ế55h sang vùng
nh m i có đ a ch b t đ u t ớ ớ ị ỉ ắ ầ ừ 70h
Ch ng IIIươ
Bài 1 K t n i m t nút nh n th ng h đ n P3.1, 8 LED đ n trên p0 và 1 LED 7 thanh trên P2. Vi tế ố ộ ấ ườ ở ế ơ ế
ch ng trình đi u khi n các LED hi n th theo yêu c u:ươ ề ể ể ị ầ
- Khi P3.1 = 0 thì LED 7 thanh hi n th các s t s 9 v s 0 và ng c l iể ị ố ừ ố ề ố ượ ạ
- Khi P3.1 = 1 thì 8 LED đ n sáng d n t gi a ra và t t d n t ngoài vào 10 l n.ơ ầ ừ ữ ắ ầ ừ ầ

Bài 2 K t n i m t nút nh n th ng h đ n P3.0, 8 LED đ n trên p0 và 1 LED 7 thanh trên P2. Vi tế ố ộ ấ ườ ở ế ơ ế
ch ng trình đi u khi n các LED hi n th theo yêu c u:ươ ề ể ể ị ầ
- Khi P3.0 = 0 thì LED 7 thanh hi n th các s t s 0 đ n s 9 và ng c l iể ị ố ừ ố ế ố ượ ạ
- Khi P3.0 = 1 thì 8 LED đ n sáng d n và t t d n ng c chi u 10 l n.ơ ầ ắ ầ ượ ề ầ
Bài 3 K t n i 16 Led đ n trên P0 – P1 và 1 công t c th ng h đ n P3.2. Vi t ch ng trình đi u khi nế ố ơ ắ ườ ở ế ế ươ ề ể
các Led này ho t đ ng theo yêu c u nh sau:ạ ộ ầ ư
- Khi P3.2 = 0 thì 16 Led đ n sáng d n t gi a ra và t t d n t ngoài vàoơ ầ ừ ữ ắ ầ ừ
- Khi P3.2 = 1 thì 16 Led đ n sáng d n t ngoài vào và t t d n t gi a raơ ầ ừ ắ ầ ừ ữ
Bài 4 t n i 8 Led đ n trên P0 và 1 công t c th ng h đ n P3.1. Vi t ch ng trình đi u khi n các Ledế ố ơ ắ ườ ở ế ế ươ ề ể
này ho t đ ng theo yêu c u nh sau:ạ ộ ầ ư
- Khi P3.1 = 0 thì 8 Led đ n sáng d n t gi a ra sau đó nh p nháy 10 l nơ ầ ừ ữ ấ ầ
- Khi P3.1 = 1 thì 8 Led đ n sáng d n t trái sang ph i sau đó nh p nháy 10 l nơ ầ ừ ả ấ ầ
Bài 5 K t n i Led 7 thanh A chung đ n c ng P0 và 1 công t c th ng h đ n P2.0 Vi t ch ng trìnhế ố ế ổ ắ ườ ở ế ế ươ
đi u khi n Led này ho t đ ng theo yêu c u nh sau:ề ể ạ ộ ầ ư
- Khi P2.0 = 0 thì Led hi n th s ch n tăng d n t 0 – 2 – 4 – 6 – 8 và l p l i ể ị ố ẵ ầ ừ ậ ạ
- Khi P2.0 = 1 thì Led hi n th s l tăng d n t 1 – 3 – 5 – 7 – 9 và l p l i ể ị ố ẻ ầ ừ ậ ạ
Bài 6 Thi t k m ch, vi t ch ng trình đi u khi n các LED đ n trên c ng P1 và LED 7 thanh trên P0ế ế ạ ế ươ ề ể ơ ổ
theo l u đ thu t toán nh sauư ồ ậ ư
Start
KT ?
P3.2 = 0
KT ?
P3.3 = 0
Đ
Đ
S
S
End
Đ m gi m t 9ế ả ừ
÷
0
Đ m ếtăng t ừ0
÷
9
P1 sáng d n r i t t d nầ ồ ắ ầ
Chú ý : (ch ng trình hi n th có s d ng hàm ch 0,02 s dùng T1)ươ ể ị ử ụ ờ
Bài 7
Vi t ch ng trình t o th i gian tr kho ng th i gian 40µs s d ng Timer1 (bi t VĐK s d ng th ch anhế ươ ạ ờ ễ ả ờ ử ụ ế ử ụ ạ
12 MHz)
Vi t ch ng trình t o tín hi u âm thanh trên P0.0 có f = 25KHz s d ng b Timer 0(bi t VĐK s d ngế ươ ạ ệ ử ụ ộ ế ử ụ
th ch anh 12 MHz)ạ
Vi t ch ng trình t o th i gian tr kho ng th i gian100µs s d ng Timer1 (bi t VĐK s d ng th chế ươ ạ ờ ễ ả ờ ử ụ ế ử ụ ạ
anh 12 MHz)
Vi t ch ng trình t o tín hi u âm thanh trên P1.1 có f = 10KHz s d ng b Timer 0(bi t VĐK s d ngế ươ ạ ệ ử ụ ộ ế ử ụ
th ch anh 12 MHz)ạ
Vi t ch ng trình t o th i gian tr kho ng th i gian 200µs s d ng Timer1 (bi t VĐK s d ng th chế ươ ạ ờ ễ ả ờ ử ụ ế ử ụ ạ
anh 12 MHz)

