Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Đề cương ôn tập

Học phần: Kỹ thuật vi điều khiển


1. Nhóm 1: lý thuyết
Phân biệt vai trò bộ nhớ RAM và ROM?
Chức năng của khối CPU trong hệ vi xử lý?
Sự giống và khác nhau giữa hệ vi điều khiển và hệ vi xử lý là gì?
các loại Bus trong hệ thống vi xử lý, bus dữ liệu (data bus) có chức năng gì?
Tổ chức bộ nhớ của 8051 ?
Tốc độ truyền thông nối tiếp được tạo ra như thế nào?
Con trỏ ngăn xếp, cách khởi tạo ngăn xếp với kích thước cho trước( ví dụ 8 byte)?
Sự khác nhau cơ bản giữa vi điều khiển 8051 – 8052?
Cho R0=1, giải thích nhãn AGAIN có được gọi không với câu lệnh DJNZ R0, AGAIN?
Nếu giá trị nạp cho TH0 – TL0 là FFFAH, sau bao nhiêu xung thì TF0=1?
Hiểu và Giải thích hoạt động của nhóm lệnh (JNB, JB, DJNZ, JC) cho ví dụ.
Phân tích ý nghĩa và sự khác nhau khi nạp TMOD giá trị 50H, 05H?
Tài nguyên bộ nhớ (RAM,ROM) của vi điều khiển 8051?
Kể tên các bộ Timer của 8051, mục đích sử dụng của timer?
Cách tính thời gian đếm của timer
bank thanh ghi, địa chỉ Ram và cách truy nhập bank thanh ghi, các giá trị khởi tạo sau
khi reset. Cách sử dụng các bank thanh ghi
Cách tính chu kỳ máy khi biết XTAL, tính thời gian thực hiện một lệnh ?
Tên và địa chỉ các thanh ghi đặc biệt trong 8051.
ROM của 8051, tổ chức bộ nhớ rom, địa chỉ thấp nhất, địa chỉ cao nhất là gì? Phân biệt
ROM nội, ROM ngoại.
Vai trò của bit TI trong truyền thông nối tiếp với 8051?
lấy và cất dữ liệu khỏi ngăn xếp vào một vị trí trong bộ nhớ RAM?
Tài nguyên bộ định thời (timer) của vi điều khiển 8051?
Vai trò của thanh ghi SBUF trong truyền thông nối tiếp với 8051?
Vai trò của thanh ghi SCON trong truyền thông nối tiếp với 8051?

2. Nhóm 2 bài tập


