Danh mục tài liệu

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. ...