1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo thí nghiệm ee2000 bài 2

11 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Báo Cáo Bài Tập Lớn Vi Xử Lý
Tác giả Nguyễn Trung Dũng
Người hướng dẫn Nguyễn Tuấn Ninh
Trường học Đại học Bách Khoa Hà Nội
Chuyên ngành Kỹ Thuật Vi Xử Lý
Thể loại báo cáo
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 11
Dung lượng 1,24 MB

Nội dung

BÀI TẬP DÀI MÔN KỸ THUẬT VI XỬ LÝCâu 1: Viết CT đếm số dương trong miền nhớ 50 byte từ ô nhớ 38H tại RAM trong.. Tham khảo tại khoa-ha-noi/ky-thuat-vi-xu-ly/bai-tap-dai-vi-xu-ly-btl/7615

Trang 1

ĐẠI HỌC BÁCH KHOA HÀ NỘI TRƯỜNG ĐIỆN – ĐIỆN TỬ

- -BÁO CÁO BÀI TẬP LỚN

VI XỬ LÝ

Giảng viên hướng dẫn: Nguyễn Tuấn Ninh

Họ và tên: Nguyễn Trung Dũng

MSSV: 20191779

Mã lớp học : 145343

Học kỳ : 20231

Hà Nội 2023

Trang 2

BÀI TẬP DÀI MÔN KỸ THUẬT VI XỬ LÝ

Câu 1: Viết CT đếm số dương trong miền nhớ 50 byte từ ô nhớ 38H tại RAM trong