1. Cho đoạn chương trình viết cho vi điều khiển 8051:
1 MOV A, #0H
2 MOV R2, #32
3 NEXT: MOV R3, #52
4 AGAIN: ORL A, #32H
5 RR A
DJNZ R3,AGAIN
7 DJNZ R2,NEXT
a. Phân tích sự thay đổi giá trị của của thanh ghi A 5 lần đầu tiên?
b. Tính số chu kỳ máy để thực thi đoạn chương trình trên?
2. Viết chương trình tạo xung vuông ở P2.0 sử dụng Timer0: Độ rộng xung 50%, tần số
xung 800Hz, thạch anh sử dụng có tần số 6Mhz?
3. Viết chương trình tạo sóng vuông (TON=TOFF) ở chân P1.1 có tần số theo qui tắc sau:
500 Hz nếu P1.0 = 0, 100 Hz nếu P1.0 = 1.
3. Nhóm 3. bài tập
1: Anh (chị) hãy viết một chương trình chờ nhận một byte là một số 8 bit không dấu từ 1
thiết bị ngoài gửi đến 8051 qua port nối tiếp (cho biết trước chế độ). Nếu nhận được một
số lớn hơn không thì tạo ra một xung vuông trên chân P1.0 với thời gian mức cao bằng
thời gian mức thấp và bằng số nhận được (đơn vị là ms). Cho biết tần số thạch anh là
11,0592MHz.
2: Cho hệ vi điều khiển gồm 2 nút ấn được nối với cổng P1 của vi điều khiển (ấn là mức
“0” logic). Anh (chị) hãy viết một chương trình cho vi điều khiển 8051 để khi ấn một nút
một byte tương ứng trong bộ nhớ RAM sẽ được truyền qua cổng truyền thông nối tiếp ở
chế độ 8bit bắt đầu từ ô nhớ 30H (ấn nút nối với P1.0 truyền ô nhớ 30H, ấn nút nối P1.1
truyền ô nhớ 31H) với tốc độ 9600 bps, tần số thạch anh là 11,0592MHz?
3: Anh (chị) hãy viết chương trình đếm số xung đưa vào chân /INT1 (P3.3) và điều khiển
relay thông qua chân P3.0 (relay đóng khi P3.0 bằng 1), cất số đếm vào R1 của Ram nội,
nếu số đếm chưa đến 500 thì đóng relay, nếu số đếm đạt 500 thì ngắt relay?
4: Anh (chị) hãy viết một chương trình chờ nhận một byte là mã ASCII từ 1 thiết bị ngoài
gửi đến 8051 qua port nối tiếp (chế độ 8 bit, 9600bps, SMOD =0, sử dụng ngắt để nhận).
Xuất mã ASCII nhận được ra P1 biết giá trị mã ASCII nằm trong dải ≥ 20H và ≤ 7EH
(mã ASCII của các kí tự hiển thị được). Cho biết thạch anh có tần số 11,0592MHz.
5: Cho một chuỗi dữ liệu dưới dạng số không dấu trong bộ nhớ RAM , bắt đầu từ địa chỉ
30H đến 4FH. Anh (chị) hãy viết một chương trình cho vi điều khiển 8051 để truyền các
số chẵn trong chuỗi số trên qua cổng truyền thông nối tiếp ở chế độ 8bit với tốc độ
9600bps, SMOD=0, tần số thạch anh là 11.0592MHz?
6: Cho hệ vi điều khiển bao gồm một chuỗi xung vuông được nối với chân P3.2 của vi
điều khiển 8051. Anh (chị) hãy viết một chương trình kiểm tra chuỗi xung đầu vào. Nếu
phát hiện sườn xuống của xung thì đọc giá trị của P1 gửi qua cổng truyền thông nối tiếp
ở chế độ 8bit với tốc độ 9600 bps, SMOD=0, tần số thạch anh là 11,0592MHz?
7: Anh (chị) hãy viết chương trình chờ nhận dữ liệu từ 1 thiết bị ngoài gửi đến 8051 qua
port nối tiếp (chế độ UART 8 bit, 9600 baud). Nếu nhận được số có giá trị là 02H thì bật
sáng LED, nếu nhận số 03H thì tắt LED, biết rằng LED được điều khiển bằng ngõ P1.3
(LED sáng khi bit điều khiển bằng 1). Cho biết thạch anh là 11,0592MHz?
8: Anh (chị) hãy viết một chương trình chờ nhận một byte là mã ASCII từ 1 thiết bị ngoài
gửi đến 8051 qua port nối tiếp (chế độ 8 bit, 9600bps, SMOD =0). Nếu nhận được một
số ≥30H và ≤39H (tương ứng với mã ASCII của các số từ 0 đến 9) thì xuất ra P1 sau khi
đã chuyển thành số tương ứng với mã ASCII. Cho biết thạch anh có tần số 11,0592MHz?
9: Anh (chị) hãy viết chương trình với P1.0 là đầu vào. Khi mức logic trên chân P1.0 là
‘0” logic thì tạo 2 sóng vuông có cùng f= 1KHz tại P1.6 và P1.7. Biết rằng sóng vuông
tại P1.7 chậm pha hơn sóng vuông tại P1.6 1 là 0.1ms thạch anh là 12MHz. Khi mức
logic trên P1.0 là “1” logic thì dừng phát xung?
10. Viết chương trình con hợp ngữ hoặc C để so sánh 2 số 8 bit X và Y trong các thanh
ghi R5 và R6 tương ứng. Kết quả so sánh được đặt trong R7 theo quy ước sau:
 X < Y thì R7 = 01H
 X = Y thì R7 = 02H
 X > Y thì R7 = 04H

11. Viết chương trình hợp ngữ thực hiện tổ hợp sau(không rút gọn hàm ):

12. Thiết kế mạch 8051 có chức năng sau: (SV tự chọn bất cứ chân nào của cổng I/O cho
ngõ vào điều khiển)
 Các ngõ ra sáng lần lượt liên tục theo qui luật sau khi ngõ vào điều khiển bằng 0
Đèn LED xanh sáng trong 5 s trong khi các đèn LED khác tắt.
Đèn LED vàng sáng trong 2 s tiếtp theo (trong khi các đèn LED khác tắt)..
Đèn LED đỏ sáng trong 8 s cuối (trong khi các đèn LED khác tắt)
 Chỉ có đèn LED vàng sáng nhấp nháy với chu kỳ 2 s khi ngõ vào điều khiển bằng 1.

(Sinh viên được sử dụng giáo trình, bảng tập lệnh rút gọn)

You might also like