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 89C51TMOD, 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 t
Trang 1BÀ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 r1 ;
Cjne a,# 81,
x1
;
- 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, #
Mov a, # 20 ;
Add a, @ R0 ;
K1: Mov @R0, a ;
Inc R0 ;
Cjne a,# 81,
Trang 2Jmp $ ;
- 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 ;
Mov 01h, #
K1: Mov @R1, a ;
Cjne a, # 99,
- 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:
Mov Dptr , # 100h ;
Cjne a, # 200, M1 ;
- 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:
Trang 3Mov A, # 50h ;
Mov Dptr , #
2000h
;
Cjne a, # 96h, X1 ;
- 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
Trang 4- 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 Đ P3.3 = 0 KT ? Đ
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)