BÀI TẬP DÀI VI XỬ LÝ
Số trang: 11
Loại file: pdf
Dung lượng: 885.82 KB
Lượt xem: 8
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo tài liệu bài tập dài vi xử lý, công nghệ thông tin, hệ điều hành phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
BÀI TẬP DÀI VI XỬ LÝ BÀI TẬP DÀI VI XỬ LÝ Họ tên: Đặng Đức Công. MSSV:20101181 Lớp: KSTN-ĐKTĐ-K55Câu 1: Viết CT đếm số âm trong miền nhớ 100 byte từ ô nhớ 123H tại RAM ngoài START Bài làm: Quy ước bit cao nhất(tức là bit 7) là bit dấu, và số R0 #100 âm có bit cao nhất bằng 1. DPTR #123H Số các số âm đếm được lưu tại R1. R1 #00 Địa chỉ 123H là địa chỉ thấp nhất trong 100 byte kề nhau A @DPTR RLC A Chương trình: MAIN: MOV R0,#100 MOV DPTR,#123H C = 1? MOV R1,#00 YES LOOP: MOVX A,@DPTR NO R1 += 1 NO RLC A JC NHAY DPTR += 1 INC R1 R0 -= 1 NHAY: INC DPTR DJNZ R0,LOOP R0 = 0? END YES ENDCâu 2: Viết CT chuyển 2 mảng dữ liệu 10 byte. Biết mảng 1 có địa chỉ 1000H trong RAMngoài và mảng 2 có địa chỉ 70H trong RAM trong. Bài làm: START Quy ước 1000H và 70H là các địa chỉ thấp nhất của mỗi mảng 10 byte trong các RAM. R2 #10 DPTR #1000H Chương trình: R0 #70 MAIN:MOV R2,#10 MOV DPTR,#1000H A @DPTR MOV R0,#70H XCH A,@R0 @DPTR A LOOP: MOVX A,@DPTR R0 += 1 XCH A,@R0 DPTR += 1 MOVX @DPTR,A R2 -= 1 NO INC R0 INC DPTR R2 = 0? DJNZ R2,LOOP END YES ENDCâu 3: Viết CT cộng hai số BCD 4 chữ số trong RAM trong, kết quả cất vào sô thứ 2 .Biết số thứ 1 đặt tại ô nhớ 70H, và số thứ 2 đặt tại ô nhớ 60H. Bài làm: START Quy ước 2 số BCD có byte thấp ứng với địa chỉ thấp. Kết quả cất vào số thứ 2, nếu kết quả có tràn sẽ cất vào R0 #70H R1 #60H byte 62H. R2 #2 Chương trình: C #0 MAIN:MOV R0,#70H MOV R1,#60H A @R0 A += (@R1+C) MOV R2,#2 DA A CLR C @R1 A R0 += 1 LOOP: MOV A,@R0 R1 += 1 ADDC A,@R1 NO R2 -= 1 DA A MOV @R1,A R2 = 0? INC R0 INC R1 YES DJNZ R2,LOOP C = 1? JNC EXIT MOV 62H,#1 YES EXIT: END NO 62H #1 ENDCâu 4: Viết CT tính trung bình 10 byte trong Ram ngoài từ ô nhớ 1234H. Bài làm: START Quy ước: Phép tính trung bình có thương trong R0, số dư trong R1. Địa chỉ 1234H là địa chỉ thấp nhất trong 10 byte DPTR #1234H kề nhau. R0 #00 Chương trình: R1 #00 MAIN: MOV DPTR,#1234H R2 #10 MOV R0,#00 A @DPTR MOV R1,#00 B #10 MOV R2,#10 DIV AB A += R0 LOOP: MOVX A,@DPTR R0 A MOV B,#10 A B DIV AB A += R1 R1 A ADD A,R0 DPTR += 1 MOV R0,A NO R2 -= 1 MOV A,B ADD A,R1 MOV R1,A R2 = 0? INC DPTR YES DJNZ R2,LOOP A R1 MOV A,R1 B #10 MOV B,#10 DIV AB DIV AB A += R0 R0 A ADD A,R0 R1 B MOV R0,A MOV R1,B END ENDCâu 5: Viết CT sử dụng Timer tạo xung tần số 1Hz tại chân P1.0. Biết xung nhịp thạchanh 12MHz ( Ton =50%, Toff = 50%). Bài làm: START Tần số 1Hz => T= 1s. Ton=Toff= 500.000us Sử dụng Timer0 chế độ 16 bit, thời gian TMOD #00000001B 50000 gồm 10 lần. ...
Nội dung trích xuất từ tài liệu:
BÀI TẬP DÀI VI XỬ LÝ BÀI TẬP DÀI VI XỬ LÝ Họ tên: Đặng Đức Công. MSSV:20101181 Lớp: KSTN-ĐKTĐ-K55Câu 1: Viết CT đếm số âm trong miền nhớ 100 byte từ ô nhớ 123H tại RAM ngoài START Bài làm: Quy ước bit cao nhất(tức là bit 7) là bit dấu, và số R0 #100 âm có bit cao nhất bằng 1. DPTR #123H Số các số âm đếm được lưu tại R1. R1 #00 Địa chỉ 123H là địa chỉ thấp nhất trong 100 byte kề nhau A @DPTR RLC A Chương trình: MAIN: MOV R0,#100 MOV DPTR,#123H C = 1? MOV R1,#00 YES LOOP: MOVX A,@DPTR NO R1 += 1 NO RLC A JC NHAY DPTR += 1 INC R1 R0 -= 1 NHAY: INC DPTR DJNZ R0,LOOP R0 = 0? END YES ENDCâu 2: Viết CT chuyển 2 mảng dữ liệu 10 byte. Biết mảng 1 có địa chỉ 1000H trong RAMngoài và mảng 2 có địa chỉ 70H trong RAM trong. Bài làm: START Quy ước 1000H và 70H là các địa chỉ thấp nhất của mỗi mảng 10 byte trong các RAM. R2 #10 DPTR #1000H Chương trình: R0 #70 MAIN:MOV R2,#10 MOV DPTR,#1000H A @DPTR MOV R0,#70H XCH A,@R0 @DPTR A LOOP: MOVX A,@DPTR R0 += 1 XCH A,@R0 DPTR += 1 MOVX @DPTR,A R2 -= 1 NO INC R0 INC DPTR R2 = 0? DJNZ R2,LOOP END YES ENDCâu 3: Viết CT cộng hai số BCD 4 chữ số trong RAM trong, kết quả cất vào sô thứ 2 .Biết số thứ 1 đặt tại ô nhớ 70H, và số thứ 2 đặt tại ô nhớ 60H. Bài làm: START Quy ước 2 số BCD có byte thấp ứng với địa chỉ thấp. Kết quả cất vào số thứ 2, nếu kết quả có tràn sẽ cất vào R0 #70H R1 #60H byte 62H. R2 #2 Chương trình: C #0 MAIN:MOV R0,#70H MOV R1,#60H A @R0 A += (@R1+C) MOV R2,#2 DA A CLR C @R1 A R0 += 1 LOOP: MOV A,@R0 R1 += 1 ADDC A,@R1 NO R2 -= 1 DA A MOV @R1,A R2 = 0? INC R0 INC R1 YES DJNZ R2,LOOP C = 1? JNC EXIT MOV 62H,#1 YES EXIT: END NO 62H #1 ENDCâu 4: Viết CT tính trung bình 10 byte trong Ram ngoài từ ô nhớ 1234H. Bài làm: START Quy ước: Phép tính trung bình có thương trong R0, số dư trong R1. Địa chỉ 1234H là địa chỉ thấp nhất trong 10 byte DPTR #1234H kề nhau. R0 #00 Chương trình: R1 #00 MAIN: MOV DPTR,#1234H R2 #10 MOV R0,#00 A @DPTR MOV R1,#00 B #10 MOV R2,#10 DIV AB A += R0 LOOP: MOVX A,@DPTR R0 A MOV B,#10 A B DIV AB A += R1 R1 A ADD A,R0 DPTR += 1 MOV R0,A NO R2 -= 1 MOV A,B ADD A,R1 MOV R1,A R2 = 0? INC DPTR YES DJNZ R2,LOOP A R1 MOV A,R1 B #10 MOV B,#10 DIV AB DIV AB A += R0 R0 A ADD A,R0 R1 B MOV R0,A MOV R1,B END ENDCâu 5: Viết CT sử dụng Timer tạo xung tần số 1Hz tại chân P1.0. Biết xung nhịp thạchanh 12MHz ( Ton =50%, Toff = 50%). Bài làm: START Tần số 1Hz => T= 1s. Ton=Toff= 500.000us Sử dụng Timer0 chế độ 16 bit, thời gian TMOD #00000001B 50000 gồm 10 lần. ...
Tìm kiếm theo từ khóa liên quan:
hệ vi xử lý hệ thống vi xử lý bộ nhớ ảo Lập trình Assembly hệ vi xử lý Intel xử lý dữ liệuTài liệu có liên quan:
-
Giáo trình Hệ điều hành: Phần 2
53 trang 255 0 0 -
69 trang 225 0 0
-
Giáo trình Máy thu hình (Nghề Điện tử dân dụng - Trình độ: Trung cấp) - Trường Cao đẳng nghề Cần Thơ
79 trang 171 0 0 -
Giáo trình Lập trình hệ thống máy tính - Phạm Hùng Kim Khánh
130 trang 128 0 0 -
Bài giảng Thiết kế thí nghiệm và xử lý dữ liệu với phần mềm SAS - Đỗ Đức Lực
54 trang 114 0 0 -
Bài giảng Nguyên lý hệ điều hành: Chương 4 - ĐH Bách khoa Đà Nẵng
58 trang 106 0 0 -
Giáo trình môn kỹ thuật vi điều khiển
0 trang 101 0 0 -
Giáo trình Nguyên lý hệ điều hành: Phần 1 - Hồ Đắc Phương
133 trang 79 0 0 -
Giáo trình Điện toán đám mây (Xuất bản lần thứ hai): Phần 1
64 trang 75 0 0 -
Giáo trình- Tin học chuyên ngành trong chăn nuôi và thú y
104 trang 66 0 0