( Tham khảo tại https://www.studocu.com/vn/document/truong-dai-hoc-bach-khoa-ha-noi/ky-thuat-vi-xu-ly/bai-tap-dai-vi-xu-ly-btl/76150205 )

Cách nhận biết số dương: Trong sơ đồ mã hóa, bit ngoài cùng bên trái hay MSB bit là bit dấu Nó cho bộ xử lý biết về dấu của số - bit MSB bằng 1 thì là số âm, ngược lại bit MSB bằng 0 thì là số dương

Chọn R0 làm biến điếm số dương, R1 làm biến đếm số vòng lặp

Lưu đồ thuật toán:

Trang 3

CODE 1:

ORG 00H MAIN : MOV R0 , #00 D MOV R1 , #50 D MOV DPTR , #0038 H LOOP 1:

MOV A , @DPTR

JB ACC.7 , LOOP 2 INC R0

LOOP 2 : INC DPTR DJNZ R1 , LOOP 1 END

Câu 2: Viết CT chuyển 2 mảng dữ liệu Biết mảng 1 có địa chỉ từ 1000H đến

1009H trong RAM ngoài và mảng 2 có địa chỉ từ 50H -59H trong RAM trong ( Tham khảo tại https://www.studocu.com/vn/document/truong-dai-hoc-bach-khoa-ha-noi/ky-thuat-vi-xu-ly/bai-tap-dai-vi-xu-ly-btl/76150205 )

Ta sử dụng:

1 R0 - con trỏ cho mảng RAM trong

2 R1 - biến đếm vòng lặp

3 DPTR - con trỏ mảng RAM ngoài

Lưu đồ thuật toán: Code 2:

Trang 4

ORG 00H MAIN : MOV R0 , #50 H MOV R1 , #10 D MOV DPTR , #1000 H LOOP :

MOVX A , @DPTR XCH A , @R0 MOVX @DPTR , A INC R0

INC DPTR DJNZ R1 , LOOP END

Câu 3: Viết CT xóa 10byte trong vùng nhớ RAM trong có địa đầu là 6CH ( Tham khảo tại https://www.studocu.com/vn/document/truong-dai-hoc-bach-khoa-ha-noi/ky-thuat-vi-xu-ly/bai-tap-dai-vi-xu-ly-btl/76150205 )

Ta chọn R0 làm biến con trỏ địa chỉ bắt đầu (6CH), R1 là biến đếm vòng lặp Lưu đồ thuật toán: Code 3 :

ORG 00H MAIN :

Trang 5

MOV R0 , #6 CH MOV R1 , #10 D LOOP :

MOV @R0 , #00 H INC R0

DJNZ R1 , LOOP END

Câu 4: Viết CT tính checksum 1byte (theo cách của lệnh ADD) của 1 frame dữ liệu 6byte trong vùng nhớ trong có địa chỉ đầu từ 20H Kết quả cất vào thanh ghi R7 Bank thanh ghi số 3

Lưu đồ thuật toán: Code 4:

ORG 00H MAIN:

Trang 6

SETB PSW.3 SETB PSW.4 MOV R0, #20H MOV R1, #06H MOV R7, #00H LOOP:

ADD R7,@R0 INC R0 DJNZ R1,LOOP MOV R1, #lFH MOV @R1,R7 END

Trang 7

Câu 5: Viết CT sử dụng Timer tạo xung tần số 10Hz tại chân P3.0 Biết xung nhịp thạch anh 12MHz (Ton =50%, Toff = 50%)

( Tham khảo tại https://tailieu.tv/tai-lieu/bai-tap-dai-vi-xu-ly-20018/ ) Tần số 10Hz => T=0,1s Ton=Toff=50.000us

Sử dụng Timer0 chế độ 16 bit , 15535D = 3CAFH

Code 5:

ORG 00H MAIN:

MOV TMOD, #01H LOOP:

MOV TH0, #3CH MOV TL0, #AFH SETB TR0 WAIT:

JNB TF0, WAIT CLR TR0 CPL P3.0 LJMP LOOP END

Trang 8

Câu 7: Viết CT con truyền 10byte dữ liệu từ bộ nhớ ngoài có địa chỉ đầu là 100H qua cổng nối tiếp Biết cổng nối tiếp đã được khởi tạo sẵn, cổng truyền xong 1byte sẽ báo

cờ TI =1, và cờ TI sẽ tự xóa khi bắt đầu truyền 1 byte

(Tham khảo bài bạn Trịnh Cao Cường 20212714)

ORG 00H MAIN:

MOV R0, #10H MOV DPTR, #100H LCALL UART_TRANS_START HERE:

SJMP HERE UART_TRANS_START:

MOVX A,@DPTR MOV SBUF, A WAIT_TO_TRAINS:

JNB TI, WAIT_TO_TRAINS CLR TI

INC DPTR DJNZ R0, UART_TRANS_START RET

END

Trang 9

Câu 8: Viết CT hiển thị giá trị trong thanh ghi Acc lên Led 7 thanh AC theo sơ đồ mạch hình sau Biết giá trị trong thanh ghi Acc < 9

Lưu đồ thuật toán: Code 8:

MALEG:

DB 0C0H,0F9H,0A4H,0B0H, 99H,92H,82H,8FH,80H,90H ORG 00H

MAIN:

MOV DPTR, #MALED MOV R0, #00H LOOP:

MOV A, R0 MOVX A, @A+DPTR MOV P1, A

END

Trang 10

Lưu đồ thuật toán: Code 9:

MALEG:

DB 0C0H,0F9H,0A4H,0B0H, 99H,92H,82H,8FH,80H,90H ORG 00H

MAIN:

MOV DPTR, #MALEG MOV R0,#00H MOV A,#00H LOOP1:

MOVX @A+DPTR MOV P1,A LOOP2:

JNB INTO, LOOP2 INC R0

MOV A,R0 CJNE RO,#10H,LOOP1 END

Câu 9: Viết CT hiển thị số lần bấm phím PB1 lên Led 7 thanh AC theo sơ đồ mạch hình sau Biết số lần bấm phím từ 0-9

Trang 11

Câu 10: Viết CT con đổi n ký tự thành chữ thường (nếu đang là chữ hoa) Biết chuỗi

ký tự trong bộ nhớ có địa chỉ đầu trong R0, độ dài trong R7

(Tài liệu tham khảo Hoàng Bá Luân 20181572)

Lưu đồ thuật toán: Code 10:

ORG 00H MAIN:

LOOP1:

CJNE @R0, #41H, LOOP4 LOOP2:

MOV A, @R0 ADD A, #32D MOV @R0, A LOOP3:

INC R0 DJNZ R7, LOOP1 RET

LOOP4:

JC LOOP3 CJNE @R0, #5AH, LOOP5 LJMP LOOP2

LOOP5:

JNC LOOP3 LJMP LOOP2

Ngày đăng: 14/06/2024, 16:33

w