Đề thi học kỳ 2 môn Vi xử lý - Năm học 2011-2012 - Đại học Bách khoa thành phố Hồ Chí Minh

ĐHQG TPHCM–ĐH Bách Khoa  
Khoa Đ-ĐT–BM Điện Tử  
Điểm  
Đề thi HK 2 – NH:2011-2012  
Chữ ký giám thị  
Môn: Vi xử lý – Mã MH:402030  
Ngày thi: 22/06/2012 – Thời gian làm bài: 110 phút  
Đề có 6 trang và SV làm trực tiếp trên đề.  
(SV được sử dụng tài liệu của mình,  
SV KHÔNG được dùng PC, Laptop, iPad và PC Tablet)  
Họ và tên SV: __________________________ MSSV: ____________ Nhóm: ______  
Bộ môn Điện Tử duyệt  
GV ra đề  
Hồ Trung Mỹ  
Câu 1: (1 đ)  
Cho trước mạch giải mã địa chỉ của hệ thống dùng VXL 8051:  
a) Xác định vùng địa chỉ của các SRAM: (0.75 đ)  
Vùng địa chỉ của SRAM thứ nhất (U1): _______H – ________H  
Vùng địa chỉ của SRAM thứ hai (U2): _______H – ________H  
b) Viết các lệnh 8051 để chép 1 byte từ địa chỉ đầu của SRAM thứ nhất vào byte có địa chỉ cuối của  
SRAM thứ hai (0.25đ):  
VXL_Thi HK_AY1112-S2_trang 1/6  
Câu 2: (1.5 đ)  
Điền vào các chỗ trống trong cột địa chỉ ROM chương trình, cột mã máy và cột các cách địa chỉ:  
Địa chỉ  
ROM (hex)  
Cách định địa chỉ của toán hạng  
thứ nhất thứ hai  
Mã máy (hex)  
Lệnh 8051  
ORG 0  
0000  
75 81 40  
12 00 0A  
C0 05  
MOV SP, #40H  
MOV R5, #80H  
LCALL DELAY  
SJMP  
DELAY: PUSH 5  
AGAIN: NOP  
$
DJNZ R5,AGAIN  
D0 05  
POP  
RET  
END  
5
Câu 3: (1.5 đ)  
a) (1 đ) Viết chương trình con hợp ngữ 8051 có tên là SS4bitđể so sánh 4 bit cao và 4 bit thấp của  
thanh ghi A, sau khi gọi chương trình con này thì nội dung của thanh ghi A vẫn nhu cũ. Kết quả so sánh  
tác động đến R7 theo quy ước sau:  
4 bit cao của A < 4 bit thấp của A thì R7 = 01H  
4 bit cao của A = 4 bit thấp của A thì R7 = 02H  
4 bit cao của A > 4 bit thấp của A thì R7 = 04H  
b) (0.5 đ) Viết đoạn chương trình hợp ngữ 8051 đọc liên tục giá trị ở cổng P0 và dùng chương trình con  
SS4bitđể so sánh 4 bit cao và 4 bit thấp của P0 rồi xuất kết quả ra cổng P1. Đầu đoạn chương trình  
này ta phải gán trị SP để cho stack có thể cất dữ liệu vào stack từ địa chỉ 30H.  
Bài giải.  
a)SS4bit:  
b)  
Câu 4: (1.5 đ)  
Viết chương trình con hợp ngữ 8051 có tên là Menu_R0thực hiện các phép tính sau theo nội dung của  
thanh ghi R0 (nếu không thuộc bảng sau, nghĩa là R0 > 3 thì R2 = 0)  
R0 Phép toán  
Chú thích (R1 là số không dấu có giá trị nhỏ hơn 64)  
SV không được dùng lệnh MUL mà phải áp dụng dịch bit  
SV không được dùng lệnh DIV mà phải áp dụng dịch bit  
0
1
2
3
R2 = R1 * 4  
R2 = R1 / 4  
R2 = bù 2 của R1  
R2 = swap của R1 R2 có trị là hoán đổi 4 bit thấp và 4 bit cao của R1  
Bài giải.  
VXL_Thi HK_AY1112-S2_trang 2/6  
Câu 5: (1 đ) Phân tích đoạn chương trình hợp ngữ 8051H sau bằng cách ghi các giá trị hex vào các chỗ  
trống. Giả sử trước khi thực thi chương trình này, nội dung của 1 số ô nhớ trong RAM nội:  
(30H) = 46H, (31H) = 75H, (40H) = 57H, (41H) = 89H  
Lệnh 8051  
MOV R0,#30H  
MOV R1,#40H  
MOV R2,#2  
CLR C  
Lần lặp 1  
Lần lặp 2  
LOOP: MOV A,@R0  
ADDC A,@R1  
DA A  
A =  
A =  
A =  
H
H
A =  
A =  
A =  
H
H
và cờ C =  
và cờ C =  
MOV @R0,A  
INC R0  
INC R1  
DJNZ R2, LOOP  
CLR A  
ADDC A,#0  
MOV @R0,A  
SJMP $  
Sau khi thực thi đoạn chương trình trên thì nội dung của các ô nhớ sau có trị số mới là:  
(32H) = _____H (31H) = _____H (30H) = _____H  
Ý nghĩa của đoạn chương trình trên là: (0.5 đ)  
______________________________________________________________________________  
______________________________________________________________________________  
Câu 6: (1.5 đ) Cho trước mạch sau với các chân ra 1Y1 nối với đoạn a,1Y2 nối với đoạn b,..,2Y3 nối với  
đoạn g của LED 7 đoạn (CC) với các điện trở hạn dòng là 330. Biết 8051 hoạt động với XTAL=12MHz  
VXL_Thi HK_AY1112-S2_trang 3/6  
a) (1 đ) Viết chương trình con DELAY_500MSlàm trễ 500 ms dùng Timer 0 (không dùng ngắt timer) và  
chương trình con BCD2LED7Shiển thị 1 ký số BCD trong thanh ghi A ra LED 7 đoạn.  
DELAY_500MS:  
BCD2LED7S:  
; định nghĩa hiển thị  
ORG 200H  
LED7S:  
DB _______________B; 0  
DB _______________B; 1  
DB _______________B; 2  
DB _______________B; 3  
DB _______________B; 4  
DB _______________B; 5  
DB _______________B; 6  
DB _______________B; 7  
DB _______________B; 8  
DB _______________B; 9  
b) (0.5 đ) Viết chương trình có dùng các chương trình con ở a) để mạch hoạt động như sau:  
Khi có cạnh xuống ở P2.0 lần thứ 1 (3, 5,…) thì hiện lần lượt các số từ 0 đến 9 với thời gian hiện 1  
số là 500 ms và quay lại kiểm tra cạnh xuống ở P2.0. Khi hiển thị từ 0 đến 9 thì các cạnh xuống ở  
P2.0 sẽ không được kể đến!  
Khi có cạnh xuống ở P2.0 lần thứ 2 (4, 6,…) thì chỉ hiện số 0 trong 1s và quay lại kiểm tra P2.0.  
Chương trình:  
Câu 7: (1 đ)  
Xét 1 hệ thống gồm 2 vi xử lý 8051 M1 và M2 được kết nối theo kiểm modem rỗng (null modem) để  
truyền nối tiếp với nhau. M1 có nhiệm vụ đọc 1 chuỗi ký tự (kết thúc bằng ký tự rỗng (NULL) = 00H) từ  
ROM chương trình bắt đầu từ địa chỉ 200H và xuất nối tiếp đến M2, M2 có nhiệm vụ nhận nối tiếp chuỗi  
ký tự này và cất chuỗi vào RAM nội bắt đầu từ địa chỉ 30H. Cả 2 VXL đều sử dụng cổng nối tiếp có tốc độ  
baud là 4800 và XTAL = 11.0592 MHz. Chú ý ta không dùng ngắt nối tiếp mà chỉ hỏi vòng RI và TI.  
VXL_Thi HK_AY1112-S2_trang 4/6  
Bài giải.  
Chương trình 8051 ở M1  
Chương trình 8051 ở M2  
CT con gửi/nhận1 byte nối tiếp  
SP_TRANSMIT:  
SP_RECEIVE:  
Câu 8: (1 đ)  
Viết chương trình hợp ngữ 8051 để tạo 1 số xung ở ngõ ra như sau:  
Nếu có cạnh xuống ở chân ngắt ngoài 0 (/INT0) thì ngõ ra P1.0 sẽ có 5 xung dương (5 cạnh lên)  
Nếu có cạnh xuống ở chân ngắt ngoài 1 (/INT1) thì ngõ ra P1.1 sẽ có 3 xung dương (3 cạnh lên)  
Nếu không có cạnh xuống ở /INT0, /INT1 thì P1.0=0 và P1.1=0.  
Giả sử các xung kích cạnh xuống ở các ngõ INT0 và INT1 không bao giờ xảy ra đồng thời. Xung dương ở  
ngõ ra có được bằng lệnh SETB sau đó CLR.  
Bài giải.  
Chương trình chính  
Chương trình phục vụ ngắt INT0  
Chương trình phục vụ ngắt INT1  
EX0_ISR:  
EX1_ISR:  
VXL_Thi HK_AY1112-S2_trang 5/6  
Câu 9: (1 đ)  
Viết chương trình hợp ngữ hoặc C cho 8051 để tạo dạng sóng tuần hoàn sau ở cổng P1:  
Giả sử cho trước chương trình con DELAY_1S (làm trễ 1 giây).  
Bài giải.  
Kết thúc bài thi HK  
VXL_Thi HK_AY1112-S2_trang 6/6  
pdf 6 trang myanh 23580 Free
Bạn đang xem tài liệu "Đề thi học kỳ 2 môn Vi xử lý - Năm học 2011-2012 - Đại học Bách khoa thành phố Hồ Chí Minh", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfde_thi_hoc_ky_2_mon_vi_xu_ly_nam_hoc_2011_2012_dai_hoc_bach.pdf