Bài tập lớn Vi xử lý
lượt xem 72
download
Câu 1: Viết CT đếm số âm trong miền nhớ 100 byte từ ô nhớ 123H tại RAM ngoài.Câ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 RAM ngoài và mảng 2 có địa chỉ 70H trong RAM trong.Câ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ình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài tập lớn Vi xử lý
- Bài tập lớn Vi xử lý Sinh viên : Mai Đình Thế Mssv: 20102229 Lớp : đk&tđh 1- k55 Email: maidinhthe@gmail.com
- Câu 1: Viết CT đếm số âm trong miền nhớ 100 byte từ ô nhớ 123H tại RAM ngoài Lưu đồ thuật toán Chương trình start Main program Mov dptr,#123h dptr←#123h Mov r2,#00h bdem= 0 Mov r0,#100 r0=100 Lap: Movx a,@dptr Jb Acc.7,tang_bdem a←@dptr Lap1: Jnc dptr Djnz r0,lap Y Tang_bdem: Acc.7=1 Bdem+1 Inc r2 Sjmp lap1 N Ret Dptr+1 end R0-1 N R0=0 Y end
- Câ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 RAM ngoài và mảng 2 có địa chỉ 70H trong RAM trong Lưu đồ thuật toán Chương trình start Main program Mov dptr,#1000h A←@DPTR Mov r0,#70h XCH A,@R0 Mov r2,#10 @DPTR←A Loop: DPTR+1 Movx a,@dptr R0+1 Xch a,@r0 R1-1 Movx @dptr,a Inc r0 Djnz r1,loop End R1=0 END
- Câ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 Main program START Clr c Mov r0,#70h Mov r1,#60h Loop: R0←70H Mov a,@r0 R1←60H Addc a,@r1 Da a Inc r0 A←@R0 Inc r1 A←A+R1 Cjne r0,#62h,loop DA A Mov a,#00h R1+1 Add a,#00h R0+1 Mov @r0,a end R1=60H A=00H A=A+00H @R1←A END
- Câu 4: Viết CT tính trung bình 10 byte trong Ram ngoài từ ô nhớ 1234H Main program R7←#10 START Mov r7,#10 R6←#00H Mov r6,#00h R5←#00H Mov r5,#00h R0←#1234H Mov r0,#1234h Lap: A←@R0 Mov a,#@r0 B←#10 Mov b,#10d PUSH B Push b DIV AB Div ab A+R6 Add a,r6 R6←A Mov a,b A←B Pop b A+R5 Div ab POP B Add a,r6 DIV AB Mov r6,a A+R6 Mov r5,b R6←A Inc r0 R5←B R0+1 Djnz r7,lap R7-1 ret N R7=0 Y END
- Câ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ạch anh 12MHz ( Ton =50%, Toff = 50%) Main program START Clr P1.0 Mov tmod,#01h Mov th0,#3ch CPL P1.0 Mov tl0,#b0h TMOD←#01H Setb tr0 TH0←#3CH Mov r7,#0 TL0←#B0H Again SETB TR0 Jnb tf0,again R7←#0 Inc r7 Cjne r7,#10,again Cpl P1.0 N TF=1 Mov r7,#0 Sjmp again END Y INC R7 N R7=10 Y CPL P1.0 R7=0
- Câu 6: Viết CT tạo xung 10Hz tại chân P1.2. Biết xung nhịp thạch anh 12MHz (Ton =30% và Toff=70%) Lưu đồ thuật toán START TMOD←#01H TH0←#3CH TL0←0BH P1.2=1 R3←#00H TR0=1 TF=0 TH0 TL0 R3+1 R3=#0EH P1.2←P1.2 R3→#0EH P1.2=0 R3←#06H
- Chương trình Mov tmod ,#01h Mov th0,#3ch Mov tl0,30h Setb P1.2 Mov r0,#00h Setb tr0 Lap: Jnb tf0,lap Mov th0,#3ch Mov tl0,b0h Inc r3 Cjne r3,lap Cpl P1.2 Jnb P1.2 toff Mov r0,#0eh Sjmp lap Ton: mov r0,#06h Sjmp lap END
- Câu 7: Viết CT con đọc 300 byte dữ liệu từ cổng nối tiếp và cất vào vùng nhớ có địa chỉ đầu 100H. Biết cổng nối tiếp đã được khởi tạo sẵn, cổng cho phép đọc khi cờ RI =1, và cờ RI sẽ tự xóa khi đọc xong 1 byte. start Main program mov dptr,#100h mov r1,#02h 100H→DPTR 02H→R1 back: mov r0,#150 R0←#150d again: jnb ri,again clr ri RI=0 mov a,sbuf ;sao sbuf len A khi RI=1 N movx @dptr,a inc dptr Y djnz r0,again CLR RI djnz r1,back SBUF→A ret A→@DPTR end DPTR+1 N R0=0 Y R1=0 Y N END
- Câu 8: Viết CT điều khiển đèn giao thông tại 1 ngã tư 64h→r1 Lưu đồ thuật toán 01→tmod start Tl0→0f0h Th0→0d8h Sectb tr0 Y R0=0 1eh→p1 19h→r0 Tf0=1 Lcall one_sec Lcall one_sec N Y N Clr tf0 Clr tr0 2bh→p1 N R0=0 3h→r0 Y Y N N 1dh→p1 R0=0 R1=0 03h→r0 Y Lcall one_sec Lcall one_sec 33h→P1 R0=0 21→r0 N Y
- Câu 9: Viết CT hiển thị trên 2 LED 7 thanh đếm lùi từ 20s phan cung truyen tin song song qua cong p2 va 2 IC 7447 START hien thi led 7 thanh qua bo giai ma IC7447 MAIN PROGRAM mov r1,#14h;14h=20d 14H→R1 mov r0,#64h;64h=100d displ: mov a,r1 R1 A mov b,#0ah; 0ah = 10d OAH B div ab DIV AB swap a SWAP A add a,b A A+B mov p2,a A P1 lcall one_sec; tao tre 1s LCALL ONE_SEC djnz r1,displ clr p2 here: sjmp here R0=0 one_sec: mov r0,#64h back : LCALL ONE_SEC mov tmod,#01h CLR P2 mov tl0,#0f0h END
- mov th0,#0d8h setb tr0 again : jnb tf0,again clr tr0 clr tf0 djnz r0,back ret end
- Câu 10: Viết CT con đổi n ký tự thành chữ hoa (nếu đang là chữ thường). Biết chuỗi ký tự trong bộ nhớ có địa chỉ đầu trong R0 , độ dài trong R7 Main program Chương trình START Thuật toán Main program R2←R7 Mov r2,r7 Lap: A←R0 Mov a,@r0 A+20H Add a,#20h @R0←A Mov @r0,a R0+1 Inc r0 R2-1 Djnz r2,lap Ret END N R2=0 Y END
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Thiết kế mạch số hiển thị chữ "Viện Đại Học Mở" P1
13 p | 514 | 245
-
Ma trận phím 4*4 hiện thị LCD
8 p | 860 | 227
-
Bài tập lớn môn Vi xử lý
12 p | 360 | 103
-
Bài tập lớn "Hệ vi xử lý ONCHIP 8"
12 p | 252 | 63
-
Cách xử lý các phế phẩm từ thủy hải sản
4 p | 115 | 19
-
Giải pháp định vị GPS tương đối động xử lý sau với nhiều trạm cơ sở trong công tác thanh tra lập bản đồ số tỷ lệ lớn
8 p | 65 | 7
-
Nghiên cứu phân bố áp lực sóng lên tường biển có mũi hắt sóng bằng mô hình số và mô hình vật lý
9 p | 58 | 1
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn