GIẢI BAI tập VI xử lý CHƯƠNG 3 2

44 5.4K 249
GIẢI BAI tập VI xử lý CHƯƠNG 3 2

Đ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

GIẢI BÀI TẬP VI XỬ (HỌ VI ĐIỀU KHIỂN 8051) Họ tên : Đinh Thanh Nhân MSSV: 40901793 1. CẤU TRÚC PHẦN CỨNG – GIẢI MÃ ĐỊA CHỈ Giải: Giải: Giải: 2. SỬ DỤNG TẬP LỆNH Truy xuất RAM nội 2.1 Viết CT ghi 40H vào ô nhớ 30H của RAM nội theo 2 cách (định địa chỉ ô nhớ trực tiếp và định địa chỉ ô nhớ gián tiếp). Giải: Định địa chỉ trực tiếp ORG 0000H MOV A, #40H MOV 30H, A SJMP $ END Định địa chỉ gián tiếp ORG 0000H MOV A, #40H MOV R0, #30H MOV @R0, A END 2.2 Viết CT xóa ô nhớ 31H của RAM nội theo 2 cách (định địa chỉ ô nhớ trực tiếp và định địa chỉ ô nhớ gián tiếp). Giải: Định địa chỉ trực tiếp ỎRG 0000H MOV 31H, #00H END Định địa chỉ gián tiếp ORG 0000H MOV R0, #31H MOV @R0, #00H END 2.3 Viết CT ghi nội dung thanh ghi A vào ô nhớ 32H của RAM nội theo 2 cách (định địa chỉ ô nhớ trực tiếp và định địa chỉ ô nhớ gián tiếp). Giải: Định địa chỉ trực tiếp ORG 0000H MOV 32H, A END Định địa chỉ gián tiếp ORG 000H MOV R0, #32H MOV @R0, A END 2.4 Viết CT đọc ô nhớ 33H của RAM nội vào thanh ghi A theo 2 cách (định địa chỉ ô nhớ trực tiếp và định địa chỉ ô nhớ gián tiếp). Giải: Định địa chỉ trực tiếp ORG 0000H MOV A, 33H END Định địa chỉ gián tiếp ORG 0000H MOV R0, #33H MOV A, @R0 END 2.5 Viết CT chuyển dữ liệu ô nhớ 34H của RAM nội vào ô nhớ 35H của RAM nội theo 2 cách (định địa chỉ ô nhớ trực tiếp và định địa chỉ ô nhớ gián tiếp). Giải: Định địa chỉ trực tiếp ORG 0000H MOV 35H, 34H END Định địa chỉ gián tiếp ORG 0000H MOV R0, #35H MOV @R0, 34H END Truy xuất RAM ngoài 2.6 Viết CT ghi 40H vào ô nhớ 0030H của RAM ngoài. Giải: ORG 0000H MOV A, #40H MOV DPTR, #0030H MOVX @DPTR, A END 2.7 Viết CT xóa ô nhớ 0031H của RAM ngoài. Giải: ORG 0000H MOV A, #00H MOV DPTR, #0031H MOVX @DPTR, A END 2.8 Viết CT đọc ô nhớ 0032H của RAM ngoài vào thanh ghi A. Giải: ORG 0000H MOV DPTR, #0032H MOVX A, @DPTR END 2.9 Viết CT ghi nội dung thanh ghi A vào ô nhớ 0033H của RAM ngoài. Giải: ORG 0000H MOV DPTR, #0033H MOVX @DPTR, A END 2.10 Viết CT chuyển dữ liệu ô nhớ 0034H của RAM ngoài vào ô nhớ 0035H của RAM ngoài. Giải: ORG 0000H MOV DPTR, #0034H MOVX A, @DPTR MOV DPTR, #0035H MOVX @DPTR, A END Truy xuất Port 2.11 Viết CT xuất 0FH ra Port 1. Giải: ORG 0000H MOV A, #0FH MOV P1, A END 2.12 Viết CT xuất F0H ra Port 2. Giải: ORG 0000H MOV A, #F0H MOV P2, A END 2.13 Viết CT xuất nội dung thanh ghi A ra Port 1. Giải: ORG 0000H MOV P1, A END 2.14 Viết CT nhập từ Port 1 vào thanh ghi A. Giải: ORG 0000H MOV P1, #0FFH MOV A, P1 END 2.15 Viết CT nhập từ Port 1 và xuất ra Port 2. Giải: ORG 0000H MOV P1, #0FFH MOV A, P1 MOV P2, A END 2.16 Viết CT xuất 1 (mức logic cao) ra chân P1.0 Giải: ORG 0000H SETB P1.0 END 2.17 Viết CT xuất 0 (mức logic thấp) ra chân P1.1 Giải: ORG 0000H CLR P1.1 END Truy xuất RAM nội, RAM ngoài và Port 2.18 Viết CT chuyển dữ liệu ô nhớ 40H (RAM nội) đến ô nhớ 2000H (RAM ngoài). Làm theo 2 cách (định địa chỉ ô nhớ trực tiếp và định địa chỉ ô nhớ gián tiếp). Giải: Định địa chỉ trực tiếp: ORG 0000H MOV A, 40H MOV DPTR, #2000H MOVX @DPTR, A END Định địa chỉ gián tiếp: ORG 0000H MOV R0, #40H MOV A, @R0 MOV DPTR, #2000H MOVX @DPTR, A END 2.19 Viết CT chuyển dữ liệu ô nhớ 2001H (RAM ngoài) vào ô nhớ 41H (RAM nội). Làm theo 2 cách (định địa chỉ ô nhớ trực tiếp và định địa chỉ ô nhớ gián tiếp). Giải: Định địa chỉ trực tiếp: ORG 0000H MOV A, 41H MOV DPTR, #2001H MOVX A, @DPTR END Định địa chỉ gián tiếp: ORG 0000H MOV R0, #41H MOV A, @R0 MOV DPTR, #2001H MOVX A, @DPTR END 2.20 Viết CT nhập từ Port 1 vào ô nhớ 42H (RAM nội). Làm theo 2 cách (định địa chỉ ô nhớ trực tiếp và định địa chỉ ô nhớ gián tiếp). Giải: Định địa chỉ trực tiếp: ORG 0000H MOV P1, #0FFH MOV 42H, P1 END Định địa chỉ gián tiếp: ORG 0000H MOV P1, #0FFH MOV A, #42H MOV @A, P1 [...]... (delay) 2 .35 Vi t CT con delay 100μs, biết rằng thạch anh (xtal) dùng trong hệ thống là: a 12 MHz b 6 MHz Giải: a) DELAY: MOV R3, #50 DJNZ R3, $ RET b) DELAY: MOV R3, #25 DJNZ R3, $ RET 2 .36 Vi t CT con delay 100ms, biết rằng thạch anh (xtal) dùng trong hệ thống là: a 12 MHz b 11,05 92 MHz Giải: a) DELAY: R2, #20 0 MOV R3, #25 0 DJNZ R3, $ DJNZ LOOP: MOV R2, LOOP RET b) DELAY: R2, #1 92 MOV R3, #24 0 DJNZ R3,... #24 0 DJNZ R3, $ DJNZ LOOP: MOV R2, LOOP RET 2 .37 Vi t CT con delay 1s, biết rằng thạch anh (xtal) dùng trong hệ thống là: a 12 MHz b 24 MHz Giải: c) DELAY: MOV R2, #8 LOOP: MOV R3, #25 0 LOOP1: MOV R4, #25 0 DJNZ R4, $ DJNZ R3, LOOP1 DJNZ R2, LOOP RET d) DELAY: MOV R4, #16 LOOP: MOV R2, #25 0 LOOP1: MOV R3, #25 0 DJNZ R3, $ DJNZ R2, LOOP1 DJNZ R4, LOOP RET Tạo xung 2 .38 Vi t CT tạo một xung dương ( ) tại...END 2. 21 Vi t CT nhập từ Port 1 vào ô nhớ 20 02H (RAM ngoài) Giải: ORG 0000H MOV P1, #0FFH MOV DPTR, #20 02H MOV A, P1 MOVX @DPTR, A END 2. 22 Vi t CT lấy ô nhớ 43H (RAM nội) xuất ra Port 1 Làm theo 2 cách (định địa chỉ ô nhớ trực tiếp và định địa chỉ ô nhớ gián tiếp) Giải: Định địa chỉ trực tiếp: ORG 0000H MOV P1, 43H END Định địa chỉ gián tiếp: ORG 0000H MOV R0, #43H MOV P1, @R0 END 2. 23 Vi t CT... là 12 MHz Giải: CLR P1.0 SETB P1.0 MOV R3, #5 LOOP: MOV R2, #100 DJNZ R2, $ DJNZ R3, LOOP CLR P1.0 END 2 .39 Vi t CT tạo chuỗi xung vuông có f = 100 KHz tại chân P1.1 (Xtal 12 MHz) Giải: ORG LOOP: 0000H CPL P1.1 NOP NOP SJMP LOOP END 2. 40 Vi t CT tạo chuỗi xung vuông có f = 100 KHz và có chu kỳ làm vi c D = 40% tại chân P1 .2 (Xtal 12 MHz) Giải: ORG LOOP: 0000H SETB P1 .2 NOP NOP NOP CLR P1 .2 2.41 Vi t... lấy ô nhớ 20 03H (RAM ngoài) xuất ra Port 1 Giải: ORG 0000H MOV DPTR, #20 03H MOVX A, @DPTR MOV P1, A END Sử dụng vòng lặp 2. 24 Vi t CT xóa 20 ô nhớ RAM nội có địa chỉ bắt đầu là 30 H Giải: ORG CLR A MOV R0, #30 H MOV R1, #20 MOV @R0, A INC R0 DJNZ LOOP: 0000H R1, LOOP SJMP $ END 2. 25 Vi t CT xóa các ô nhớ RAM nội từ địa chỉ 20 H đến 7FH Giải: ORG 0000H CLR A MOV MOV @R0, A INC R0 CJNE LOOP: R0, #20 H R0,... nhớ 30 H và byte thấp của số 16 bit đầu tiên được cất tại ô nhớ 31 H) Hãy vi t CT con cộng chuỗi số này và cất kết quả vào ô nhớ 2EH:2FH LOOP: MOV MOV MOV CLR MOV ADD XCH ADDC XCH INC INC INC INC DJNZ R7,#10 R0, #30 H R1, #31 H A 2EH,A A,@R1 A,2EH A,@R0 A,2EH R0 R0 R1 R1 R7,LOOP MOV RET 2FH,A 2. 48 Vi t CT con lấy bù 2 số 16 bit chứa trong R2:R3 MOV CPL ADD MOV MOV CPL ADDC MOV RET A,R3 A A,#1 R3,A A,R2 A... f = 10 KHz tại chân P1 .3 (Xtal 24 MHz) 0000H P1 .3 DELAY LOOP MOV DJNZ RET END LOOP: ORG CPL CALL SJMP R4,#46 R4,$ DELAY: 2. 42 Vi t CT tạo chuỗi xung vuông có f = 10 KHz và có chu kỳ làm vi c D = 30 % tại chân P1 .3 (Xtal 24 MHz) ORG LOOP: SETB ACALL CLR ACALL SJMP DELAY30: MOV DJNZ RET DELAY70: MOV DJNZ RET END 0000H P1 .3 DELAY30 P1 .3 DELAY70 LOOP R4, #26 R4,$ R4,#67 R4,$ 2. 43 Vi t CT tạo chuỗi xung vuông... A,R3 A A,#1 R3,A A,R2 A A,#0 R2,A So sánh 2. 49 Cho hai số 8 bit, số thứ 1 chứa trong (30 H), số thứ 2 chứa trong (31 H) Vi t CT con so sánh hai số này Nếu số thứ 1 lớn hơn hoặc bằng số thứ 2 thì set cờ F0, nếu ngược lại thì xóa cờ F0 TT: MOV CLR CJNE JC SETB RET A ,30 H F0 A ,31 H,$+1 TT F0 2. 50 Cho hai số 16 bit, số thứ 1 chứa trong (30 H): (31 H), số thứ 2 chứa trong ( 32 H): (33 H) Vi t CT con so sánh hai số này... #7FH, LOOP SJMP $ END 2. 26 Vi t CT xóa 25 0 ô nhớ RAM ngoài có địa chỉ bắt đầu là 4000H Giải: CLR MOV DPTR, #4000H MOV R0, #25 0 MOVX @DPTR, A INC DPTR DJNZ LOOP: A R0, LOOP SJMP $ END 2. 27 Vi t CT xóa 25 00 ô nhớ RAM ngoài có địa chỉ bắt đầu là 4000H Giải: CLR MOV DPTR, #4000H MOV NEXT: A R1, #10 MOV R0, #25 0 LOOP: MOVX @DPTR, A INC DPTR DJNZ R0, LOOP DJNZ R1, NEXT SJMP $ END 2. 28 Vi t CT xóa toàn bộ RAM... địa chỉ đầu là 20 00H Giải: CLR A MOV DPTR, #20 00H MOV R1, #64 NEXT: MOV R0, # 128 LOOP: MOVX @DPTR, A INC DPTR DJNZ R0, LOOP DJNZ R1, NEXT SJMP $ END 2. 29 Vi t CT chuyển một chuỗi dữ liệu gồm 10 byte trong RAM nội có địa chỉ đầu là 30 H đến vùng RAM nội có địa chỉ đầu là 40H Giải: MOV MOV R1, #40H MOV R2, #10 MOV A, @R0 MOV @R1, A INC R0 INC R1 DJNZ LOOP: R0, #30 H R2, LOOP SJMP $ END 2 .30 Vi t CT chuyển . DELAY: MOV R2, #20 0 LOOP: MOV R3, #25 0 DJNZ R3, $ DJNZ R2, LOOP RET b) DELAY: MOV R2, #1 92 LOOP: MOV R3, #24 0 DJNZ R3, $ DJNZ R2, LOOP RET 2 .37 Vi t CT con. GIẢI BÀI TẬP VI XỬ LÝ (HỌ VI ĐIỀU KHIỂN 8051) Họ tên : Đinh Thanh Nhân MSSV: 409017 93 1. CẤU TRÚC PHẦN CỨNG – GIẢI MÃ ĐỊA CHỈ Giải: Giải: Giải: 2.

Ngày đăng: 01/03/2014, 09:31

Từ khóa liên quan

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

Tài liệu liên quan