đề cương môn vi xử lí

16 462 2
đề cương môn vi xử lí

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Câu 1Câu hỏi: Viết đoạn chương trình chuyển mảng dữ liệu từ vùng nhớ bufer1 có địa chỉ offset bắt đầu từ 200h lên vùng nhớ buffer2 có địa chỉ offset bắt đầu từ 300h. Biết rằng địa chỉ mảng của cả 2 vùng nhớ này đều do DS quản lý, kích thước 2 vùng nhớ bằng nhau và bằng 100 byte.5.0Đáp án: MOV SI, 200H MOV DI, 300H MOV CX, 100LAP100: MOV AL, SI MOV DI, AL INC SI INC DI LOOP LAP1005.0Câu 2Câu hỏi: Viết đoạn chương trình chuyển mảng dữ liệu từ vùng nhớ bufer1 có địa chỉ offset bắt đầu từ 500h lên vùng nhớ buffer2 có địa chỉ offset bắt đầu từ 700h. Biết rằng địa chỉ mảng của cả 2 vùng nhớ này đều do DS quản lý, kích thước 2 vùng nhớ bằng nhau và bằng 50 byte.5.0Đáp án. MOV SI, 500H MOV DI, 700H MOV CX, 50LAP50: MOV AL, SI MOV DI, AL INC SI INC DI LOOP LAP505.0

