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

bài tập dài vi xử lý

14 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

Định dạng
Số trang 14
Dung lượng 1,66 MB

Nội dung

Câu 10 : ết CT con đổi n ký tự Vithà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.TO_UPPER:MOV A,@R0LCALL TESTJNC NOT_LOWER1

Trang 1

Bài tập dài Vi xử lý

Họ và tên : Trần Tùng Sơn MSSV : 20202510 Lớp : EE2-07-k65

Mã lớp học : 141854 Giảng viên : Nguyễn Tuấn Ninh

Trang 2

Bài 1: ết CT đếm số âm trong miềVi n nhớ 200 byte từ ô nhớ 123H tại RAM ngoài

ORG 30H

MOV DPTR, #123H

MOV R0,0

MOV R1, #200

lap1:

MOVX A, @DPTR

RLC A

JNC lap2

INC R0

lap2:

INC DPTR

DJNZ R2,lap1

END

Trang 3

Câu 2: ết CT chuyển 2 mảng dữ Vi liệu 8 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 ORG 30H

MOV DPTR,#1000H

MOV R0, #70H

MOV R2, #8

Lap:

MOVX A,@DPTR

XCH A,@R0

MOVX @DPTR, A

INC DPTR

INC R0

DJNZ R2,lap

END

Trang 4

Câu 3: ết CT cộng hai số BCD 4 Vi chữ số trong RAM trong, kết quả cất vào sô thứ 2 Biết số ứ 1 đặt tại ô th nhớ 70H, và số thứ 2 đặt tại ô nhớ 60H

ORG 30H

MOV R0,#70H

MOV R1,#60H

MOV R2,#2

CLR C

Lap:

MOV A,@R1

ADDC A,@R0

DA A

MOV @R1,A

INC R1

INC R0

DJNZ R2, Lap

JC,Tran

MOV R1,00H

SJMP END

Tran:

MOV R1,00H

END:

END

Trang 5

Câu 4: ết CT tính trung bình 8 byte Vi

trong Ram ngoài từ ô nhớ 1234H

Thương được lưu trữ trong R0 số dư

được lưu trữ trong R1

ORG 30H

MOV DPTR,#1234H

MOV R0,#00H

MOV R1,#00H

MOV R2,#8

Lap:

MOVX A,@DPTR

MOV B,#8

DIV AB

ADD A,R0

MOV R0,A

MOV A,B

ADD A,R1

MOV R1,A

INC DPTR

DJNZ R2,Lap

MOV A,R1

MOV B,#8

DIV AB

ADD A,R0

MOV R0,A

MOV A,B

MOV R1,A END

Trang 6

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

ORG 30H

MOV TMOD, #01H

Lap:

MOV R2, #10

Lap1:

MOV TH0, #3CH

MOV TL0, #0AFH

SETB TR0

Wait:

JNB TF0,Wait

CLR TR0

DJZN R2, Lap1

CPL P1.5

SJMP Lap

END

Trang 7

Câu 6: ết CT tạo xung 10Hz tạVi i chân P1.0 Biết xung nhịp thạch anh 12MHz (Ton =70% và Toff=30%) ORG 30H

MOV TMOD, #01H

SETB P1.0

Bat:

MOV R2, #7

SJMP lap

Tat:

MOV R2, #3

lap

MOV TH0, #0D8H

MOV TL0, #0EFH

SETB TR0

Wait:

JNB TF0,Wait

CLR TR0

DJNZ R2, lap

JNB P1.0, Tat

SJMP Bat

END

Trang 8

Câu 7: ết CT con đọc 400 byte dữ Vi 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

MOV R0,#200

MOV R1,#2

MOV DPTR,#100H

Lap:

JNB RI, Lap

MOV A,SBUF

MOVX @DPTR,A

CLR RI

INC DPTR

DJNZ R0, Lap

MOV R0,#200

DJNZ R1, Lap

RET

Trang 9

Câu 8: ết CT điều khiển đèn giao Vi thông tại 1 ngã tư theo yêu cầu sau: Biết điều khiển 0 là đèn sáng , 1 là đèn tắt

MAIN:

MOV A,#25

MOV P1,#11011110B

LJMP DELAY

MOV A,#3

MOV P1,#11011101B

LJMP DELAY

MOV A,#33

MOV P1,11110011B

LJMP DELAY

MOV A,#3

MOV P1,11101011B

LJMP DELAY

LJMP MAIN

DELAY:

MOV TMOD,#01H

CLR TF0

MOV R0,#20

LAP:

MOV TH0,#3CH

MOV TL0,#0AFH

Trang 10

SETB TR0

WAIT

JNB TF0,WAIT

CLR TR0

CLR TF0

DJNZ R0,LAP

RET

Câu 9 : ết CT hiêVi n thi  trên 2 LED 7 thanh đếm lùi từ 20s với sơ đô phân cứng SV tư đề xuât

Trang 11

Sử dụng Port2 của VĐK làm port dữ ệu, và 2 chân P3.0 và P3.1 điều khiển quét li LED

ORG 0000H

MAIN:

MOV R0,#20

DEM_LUI:

MOV R1,#125

LCALL HIEN_THI

DJNZ R0,DEM_LUI

SJMP MAIN

HIEN_THI:

MOV A,R0

MOV B,#10

DIV AB

LCALL GIAI_MA

Trang 12

MOV P2,A

SETB P3.0

MOV A,#4

LCALL DELAY_A_MS CLR P3.0

MOV A,B

LCALL GIAI_MA MOV P2,A

SETB P3.1

MOV A,#ON

LCALL DELAY_A_MS CLR P3.1

DJNZ R1,HIEN_THI RET

DELAY_A_MS: MOV TMOD,#01H LOOP: CLR TF0 MOV TH0,#0FCH MOV TL0,#18H SETB TR0

WAIT:

JNB TF0,WAIT CLR TR0

DJNZ 0E0H,LOOP RET

Trang 13

MOV DPTR,#MA_SO

MOVC A,@A+DPTR

RET

MA_SO:

DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H END

Trang 14

Câu 10 : ết CT con đổi n ký tự Vi

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

TO_UPPER:

MOV A,@R0

LCALL TEST

JNC NOT_LOWER1

SUBB A,#20H

MOV @R0,A

NOT_LOWER1:

INC R0

DJNZ R7,TO_UPPER

RET

TEST:

SETB C

CJNE A,#122,NOT_EQ1

SETB C

SJMP EXIT

NOT_EQ1:

JNC EXIT

CLR C

CJNE A,#97

SETB C

SJMP EXIT

NOT_EQ2

Ngày đăng: 11/06/2024, 17:41

w