Câu Câu hỏi: Viết đoạn chương trình chuyển mảng liệu từ vùng nhớ bufer1 có địa 5.0 offset 200h lên vùng nhớ buffer2 có địa offset 300h Biết địa mảng vùng nhớ DS quản lý, kích thước vùng nhớ 100 byte Đáp án: 5.0 MOV SI, 200H MOV DI, 300H MOV CX, 100 LAP100: MOV AL, [SI] MOV [DI], AL INC SI INC DI LOOP LAP100 Câu Câu hỏi: Viết đoạn chương trình chuyển mảng liệu từ vùng nhớ bufer1 có địa 5.0 offset 500h lên vùng nhớ buffer2 có địa offset 700h Biết địa mảng vùng nhớ DS quản lý, kích thước vùng nhớ 50 byte Đáp án 5.0 MOV SI, 500H MOV DI, 700H MOV CX, 50 LAP50: MOV AL, [SI] MOV [DI], AL INC SI INC DI LOOP LAP50 Câu Câu hỏi: Viết đoạn chương trình để chuyển byte mã BCD chứa ghi 5.0 AL thành byte mã ASCII lưu vào byte nhớ có địa mảng 500H, địa offset 300H 301H Biết byte mã BCD bao gồm từ mã BCD chứa bit cao bit thấp Đáp án MOV AH, AL AND AL, 0FH; lọc bỏ bit cao ADD AL, 30H; chuyển sang mã ASCII (số 30H) MOV 500H: 300H, AL MOV AL, AH MOV CL, 4; bước nhảy bit SHR AL, CL; dịch phải bit, lấy lại bit cao ADD AL, 30H MOV 500H: 301H, AL 5.0 Câu Câu hỏi: Viết đoạn chương trình để chuyển byte mã BCD chứa ghi BL thành byte mã ASCII lưu vào byte nhớ có địa mảng 700H, địa offset 500H 501H Biết byte mã BCD bao gồm từ mã BCD chứa bit cao bit thấp 5.0 Đáp án MOV BH, BL AND BL, 0FH ADD BL, 30H MOV 700H: 500H, BL MOV BL, BH MOV CL, SHR BL, CL ADD BL, 30H MOV 700H: 501H, BL 5.0 Câu Câu hỏi: Viết đoạn chương trình để chuyển byte mã hexa chứa 5.0 ghi BH thành byte mã ASCII chuyển qua cổng bit có địa 600h Biết byte mã hexa bao gồm từ mã hexa chứa bit cao bit thấp Đáp án MOV DX, 600H MOV BL, BH AND BH, 0FH; lọc bỏ bit cao CMP BH, 10; so sánh với 10 lớn nhảy tới BCD1 JAE BCD1 ADD BH, ‘0’ BCD1: ADD BH, ‘A’ – 10 MOV AL, BH OUT DX, AL MOV BH, BL MOV CL, SHR BH, CL CMP BH, 10 JAE BCD1 ADD BH, ‘0’ MOV AL, BH OUT DX, AL 5.0 Câu Câu hỏi: Viết đoạn chương trình để chuyển byte mã hexa chứa ghi 5.0 AH thành byte mã ASCII chuyển qua cổng bit có địa 300h Biết byte mã hexa bao gồm từ mã hexa chứa bit cao bit thấp Đáp án MOV DX, 300H MOV BL, AH AND AH, 0FH CMP AH, 10 JC BCD1 ADD AH, ‘A’ – 10 MOV AL, AH OUT DX, AL MOV AH, BL MOV CL, SHR AH, CL CMP AH, 10 JC BCD2 ADD AH, ‘A’ -10 MOV AL, AH OUT DX, AL 5.0 Câu Câu hỏi: Xét hệ vi xử lý cần đọc byte từ cổng liệu bit có địa 200h vào 5.0 vi xử lý Biết để xác định cổng có liệu hay khơng, người ta dùng thêm cổng trạng thái có địa 201h Trong bit D3 cổng báo có liệu, ngược lại D3 báo khơng có liệu u cầu: Viết đoạn chương trình để đọc byte liệu từ cổng cho vào vi xử lý lưu vào ghi BH Đáp án 5.0 Đoạn chương trình đọc byte tập chuyển mã Chương – Giáo trình kỹ thuật vi xử lý – Tác giả Đỗ Xuân Tiến Port_STATUS 201h Port_DATA 200h MOV DX, Port_STATUS READ_AGAIN: IN AL,DX AND AL,08h JZ READ_AGAIN MOV DX,Port_DATA IN AL,DX MOV BH,AL Câu Câu hỏi: Xét hệ vi xử lý cần đọc byte từ cổng liệu bit có địa 400h vào 5.0 vi xử lý Biết để xác định cổng có liệu hay khơng, người ta dùng thêm cổng trạng thái có địa 401h Trong bit D5 cổng báo có liệu, ngược lại D5 báo liệu u cầu: Viết đoạn chương trình để đọc byte liệu từ cổng cho vào vi xử lý lưu vào ghi BH Đáp án Đoạn chương trình đọc byte tập chuyển mã Chương – Giáo trình kỹ 5.0 thuật vi xử lý – Tác giả Đỗ Xuân Tiến Port_STATUS 401H Port_DATA 400H MOV DX,Port_STATUS READ_AGIAN: IN AL,DX AND AL,20H JZ READ_AGAIN MOV DX,Port_DATA IN AL,DX MOV BH,AL Câu Câu hỏi: Viết chương trình chuyển mảng liệu từ vùng nhớ có địa offset 5.0 DISPLAY_VIDEO = 900h có địa mảng DISPLAY_BASE = 5000h tới vùng liệu BUFFER_SAVE có địa mảng DS quản lý Biết vùng nhớ DISPLAY_VIDEO chứa kbyte ký tự Đáp án 5.0 Chương trình chuyển mảng chương – Giáo trình kỹ thuật vi xử lý – Tác giả Đỗ Xuân Tiến BUFFER_SAVE DB 2*1024 DUP(?) DISPLAY_VIDEO = 900h DISPLAY_BASE = 5000h MOV SI, DISPLAY_BASE LEA DI BUFFER_SAVE MOV AX, DISPLAY_VIDEO MOV DS,AX MOV AX,DS MOV ES,DS CLD LOOP_2KB MOVS LOOP LOOP_2KB Câu 10 Câu hỏi: Viết chương trình chuyển mảng liệu từ vùng nhớ Buffer1 có địa 5.0 offset bắt đầu 128h tới vùng nhớ Buffer2 có địa offset bắt đầu 512h Biết hai vùng nhớ nằm mảng có địa Segment 200h kích thước vùng nhớ 500 byte Đáp án MOV AX, 200H MOV DS, AX MOV SI, 128H MOV DI, 512H MOV CX, 500 BACK: MOV AL, [SI] MOV [DI], AL 5.0 INC SI INC DI LOOP BACK Câu 11 Câu hỏi: Viết đoạn chương trình để thu xử lý tin tốn thu tin đa kênh 5.0 Biết sơ đồ ngoại vi thu tin sau: D5 D1 Sensor D0 K0 Vc c D Q Clk K5 Bộ đệm vào 367 R Sensor /FLOP_In Vc c D Q Rst Clk R FlipFop 7474 Rst Bộ đệm 174 / FLOP_Out Data Bus Đáp án 5.0 Chương trình Thu_xulytin chương – giáo trình kỹ thuật vi xử lý – Tác giả Đỗ Xuân Tiến IN AL,FLOPS MOV AH,AL NOT AL OUT FLOPS,AL MOV AL,FFH OUT FLOPS,AL MOV CX,6 MOV BX,RAM LOOP_6K: MOV AL,AH SHR AL,1 MOV AH,AL MOV AL,00H ADC AL,[BX] ADD AL MOV [BX],AL INC BX MOV AL,00H ADC AL,[BX] ADD AL MOV [BX],AL INC BX MOV AL,00H ADC AL,[BX] ADD AL MOV [BX],AL INC BX MOV AL,00H ADC AL,[BX] ADD AL MOV [BX],AL INC BX LOOP LOOP_6K POPA Câu 12 Câu hỏi: Viết đoạn chương trình để hiển thị liệu kênh toán thu 5.0 tin đa kênh Biết liệu kênh gồm byte có địa offset 8000h, sơ ngoi vi hin th nh sau Kênh liệu 16 bit /DATAVALUE FNA 5520 A a b c d e f g B C D 15 D N0 N0 N5 N5 N4 N4 N3 N3 N2 N2 N1 N1 D4 d5d4d3d2d1d0 Giải mã tuyến tính DATAPOS Đáp án D3 D2 D1 7549 D5 D0 B é khuy Õch đại dòng 74 G m BCD7Seg 5.0 Chng trỡnh HT_BF chương – giáo trình kỹ thuật vi xử lý – Tác giả Đỗ Xuân Tiến Câu 13 Câu hỏi: Viết đoạn chương trình để xác định phím nhấn theo sơ đồ tổ chức bàn 5.0 phím sau: Vcc Minh họa cấu trúc phím ấn /KBD_Out r r r KBD Out KBD Out r r Diode KBD In KBD In /KBD_In D6 D6 D5 D5 D4 D4 D3 D3 D2 D2 D1 D1 D0 D0 Kênh liệu Đáp án Chương trình HT_BF chương – giáo trình kỹ thuật vi xử lý – Tác giả Đỗ Xuân Tiến Câu 14 5.0 Câu hỏi: Viết đoạn chương trình để khởi tạo cho đơn PIC 8259, biết địa 5.0 CS PIC = 10h, vector ngắt sở = 40h, khoảng cách byte/ vector, hệ dùng EOI thường, không đệm kệnh Biết dạng thức từ điều khiển khởi đầu sau: ICW1: ICW2: ICW4: Đáp án MOV AL, 17H OUT 10H, AL MOV AL, 40H 5.0 OUT 11H, AL MOV AL, 01H OUT 11H, AL m m Mov al,00h Out 10h,al Sti;cho phép ngắt hoạt động trở lại Câu 15 Câu hỏi: 5.0 K ê n h d ? li? u b it c ? a P I C A đ ? c n ? i v ? i b y te th ? p c ? a k ê n h d ? li? u h ? v i x ? lý 8 H ? VXL 80286 A3 A A /I O R D /R D /I O W R /W R /I N T A /I N T A IN T R IN T R S P /E N A2 V cc A1 IR IR IR IR IR IR IR IR N V0 N V1 N V2 NV3 N N N N V V V V /C S A B C A EN A15 A4 Vcc /Q C as0 C as1 C as2 74138 /E /E /Q E1 74138 Cho sơ đồ ghép nối PIC 8259 với hệ vi xử lý trên, yêu cầu viết đoạn chương trình để cài đặt ngắt NV5 vào bảng vector ngắt vi xử lý 80286 Biết số hiệu ngắt sở PIC 30h có sẵn chương trình phục vụ ngắt IR5_Service Đáp án 5.0 MOV AX, 00H MOV ES, AX MOV DX, OFFSET IR5_SERVICE MOV WORD PTR ES: [35H*4], DX MOV DX, CS MOV WORD PTR ES: [35H * + 2], DX Câu 16 Câu hỏi: Cho sơ đồ ghép nối ADC 0809 với hệ vi xử lý sau: 5.0 /CS 0809 có địa xác định từ giải mã địa EOC / IORD OE Báo cho hệ vi xử lý biết: biến đổi xong START / IOWR ALE kênh vào A B C Kênh liệu hệ thống bit địa kênh vào Biết địa chọn chip ADC 200h Viết đoạn chương trình để đọc byte liệu sau lấy mẫu kênh vào vi xử lý lưu ghi BL Đáp án /CS 0809 có địa xác định từ giải mã địa 5.0 Chương trình tập ADC bit – chương – Giáo trình kỹ thuật vi xử lý – Tác giả Đỗ Xuân Tiến EOC Báo cho hệ vi / IORD OE xử lý biết: biến đổi xong START / IOWR ALE Câu 17 kênh vào B C Câu hỏi: Cho sơ đồ ghép nối ADC 0809Avới hệ vi xử lý sau: bit địa kênh vào Kênh liệu hệ thống 5.0 Biết địa chọn chip ADC 100h Viết đoạn chương trình để đọc byte liệu sau lấy mẫu kênh vào vi xử lý lưu ghi BH Đáp án 5.0 Chương trình tập ADC bit – chương – Giáo trình kỹ thuật vi xử lý – Tác giả Đỗ Xuân Tiến Câu 18 Câu hỏi: Viết đoạn chương trình Assembly cho Onchip 80c51 để thức đọc 5.0 byte từ ROM có địa 200h đưa byte giá trị cổng P1 Đáp án MOV A, #0 MOV DPTR, #200H MOVC A, @A+DPTR MOV P1, A 5.0 Câu 19 Câu hỏi: Viết đoạn chương trình Assembly cho Onchip 80c51 để thực đọc 5.0 byte từ ROM có địa 100h lưu giá trị vào nhớ có địa 40h RAM Đáp án MOV A, #0 MOV DPTR, #100H MOVC A, @A+DPTR MOV 40H, A 5.0 Câu 20 Câu hỏi: Hệ đo độ rộng xung hệ vi xử lý on-chip 80C51 với focs= 12 MHZ, 5.0 xung cần đo độ rộng đưa vào chân tín hiệu INT0 (bit P3.2 – chân IC 12), kết đo phải chuyển vào máy tính PC qua đường truyền UART hệ vi xử lý onchip 80C51 với tốc độ = 9600 baud, khung tin = bit DATA, bit STOP, khơng PARITY Giữa giá trị kết phải có dấu “,” ngăn cách Yêu cầu: Phân tích phương pháp đo độ rộng xung trình bày lưu đồ thuật tốn cho tốn (khơng u cầu viết chương tình) Đáp án 5.0 Bài tốn đo độ rộng xung – Chương 11 - Giáo trình kỹ thuật vi xử lý – Tác giả Đỗ Xuân Tiến Câu 21 Câu hỏi: Hệ đo độ rộng xung hệ vi xử lý on-chip 80C51 với focs= 12 MHZ, xung cần đo độ rộng đưa vào chân tín hiệu INT0 (bit P3.2 – chân IC 12), kết đo phải chứa hai ghi: R1 chứa byte cao kết quả, R0 chứa byte thấp kết 5.0 Yêu cầu: Hãy phân tích phương pháp đo độ rộng xung trình bày thuật tốn cho tốn (khơng u cầu viết chương trình) Đáp án 5.0 Bài tốn đo độ rộng xung – Chương 11 - Giáo trình kỹ thuật vi xử lý – Tác giả Đỗ Xuân Tiến Câu 22 Câu hỏi: Viết đoạn chương trình ngôn ngữ Assembly cho Onchip 80c51 5.0 thực hiện: Khởi tạo cho UART làm việc MODE 1, cho phép UART nhận liệu, tốc độ baud = 9600 baud/s Biết tần số dao động đưa vào Onchip 11,059 MHz Khởi tạo để Timer chạy MODE 2, với giá trị bắt đầu đếm (giá trị reload) 156 Cho biết dạng thức ghi SCON TMOD là: Và Đáp án MOV SCON, #50H MOV TMOD, #22H MOV TH1, #0FDH MOV TH0, #156 SETB TR1 SETB TR0 5.0 Câu 23 Câu hỏi: Hệ đo độ rộng xung hệ vi xử lý on-chip 80C51 với focs= 12 MHZ, xung cần đo độ rộng đưa vào chân tín hiệu INT0 (bit P3.2 – chân IC 12), kết đo phải chuyển vào máy tính PC qua đường truyền UART hệ vi xử lý onchip 80C51 với tốc độ = 9600 baud, khung tin = bit DATA, bit TOP, khơng PARITY Giữa giá trị kết phải có dấu “,” ngăn cách Yêu cầu: Viết chương trình cho hệ vi xử lý thực chức trên, cho sẵn lưu đồ thuật toán sau: a/ Lưu đồ thuật tốn chương trình phát byte b/ Lưu đồ thuật tốn chương trình chính: 5.0 Đáp án 5.0 Bài toán đo độ rộng xung – Chương 11 - Giáo trình kỹ thuật vi xử lý – Tác giả Đỗ Xuân Tiến Câu 24 Câu hỏi: Hệ đo độ rộng xung hệ vi xử lý on-chip 80C51 với focs= 12 MHZ, 5.0 xung cần đo độ rộng đưa vào chân tín hiệu INT0 (bit P3.2 – chân IC 12), kết đo phải chứa hai ghi: R1 chứa byte cao kết quả, R0 chứa byte thấp kết Yêu cầu: Viết chương trình cho hệ vi xử lý thực chức trên, cho sẵn lưu đồ thuật toán sau: Đáp án 5.0 Bài toán đo độ rộng xung – Chương 11 - Giáo trình kỹ thuật vi xử lý – Tác giả Đỗ Xuân Tiến Câu 25 Câu hỏi: Cho toán dùng hệ vi xử lý Onchip 80c51 với nguồn dao động thạch 5.0 anh 12 MHz để tạo đồng hồ Hãy trình bày ý tưởng sử dụng tài nguyên Onchip viết đoạn chương trình để tạo đơn vị giây Đáp án 5.0 Ý 1: Sử dụng Timer0 Mode với giá trị TH0 = Như chu kỳ ngắt 250 us Ta cần đếm 40 * 100 chu kỳ ngắt để có đơn vị giây Ý 2: ORG 0BH INC R0 CJNE R0, #40, END_ MOV R0, #0 INC R1 CJNE R1, #100, END_ MOV R1, #0 INC R2 ; R2 chứa biến giây CJNE R2, #60, END_ MOV R2, #0

Ngày đăng: 01/12/2017, 19:23

Tài liệu cùng người dùng

Tài liệu liên quan